All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::SentencePieceProcessor
      Src: /src/sample_encode_fuzzer.cc:25,1
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/sample_encode_fuzzer.cc:27,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPoint
      Src: /src/sample_encode_fuzzer.cc:28,1
    - Dst: FuzzedDataProvider::ConsumeRemainingBytesAsString
      Src: /src/sample_encode_fuzzer.cc:29,1
    - Dst: sentencepiece::SentencePieceProcessor::SampleEncodeAsSerializedProto
      Src: /src/sample_encode_fuzzer.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/sample_encode_fuzzer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::SampleEncodeAsSerializedProto
    - FuzzedDataProvider::ConsumeIntegral
    - sentencepiece::SentencePieceProcessor::SentencePieceProcessor
    - FuzzedDataProvider::ConsumeFloatingPoint
    - FuzzedDataProvider::ConsumeRemainingBytesAsString
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/generate_model.cc:33,1
    - Dst: auto*::set_piece
      Src: /src/generate_model.cc:34,1
    - Dst: auto*::set_type
      Src: /src/generate_model.cc:35,1
    - Dst: auto*::set_score
      Src: /src/generate_model.cc:36,1
    - Dst: ModelProto*::add_pieces
      Src: /src/generate_model.cc:38,1
    - Dst: auto*::set_piece
      Src: /src/generate_model.cc:39,1
    - Dst: auto*::set_type
      Src: /src/generate_model.cc:40,1
    - Dst: auto*::set_score
      Src: /src/generate_model.cc:41,1
    - Dst: ModelProto*::add_pieces
      Src: /src/generate_model.cc:43,1
    - Dst: auto*::set_piece
      Src: /src/generate_model.cc:44,1
    - Dst: auto*::set_type
      Src: /src/generate_model.cc:45,1
    - Dst: auto*::set_score
      Src: /src/generate_model.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - model
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: AddSpecialPieces
    functionSourceFile: /src/generate_model.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - auto*::set_score
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: void AddSpecialPieces(ModelProto *model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/generate_model.cc:50,1
    - Dst: auto*::set_piece
      Src: /src/generate_model.cc:51,1
    - Dst: auto*::set_score
      Src: /src/generate_model.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - model
    - piece
    - score
    argTypes:
    - ModelProto*
    - std::string
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: AddPiece
    functionSourceFile: /src/generate_model.cc
    functionUses: 0
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: void AddPiece(ModelProto *model, const std::string &piece, float score)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/generate_model.cc:57,1
    - Dst: ModelProto*::add_pieces
      Src: /src/generate_model.cc:58,1
    - Dst: auto*::set_piece
      Src: /src/generate_model.cc:59,1
    - Dst: auto*::set_type
      Src: /src/generate_model.cc:60,1
    - Dst: auto*::set_score
      Src: /src/generate_model.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - model
    - byte
    argTypes:
    - ModelProto*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: AddBytePiece
    functionSourceFile: /src/generate_model.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto*::add_pieces
    - auto*::set_score
    - snprintf
    linkageType: ''
    returnType: void
    signature: void AddBytePiece(ModelProto *model, unsigned char byte)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AddSpecialPieces
      Src: /src/generate_model.cc:73,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/generate_model.cc:88,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/generate_model.cc:89,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/generate_model.cc:90,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:93,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:94,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:95,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:96,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:97,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:98,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:99,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:100,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:101,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:102,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:103,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:104,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:105,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:106,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:107,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:108,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:109,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:110,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:111,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:112,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:113,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:116,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:117,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:118,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:119,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:120,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:121,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:122,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:123,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:124,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:125,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:126,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:127,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:128,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:129,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:130,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:131,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:132,1
    - Dst: AddPiece
      Src: /src/generate_model.cc:133,1
    - Dst: AddBytePiece
      Src: /src/generate_model.cc:137,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/generate_model.cc:141,1
    - Dst: auto*::set_add_dummy_prefix
      Src: /src/generate_model.cc:142,1
    - Dst: auto*::set_remove_extra_whitespaces
      Src: /src/generate_model.cc:143,1
    - Dst: auto*::set_escape_whitespaces
      Src: /src/generate_model.cc:144,1
    - Dst: ModelProto::SerializeToString
      Src: /src/generate_model.cc:148,1
    - Dst: std::ofstream::write
      Src: /src/generate_model.cc:155,1
    - Dst: std::string::data
      Src: /src/generate_model.cc:155,1
    - Dst: std::string::size
      Src: /src/generate_model.cc:155,1
    - Dst: std::ofstream::close
      Src: /src/generate_model.cc:156,1
    - Dst: ModelProto::pieces_size
      Src: /src/generate_model.cc:159,1
    - Dst: std::string::size
      Src: /src/generate_model.cc:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 74
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 162
    functionName: main
    functionSourceFile: /src/generate_model.cc
    functionUses: 0
    functionsReached:
    - std::ofstream::close
    - std::string::data
    - AddBytePiece
    - auto*::set_remove_extra_whitespaces
    - AddPiece
    - AddSpecialPieces
    - std::ofstream::write
    - ModelProto::pieces_size
    - ModelProto::mutable_trainer_spec
    - ModelProto::mutable_normalizer_spec
    - auto*::set_add_dummy_prefix
    - ModelProto::SerializeToString
    - std::string::size
    - auto*::set_escape_whitespaces
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/model_load_fuzzer.cc:34,1
    - Dst: FuzzedDataProvider::ConsumeRemainingBytesAsString
      Src: /src/model_load_fuzzer.cc:35,1
    - Dst: sentencepiece::SentencePieceProcessor::SentencePieceProcessor
      Src: /src/model_load_fuzzer.cc:37,1
    - Dst: sentencepiece::SentencePieceProcessor::LoadFromSerializedProto
      Src: /src/model_load_fuzzer.cc:40,1
    - Dst: auto::ok
      Src: /src/model_load_fuzzer.cc:41,1
    - Dst: sentencepiece::SentencePieceProcessor::Encode
      Src: /src/model_load_fuzzer.cc:48,1
    - Dst: sentencepiece::SentencePieceProcessor::Encode
      Src: /src/model_load_fuzzer.cc:52,1
    - Dst: std::vector::empty
      Src: /src/model_load_fuzzer.cc:55,1
    - Dst: sentencepiece::SentencePieceProcessor::Decode
      Src: /src/model_load_fuzzer.cc:57,1
    - Dst: std::vector::empty
      Src: /src/model_load_fuzzer.cc:61,1
    - Dst: sentencepiece::SentencePieceProcessor::Decode
      Src: /src/model_load_fuzzer.cc:63,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/model_load_fuzzer.cc:68,1
    - Dst: sentencepiece::SentencePieceProcessor::GetPieceSize
      Src: /src/model_load_fuzzer.cc:71,1
    - Dst: sentencepiece::SentencePieceProcessor::IdToPiece
      Src: /src/model_load_fuzzer.cc:75,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/model_load_fuzzer.cc:76,1
    - Dst: sentencepiece::SentencePieceProcessor::GetScore
      Src: /src/model_load_fuzzer.cc:77,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/model_load_fuzzer.cc:78,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/model_load_fuzzer.cc:79,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnused
      Src: /src/model_load_fuzzer.cc:80,1
    - Dst: sentencepiece::SentencePieceProcessor::IsByte
      Src: /src/model_load_fuzzer.cc:81,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/model_load_fuzzer.cc:85,1
    - Dst: sentencepiece::SentencePieceProcessor::unk_id
      Src: /src/model_load_fuzzer.cc:89,1
    - Dst: sentencepiece::SentencePieceProcessor::bos_id
      Src: /src/model_load_fuzzer.cc:90,1
    - Dst: sentencepiece::SentencePieceProcessor::eos_id
      Src: /src/model_load_fuzzer.cc:91,1
    - Dst: sentencepiece::SentencePieceProcessor::pad_id
      Src: /src/model_load_fuzzer.cc:92,1
    - Dst: sentencepiece::SentencePieceProcessor::NBestEncode
      Src: /src/model_load_fuzzer.cc:96,1
    - Dst: sentencepiece::SentencePieceProcessor::SampleEncode
      Src: /src/model_load_fuzzer.cc:100,1
    - Dst: sentencepiece::SentencePieceProcessor::EncodeAsSerializedProto
      Src: /src/model_load_fuzzer.cc:103,1
    - Dst: sentencepiece::SentencePieceProcessor::SampleEncodeAsSerializedProto
      Src: /src/model_load_fuzzer.cc:104,1
    - Dst: sentencepiece::SentencePieceProcessor::serialized_model_proto
      Src: /src/model_load_fuzzer.cc:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 110
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/model_load_fuzzer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - sentencepiece::SentencePieceProcessor::SampleEncodeAsSerializedProto
    - auto::ok
    - FuzzedDataProvider::ConsumeRandomLengthString
    - sentencepiece::SentencePieceProcessor::SentencePieceProcessor
    - sentencepiece::SentencePieceProcessor::GetPieceSize
    - sentencepiece::SentencePieceProcessor::Decode
    - sentencepiece::SentencePieceProcessor::bos_id
    - sentencepiece::SentencePieceProcessor::EncodeAsSerializedProto
    - sentencepiece::SentencePieceProcessor::IsByte
    - sentencepiece::SentencePieceProcessor::Encode
    - sentencepiece::SentencePieceProcessor::IdToPiece
    - sentencepiece::SentencePieceProcessor::IsUnknown
    - sentencepiece::SentencePieceProcessor::IsUnused
    - sentencepiece::SentencePieceProcessor::pad_id
    - FuzzedDataProvider::ConsumeRemainingBytesAsString
    - sentencepiece::SentencePieceProcessor::IsControl
    - std::vector::empty
    - sentencepiece::SentencePieceProcessor::PieceToId
    - sentencepiece::SentencePieceProcessor::serialized_model_proto
    - sentencepiece::SentencePieceProcessor::eos_id
    - sentencepiece::SentencePieceProcessor::LoadFromSerializedProto
    - sentencepiece::SentencePieceProcessor::unk_id
    - sentencepiece::SentencePieceProcessor::NBestEncode
    - sentencepiece::SentencePieceProcessor::GetScore
    - sentencepiece::SentencePieceProcessor::SampleEncode
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<sentencepiece::SentencePieceProcessor>
      Src: /src/processor_text_fuzzer.cc:35,1
    - Dst: LoadFromSerializedProto
      Src: /src/processor_text_fuzzer.cc:41,1
    - Dst: auto::ok
      Src: /src/processor_text_fuzzer.cc:42,1
    - Dst: fprintf
      Src: /src/processor_text_fuzzer.cc:43,1
    - Dst: auto::ToString
      Src: /src/processor_text_fuzzer.cc:44,1
    - Dst: abort
      Src: /src/processor_text_fuzzer.cc:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/processor_text_fuzzer.cc
    functionUses: 0
    functionsReached:
    - auto::ToString
    - abort
    - auto::ok
    - LoadFromSerializedProto
    - fprintf
    - std::make_unique<sentencepiece::SentencePieceProcessor>
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeIntegral
      Src: /src/processor_text_fuzzer.cc:56,1
    - Dst: FuzzedDataProvider::ConsumeRemainingBytesAsString
      Src: /src/processor_text_fuzzer.cc:57,1
    - Dst: Encode
      Src: /src/processor_text_fuzzer.cc:63,1
    - Dst: std::vector::empty
      Src: /src/processor_text_fuzzer.cc:66,1
    - Dst: Decode
      Src: /src/processor_text_fuzzer.cc:68,1
    - Dst: Encode
      Src: /src/processor_text_fuzzer.cc:75,1
    - Dst: std::vector::empty
      Src: /src/processor_text_fuzzer.cc:78,1
    - Dst: Decode
      Src: /src/processor_text_fuzzer.cc:80,1
    - Dst: NBestEncode
      Src: /src/processor_text_fuzzer.cc:88,1
    - Dst: NBestEncode
      Src: /src/processor_text_fuzzer.cc:92,1
    - Dst: SampleEncode
      Src: /src/processor_text_fuzzer.cc:98,1
    - Dst: SampleEncode
      Src: /src/processor_text_fuzzer.cc:101,1
    - Dst: EncodeAsSerializedProto
      Src: /src/processor_text_fuzzer.cc:106,1
    - Dst: NBestEncodeAsSerializedProto
      Src: /src/processor_text_fuzzer.cc:109,1
    - Dst: SampleEncodeAsSerializedProto
      Src: /src/processor_text_fuzzer.cc:112,1
    - Dst: Normalize
      Src: /src/processor_text_fuzzer.cc:119,1
    - Dst: Normalize
      Src: /src/processor_text_fuzzer.cc:124,1
    - Dst: PieceToId
      Src: /src/processor_text_fuzzer.cc:130,1
    - Dst: std::string::size
      Src: /src/processor_text_fuzzer.cc:133,1
    - Dst: std::string::size
      Src: /src/processor_text_fuzzer.cc:134,1
    - Dst: std::string::substr
      Src: /src/processor_text_fuzzer.cc:135,1
    - Dst: PieceToId
      Src: /src/processor_text_fuzzer.cc:136,1
    - Dst: GetPieceSize
      Src: /src/processor_text_fuzzer.cc:137,1
    - Dst: IdToPiece
      Src: /src/processor_text_fuzzer.cc:138,1
    - Dst: GetScore
      Src: /src/processor_text_fuzzer.cc:139,1
    - Dst: IsUnknown
      Src: /src/processor_text_fuzzer.cc:140,1
    - Dst: IsControl
      Src: /src/processor_text_fuzzer.cc:141,1
    - Dst: IsUnused
      Src: /src/processor_text_fuzzer.cc:142,1
    - Dst: IsByte
      Src: /src/processor_text_fuzzer.cc:143,1
    - Dst: std::string::size
      Src: /src/processor_text_fuzzer.cc:151,1
    - Dst: std::string::size
      Src: /src/processor_text_fuzzer.cc:151,1
    - Dst: CalculateEntropy
      Src: /src/processor_text_fuzzer.cc:152,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 158
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/processor_text_fuzzer.cc
    functionUses: 0
    functionsReached:
    - NBestEncodeAsSerializedProto
    - Normalize
    - CalculateEntropy
    - GetPieceSize
    - IsUnused
    - IdToPiece
    - IsByte
    - FuzzedDataProvider::ConsumeRemainingBytesAsString
    - std::vector::empty
    - Decode
    - std::string::substr
    - IsUnknown
    - SampleEncode
    - IsControl
    - EncodeAsSerializedProto
    - PieceToId
    - std::string::size
    - GetScore
    - SampleEncodeAsSerializedProto
    - NBestEncode
    - Encode
    - FuzzedDataProvider::ConsumeIntegral
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/trainer_fuzzer.cc:29,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/trainer_fuzzer.cc:31,1
    - Dst: std::to_string
      Src: /src/trainer_fuzzer.cc:40,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/trainer_fuzzer.cc:44,1
    - Dst: std::to_string
      Src: /src/trainer_fuzzer.cc:45,1
    - Dst: FuzzedDataProvider::ConsumeFloatingPointInRange
      Src: /src/trainer_fuzzer.cc:45,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/trainer_fuzzer.cc:47,1
    - Dst: std::to_string
      Src: /src/trainer_fuzzer.cc:48,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/trainer_fuzzer.cc:48,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/trainer_fuzzer.cc:50,1
    - Dst: std::string
      Src: /src/trainer_fuzzer.cc:51,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/trainer_fuzzer.cc:51,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/trainer_fuzzer.cc:53,1
    - Dst: std::string
      Src: /src/trainer_fuzzer.cc:54,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/trainer_fuzzer.cc:54,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/trainer_fuzzer.cc:56,1
    - Dst: std::string
      Src: /src/trainer_fuzzer.cc:57,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/trainer_fuzzer.cc:57,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/trainer_fuzzer.cc:59,1
    - Dst: std::string
      Src: /src/trainer_fuzzer.cc:60,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/trainer_fuzzer.cc:60,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/trainer_fuzzer.cc:62,1
    - Dst: std::string
      Src: /src/trainer_fuzzer.cc:63,1
    - Dst: FuzzedDataProvider::ConsumeBool
      Src: /src/trainer_fuzzer.cc:63,1
    - Dst: FuzzedDataProvider::ConsumeIntegralInRange
      Src: /src/trainer_fuzzer.cc:70,1
    - Dst: FuzzedDataProvider::ConsumeRandomLengthString
      Src: /src/trainer_fuzzer.cc:74,1
    - Dst: std::string::empty
      Src: /src/trainer_fuzzer.cc:75,1
    - Dst: std::vector::push_back
      Src: /src/trainer_fuzzer.cc:76,1
    - Dst: std::vector::empty
      Src: /src/trainer_fuzzer.cc:82,1
    - Dst: std::vector::push_back
      Src: /src/trainer_fuzzer.cc:83,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/trainer_fuzzer.cc:89,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 92
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/trainer_fuzzer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - std::string::empty
    - FuzzedDataProvider::ConsumeBool
    - std::vector::empty
    - FuzzedDataProvider::ConsumeRandomLengthString
    - std::string
    - FuzzedDataProvider::ConsumeIntegralInRange
    - std::vector::push_back
    - std::to_string
    - FuzzedDataProvider::ConsumeFloatingPointInRange
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:37,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/invalid_model_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: sentencepiece::GetTestDataPath
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: std::string
    signature: std::string GetTestDataPath(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:43,1
    - Dst: auto*::set_precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:44,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' base_model'
    - ' new_charsmap'
    argTypes:
    - ModelProto
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: sentencepiece::LoadModelWithModifiedCharsmap
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - ModelProto::mutable_normalizer_spec
    - SentencePieceProcessor::Load
    - auto*::set_precompiled_charsmap
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status LoadModelWithModifiedCharsmap(const ModelProto& base_model,\n
      \                                          const std::string& new_charsmap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetTestDataPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:52,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:55,1
    - Dst: ModelProto::ParseFromIstream
      Src: /src/sentencepiece/src/invalid_model_test.cc:55,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:58,1
    - Dst: auto*::precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:59,1
    - Dst: ASSERT_GE
      Src: /src/sentencepiece/src/invalid_model_test.cc:60,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/invalid_model_test.cc:60,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:66,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:66,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:66,1
    - Dst: auto*::set_precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:67,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:72,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:73,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:74,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:75,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - ASSERT_TRUE
    - auto*::set_precompiled_charsmap
    - std::string::data
    - SentencePieceProcessor::Load
    - absl::Status::code
    - absl::Status::message
    - auto*::precompiled_charsmap
    - EXPECT_EQ
    - BigEndian::Store32
    - EXPECT_FALSE
    - ModelProto::ParseFromIstream
    - ASSERT_GE
    - ModelProto::mutable_normalizer_spec
    - sentencepiece::GetTestDataPath
    - const_cast<char*>
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, RejectCorruptedModel1269)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/invalid_model_test.cc:82,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/invalid_model_test.cc:83,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/invalid_model_test.cc:84,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:85,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/invalid_model_test.cc:87,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/invalid_model_test.cc:88,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/invalid_model_test.cc:89,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:90,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/invalid_model_test.cc:94,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/invalid_model_test.cc:95,1
    - Dst: std::string
      Src: /src/sentencepiece/src/invalid_model_test.cc:95,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/invalid_model_test.cc:96,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:97,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:100,1
    - Dst: auto*::set_model_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:101,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:104,1
    - Dst: auto*::set_name
      Src: /src/sentencepiece/src/invalid_model_test.cc:105,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:110,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:111,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:112,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 113
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - absl::Status::ok
    - SentencePieceProcessor::Load
    - absl::Status::message
    - absl::Status::code
    - std::string
    - EXPECT_EQ
    - auto*::set_piece
    - EXPECT_FALSE
    - auto*::set_model_type
    - ModelProto::mutable_trainer_spec
    - ModelProto::mutable_normalizer_spec
    - auto*::set_score
    - auto*::set_name
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, ReproduceIssue1263)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetTestDataPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:120,1
    - Dst: ModelProto::ParseFromIstream
      Src: /src/sentencepiece/src/invalid_model_test.cc:120,1
    - Dst: ModelProto::normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:123,1
    - Dst: ASSERT_GE
      Src: /src/sentencepiece/src/invalid_model_test.cc:124,1
    - Dst: size
      Src: /src/sentencepiece/src/invalid_model_test.cc:124,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:128,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:129,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:130,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:131,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:131,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:139,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:139,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:139,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:140,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:141,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:142,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:143,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:143,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:150,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:150,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:150,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:151,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:152,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:153,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:154,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:154,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:161,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:161,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:161,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:163,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:164,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:165,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:165,1
    - Dst: std::string::back
      Src: /src/sentencepiece/src/invalid_model_test.cc:172,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:173,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:174,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:175,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:176,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 178
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - sentencepiece::LoadModelWithModifiedCharsmap
    - ASSERT_TRUE
    - std::string::data
    - absl::Status::message
    - absl::Status::code
    - std::string::back
    - EXPECT_EQ
    - BigEndian::Store32
    - EXPECT_FALSE
    - ModelProto::ParseFromIstream
    - ASSERT_GE
    - sentencepiece::GetTestDataPath
    - const_cast<char*>
    - ModelProto::normalizer_spec
    - size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, CharsmapValidationTests)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetTestDataPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:181,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:184,1
    - Dst: ModelProto::ParseFromIstream
      Src: /src/sentencepiece/src/invalid_model_test.cc:184,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:186,1
    - Dst: auto*::precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:187,1
    - Dst: ASSERT_GE
      Src: /src/sentencepiece/src/invalid_model_test.cc:188,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/invalid_model_test.cc:188,1
    - Dst: BigEndian::Load32
      Src: /src/sentencepiece/src/invalid_model_test.cc:190,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:190,1
    - Dst: BigEndian::Load32
      Src: /src/sentencepiece/src/invalid_model_test.cc:195,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:195,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:199,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:200,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:200,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:205,1
    - Dst: auto*::set_precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:206,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:209,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:210,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:211,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:212,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 213
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - BigEndian::Load32
    - absl::Status::ok
    - ASSERT_TRUE
    - auto*::set_precompiled_charsmap
    - std::string::data
    - SentencePieceProcessor::Load
    - absl::Status::code
    - absl::Status::message
    - auto*::precompiled_charsmap
    - EXPECT_EQ
    - BigEndian::Store32
    - EXPECT_FALSE
    - ModelProto::ParseFromIstream
    - ASSERT_GE
    - ModelProto::mutable_normalizer_spec
    - sentencepiece::GetTestDataPath
    - const_cast<char*>
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, RejectModelWithOOBCharsmapValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:37,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/invalid_model_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: sentencepiece::GetTestDataPath
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: std::string
    signature: std::string GetTestDataPath(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:43,1
    - Dst: auto*::set_precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:44,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' base_model'
    - ' new_charsmap'
    argTypes:
    - ModelProto
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: sentencepiece::LoadModelWithModifiedCharsmap
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 1
    functionsReached:
    - ModelProto::mutable_normalizer_spec
    - SentencePieceProcessor::Load
    - auto*::set_precompiled_charsmap
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status LoadModelWithModifiedCharsmap(const ModelProto& base_model,\n
      \                                          const std::string& new_charsmap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetTestDataPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:52,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:55,1
    - Dst: ModelProto::ParseFromIstream
      Src: /src/sentencepiece/src/invalid_model_test.cc:55,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:58,1
    - Dst: auto*::precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:59,1
    - Dst: ASSERT_GE
      Src: /src/sentencepiece/src/invalid_model_test.cc:60,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/invalid_model_test.cc:60,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:66,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:66,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:66,1
    - Dst: auto*::set_precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:67,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:72,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:73,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:74,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:75,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - ASSERT_TRUE
    - auto*::set_precompiled_charsmap
    - std::string::data
    - SentencePieceProcessor::Load
    - absl::Status::code
    - absl::Status::message
    - auto*::precompiled_charsmap
    - EXPECT_EQ
    - BigEndian::Store32
    - EXPECT_FALSE
    - ModelProto::ParseFromIstream
    - ASSERT_GE
    - ModelProto::mutable_normalizer_spec
    - sentencepiece::GetTestDataPath
    - const_cast<char*>
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, RejectCorruptedModel1269)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/invalid_model_test.cc:82,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/invalid_model_test.cc:83,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/invalid_model_test.cc:84,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:85,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/invalid_model_test.cc:87,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/invalid_model_test.cc:88,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/invalid_model_test.cc:89,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:90,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/invalid_model_test.cc:94,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/invalid_model_test.cc:95,1
    - Dst: std::string
      Src: /src/sentencepiece/src/invalid_model_test.cc:95,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/invalid_model_test.cc:96,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:97,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:100,1
    - Dst: auto*::set_model_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:101,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:104,1
    - Dst: auto*::set_name
      Src: /src/sentencepiece/src/invalid_model_test.cc:105,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:110,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:111,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:112,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 113
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - absl::Status::ok
    - SentencePieceProcessor::Load
    - absl::Status::message
    - absl::Status::code
    - std::string
    - EXPECT_EQ
    - auto*::set_piece
    - EXPECT_FALSE
    - auto*::set_model_type
    - ModelProto::mutable_trainer_spec
    - ModelProto::mutable_normalizer_spec
    - auto*::set_score
    - auto*::set_name
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, ReproduceIssue1263)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetTestDataPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:120,1
    - Dst: ModelProto::ParseFromIstream
      Src: /src/sentencepiece/src/invalid_model_test.cc:120,1
    - Dst: ModelProto::normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:123,1
    - Dst: ASSERT_GE
      Src: /src/sentencepiece/src/invalid_model_test.cc:124,1
    - Dst: size
      Src: /src/sentencepiece/src/invalid_model_test.cc:124,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:128,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:129,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:130,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:131,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:131,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:139,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:139,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:139,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:140,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:141,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:142,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:143,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:143,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:150,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:150,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:150,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:151,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:152,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:153,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:154,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:154,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:161,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:161,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:161,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:163,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:164,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:165,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:165,1
    - Dst: std::string::back
      Src: /src/sentencepiece/src/invalid_model_test.cc:172,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:173,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:174,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:175,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:176,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 178
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - sentencepiece::LoadModelWithModifiedCharsmap
    - ASSERT_TRUE
    - std::string::data
    - absl::Status::message
    - absl::Status::code
    - std::string::back
    - EXPECT_EQ
    - BigEndian::Store32
    - EXPECT_FALSE
    - ModelProto::ParseFromIstream
    - ASSERT_GE
    - sentencepiece::GetTestDataPath
    - const_cast<char*>
    - ModelProto::normalizer_spec
    - size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, CharsmapValidationTests)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetTestDataPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:181,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:184,1
    - Dst: ModelProto::ParseFromIstream
      Src: /src/sentencepiece/src/invalid_model_test.cc:184,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:186,1
    - Dst: auto*::precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:187,1
    - Dst: ASSERT_GE
      Src: /src/sentencepiece/src/invalid_model_test.cc:188,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/invalid_model_test.cc:188,1
    - Dst: BigEndian::Load32
      Src: /src/sentencepiece/src/invalid_model_test.cc:190,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:190,1
    - Dst: BigEndian::Load32
      Src: /src/sentencepiece/src/invalid_model_test.cc:195,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:195,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:199,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:200,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:200,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:205,1
    - Dst: auto*::set_precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:206,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:209,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:210,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:211,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:212,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 213
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - BigEndian::Load32
    - absl::Status::ok
    - ASSERT_TRUE
    - auto*::set_precompiled_charsmap
    - std::string::data
    - SentencePieceProcessor::Load
    - absl::Status::code
    - absl::Status::message
    - auto*::precompiled_charsmap
    - EXPECT_EQ
    - BigEndian::Store32
    - EXPECT_FALSE
    - ModelProto::ParseFromIstream
    - ASSERT_GE
    - ModelProto::mutable_normalizer_spec
    - sentencepiece::GetTestDataPath
    - const_cast<char*>
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, RejectModelWithOOBCharsmapValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:37,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/invalid_model_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: sentencepiece::GetTestDataPath
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 6
    functionsReached:
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: std::string
    signature: std::string GetTestDataPath(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:43,1
    - Dst: auto*::set_precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:44,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' base_model'
    - ' new_charsmap'
    argTypes:
    - ModelProto
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: sentencepiece::LoadModelWithModifiedCharsmap
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 2
    functionsReached:
    - ModelProto::mutable_normalizer_spec
    - SentencePieceProcessor::Load
    - auto*::set_precompiled_charsmap
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status LoadModelWithModifiedCharsmap(const ModelProto& base_model,\n
      \                                          const std::string& new_charsmap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetTestDataPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:52,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:55,1
    - Dst: ModelProto::ParseFromIstream
      Src: /src/sentencepiece/src/invalid_model_test.cc:55,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:58,1
    - Dst: auto*::precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:59,1
    - Dst: ASSERT_GE
      Src: /src/sentencepiece/src/invalid_model_test.cc:60,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/invalid_model_test.cc:60,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:66,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:66,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:66,1
    - Dst: auto*::set_precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:67,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:72,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:73,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:74,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:75,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - ASSERT_TRUE
    - auto*::set_precompiled_charsmap
    - std::string::data
    - SentencePieceProcessor::Load
    - absl::Status::code
    - absl::Status::message
    - auto*::precompiled_charsmap
    - EXPECT_EQ
    - BigEndian::Store32
    - EXPECT_FALSE
    - ModelProto::ParseFromIstream
    - ASSERT_GE
    - ModelProto::mutable_normalizer_spec
    - sentencepiece::GetTestDataPath
    - const_cast<char*>
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, RejectCorruptedModel1269)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/invalid_model_test.cc:82,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/invalid_model_test.cc:83,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/invalid_model_test.cc:84,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:85,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/invalid_model_test.cc:87,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/invalid_model_test.cc:88,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/invalid_model_test.cc:89,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:90,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/invalid_model_test.cc:94,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/invalid_model_test.cc:95,1
    - Dst: std::string
      Src: /src/sentencepiece/src/invalid_model_test.cc:95,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/invalid_model_test.cc:96,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:97,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:100,1
    - Dst: auto*::set_model_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:101,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:104,1
    - Dst: auto*::set_name
      Src: /src/sentencepiece/src/invalid_model_test.cc:105,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:110,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:111,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:112,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 113
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - absl::Status::ok
    - SentencePieceProcessor::Load
    - absl::Status::message
    - absl::Status::code
    - std::string
    - EXPECT_EQ
    - auto*::set_piece
    - EXPECT_FALSE
    - auto*::set_model_type
    - ModelProto::mutable_trainer_spec
    - ModelProto::mutable_normalizer_spec
    - auto*::set_score
    - auto*::set_name
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, ReproduceIssue1263)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetTestDataPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:120,1
    - Dst: ModelProto::ParseFromIstream
      Src: /src/sentencepiece/src/invalid_model_test.cc:120,1
    - Dst: ModelProto::normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:123,1
    - Dst: ASSERT_GE
      Src: /src/sentencepiece/src/invalid_model_test.cc:124,1
    - Dst: size
      Src: /src/sentencepiece/src/invalid_model_test.cc:124,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:128,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:129,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:130,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:131,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:131,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:139,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:139,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:139,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:140,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:141,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:142,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:143,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:143,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:150,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:150,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:150,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:151,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:152,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:153,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:154,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:154,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:161,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:161,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:161,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:163,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:164,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:165,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:165,1
    - Dst: std::string::back
      Src: /src/sentencepiece/src/invalid_model_test.cc:172,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:173,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:174,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:175,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:176,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 178
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - sentencepiece::LoadModelWithModifiedCharsmap
    - ASSERT_TRUE
    - std::string::data
    - absl::Status::message
    - absl::Status::code
    - std::string::back
    - EXPECT_EQ
    - BigEndian::Store32
    - EXPECT_FALSE
    - ModelProto::ParseFromIstream
    - ASSERT_GE
    - sentencepiece::GetTestDataPath
    - const_cast<char*>
    - ModelProto::normalizer_spec
    - size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, CharsmapValidationTests)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetTestDataPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:181,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:184,1
    - Dst: ModelProto::ParseFromIstream
      Src: /src/sentencepiece/src/invalid_model_test.cc:184,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:186,1
    - Dst: auto*::precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:187,1
    - Dst: ASSERT_GE
      Src: /src/sentencepiece/src/invalid_model_test.cc:188,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/invalid_model_test.cc:188,1
    - Dst: BigEndian::Load32
      Src: /src/sentencepiece/src/invalid_model_test.cc:190,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:190,1
    - Dst: BigEndian::Load32
      Src: /src/sentencepiece/src/invalid_model_test.cc:195,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:195,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:199,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:200,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:200,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:205,1
    - Dst: auto*::set_precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:206,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:209,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:210,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:211,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:212,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 213
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - BigEndian::Load32
    - absl::Status::ok
    - ASSERT_TRUE
    - auto*::set_precompiled_charsmap
    - std::string::data
    - SentencePieceProcessor::Load
    - absl::Status::code
    - absl::Status::message
    - auto*::precompiled_charsmap
    - EXPECT_EQ
    - BigEndian::Store32
    - EXPECT_FALSE
    - ModelProto::ParseFromIstream
    - ASSERT_GE
    - ModelProto::mutable_normalizer_spec
    - sentencepiece::GetTestDataPath
    - const_cast<char*>
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, RejectModelWithOOBCharsmapValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:37,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/invalid_model_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: sentencepiece::GetTestDataPath
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 9
    functionsReached:
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: std::string
    signature: std::string GetTestDataPath(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:43,1
    - Dst: auto*::set_precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:44,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' base_model'
    - ' new_charsmap'
    argTypes:
    - ModelProto
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: sentencepiece::LoadModelWithModifiedCharsmap
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 3
    functionsReached:
    - ModelProto::mutable_normalizer_spec
    - SentencePieceProcessor::Load
    - auto*::set_precompiled_charsmap
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status LoadModelWithModifiedCharsmap(const ModelProto& base_model,\n
      \                                          const std::string& new_charsmap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetTestDataPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:52,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:55,1
    - Dst: ModelProto::ParseFromIstream
      Src: /src/sentencepiece/src/invalid_model_test.cc:55,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:58,1
    - Dst: auto*::precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:59,1
    - Dst: ASSERT_GE
      Src: /src/sentencepiece/src/invalid_model_test.cc:60,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/invalid_model_test.cc:60,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:66,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:66,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:66,1
    - Dst: auto*::set_precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:67,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:72,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:73,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:74,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:75,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - ASSERT_TRUE
    - auto*::set_precompiled_charsmap
    - std::string::data
    - SentencePieceProcessor::Load
    - absl::Status::code
    - absl::Status::message
    - auto*::precompiled_charsmap
    - EXPECT_EQ
    - BigEndian::Store32
    - EXPECT_FALSE
    - ModelProto::ParseFromIstream
    - ASSERT_GE
    - ModelProto::mutable_normalizer_spec
    - sentencepiece::GetTestDataPath
    - const_cast<char*>
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, RejectCorruptedModel1269)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/invalid_model_test.cc:82,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/invalid_model_test.cc:83,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/invalid_model_test.cc:84,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:85,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/invalid_model_test.cc:87,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/invalid_model_test.cc:88,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/invalid_model_test.cc:89,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:90,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/invalid_model_test.cc:94,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/invalid_model_test.cc:95,1
    - Dst: std::string
      Src: /src/sentencepiece/src/invalid_model_test.cc:95,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/invalid_model_test.cc:96,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:97,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:100,1
    - Dst: auto*::set_model_type
      Src: /src/sentencepiece/src/invalid_model_test.cc:101,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:104,1
    - Dst: auto*::set_name
      Src: /src/sentencepiece/src/invalid_model_test.cc:105,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:110,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:111,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:112,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 113
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - absl::Status::ok
    - SentencePieceProcessor::Load
    - absl::Status::message
    - absl::Status::code
    - std::string
    - EXPECT_EQ
    - auto*::set_piece
    - EXPECT_FALSE
    - auto*::set_model_type
    - ModelProto::mutable_trainer_spec
    - ModelProto::mutable_normalizer_spec
    - auto*::set_score
    - auto*::set_name
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, ReproduceIssue1263)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetTestDataPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:120,1
    - Dst: ModelProto::ParseFromIstream
      Src: /src/sentencepiece/src/invalid_model_test.cc:120,1
    - Dst: ModelProto::normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:123,1
    - Dst: ASSERT_GE
      Src: /src/sentencepiece/src/invalid_model_test.cc:124,1
    - Dst: size
      Src: /src/sentencepiece/src/invalid_model_test.cc:124,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:128,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:129,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:130,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:131,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:131,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:139,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:139,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:139,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:140,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:141,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:142,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:143,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:143,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:150,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:150,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:150,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:151,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:152,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:153,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:154,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:154,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:161,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:161,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:161,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:163,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:164,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:165,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:165,1
    - Dst: std::string::back
      Src: /src/sentencepiece/src/invalid_model_test.cc:172,1
    - Dst: sentencepiece::LoadModelWithModifiedCharsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:173,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:174,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:175,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:176,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 178
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - sentencepiece::LoadModelWithModifiedCharsmap
    - ASSERT_TRUE
    - std::string::data
    - absl::Status::message
    - absl::Status::code
    - std::string::back
    - EXPECT_EQ
    - BigEndian::Store32
    - EXPECT_FALSE
    - ModelProto::ParseFromIstream
    - ASSERT_GE
    - sentencepiece::GetTestDataPath
    - const_cast<char*>
    - ModelProto::normalizer_spec
    - size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, CharsmapValidationTests)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetTestDataPath
      Src: /src/sentencepiece/src/invalid_model_test.cc:181,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:184,1
    - Dst: ModelProto::ParseFromIstream
      Src: /src/sentencepiece/src/invalid_model_test.cc:184,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/invalid_model_test.cc:186,1
    - Dst: auto*::precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:187,1
    - Dst: ASSERT_GE
      Src: /src/sentencepiece/src/invalid_model_test.cc:188,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/invalid_model_test.cc:188,1
    - Dst: BigEndian::Load32
      Src: /src/sentencepiece/src/invalid_model_test.cc:190,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:190,1
    - Dst: BigEndian::Load32
      Src: /src/sentencepiece/src/invalid_model_test.cc:195,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:195,1
    - Dst: BigEndian::Store32
      Src: /src/sentencepiece/src/invalid_model_test.cc:199,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/invalid_model_test.cc:200,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/invalid_model_test.cc:200,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/invalid_model_test.cc:205,1
    - Dst: auto*::set_precompiled_charsmap
      Src: /src/sentencepiece/src/invalid_model_test.cc:206,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/invalid_model_test.cc:209,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/invalid_model_test.cc:210,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/invalid_model_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:211,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/invalid_model_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/invalid_model_test.cc:212,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/invalid_model_test.cc:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 213
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/invalid_model_test.cc
    functionUses: 0
    functionsReached:
    - BigEndian::Load32
    - absl::Status::ok
    - ASSERT_TRUE
    - auto*::set_precompiled_charsmap
    - std::string::data
    - SentencePieceProcessor::Load
    - absl::Status::code
    - absl::Status::message
    - auto*::precompiled_charsmap
    - EXPECT_EQ
    - BigEndian::Store32
    - EXPECT_FALSE
    - ModelProto::ParseFromIstream
    - ASSERT_GE
    - ModelProto::mutable_normalizer_spec
    - sentencepiece::GetTestDataPath
    - const_cast<char*>
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, RejectModelWithOOBCharsmapValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: sentencepiece::word::Trainer::Trainer
    functionSourceFile: /src/sentencepiece/src/word_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Trainer(const TrainerSpec& trainer_spec,\n          const NormalizerSpec&
      normalizer_spec,\n          const NormalizerSpec& denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: sentencepiece::word::Trainer::Trainer
    functionSourceFile: /src/sentencepiece/src/word_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Trainer(const TrainerSpec& trainer_spec,\n          const NormalizerSpec&
      normalizer_spec,\n          const NormalizerSpec& denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: sentencepiece::word::Trainer::Trainer
    functionSourceFile: /src/sentencepiece/src/word_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Trainer(const TrainerSpec& trainer_spec,\n          const NormalizerSpec&
      normalizer_spec,\n          const NormalizerSpec& denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: sentencepiece::word::Trainer::Trainer
    functionSourceFile: /src/sentencepiece/src/word_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Trainer(const TrainerSpec& trainer_spec,\n          const NormalizerSpec&
      normalizer_spec,\n          const NormalizerSpec& denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:31,1
    - Dst: text
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:31,1
    - Dst: text
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:32,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:32,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:32,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:33,1
    - Dst: score
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:33,1
    - Dst: score
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:33,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:34,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:34,1
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:35,1
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:37,1
    - Dst: piece
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:37,1
    - Dst: piece
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:38,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:38,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:39,1
    - Dst: surface
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:39,1
    - Dst: surface
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:40,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:40,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:41,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:41,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' expected'
    - ' actual'
    argTypes:
    - SentencePieceText
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: sentencepiece::ExpectSptEqual
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - id
    - score
    - end
    - EXPECT_EQ
    - piece
    - begin
    - text
    - surface
    - pieces
    - pieces_size
    linkageType: ''
    returnType: void
    signature: "void ExpectSptEqual(const SentencePieceText& expected,\n                    const
      SentencePieceText& actual)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_loops
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: sentencepiece::SentencePieceProcessorMaxLoops::SentencePieceProcessorMaxLoops
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceProcessorMaxLoops(int max_loops)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:53,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:54,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:54,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:55,1
    - Dst: CHECK_GT
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:56,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:59,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:60,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' filename'
    - num_lines
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: sentencepiece::LoadTestData
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK
    - auto::ReadLine
    - sentencepiece::filesystem::NewReadableFile
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    - google::protobuf::StrAppend
    - CHECK_GT
    linkageType: ''
    returnType: std::string
    signature: std::string LoadTestData(const std::string& filename, int num_lines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:68,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:68,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:71,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:71,1
    - Dst: SentencePieceProcessor::EncodeAsIds
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:77,1
    - Dst: std::vector::clear
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:82,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:83,1
    - Dst: SentencePieceProcessor::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - SentencePieceProcessor::Load
    - EXPECT_EQ
    - std::vector::clear
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    - SentencePieceProcessor::EncodeAsIds
    - SentencePieceProcessor::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestEmptyString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:91,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:91,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:94,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:94,1
    - Dst: sentencepiece::LoadTestData
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:102,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:103,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:103,1
    - Dst: std::vector::clear
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:106,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:107,1
    - Dst: SentencePieceProcessor::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadTestData
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - EXPECT_EQ
    - std::vector::clear
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    - SentencePieceProcessor::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestEn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:116,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:116,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:119,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:119,1
    - Dst: sentencepiece::LoadTestData
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:123,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:128,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:128,1
    - Dst: std::vector::clear
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:131,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:132,1
    - Dst: SentencePieceProcessor::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:134,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:134,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 137
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadTestData
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - EXPECT_EQ
    - std::vector::clear
    - sentencepiece::util::JoinPath
    - std::vector::size
    - testing::SrcDir
    - SentencePieceProcessor::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestJaWithUNK)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:141,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:142,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:145,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:145,1
    - Dst: sentencepiece::LoadTestData
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:149,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:154,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:154,1
    - Dst: std::vector::clear
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:157,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:158,1
    - Dst: SentencePieceProcessor::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:160,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:160,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 163
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadTestData
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - EXPECT_EQ
    - std::vector::clear
    - sentencepiece::util::JoinPath
    - std::vector::size
    - testing::SrcDir
    - SentencePieceProcessor::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestJaWithByte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:167,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:168,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:171,1
    - Dst: SentencePieceProcessorMaxLoops::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:171,1
    - Dst: sentencepiece::LoadTestData
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:175,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:180,1
    - Dst: SentencePieceProcessorMaxLoops::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:180,1
    - Dst: SentencePieceText::Clear
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:183,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:184,1
    - Dst: SentencePieceProcessorMaxLoops::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:186,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:186,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:187,1
    - Dst: sentencepiece::ExpectSptEqual
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 190
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadTestData
    - EXPECT_EQ
    - sentencepiece::util::JoinPath
    - SentencePieceProcessorMaxLoops::Encode
    - SentencePieceText::pieces_size
    - sentencepiece::ExpectSptEqual
    - testing::SrcDir
    - SentencePieceText::Clear
    - SentencePieceProcessorMaxLoops::Load
    - SentencePieceProcessorMaxLoops::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestJaWithByteIntoSPTZeroLoops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:194,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:195,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:198,1
    - Dst: SentencePieceProcessorMaxLoops::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:198,1
    - Dst: sentencepiece::LoadTestData
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:202,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:207,1
    - Dst: SentencePieceProcessorMaxLoops::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:207,1
    - Dst: SentencePieceText::Clear
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:210,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:211,1
    - Dst: SentencePieceProcessorMaxLoops::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:211,1
    - Dst: sentencepiece::ExpectSptEqual
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadTestData
    - sentencepiece::util::JoinPath
    - SentencePieceProcessorMaxLoops::Encode
    - sentencepiece::ExpectSptEqual
    - testing::SrcDir
    - SentencePieceText::Clear
    - SentencePieceProcessorMaxLoops::Load
    - SentencePieceProcessorMaxLoops::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestJaWithByteIntoSPTOneLoop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:219,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:220,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:223,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:223,1
    - Dst: sentencepiece::LoadTestData
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:227,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:232,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:232,1
    - Dst: SentencePieceText::Clear
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:235,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:236,1
    - Dst: SentencePieceProcessor::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:236,1
    - Dst: sentencepiece::ExpectSptEqual
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 240
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadTestData
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - sentencepiece::util::JoinPath
    - sentencepiece::ExpectSptEqual
    - testing::SrcDir
    - SentencePieceText::Clear
    - SentencePieceProcessor::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestJaWithByteIntoSPT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:244,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:244,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:246,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:246,1
    - Dst: sentencepiece::LoadTestData
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:250,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:253,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:253,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:258,1
    - Dst: SentencePieceProcessor::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:258,1
    - Dst: sentencepiece::ExpectSptEqual
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 262
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadTestData
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - sentencepiece::util::JoinPath
    - sentencepiece::ExpectSptEqual
    - testing::SrcDir
    - SentencePieceProcessor::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestBotchan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:31,1
    - Dst: text
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:31,1
    - Dst: text
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:32,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:32,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:32,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:33,1
    - Dst: score
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:33,1
    - Dst: score
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:33,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:34,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:34,1
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:35,1
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:37,1
    - Dst: piece
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:37,1
    - Dst: piece
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:38,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:38,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:39,1
    - Dst: surface
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:39,1
    - Dst: surface
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:40,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:40,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:41,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:41,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' expected'
    - ' actual'
    argTypes:
    - SentencePieceText
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: sentencepiece::ExpectSptEqual
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 4
    functionsReached:
    - EXPECT_NEAR
    - id
    - score
    - end
    - EXPECT_EQ
    - piece
    - begin
    - text
    - surface
    - pieces
    - pieces_size
    linkageType: ''
    returnType: void
    signature: "void ExpectSptEqual(const SentencePieceText& expected,\n                    const
      SentencePieceText& actual)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - max_loops
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: sentencepiece::SentencePieceProcessorMaxLoops::SentencePieceProcessorMaxLoops
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceProcessorMaxLoops(int max_loops)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:53,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:54,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:54,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:55,1
    - Dst: CHECK_GT
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:56,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:59,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:60,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' filename'
    - num_lines
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: sentencepiece::LoadTestData
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 7
    functionsReached:
    - CHECK
    - auto::ReadLine
    - sentencepiece::filesystem::NewReadableFile
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    - google::protobuf::StrAppend
    - CHECK_GT
    linkageType: ''
    returnType: std::string
    signature: std::string LoadTestData(const std::string& filename, int num_lines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:68,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:68,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:71,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:71,1
    - Dst: SentencePieceProcessor::EncodeAsIds
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:77,1
    - Dst: std::vector::clear
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:82,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:83,1
    - Dst: SentencePieceProcessor::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - SentencePieceProcessor::Load
    - EXPECT_EQ
    - std::vector::clear
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    - SentencePieceProcessor::EncodeAsIds
    - SentencePieceProcessor::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestEmptyString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:91,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:91,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:94,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:94,1
    - Dst: sentencepiece::LoadTestData
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:102,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:103,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:103,1
    - Dst: std::vector::clear
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:106,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:107,1
    - Dst: SentencePieceProcessor::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadTestData
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - EXPECT_EQ
    - std::vector::clear
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    - SentencePieceProcessor::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestEn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:116,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:116,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:119,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:119,1
    - Dst: sentencepiece::LoadTestData
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:123,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:128,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:128,1
    - Dst: std::vector::clear
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:131,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:132,1
    - Dst: SentencePieceProcessor::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:134,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:134,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 137
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadTestData
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - EXPECT_EQ
    - std::vector::clear
    - sentencepiece::util::JoinPath
    - std::vector::size
    - testing::SrcDir
    - SentencePieceProcessor::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestJaWithUNK)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:141,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:142,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:145,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:145,1
    - Dst: sentencepiece::LoadTestData
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:149,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:154,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:154,1
    - Dst: std::vector::clear
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:157,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:158,1
    - Dst: SentencePieceProcessor::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:160,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:160,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 163
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadTestData
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - EXPECT_EQ
    - std::vector::clear
    - sentencepiece::util::JoinPath
    - std::vector::size
    - testing::SrcDir
    - SentencePieceProcessor::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestJaWithByte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:167,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:168,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:171,1
    - Dst: SentencePieceProcessorMaxLoops::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:171,1
    - Dst: sentencepiece::LoadTestData
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:175,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:180,1
    - Dst: SentencePieceProcessorMaxLoops::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:180,1
    - Dst: SentencePieceText::Clear
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:183,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:184,1
    - Dst: SentencePieceProcessorMaxLoops::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:186,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:186,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:187,1
    - Dst: sentencepiece::ExpectSptEqual
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 190
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadTestData
    - EXPECT_EQ
    - sentencepiece::util::JoinPath
    - SentencePieceProcessorMaxLoops::Encode
    - SentencePieceText::pieces_size
    - sentencepiece::ExpectSptEqual
    - testing::SrcDir
    - SentencePieceText::Clear
    - SentencePieceProcessorMaxLoops::Load
    - SentencePieceProcessorMaxLoops::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestJaWithByteIntoSPTZeroLoops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:194,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:195,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:198,1
    - Dst: SentencePieceProcessorMaxLoops::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:198,1
    - Dst: sentencepiece::LoadTestData
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:202,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:207,1
    - Dst: SentencePieceProcessorMaxLoops::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:207,1
    - Dst: SentencePieceText::Clear
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:210,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:211,1
    - Dst: SentencePieceProcessorMaxLoops::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:211,1
    - Dst: sentencepiece::ExpectSptEqual
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadTestData
    - sentencepiece::util::JoinPath
    - SentencePieceProcessorMaxLoops::Encode
    - sentencepiece::ExpectSptEqual
    - testing::SrcDir
    - SentencePieceText::Clear
    - SentencePieceProcessorMaxLoops::Load
    - SentencePieceProcessorMaxLoops::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestJaWithByteIntoSPTOneLoop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:219,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:220,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:223,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:223,1
    - Dst: sentencepiece::LoadTestData
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:227,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:232,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:232,1
    - Dst: SentencePieceText::Clear
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:235,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:236,1
    - Dst: SentencePieceProcessor::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:236,1
    - Dst: sentencepiece::ExpectSptEqual
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 240
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadTestData
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - sentencepiece::util::JoinPath
    - sentencepiece::ExpectSptEqual
    - testing::SrcDir
    - SentencePieceText::Clear
    - SentencePieceProcessor::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestJaWithByteIntoSPT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:244,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:244,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:246,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:246,1
    - Dst: sentencepiece::LoadTestData
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:250,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:253,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:253,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:258,1
    - Dst: SentencePieceProcessor::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:258,1
    - Dst: sentencepiece::ExpectSptEqual
      Src: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 262
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadTestData
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - sentencepiece::util::JoinPath
    - sentencepiece::ExpectSptEqual
    - testing::SrcDir
    - SentencePieceProcessor::ParallelEncode
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ParallelEncodeTestBotchan)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:24,1
    - Dst: FreeList::size
      Src: /src/sentencepiece/src/freelist_test.cc:24,1
    - Dst: FreeList::Allocate
      Src: /src/sentencepiece/src/freelist_test.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:30,1
    - Dst: FreeList::swap
      Src: /src/sentencepiece/src/freelist_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:37,1
    - Dst: FreeList::size
      Src: /src/sentencepiece/src/freelist_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:39,1
    - Dst: FreeList::Free
      Src: /src/sentencepiece/src/freelist_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:43,1
    - Dst: FreeList::size
      Src: /src/sentencepiece/src/freelist_test.cc:43,1
    - Dst: FreeList::Allocate
      Src: /src/sentencepiece/src/freelist_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 50
    functionName: sentencepiece::model::TEST
    functionSourceFile: /src/sentencepiece/src/freelist_test.cc
    functionUses: 0
    functionsReached:
    - FreeList::Allocate
    - EXPECT_EQ
    - FreeList::size
    - FreeList::Free
    - FreeList::swap
    linkageType: ''
    returnType: void
    signature: void TEST(FreeListTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:24,1
    - Dst: FreeList::size
      Src: /src/sentencepiece/src/freelist_test.cc:24,1
    - Dst: FreeList::Allocate
      Src: /src/sentencepiece/src/freelist_test.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:30,1
    - Dst: FreeList::swap
      Src: /src/sentencepiece/src/freelist_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:37,1
    - Dst: FreeList::size
      Src: /src/sentencepiece/src/freelist_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:39,1
    - Dst: FreeList::Free
      Src: /src/sentencepiece/src/freelist_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:43,1
    - Dst: FreeList::size
      Src: /src/sentencepiece/src/freelist_test.cc:43,1
    - Dst: FreeList::Allocate
      Src: /src/sentencepiece/src/freelist_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 50
    functionName: sentencepiece::model::TEST
    functionSourceFile: /src/sentencepiece/src/freelist_test.cc
    functionUses: 0
    functionsReached:
    - FreeList::Allocate
    - EXPECT_EQ
    - FreeList::size
    - FreeList::Free
    - FreeList::swap
    linkageType: ''
    returnType: void
    signature: void TEST(FreeListTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:24,1
    - Dst: FreeList::size
      Src: /src/sentencepiece/src/freelist_test.cc:24,1
    - Dst: FreeList::Allocate
      Src: /src/sentencepiece/src/freelist_test.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:30,1
    - Dst: FreeList::swap
      Src: /src/sentencepiece/src/freelist_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:37,1
    - Dst: FreeList::size
      Src: /src/sentencepiece/src/freelist_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:39,1
    - Dst: FreeList::Free
      Src: /src/sentencepiece/src/freelist_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:43,1
    - Dst: FreeList::size
      Src: /src/sentencepiece/src/freelist_test.cc:43,1
    - Dst: FreeList::Allocate
      Src: /src/sentencepiece/src/freelist_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 50
    functionName: sentencepiece::model::TEST
    functionSourceFile: /src/sentencepiece/src/freelist_test.cc
    functionUses: 0
    functionsReached:
    - FreeList::Allocate
    - EXPECT_EQ
    - FreeList::size
    - FreeList::Free
    - FreeList::swap
    linkageType: ''
    returnType: void
    signature: void TEST(FreeListTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:24,1
    - Dst: FreeList::size
      Src: /src/sentencepiece/src/freelist_test.cc:24,1
    - Dst: FreeList::Allocate
      Src: /src/sentencepiece/src/freelist_test.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:30,1
    - Dst: FreeList::swap
      Src: /src/sentencepiece/src/freelist_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:37,1
    - Dst: FreeList::size
      Src: /src/sentencepiece/src/freelist_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:39,1
    - Dst: FreeList::Free
      Src: /src/sentencepiece/src/freelist_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:43,1
    - Dst: FreeList::size
      Src: /src/sentencepiece/src/freelist_test.cc:43,1
    - Dst: FreeList::Allocate
      Src: /src/sentencepiece/src/freelist_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/freelist_test.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 50
    functionName: sentencepiece::model::TEST
    functionSourceFile: /src/sentencepiece/src/freelist_test.cc
    functionUses: 0
    functionsReached:
    - FreeList::Allocate
    - EXPECT_EQ
    - FreeList::size
    - FreeList::Free
    - FreeList::swap
    linkageType: ''
    returnType: void
    signature: void TEST(FreeListTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/src/util.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sentencepiece::SetRandomGeneratorSeed
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void SetRandomGeneratorSeed(uint32_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/src/util.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: sentencepiece::GetRandomGeneratorSeed
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetRandomGeneratorSeed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const std::string>
      Src: /src/sentencepiece/src/util.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: sentencepiece::GetSharedDataDir
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<const std::string>
    linkageType: ''
    returnType: std::shared_ptr<const std::string>
    signature: std::shared_ptr<const std::string> * GetSharedDataDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const std::string>
      Src: /src/sentencepiece/src/util.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: sentencepiece::GetSharedDataDir
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<const std::string>
    linkageType: ''
    returnType: std::shared_ptr<const std::string>
    signature: std::shared_ptr<const std::string> * GetSharedDataDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_load
      Src: /src/sentencepiece/src/util.cc:47,1
    - Dst: sentencepiece::GetSharedDataDir
      Src: /src/sentencepiece/src/util.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: sentencepiece::GetDataDir
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::GetSharedDataDir
    - std::atomic_load
    linkageType: ''
    returnType: std::string
    signature: std::string GetDataDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const std::string>
      Src: /src/sentencepiece/src/util.cc:53,1
    - Dst: std::string
      Src: /src/sentencepiece/src/util.cc:53,1
    - Dst: std::atomic_store
      Src: /src/sentencepiece/src/util.cc:54,1
    - Dst: sentencepiece::GetSharedDataDir
      Src: /src/sentencepiece/src/util.cc:54,1
    - Dst: std::move
      Src: /src/sentencepiece/src/util.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data_dir
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: sentencepiece::SetDataDir
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::GetSharedDataDir
    - std::string
    - std::move
    - std::atomic_store
    - std::make_shared<const std::string>
    linkageType: ''
    returnType: void
    signature: void SetDataDir(absl::string_view data_dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SetMinLogLevel
      Src: /src/sentencepiece/src/util.cc:58,1
    - Dst: static_cast<absl::LogSeverityAtLeast>
      Src: /src/sentencepiece/src/util.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: sentencepiece::SetMinLogLevel
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SetMinLogLevel
    - static_cast<absl::LogSeverityAtLeast>
    linkageType: ''
    returnType: void
    signature: void SetMinLogLevel(int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/src/util.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: sentencepiece::SetNBestTimeout
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void SetNBestTimeout(int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/src/util.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: sentencepiece::GetNBestTimeout
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int GetNBestTimeout()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/src/util.cc:71,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/src/util.cc:73,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:76,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:76,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:83,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:83,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:84,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:91,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:91,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:92,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:92,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 3
    argNames:
    - begin
    - end
    - mblen
    argTypes:
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 101
    functionName: sentencepiece::string_util::DecodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::string_util::IsValidCodepoint
    - static_cast<unsigned char>
    - sentencepiece::string_util::IsTrailByte
    linkageType: ''
    returnType: char32_t
    signature: char32_t DecodeUTF8(const char* begin, const char* end, size_t* mblen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:104,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:105,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:105,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.cc:108,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: sentencepiece::string_util::IsStructurallyValid
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - sentencepiece::string_util::DecodeUTF8
    - sentencepiece::string_util::IsValidCodepoint
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValid(absl::string_view str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/util.cc:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - c
    - output
    argTypes:
    - char32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 151
    functionName: sentencepiece::string_util::EncodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - static_cast<char>
    linkageType: ''
    returnType: size_t
    signature: size_t EncodeUTF8(char32_t c, char* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/util.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: sentencepiece::string_util::UnicodeCharToUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::string_util::UnicodeTextToUTF8
    linkageType: ''
    returnType: std::string
    signature: std::string UnicodeCharToUTF8(const char32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:159,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:160,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:160,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.cc:163,1
    - Dst: UnicodeText::push_back
      Src: /src/sentencepiece/src/util.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - utf8
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: sentencepiece::string_util::UTF8ToUnicodeText
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - sentencepiece::string_util::DecodeUTF8
    - UnicodeText::push_back
    linkageType: ''
    returnType: UnicodeText
    signature: UnicodeText UTF8ToUnicodeText(absl::string_view utf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::EncodeUTF8
      Src: /src/sentencepiece/src/util.cc:174,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/util.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' utext'
    argTypes:
    - UnicodeText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: sentencepiece::string_util::UnicodeTextToUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 1
    functionsReached:
    - std::string::append
    - sentencepiece::string_util::EncodeUTF8
    linkageType: ''
    returnType: std::string
    signature: std::string UnicodeTextToUTF8(const UnicodeText& utext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnicodeTextAndOffsets::unicode_text::reserve
      Src: /src/sentencepiece/src/util.cc:183,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:183,1
    - Dst: UnicodeTextAndOffsets::offsets::reserve
      Src: /src/sentencepiece/src/util.cc:184,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:184,1
    - Dst: UnicodeTextAndOffsets::offsets::push_back
      Src: /src/sentencepiece/src/util.cc:185,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:186,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:187,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:187,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.cc:190,1
    - Dst: UnicodeTextAndOffsets::unicode_text::push_back
      Src: /src/sentencepiece/src/util.cc:192,1
    - Dst: UnicodeTextAndOffsets::offsets::push_back
      Src: /src/sentencepiece/src/util.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - utf8
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: sentencepiece::string_util::UTF8ToUnicodeTextAndOffsets
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - UnicodeTextAndOffsets::unicode_text::reserve
    - UnicodeTextAndOffsets::offsets::reserve
    - absl::string_view::data
    - sentencepiece::string_util::DecodeUTF8
    - UnicodeTextAndOffsets::unicode_text::push_back
    - absl::string_view::size
    - UnicodeTextAndOffsets::offsets::push_back
    linkageType: ''
    returnType: UnicodeTextAndOffsets
    signature: UnicodeTextAndOffsets UTF8ToUnicodeTextAndOffsets(absl::string_view
      utf8)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/src/util.cc:71,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/src/util.cc:73,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:76,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:76,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:83,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:83,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:84,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:91,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:91,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:92,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:92,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 3
    argNames:
    - begin
    - end
    - mblen
    argTypes:
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 101
    functionName: sentencepiece::string_util::DecodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::string_util::IsValidCodepoint
    - static_cast<unsigned char>
    - sentencepiece::string_util::IsTrailByte
    linkageType: ''
    returnType: char32_t
    signature: char32_t DecodeUTF8(const char* begin, const char* end, size_t* mblen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:104,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:105,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:105,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.cc:108,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: sentencepiece::string_util::IsStructurallyValid
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - sentencepiece::string_util::DecodeUTF8
    - sentencepiece::string_util::IsValidCodepoint
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValid(absl::string_view str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/util.cc:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - c
    - output
    argTypes:
    - char32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 151
    functionName: sentencepiece::string_util::EncodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 1
    functionsReached:
    - static_cast<char>
    linkageType: ''
    returnType: size_t
    signature: size_t EncodeUTF8(char32_t c, char* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/util.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: sentencepiece::string_util::UnicodeCharToUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::string_util::UnicodeTextToUTF8
    linkageType: ''
    returnType: std::string
    signature: std::string UnicodeCharToUTF8(const char32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:159,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:160,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:160,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.cc:163,1
    - Dst: UnicodeText::push_back
      Src: /src/sentencepiece/src/util.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - utf8
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: sentencepiece::string_util::UTF8ToUnicodeText
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - sentencepiece::string_util::DecodeUTF8
    - UnicodeText::push_back
    linkageType: ''
    returnType: UnicodeText
    signature: UnicodeText UTF8ToUnicodeText(absl::string_view utf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::EncodeUTF8
      Src: /src/sentencepiece/src/util.cc:174,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/util.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' utext'
    argTypes:
    - UnicodeText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: sentencepiece::string_util::UnicodeTextToUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 2
    functionsReached:
    - std::string::append
    - sentencepiece::string_util::EncodeUTF8
    linkageType: ''
    returnType: std::string
    signature: std::string UnicodeTextToUTF8(const UnicodeText& utext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnicodeTextAndOffsets::unicode_text::reserve
      Src: /src/sentencepiece/src/util.cc:183,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:183,1
    - Dst: UnicodeTextAndOffsets::offsets::reserve
      Src: /src/sentencepiece/src/util.cc:184,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:184,1
    - Dst: UnicodeTextAndOffsets::offsets::push_back
      Src: /src/sentencepiece/src/util.cc:185,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:186,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:187,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:187,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.cc:190,1
    - Dst: UnicodeTextAndOffsets::unicode_text::push_back
      Src: /src/sentencepiece/src/util.cc:192,1
    - Dst: UnicodeTextAndOffsets::offsets::push_back
      Src: /src/sentencepiece/src/util.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - utf8
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: sentencepiece::string_util::UTF8ToUnicodeTextAndOffsets
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - UnicodeTextAndOffsets::unicode_text::reserve
    - UnicodeTextAndOffsets::offsets::reserve
    - absl::string_view::data
    - sentencepiece::string_util::DecodeUTF8
    - UnicodeTextAndOffsets::unicode_text::push_back
    - absl::string_view::size
    - UnicodeTextAndOffsets::offsets::push_back
    linkageType: ''
    returnType: UnicodeTextAndOffsets
    signature: UnicodeTextAndOffsets UTF8ToUnicodeTextAndOffsets(absl::string_view
      utf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRandomGeneratorSeed
      Src: /src/sentencepiece/src/util.cc:206,1
    - Dst: std::make_unique<absl::BitGen>
      Src: /src/sentencepiece/src/util.cc:207,1
    - Dst: std::make_unique<absl::BitGen>
      Src: /src/sentencepiece/src/util.cc:208,1
    - Dst: GetRandomGeneratorSeed
      Src: /src/sentencepiece/src/util.cc:209,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/util.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: sentencepiece::random::GetRandomGenerator
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - GetRandomGeneratorSeed
    - std::make_unique<absl::BitGen>
    - auto::get
    linkageType: ''
    returnType: absl::BitGen
    signature: absl::BitGen * GetRandomGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRandomGeneratorSeed
      Src: /src/sentencepiece/src/util.cc:206,1
    - Dst: std::make_unique<absl::BitGen>
      Src: /src/sentencepiece/src/util.cc:207,1
    - Dst: std::make_unique<absl::BitGen>
      Src: /src/sentencepiece/src/util.cc:208,1
    - Dst: GetRandomGeneratorSeed
      Src: /src/sentencepiece/src/util.cc:209,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/util.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: sentencepiece::random::GetRandomGenerator
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - GetRandomGeneratorSeed
    - std::make_unique<absl::BitGen>
    - auto::get
    linkageType: ''
    returnType: absl::BitGen
    signature: absl::BitGen * GetRandomGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror_r
      Src: /src/sentencepiece/src/util.cc:221,1
    - Dst: strerror_s
      Src: /src/sentencepiece/src/util.cc:223,1
    - Dst: strerror_r
      Src: /src/sentencepiece/src/util.cc:226,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.cc:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: sentencepiece::util::StrError
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - strerror_r
    - strerror_s
    - google::protobuf::StrCat
    linkageType: ''
    returnType: std::string
    signature: std::string StrError(int errnum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/src/util.cc:233,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/util.cc:234,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/util.cc:234,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:235,1
    - Dst: std::find
      Src: /src/sentencepiece/src/util.cc:251,1
    - Dst: std::find
      Src: /src/sentencepiece/src/util.cc:254,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/util.cc:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 262
    functionName: sentencepiece::util::StrSplitAsCSV
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - std::string
    - std::find
    - std::vector::push_back
    - absl::string_view::size
    - const_cast<char*>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> StrSplitAsCSV(absl::string_view text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::MultiByteToWideChar
      Src: /src/sentencepiece/src/util.cc:266,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:267,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/util.cc:267,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:267,1
    - Dst: ::MultiByteToWideChar
      Src: /src/sentencepiece/src/util.cc:272,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:272,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/util.cc:273,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:273,1
    - Dst: std::wstring::data
      Src: /src/sentencepiece/src/util.cc:274,1
    - Dst: std::wstring::size
      Src: /src/sentencepiece/src/util.cc:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: sentencepiece::util::Utf8ToWide
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::wstring::size
    - absl::string_view::data
    - ::MultiByteToWideChar
    - static_cast<int>
    - std::wstring::data
    - absl::string_view::size
    linkageType: ''
    returnType: std::wstring
    signature: std::wstring Utf8ToWide(absl::string_view input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror_r
      Src: /src/sentencepiece/src/util.cc:221,1
    - Dst: strerror_s
      Src: /src/sentencepiece/src/util.cc:223,1
    - Dst: strerror_r
      Src: /src/sentencepiece/src/util.cc:226,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.cc:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: sentencepiece::util::StrError
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - strerror_r
    - strerror_s
    - google::protobuf::StrCat
    linkageType: ''
    returnType: std::string
    signature: std::string StrError(int errnum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/src/util.cc:233,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/util.cc:234,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/util.cc:234,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:235,1
    - Dst: std::find
      Src: /src/sentencepiece/src/util.cc:251,1
    - Dst: std::find
      Src: /src/sentencepiece/src/util.cc:254,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/util.cc:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 262
    functionName: sentencepiece::util::StrSplitAsCSV
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - std::string
    - std::find
    - std::vector::push_back
    - absl::string_view::size
    - const_cast<char*>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> StrSplitAsCSV(absl::string_view text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::MultiByteToWideChar
      Src: /src/sentencepiece/src/util.cc:266,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:267,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/util.cc:267,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:267,1
    - Dst: ::MultiByteToWideChar
      Src: /src/sentencepiece/src/util.cc:272,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:272,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/util.cc:273,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:273,1
    - Dst: std::wstring::data
      Src: /src/sentencepiece/src/util.cc:274,1
    - Dst: std::wstring::size
      Src: /src/sentencepiece/src/util.cc:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: sentencepiece::util::Utf8ToWide
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::wstring::size
    - absl::string_view::data
    - ::MultiByteToWideChar
    - static_cast<int>
    - std::wstring::data
    - absl::string_view::size
    linkageType: ''
    returnType: std::wstring
    signature: std::wstring Utf8ToWide(absl::string_view input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/util.cc:283,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/util.cc:283,1
    - Dst: reserve
      Src: /src/sentencepiece/src/util.cc:284,1
    - Dst: push_back
      Src: /src/sentencepiece/src/util.cc:286,1
    - Dst: std::thread
      Src: /src/sentencepiece/src/util.cc:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - num_threads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: sentencepiece::ThreadPool::Impl::Impl
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::thread
    - reserve
    - std::max<int>
    - std::min<int>
    - push_back
    linkageType: ''
    returnType: void
    signature: void Impl(int num_threads)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/util.cc:293,1
    - Dst: push
      Src: /src/sentencepiece/src/util.cc:294,1
    - Dst: join
      Src: /src/sentencepiece/src/util.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 298
    functionName: ~Impl()
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - join
    - push
    - size
    linkageType: ''
    returnType: void
    signature: void ~Impl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/sentencepiece/src/util.cc:302,1
    - Dst: std::move
      Src: /src/sentencepiece/src/util.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - absl::AnyInvocable<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: sentencepiece::ThreadPool::Impl::Schedule
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::move
    - push
    linkageType: ''
    returnType: void
    signature: void Schedule(absl::AnyInvocable<void()> func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/util.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: sentencepiece::ThreadPool::Impl::num_threads
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t num_threads() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/util.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: sentencepiece::ThreadPool::Impl::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Await
      Src: /src/sentencepiece/src/util.cc:317,1
    - Dst: absl::Condition
      Src: /src/sentencepiece/src/util.cc:317,1
    - Dst: std::move
      Src: /src/sentencepiece/src/util.cc:318,1
    - Dst: front
      Src: /src/sentencepiece/src/util.cc:318,1
    - Dst: pop
      Src: /src/sentencepiece/src/util.cc:319,1
    - Dst: func
      Src: /src/sentencepiece/src/util.cc:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 326
    functionName: sentencepiece::ThreadPool::Impl::WorkLoop
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - absl::Condition
    - pop
    - front
    - func
    - std::move
    - Await
    linkageType: ''
    returnType: void
    signature: void WorkLoop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Impl>
      Src: /src/sentencepiece/src/util.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - num_threads
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: sentencepiece::ThreadPool::ThreadPool
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Impl>
    linkageType: ''
    returnType: void
    signature: void ThreadPool::ThreadPool(size_t num_threads)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: ThreadPool::~ThreadPool()
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThreadPool::~ThreadPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ThreadPool::Schedule
      Src: /src/sentencepiece/src/util.cc:339,1
    - Dst: std::move
      Src: /src/sentencepiece/src/util.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: sentencepiece::ThreadPool::Schedule
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::ThreadPool::Schedule
    - std::move
    linkageType: ''
    returnType: void
    signature: void ThreadPool::Schedule(std::function<void()> func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ThreadPool::num_threads
      Src: /src/sentencepiece/src/util.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: sentencepiece::ThreadPool::num_threads
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::ThreadPool::num_threads
    linkageType: ''
    returnType: size_t
    signature: size_t ThreadPool::num_threads() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/util.cc:347,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/util.cc:350,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/util.cc:350,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/util.cc:357,1
    - Dst: Schedule
      Src: /src/sentencepiece/src/util.cc:360,1
    - Dst: std::atomic::load
      Src: /src/sentencepiece/src/util.cc:364,1
    - Dst: std::atomic::fetch_add
      Src: /src/sentencepiece/src/util.cc:365,1
    - Dst: task_func
      Src: /src/sentencepiece/src/util.cc:367,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/util.cc:369,1
    - Dst: std::atomic::store
      Src: /src/sentencepiece/src/util.cc:371,1
    - Dst: std::move
      Src: /src/sentencepiece/src/util.cc:375,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/sentencepiece/src/util.cc:379,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/sentencepiece/src/util.cc:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - total_tasks
    - task_func
    - ' pool'
    argTypes:
    - size_t
    - std::function<absl::Status(size_t)>
    - ThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 387
    functionName: sentencepiece::RunBatch
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - std::atomic::store
    - absl::BlockingCounter::Wait
    - task_func
    - std::atomic::fetch_add
    - absl::BlockingCounter::DecrementCount
    - num_threads
    - absl::OkStatus
    - std::atomic::load
    - std::min<size_t>
    - std::move
    - Schedule
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status RunBatch(size_t total_tasks,\n                      std::function<absl::Status(size_t)>
      task_func,\n                      ThreadPool& pool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/util.cc:391,1
    - Dst: std::numeric_limits<double>::max
      Src: /src/sentencepiece/src/util.cc:392,1
    - Dst: front
      Src: /src/sentencepiece/src/util.cc:394,1
    - Dst: swap
      Src: /src/sentencepiece/src/util.cc:398,1
    - Dst: std::log1p
      Src: /src/sentencepiece/src/util.cc:400,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/util.cc:400,1
    - Dst: size
      Src: /src/sentencepiece/src/util.cc:402,1
    - Dst: log_add
      Src: /src/sentencepiece/src/util.cc:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' xs'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 406
    functionName: sentencepiece::log_domain::LogSum
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::log1p
    - std::numeric_limits<double>::max
    - empty
    - front
    - std::exp
    - swap
    - log_add
    - size
    linkageType: ''
    returnType: double
    signature: double LogSum(const std::vector<double>& xs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/util.cc:391,1
    - Dst: std::numeric_limits<double>::max
      Src: /src/sentencepiece/src/util.cc:392,1
    - Dst: front
      Src: /src/sentencepiece/src/util.cc:394,1
    - Dst: swap
      Src: /src/sentencepiece/src/util.cc:398,1
    - Dst: std::log1p
      Src: /src/sentencepiece/src/util.cc:400,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/util.cc:400,1
    - Dst: size
      Src: /src/sentencepiece/src/util.cc:402,1
    - Dst: log_add
      Src: /src/sentencepiece/src/util.cc:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' xs'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 406
    functionName: sentencepiece::log_domain::LogSum
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::log1p
    - std::numeric_limits<double>::max
    - empty
    - front
    - std::exp
    - swap
    - log_add
    - size
    linkageType: ''
    returnType: double
    signature: double LogSum(const std::vector<double>& xs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/src/util.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sentencepiece::SetRandomGeneratorSeed
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void SetRandomGeneratorSeed(uint32_t seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/src/util.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: sentencepiece::GetRandomGeneratorSeed
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetRandomGeneratorSeed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const std::string>
      Src: /src/sentencepiece/src/util.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: sentencepiece::GetSharedDataDir
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 2
    functionsReached:
    - std::make_shared<const std::string>
    linkageType: ''
    returnType: std::shared_ptr<const std::string>
    signature: std::shared_ptr<const std::string> * GetSharedDataDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const std::string>
      Src: /src/sentencepiece/src/util.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: sentencepiece::GetSharedDataDir
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 2
    functionsReached:
    - std::make_shared<const std::string>
    linkageType: ''
    returnType: std::shared_ptr<const std::string>
    signature: std::shared_ptr<const std::string> * GetSharedDataDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic_load
      Src: /src/sentencepiece/src/util.cc:47,1
    - Dst: sentencepiece::GetSharedDataDir
      Src: /src/sentencepiece/src/util.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: sentencepiece::GetDataDir
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::GetSharedDataDir
    - std::atomic_load
    linkageType: ''
    returnType: std::string
    signature: std::string GetDataDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<const std::string>
      Src: /src/sentencepiece/src/util.cc:53,1
    - Dst: std::string
      Src: /src/sentencepiece/src/util.cc:53,1
    - Dst: std::atomic_store
      Src: /src/sentencepiece/src/util.cc:54,1
    - Dst: sentencepiece::GetSharedDataDir
      Src: /src/sentencepiece/src/util.cc:54,1
    - Dst: std::move
      Src: /src/sentencepiece/src/util.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data_dir
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: sentencepiece::SetDataDir
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::GetSharedDataDir
    - std::string
    - std::move
    - std::atomic_store
    - std::make_shared<const std::string>
    linkageType: ''
    returnType: void
    signature: void SetDataDir(absl::string_view data_dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SetMinLogLevel
      Src: /src/sentencepiece/src/util.cc:58,1
    - Dst: static_cast<absl::LogSeverityAtLeast>
      Src: /src/sentencepiece/src/util.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: sentencepiece::SetMinLogLevel
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SetMinLogLevel
    - static_cast<absl::LogSeverityAtLeast>
    linkageType: ''
    returnType: void
    signature: void SetMinLogLevel(int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/src/util.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: sentencepiece::SetNBestTimeout
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void SetNBestTimeout(int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/src/util.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: sentencepiece::GetNBestTimeout
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: int
    signature: int GetNBestTimeout()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/src/util.cc:71,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/src/util.cc:73,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:76,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:76,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:83,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:83,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:84,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:91,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:91,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:92,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:92,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 3
    argNames:
    - begin
    - end
    - mblen
    argTypes:
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 101
    functionName: sentencepiece::string_util::DecodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 6
    functionsReached:
    - sentencepiece::string_util::IsValidCodepoint
    - static_cast<unsigned char>
    - sentencepiece::string_util::IsTrailByte
    linkageType: ''
    returnType: char32_t
    signature: char32_t DecodeUTF8(const char* begin, const char* end, size_t* mblen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:104,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:105,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:105,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.cc:108,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: sentencepiece::string_util::IsStructurallyValid
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - sentencepiece::string_util::DecodeUTF8
    - sentencepiece::string_util::IsValidCodepoint
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValid(absl::string_view str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/util.cc:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - c
    - output
    argTypes:
    - char32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 151
    functionName: sentencepiece::string_util::EncodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 2
    functionsReached:
    - static_cast<char>
    linkageType: ''
    returnType: size_t
    signature: size_t EncodeUTF8(char32_t c, char* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/util.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: sentencepiece::string_util::UnicodeCharToUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::string_util::UnicodeTextToUTF8
    linkageType: ''
    returnType: std::string
    signature: std::string UnicodeCharToUTF8(const char32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:159,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:160,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:160,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.cc:163,1
    - Dst: UnicodeText::push_back
      Src: /src/sentencepiece/src/util.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - utf8
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: sentencepiece::string_util::UTF8ToUnicodeText
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - sentencepiece::string_util::DecodeUTF8
    - UnicodeText::push_back
    linkageType: ''
    returnType: UnicodeText
    signature: UnicodeText UTF8ToUnicodeText(absl::string_view utf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::EncodeUTF8
      Src: /src/sentencepiece/src/util.cc:174,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/util.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' utext'
    argTypes:
    - UnicodeText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: sentencepiece::string_util::UnicodeTextToUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 3
    functionsReached:
    - std::string::append
    - sentencepiece::string_util::EncodeUTF8
    linkageType: ''
    returnType: std::string
    signature: std::string UnicodeTextToUTF8(const UnicodeText& utext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnicodeTextAndOffsets::unicode_text::reserve
      Src: /src/sentencepiece/src/util.cc:183,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:183,1
    - Dst: UnicodeTextAndOffsets::offsets::reserve
      Src: /src/sentencepiece/src/util.cc:184,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:184,1
    - Dst: UnicodeTextAndOffsets::offsets::push_back
      Src: /src/sentencepiece/src/util.cc:185,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:186,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:187,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:187,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.cc:190,1
    - Dst: UnicodeTextAndOffsets::unicode_text::push_back
      Src: /src/sentencepiece/src/util.cc:192,1
    - Dst: UnicodeTextAndOffsets::offsets::push_back
      Src: /src/sentencepiece/src/util.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - utf8
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: sentencepiece::string_util::UTF8ToUnicodeTextAndOffsets
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - UnicodeTextAndOffsets::unicode_text::reserve
    - UnicodeTextAndOffsets::offsets::reserve
    - absl::string_view::data
    - sentencepiece::string_util::DecodeUTF8
    - UnicodeTextAndOffsets::unicode_text::push_back
    - absl::string_view::size
    - UnicodeTextAndOffsets::offsets::push_back
    linkageType: ''
    returnType: UnicodeTextAndOffsets
    signature: UnicodeTextAndOffsets UTF8ToUnicodeTextAndOffsets(absl::string_view
      utf8)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/src/util.cc:71,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/src/util.cc:73,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:76,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:76,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:83,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:83,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:84,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:91,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:91,1
    - Dst: sentencepiece::string_util::IsTrailByte
      Src: /src/sentencepiece/src/util.cc:92,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:92,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 25
    argCount: 3
    argNames:
    - begin
    - end
    - mblen
    argTypes:
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 101
    functionName: sentencepiece::string_util::DecodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 9
    functionsReached:
    - sentencepiece::string_util::IsValidCodepoint
    - static_cast<unsigned char>
    - sentencepiece::string_util::IsTrailByte
    linkageType: ''
    returnType: char32_t
    signature: char32_t DecodeUTF8(const char* begin, const char* end, size_t* mblen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:104,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:105,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:105,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.cc:108,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util.cc:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: sentencepiece::string_util::IsStructurallyValid
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - sentencepiece::string_util::DecodeUTF8
    - sentencepiece::string_util::IsValidCodepoint
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValid(absl::string_view str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/util.cc:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - c
    - output
    argTypes:
    - char32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 151
    functionName: sentencepiece::string_util::EncodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 3
    functionsReached:
    - static_cast<char>
    linkageType: ''
    returnType: size_t
    signature: size_t EncodeUTF8(char32_t c, char* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/util.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: sentencepiece::string_util::UnicodeCharToUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::string_util::UnicodeTextToUTF8
    linkageType: ''
    returnType: std::string
    signature: std::string UnicodeCharToUTF8(const char32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:159,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:160,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:160,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.cc:163,1
    - Dst: UnicodeText::push_back
      Src: /src/sentencepiece/src/util.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - utf8
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: sentencepiece::string_util::UTF8ToUnicodeText
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - sentencepiece::string_util::DecodeUTF8
    - UnicodeText::push_back
    linkageType: ''
    returnType: UnicodeText
    signature: UnicodeText UTF8ToUnicodeText(absl::string_view utf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::EncodeUTF8
      Src: /src/sentencepiece/src/util.cc:174,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/util.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' utext'
    argTypes:
    - UnicodeText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: sentencepiece::string_util::UnicodeTextToUTF8
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 4
    functionsReached:
    - std::string::append
    - sentencepiece::string_util::EncodeUTF8
    linkageType: ''
    returnType: std::string
    signature: std::string UnicodeTextToUTF8(const UnicodeText& utext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnicodeTextAndOffsets::unicode_text::reserve
      Src: /src/sentencepiece/src/util.cc:183,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:183,1
    - Dst: UnicodeTextAndOffsets::offsets::reserve
      Src: /src/sentencepiece/src/util.cc:184,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:184,1
    - Dst: UnicodeTextAndOffsets::offsets::push_back
      Src: /src/sentencepiece/src/util.cc:185,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:186,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:187,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:187,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.cc:190,1
    - Dst: UnicodeTextAndOffsets::unicode_text::push_back
      Src: /src/sentencepiece/src/util.cc:192,1
    - Dst: UnicodeTextAndOffsets::offsets::push_back
      Src: /src/sentencepiece/src/util.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - utf8
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: sentencepiece::string_util::UTF8ToUnicodeTextAndOffsets
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - UnicodeTextAndOffsets::unicode_text::reserve
    - UnicodeTextAndOffsets::offsets::reserve
    - absl::string_view::data
    - sentencepiece::string_util::DecodeUTF8
    - UnicodeTextAndOffsets::unicode_text::push_back
    - absl::string_view::size
    - UnicodeTextAndOffsets::offsets::push_back
    linkageType: ''
    returnType: UnicodeTextAndOffsets
    signature: UnicodeTextAndOffsets UTF8ToUnicodeTextAndOffsets(absl::string_view
      utf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRandomGeneratorSeed
      Src: /src/sentencepiece/src/util.cc:206,1
    - Dst: std::make_unique<absl::BitGen>
      Src: /src/sentencepiece/src/util.cc:207,1
    - Dst: std::make_unique<absl::BitGen>
      Src: /src/sentencepiece/src/util.cc:208,1
    - Dst: GetRandomGeneratorSeed
      Src: /src/sentencepiece/src/util.cc:209,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/util.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: sentencepiece::random::GetRandomGenerator
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - GetRandomGeneratorSeed
    - std::make_unique<absl::BitGen>
    - auto::get
    linkageType: ''
    returnType: absl::BitGen
    signature: absl::BitGen * GetRandomGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRandomGeneratorSeed
      Src: /src/sentencepiece/src/util.cc:206,1
    - Dst: std::make_unique<absl::BitGen>
      Src: /src/sentencepiece/src/util.cc:207,1
    - Dst: std::make_unique<absl::BitGen>
      Src: /src/sentencepiece/src/util.cc:208,1
    - Dst: GetRandomGeneratorSeed
      Src: /src/sentencepiece/src/util.cc:209,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/util.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: sentencepiece::random::GetRandomGenerator
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - GetRandomGeneratorSeed
    - std::make_unique<absl::BitGen>
    - auto::get
    linkageType: ''
    returnType: absl::BitGen
    signature: absl::BitGen * GetRandomGenerator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror_r
      Src: /src/sentencepiece/src/util.cc:221,1
    - Dst: strerror_s
      Src: /src/sentencepiece/src/util.cc:223,1
    - Dst: strerror_r
      Src: /src/sentencepiece/src/util.cc:226,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.cc:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: sentencepiece::util::StrError
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - strerror_r
    - strerror_s
    - google::protobuf::StrCat
    linkageType: ''
    returnType: std::string
    signature: std::string StrError(int errnum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/src/util.cc:233,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/util.cc:234,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/util.cc:234,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:235,1
    - Dst: std::find
      Src: /src/sentencepiece/src/util.cc:251,1
    - Dst: std::find
      Src: /src/sentencepiece/src/util.cc:254,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/util.cc:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 262
    functionName: sentencepiece::util::StrSplitAsCSV
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - std::string
    - std::find
    - std::vector::push_back
    - absl::string_view::size
    - const_cast<char*>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> StrSplitAsCSV(absl::string_view text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::MultiByteToWideChar
      Src: /src/sentencepiece/src/util.cc:266,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:267,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/util.cc:267,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:267,1
    - Dst: ::MultiByteToWideChar
      Src: /src/sentencepiece/src/util.cc:272,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:272,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/util.cc:273,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:273,1
    - Dst: std::wstring::data
      Src: /src/sentencepiece/src/util.cc:274,1
    - Dst: std::wstring::size
      Src: /src/sentencepiece/src/util.cc:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: sentencepiece::util::Utf8ToWide
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::wstring::size
    - absl::string_view::data
    - ::MultiByteToWideChar
    - static_cast<int>
    - std::wstring::data
    - absl::string_view::size
    linkageType: ''
    returnType: std::wstring
    signature: std::wstring Utf8ToWide(absl::string_view input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror_r
      Src: /src/sentencepiece/src/util.cc:221,1
    - Dst: strerror_s
      Src: /src/sentencepiece/src/util.cc:223,1
    - Dst: strerror_r
      Src: /src/sentencepiece/src/util.cc:226,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.cc:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: sentencepiece::util::StrError
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - strerror_r
    - strerror_s
    - google::protobuf::StrCat
    linkageType: ''
    returnType: std::string
    signature: std::string StrError(int errnum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/src/util.cc:233,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/util.cc:234,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/util.cc:234,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:235,1
    - Dst: std::find
      Src: /src/sentencepiece/src/util.cc:251,1
    - Dst: std::find
      Src: /src/sentencepiece/src/util.cc:254,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/util.cc:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 262
    functionName: sentencepiece::util::StrSplitAsCSV
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - std::string
    - std::find
    - std::vector::push_back
    - absl::string_view::size
    - const_cast<char*>
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> StrSplitAsCSV(absl::string_view text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::MultiByteToWideChar
      Src: /src/sentencepiece/src/util.cc:266,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:267,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/util.cc:267,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:267,1
    - Dst: ::MultiByteToWideChar
      Src: /src/sentencepiece/src/util.cc:272,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.cc:272,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/util.cc:273,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.cc:273,1
    - Dst: std::wstring::data
      Src: /src/sentencepiece/src/util.cc:274,1
    - Dst: std::wstring::size
      Src: /src/sentencepiece/src/util.cc:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: sentencepiece::util::Utf8ToWide
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::wstring::size
    - absl::string_view::data
    - ::MultiByteToWideChar
    - static_cast<int>
    - std::wstring::data
    - absl::string_view::size
    linkageType: ''
    returnType: std::wstring
    signature: std::wstring Utf8ToWide(absl::string_view input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/util.cc:283,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/util.cc:283,1
    - Dst: reserve
      Src: /src/sentencepiece/src/util.cc:284,1
    - Dst: push_back
      Src: /src/sentencepiece/src/util.cc:286,1
    - Dst: std::thread
      Src: /src/sentencepiece/src/util.cc:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - num_threads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: sentencepiece::ThreadPool::Impl::Impl
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::thread
    - reserve
    - std::max<int>
    - std::min<int>
    - push_back
    linkageType: ''
    returnType: void
    signature: void Impl(int num_threads)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/util.cc:293,1
    - Dst: push
      Src: /src/sentencepiece/src/util.cc:294,1
    - Dst: join
      Src: /src/sentencepiece/src/util.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 298
    functionName: ~Impl()
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - join
    - push
    - size
    linkageType: ''
    returnType: void
    signature: void ~Impl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/sentencepiece/src/util.cc:302,1
    - Dst: std::move
      Src: /src/sentencepiece/src/util.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - absl::AnyInvocable<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: sentencepiece::ThreadPool::Impl::Schedule
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::move
    - push
    linkageType: ''
    returnType: void
    signature: void Schedule(absl::AnyInvocable<void()> func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/util.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: sentencepiece::ThreadPool::Impl::num_threads
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t num_threads() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/util.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: sentencepiece::ThreadPool::Impl::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Await
      Src: /src/sentencepiece/src/util.cc:317,1
    - Dst: absl::Condition
      Src: /src/sentencepiece/src/util.cc:317,1
    - Dst: std::move
      Src: /src/sentencepiece/src/util.cc:318,1
    - Dst: front
      Src: /src/sentencepiece/src/util.cc:318,1
    - Dst: pop
      Src: /src/sentencepiece/src/util.cc:319,1
    - Dst: func
      Src: /src/sentencepiece/src/util.cc:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 326
    functionName: sentencepiece::ThreadPool::Impl::WorkLoop
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - absl::Condition
    - pop
    - front
    - func
    - std::move
    - Await
    linkageType: ''
    returnType: void
    signature: void WorkLoop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Impl>
      Src: /src/sentencepiece/src/util.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - num_threads
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: sentencepiece::ThreadPool::ThreadPool
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Impl>
    linkageType: ''
    returnType: void
    signature: void ThreadPool::ThreadPool(size_t num_threads)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: ThreadPool::~ThreadPool()
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThreadPool::~ThreadPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ThreadPool::Schedule
      Src: /src/sentencepiece/src/util.cc:339,1
    - Dst: std::move
      Src: /src/sentencepiece/src/util.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - func
    argTypes:
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: sentencepiece::ThreadPool::Schedule
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::ThreadPool::Schedule
    - std::move
    linkageType: ''
    returnType: void
    signature: void ThreadPool::Schedule(std::function<void()> func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ThreadPool::num_threads
      Src: /src/sentencepiece/src/util.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: sentencepiece::ThreadPool::num_threads
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::ThreadPool::num_threads
    linkageType: ''
    returnType: size_t
    signature: size_t ThreadPool::num_threads() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/util.cc:347,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/util.cc:350,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/util.cc:350,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/util.cc:357,1
    - Dst: Schedule
      Src: /src/sentencepiece/src/util.cc:360,1
    - Dst: std::atomic::load
      Src: /src/sentencepiece/src/util.cc:364,1
    - Dst: std::atomic::fetch_add
      Src: /src/sentencepiece/src/util.cc:365,1
    - Dst: task_func
      Src: /src/sentencepiece/src/util.cc:367,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/util.cc:369,1
    - Dst: std::atomic::store
      Src: /src/sentencepiece/src/util.cc:371,1
    - Dst: std::move
      Src: /src/sentencepiece/src/util.cc:375,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/sentencepiece/src/util.cc:379,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/sentencepiece/src/util.cc:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - total_tasks
    - task_func
    - ' pool'
    argTypes:
    - size_t
    - std::function<absl::Status(size_t)>
    - ThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 387
    functionName: sentencepiece::RunBatch
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - std::atomic::store
    - absl::BlockingCounter::Wait
    - task_func
    - std::atomic::fetch_add
    - absl::BlockingCounter::DecrementCount
    - num_threads
    - absl::OkStatus
    - std::atomic::load
    - std::min<size_t>
    - std::move
    - Schedule
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status RunBatch(size_t total_tasks,\n                      std::function<absl::Status(size_t)>
      task_func,\n                      ThreadPool& pool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/util.cc:391,1
    - Dst: std::numeric_limits<double>::max
      Src: /src/sentencepiece/src/util.cc:392,1
    - Dst: front
      Src: /src/sentencepiece/src/util.cc:394,1
    - Dst: swap
      Src: /src/sentencepiece/src/util.cc:398,1
    - Dst: std::log1p
      Src: /src/sentencepiece/src/util.cc:400,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/util.cc:400,1
    - Dst: size
      Src: /src/sentencepiece/src/util.cc:402,1
    - Dst: log_add
      Src: /src/sentencepiece/src/util.cc:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' xs'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 406
    functionName: sentencepiece::log_domain::LogSum
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::log1p
    - std::numeric_limits<double>::max
    - empty
    - front
    - std::exp
    - swap
    - log_add
    - size
    linkageType: ''
    returnType: double
    signature: double LogSum(const std::vector<double>& xs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/util.cc:391,1
    - Dst: std::numeric_limits<double>::max
      Src: /src/sentencepiece/src/util.cc:392,1
    - Dst: front
      Src: /src/sentencepiece/src/util.cc:394,1
    - Dst: swap
      Src: /src/sentencepiece/src/util.cc:398,1
    - Dst: std::log1p
      Src: /src/sentencepiece/src/util.cc:400,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/util.cc:400,1
    - Dst: size
      Src: /src/sentencepiece/src/util.cc:402,1
    - Dst: log_add
      Src: /src/sentencepiece/src/util.cc:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' xs'
    argTypes:
    - std::vector<double>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 406
    functionName: sentencepiece::log_domain::LogSum
    functionSourceFile: /src/sentencepiece/src/util.cc
    functionUses: 0
    functionsReached:
    - std::log1p
    - std::numeric_limits<double>::max
    - empty
    - front
    - std::exp
    - swap
    - log_add
    - size
    linkageType: ''
    returnType: double
    signature: double LogSum(const std::vector<double>& xs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::setf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:44,1
    - Dst: std::stringstream::setf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:45,1
    - Dst: std::stringstream::setf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:46,1
    - Dst: std::stringstream::fill
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:47,1
    - Dst: std::stringstream::unsetf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:48,1
    - Dst: second::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:52,1
    - Dst: second::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:53,1
    - Dst: second::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:53,1
    - Dst: std::vector<size_t>*::push_back
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:55,1
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:58,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:59,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:61,1
    - Dst: std::setw
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:64,1
    - Dst: std::stringstream::str
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' data'
    - offset
    argTypes:
    - std::vector<std::pair<std::string, std::string>>
    - std::vector<size_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 72
    functionName: sentencepiece::ToHexUInt64Array
    functionSourceFile: /src/sentencepiece/src/compile_charsmap_main.cc
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - std::stringstream::setf
    - static_cast<unsigned char>
    - std::stringstream::fill
    - std::stringstream::unsetf
    - reinterpret_cast<unsigned char*>
    - second::size
    - std::setw
    - second::data
    - std::vector<size_t>*::push_back
    - std::min<size_t>
    linkageType: ''
    returnType: std::string
    signature: "std::string ToHexUInt64Array(\n    const std::vector<std::pair<std::string,
      std::string>>& data,\n    std::vector<size_t>* offset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:75,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:76,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:76,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:84,1
    - Dst: std::stringstream::str
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: sentencepiece::ToHexData
    functionSourceFile: /src/sentencepiece/src/compile_charsmap_main.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - std::stringstream::str
    - std::min<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string ToHexData(absl::string_view data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ToHexUInt64Array
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:135,1
    - Dst: QCHECK_EQ
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:136,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:136,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:136,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:139,1
    - Dst: second::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:140,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:147,1
    - Dst: second::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:148,1
    - Dst: sentencepiece::ToHexData
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:149,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:154,1
    - Dst: std::stringstream::str
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<std::pair<std::string, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 158
    functionName: sentencepiece::MakeHeader
    functionSourceFile: /src/sentencepiece/src/compile_charsmap_main.cc
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - sentencepiece::ToHexData
    - sentencepiece::ToHexUInt64Array
    - second::size
    - std::vector::size
    - QCHECK_EQ
    - size
    linkageType: ''
    returnType: std::string
    signature: "std::string MakeHeader(\n    const std::vector<std::pair<std::string,
      std::string>>& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::setf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:44,1
    - Dst: std::stringstream::setf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:45,1
    - Dst: std::stringstream::setf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:46,1
    - Dst: std::stringstream::fill
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:47,1
    - Dst: std::stringstream::unsetf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:48,1
    - Dst: second::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:52,1
    - Dst: second::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:53,1
    - Dst: second::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:53,1
    - Dst: std::vector<size_t>*::push_back
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:55,1
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:58,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:59,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:61,1
    - Dst: std::setw
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:64,1
    - Dst: std::stringstream::str
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' data'
    - offset
    argTypes:
    - std::vector<std::pair<std::string, std::string>>
    - std::vector<size_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 72
    functionName: sentencepiece::ToHexUInt64Array
    functionSourceFile: /src/sentencepiece/src/compile_charsmap_main.cc
    functionUses: 1
    functionsReached:
    - std::stringstream::str
    - std::stringstream::setf
    - static_cast<unsigned char>
    - std::stringstream::fill
    - std::stringstream::unsetf
    - reinterpret_cast<unsigned char*>
    - second::size
    - std::setw
    - second::data
    - std::vector<size_t>*::push_back
    - std::min<size_t>
    linkageType: ''
    returnType: std::string
    signature: "std::string ToHexUInt64Array(\n    const std::vector<std::pair<std::string,
      std::string>>& data,\n    std::vector<size_t>* offset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:75,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:76,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:76,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:84,1
    - Dst: std::stringstream::str
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: sentencepiece::ToHexData
    functionSourceFile: /src/sentencepiece/src/compile_charsmap_main.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - std::stringstream::str
    - std::min<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string ToHexData(absl::string_view data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ToHexUInt64Array
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:135,1
    - Dst: QCHECK_EQ
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:136,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:136,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:136,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:139,1
    - Dst: second::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:140,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:147,1
    - Dst: second::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:148,1
    - Dst: sentencepiece::ToHexData
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:149,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:154,1
    - Dst: std::stringstream::str
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<std::pair<std::string, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 158
    functionName: sentencepiece::MakeHeader
    functionSourceFile: /src/sentencepiece/src/compile_charsmap_main.cc
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - sentencepiece::ToHexData
    - sentencepiece::ToHexUInt64Array
    - second::size
    - std::vector::size
    - QCHECK_EQ
    - size
    linkageType: ''
    returnType: std::string
    signature: "std::string MakeHeader(\n    const std::vector<std::pair<std::string,
      std::string>>& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::setf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:44,1
    - Dst: std::stringstream::setf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:45,1
    - Dst: std::stringstream::setf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:46,1
    - Dst: std::stringstream::fill
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:47,1
    - Dst: std::stringstream::unsetf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:48,1
    - Dst: second::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:52,1
    - Dst: second::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:53,1
    - Dst: second::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:53,1
    - Dst: std::vector<size_t>*::push_back
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:55,1
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:58,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:59,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:61,1
    - Dst: std::setw
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:64,1
    - Dst: std::stringstream::str
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' data'
    - offset
    argTypes:
    - std::vector<std::pair<std::string, std::string>>
    - std::vector<size_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 72
    functionName: sentencepiece::ToHexUInt64Array
    functionSourceFile: /src/sentencepiece/src/compile_charsmap_main.cc
    functionUses: 2
    functionsReached:
    - std::stringstream::str
    - std::stringstream::setf
    - static_cast<unsigned char>
    - std::stringstream::fill
    - std::stringstream::unsetf
    - reinterpret_cast<unsigned char*>
    - second::size
    - std::setw
    - second::data
    - std::vector<size_t>*::push_back
    - std::min<size_t>
    linkageType: ''
    returnType: std::string
    signature: "std::string ToHexUInt64Array(\n    const std::vector<std::pair<std::string,
      std::string>>& data,\n    std::vector<size_t>* offset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:75,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:76,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:76,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:84,1
    - Dst: std::stringstream::str
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: sentencepiece::ToHexData
    functionSourceFile: /src/sentencepiece/src/compile_charsmap_main.cc
    functionUses: 2
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - std::stringstream::str
    - std::min<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string ToHexData(absl::string_view data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ToHexUInt64Array
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:135,1
    - Dst: QCHECK_EQ
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:136,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:136,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:136,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:139,1
    - Dst: second::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:140,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:147,1
    - Dst: second::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:148,1
    - Dst: sentencepiece::ToHexData
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:149,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:154,1
    - Dst: std::stringstream::str
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<std::pair<std::string, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 158
    functionName: sentencepiece::MakeHeader
    functionSourceFile: /src/sentencepiece/src/compile_charsmap_main.cc
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - sentencepiece::ToHexData
    - sentencepiece::ToHexUInt64Array
    - second::size
    - std::vector::size
    - QCHECK_EQ
    - size
    linkageType: ''
    returnType: std::string
    signature: "std::string MakeHeader(\n    const std::vector<std::pair<std::string,
      std::string>>& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::setf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:44,1
    - Dst: std::stringstream::setf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:45,1
    - Dst: std::stringstream::setf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:46,1
    - Dst: std::stringstream::fill
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:47,1
    - Dst: std::stringstream::unsetf
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:48,1
    - Dst: second::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:52,1
    - Dst: second::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:53,1
    - Dst: second::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:53,1
    - Dst: std::vector<size_t>*::push_back
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:55,1
    - Dst: reinterpret_cast<unsigned char*>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:58,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:59,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:61,1
    - Dst: std::setw
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:64,1
    - Dst: std::stringstream::str
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ' data'
    - offset
    argTypes:
    - std::vector<std::pair<std::string, std::string>>
    - std::vector<size_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 72
    functionName: sentencepiece::ToHexUInt64Array
    functionSourceFile: /src/sentencepiece/src/compile_charsmap_main.cc
    functionUses: 3
    functionsReached:
    - std::stringstream::str
    - std::stringstream::setf
    - static_cast<unsigned char>
    - std::stringstream::fill
    - std::stringstream::unsetf
    - reinterpret_cast<unsigned char*>
    - second::size
    - std::setw
    - second::data
    - std::vector<size_t>*::push_back
    - std::min<size_t>
    linkageType: ''
    returnType: std::string
    signature: "std::string ToHexUInt64Array(\n    const std::vector<std::pair<std::string,
      std::string>>& data,\n    std::vector<size_t>* offset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:75,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:76,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:76,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:84,1
    - Dst: std::stringstream::str
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: sentencepiece::ToHexData
    functionSourceFile: /src/sentencepiece/src/compile_charsmap_main.cc
    functionUses: 3
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - std::stringstream::str
    - std::min<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string ToHexData(absl::string_view data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ToHexUInt64Array
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:135,1
    - Dst: QCHECK_EQ
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:136,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:136,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:136,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:139,1
    - Dst: second::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:140,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:147,1
    - Dst: second::size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:148,1
    - Dst: sentencepiece::ToHexData
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:149,1
    - Dst: size
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:154,1
    - Dst: std::stringstream::str
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::vector<std::pair<std::string, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 158
    functionName: sentencepiece::MakeHeader
    functionSourceFile: /src/sentencepiece/src/compile_charsmap_main.cc
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    - sentencepiece::ToHexData
    - sentencepiece::ToHexUInt64Array
    - second::size
    - std::vector::size
    - QCHECK_EQ
    - size
    linkageType: ''
    returnType: std::string
    signature: "std::string MakeHeader(\n    const std::vector<std::pair<std::string,
      std::string>>& data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ScopedResourceDestructor::ScopedResourceDestructor
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:164,1
    - Dst: sentencepiece::ParseCommandLineFlags
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:165,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:183,1
    - Dst: func
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:183,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:187,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:187,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:190,1
    - Dst: sentencepiece::normalizer::Builder::SaveCharsMap
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:191,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:191,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:199,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:202,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:205,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:206,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:206,1
    - Dst: auto::Write
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:207,1
    - Dst: sentencepiece::MakeHeader
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:207,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:210,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:212,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:213,1
    - Dst: auto::Write
      Src: /src/sentencepiece/src/compile_charsmap_main.cc:215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 220
    functionName: main
    functionSourceFile: /src/sentencepiece/src/compile_charsmap_main.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::SaveCharsMap
    - sentencepiece::filesystem::NewWritableFile
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - sentencepiece::ScopedResourceDestructor::ScopedResourceDestructor
    - sentencepiece::ParseCommandLineFlags
    - auto::status
    - sentencepiece::MakeHeader
    - func
    - google::protobuf::StrCat
    - auto::Write
    - std::vector::emplace_back
    - QCHECK_OK
    - absl::GetFlag
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: sentencepiece::SentencePieceProcessor::SentencePieceProcessor
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceProcessor::SentencePieceProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: SentencePieceProcessor::~SentencePieceProcessor()
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceProcessor::~SentencePieceProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:81,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:82,1
    - Dst: sentencepiece::io::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:82,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:82,1
    - Dst: sentencepiece::SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:83,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: sentencepiece::SentencePieceProcessor::Load
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached:
    - auto::get
    - sentencepiece::SentencePieceProcessor::Load
    - std::move
    - RETURN_IF_ERROR
    - sentencepiece::io::LoadModelProto
    - std::make_unique<ModelProto>
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status SentencePieceProcessor::Load(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:87,1
    - Dst: sentencepiece::SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: sentencepiece::SentencePieceProcessor::LoadOrDie
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::SentencePieceProcessor::Load
    linkageType: ''
    returnType: void
    signature: void SentencePieceProcessor::LoadOrDie(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:91,1
    - Dst: sentencepiece::SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:93,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: sentencepiece::SentencePieceProcessor::Load
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Load
    - std::make_unique<ModelProto>
    - std::move
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status SentencePieceProcessor::Load(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:98,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:99,1
    - Dst: auto::ParseFromArray
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:99,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:99,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:99,1
    - Dst: sentencepiece::SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:100,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - serialized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: sentencepiece::SentencePieceProcessor::LoadFromSerializedProto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Load
    - auto::ParseFromArray
    - absl::string_view::data
    - std::move
    - absl::string_view::size
    - RET_CHECK
    - std::make_unique<ModelProto>
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::LoadFromSerializedProto(\n    absl::string_view
      serialized)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:105,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:106,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:107,1
    - Dst: normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:108,1
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:108,1
    - Dst: has_denormalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:109,1
    - Dst: denormalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:110,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:111,1
    - Dst: denormalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:112,1
    - Dst: SetPrefixMatcher
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:116,1
    - Dst: prefix_matcher
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:116,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:118,1
    - Dst: sentencepiece::SentencePieceProcessor::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:118,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:122,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:122,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:123,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:125,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:125,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:126,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:128,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:128,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:129,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:131,1
    - Dst: pad_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:131,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:132,1
    - Dst: self_test_data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:136,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:137,1
    - Dst: sentencepiece::SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:137,1
    - Dst: input
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:137,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:138,1
    - Dst: VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:139,1
    - Dst: expected
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:139,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:140,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:141,1
    - Dst: input
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:141,1
    - Dst: expected
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:141,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:145,1
    - Dst: LOG
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:146,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:146,1
    - Dst: self_test_data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:147,1
    - Dst: LOG
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:150,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:152,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - model_proto
    argTypes:
    - std::unique_ptr<ModelProto>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 156
    functionName: sentencepiece::SentencePieceProcessor::Load
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 4
    functionsReached:
    - denormalizer_spec
    - pad_piece
    - normalizer_spec
    - sentencepiece::SentencePieceProcessor::Encode
    - prefix_matcher
    - absl::StrJoin
    - eos_piece
    - LOG
    - sentencepiece::SentencePieceProcessor::IsUnknown
    - sentencepiece::ModelFactory::Create
    - has_denormalizer_spec
    - expected
    - RETURN_IF_ERROR
    - self_test_data
    - sentencepiece::SentencePieceProcessor::IsControl
    - std::vector::empty
    - trainer_spec
    - VerifyOutputsEquivalent
    - sentencepiece::SentencePieceProcessor::PieceToId
    - unk_piece
    - absl::OkStatus
    - google::protobuf::StrCat
    - std::vector::size
    - std::vector::emplace_back
    - SetPrefixMatcher
    - input
    - std::make_unique<normalizer::Normalizer>
    - std::move
    - sentencepiece::SentencePieceProcessor::status
    - bos_piece
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Load(\n    std::unique_ptr<ModelProto>
      model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::ParseExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - extra_options
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: sentencepiece::SentencePieceProcessor::SetEncodeExtraOptions
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::ParseExtraOptions
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::SetEncodeExtraOptions(\n    absl::string_view
      extra_options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::ParseExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - extra_options
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: sentencepiece::SentencePieceProcessor::SetDecodeExtraOptions
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::ParseExtraOptions
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::SetDecodeExtraOptions(\n    absl::string_view
      extra_options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:169,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:170,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:171,1
    - Dst: sentencepiece::SentencePieceProcessor::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:171,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:172,1
    - Dst: sentencepiece::SentencePieceProcessor::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:172,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: sentencepiece::SentencePieceProcessor::status
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceProcessor::status
    - absl::OkStatus
    - RET_CHECK
    - RETURN_IF_ERROR
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status SentencePieceProcessor::status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - container
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: RET_CHECK_STATUS_STL
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_STATUS_STL(container)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proto
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: RET_CHECK_STATUS_PROTO
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_STATUS_PROTO(proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::EncodeOptimized
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - pieces
    argTypes:
    - absl::string_view
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: sentencepiece::SentencePieceProcessor::Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceProcessor::EncodeOptimized
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Encode(\n    absl::string_view
      input, std::vector<std::string>* pieces) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::EncodeOptimized
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - ids
    argTypes:
    - absl::string_view
    - std::vector<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: sentencepiece::SentencePieceProcessor::Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceProcessor::EncodeOptimized
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Encode(absl::string_view input,\n
      \                                           std::vector<int>* ids) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<const std::string>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:200,1
    - Dst: absl::Span<const std::string>::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:200,1
    - Dst: sentencepiece::SentencePieceProcessor::DecodeOptimized
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pieces
    - detokenized
    argTypes:
    - absl::Span<const std::string>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: sentencepiece::SentencePieceProcessor::Decode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached:
    - absl::Span<const std::string>::begin
    - sentencepiece::SentencePieceProcessor::DecodeOptimized
    - absl::Span<const std::string>::end
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Decode(\n    absl::Span<const
      std::string> pieces, std::string* detokenized) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::DecodeOptimized
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pieces
    - detokenized
    argTypes:
    - absl::Span<const absl::string_view>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: sentencepiece::SentencePieceProcessor::Decode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SentencePieceProcessor::DecodeOptimized
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Decode(\n    absl::Span<const
      absl::string_view> pieces,\n    std::string* detokenized) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::DecodeOptimized
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ids
    - detokenized
    argTypes:
    - absl::Span<const int>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: sentencepiece::SentencePieceProcessor::Decode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SentencePieceProcessor::DecodeOptimized
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Decode(absl::Span<const int>
      ids,\n                                            std::string* detokenized)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_STL
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:218,1
    - Dst: Arena::Create<NBestSentencePieceText>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:221,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:222,1
    - Dst: sentencepiece::SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:222,1
    - Dst: std::vector<std::vector<std::string>>*::reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:223,1
    - Dst: auto*::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:223,1
    - Dst: auto*::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:224,1
    - Dst: std::vector<std::vector<std::string>>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:225,1
    - Dst: reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:226,1
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:226,1
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:227,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:228,1
    - Dst: piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:228,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - input
    - nbest_size
    - pieces
    argTypes:
    - absl::string_view
    - int
    - std::vector<std::vector<std::string>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: sentencepiece::SentencePieceProcessor::NBestEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - reserve
    - Arena::Create<NBestSentencePieceText>
    - std::vector<std::vector<std::string>>*::emplace_back
    - emplace_back
    - std::vector<std::vector<std::string>>*::reserve
    - piece
    - absl::OkStatus
    - RET_CHECK_STATUS_STL
    - sentencepiece::SentencePieceProcessor::NBestEncode
    - RETURN_IF_ERROR
    - auto*::nbests
    - pieces
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::NBestEncode(\n    absl::string_view
      input, int nbest_size,\n    std::vector<std::vector<std::string>>* pieces) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_STL
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:238,1
    - Dst: Arena::Create<NBestSentencePieceText>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:241,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:242,1
    - Dst: sentencepiece::SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:242,1
    - Dst: std::vector<std::vector<int>>*::reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:243,1
    - Dst: auto*::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:243,1
    - Dst: auto*::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:244,1
    - Dst: std::vector<std::vector<int>>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:245,1
    - Dst: reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:246,1
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:246,1
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:247,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:248,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:248,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - input
    - nbest_size
    - ids
    argTypes:
    - absl::string_view
    - int
    - std::vector<std::vector<int>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: sentencepiece::SentencePieceProcessor::NBestEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 3
    functionsReached:
    - std::vector<std::vector<int>>*::emplace_back
    - reserve
    - Arena::Create<NBestSentencePieceText>
    - emplace_back
    - id
    - absl::OkStatus
    - RET_CHECK_STATUS_STL
    - sentencepiece::SentencePieceProcessor::NBestEncode
    - RETURN_IF_ERROR
    - auto*::nbests
    - pieces
    - std::vector<std::vector<int>>*::reserve
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::NBestEncode(\n    absl::string_view
      input, int nbest_size,\n    std::vector<std::vector<int>>* ids) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_STL
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:258,1
    - Dst: Arena::Create<SentencePieceText>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:261,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:262,1
    - Dst: sentencepiece::SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:262,1
    - Dst: std::vector<std::string>*::reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:263,1
    - Dst: auto*::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:263,1
    - Dst: auto*::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:264,1
    - Dst: std::vector<std::string>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:265,1
    - Dst: piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:265,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - input
    - nbest_size
    - alpha
    - pieces
    argTypes:
    - absl::string_view
    - int
    - float
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: sentencepiece::SentencePieceProcessor::SampleEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - std::vector<std::string>*::emplace_back
    - std::vector<std::string>*::reserve
    - piece
    - absl::OkStatus
    - RET_CHECK_STATUS_STL
    - Arena::Create<SentencePieceText>
    - auto*::pieces
    - RETURN_IF_ERROR
    - sentencepiece::SentencePieceProcessor::SampleEncode
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::SampleEncode(\n    absl::string_view
      input, int nbest_size, float alpha,\n    std::vector<std::string>* pieces) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_STL
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:274,1
    - Dst: Arena::Create<SentencePieceText>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:277,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:278,1
    - Dst: sentencepiece::SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:278,1
    - Dst: auto*::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:279,1
    - Dst: std::vector<int>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:280,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:280,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - input
    - nbest_size
    - alpha
    - ids
    argTypes:
    - absl::string_view
    - int
    - float
    - std::vector<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: sentencepiece::SentencePieceProcessor::SampleEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 3
    functionsReached:
    - std::vector<int>*::emplace_back
    - id
    - absl::OkStatus
    - auto*::pieces
    - RET_CHECK_STATUS_STL
    - Arena::Create<SentencePieceText>
    - RETURN_IF_ERROR
    - sentencepiece::SentencePieceProcessor::SampleEncode
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::SampleEncode(absl::string_view
      input,\n                                                  int nbest_size, float
      alpha,\n                                                  std::vector<int>*
      ids) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:297,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:297,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:299,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:301,1
    - Dst: SentencePieceText*::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:303,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:304,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:304,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:304,1
    - Dst: auto*::set_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:305,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:306,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:308,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:309,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:312,1
    - Dst: RET_CHECK_LT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:313,1
    - Dst: absl::Span<const size_t>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:313,1
    - Dst: RET_CHECK_LT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:314,1
    - Dst: absl::Span<const size_t>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:314,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:315,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:316,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:319,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:319,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:320,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:320,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:321,1
    - Dst: absl::ClippedSubstr
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:323,1
    - Dst: ByteFallbackEnabled
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:325,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:327,1
    - Dst: static_cast<uint8_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:329,1
    - Dst: SentencePieceText*::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:330,1
    - Dst: SentencePieceText::SentencePiece*::mutable_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:331,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:332,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:333,1
    - Dst: SentencePieceText::SentencePiece*::set_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:334,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:338,1
    - Dst: SentencePieceText::SentencePiece*::set_surface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:339,1
    - Dst: auto::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:339,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:339,1
    - Dst: SentencePieceText::SentencePiece*::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:340,1
    - Dst: SentencePieceText::SentencePiece*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:341,1
    - Dst: SentencePieceText::SentencePiece*::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:344,1
    - Dst: SentencePieceText::SentencePiece*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:345,1
    - Dst: SentencePieceText*::mutable_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:354,1
    - Dst: SentencePieceText*::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:354,1
    - Dst: auto*::mutable_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:355,1
    - Dst: auto*::mutable_surface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:356,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:357,1
    - Dst: SentencePieceText*::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:359,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:360,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:360,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:360,1
    - Dst: auto*::set_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:361,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:362,1
    - Dst: auto::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:362,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:362,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:363,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:364,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:367,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:372,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:372,1
    - Dst: SentencePieceText*::set_text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:375,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:375,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:375,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:377,1
    - Dst: sentencepiece::SentencePieceProcessor::ApplyExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:377,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:379,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 7
    argNames:
    - input
    - normalized
    - norm_to_orig
    - ' result'
    - spt
    - skip_surface
    - input_start_offset
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::Span<const size_t>
    - EncodeResult
    - SentencePieceText*
    - bool
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 380
    functionName: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - auto*::set_begin
    - static_cast<uint8_t>
    - auto*::set_piece
    - auto::data
    - auto*::set_end
    - sentencepiece::SentencePieceProcessor::ApplyExtraOptions
    - auto*::mutable_piece
    - SentencePieceText*::pieces_size
    - sentencepiece::SentencePieceProcessor::IsUnknown
    - absl::string_view::data
    - SentencePieceText::SentencePiece*::set_begin
    - RET_CHECK_LT
    - absl::string_view::size
    - RETURN_IF_ERROR
    - SentencePieceText*::mutable_pieces
    - RET_CHECK
    - absl::string_view::empty
    - sentencepiece::SentencePieceProcessor::IsControl
    - auto*::set_surface
    - SentencePieceText::SentencePiece*::mutable_piece
    - SentencePieceText::SentencePiece*::set_end
    - SentencePieceText*::add_pieces
    - sentencepiece::SentencePieceProcessor::PieceToId
    - SentencePieceText::SentencePiece*::set_id
    - absl::OkStatus
    - absl::ClippedSubstr
    - SentencePieceText*::set_text
    - RET_CHECK_EQ
    - RET_CHECK_LE
    - absl::Span<const size_t>::size
    - auto*::mutable_surface
    - RET_CHECK_GE
    - auto::size
    - ByteToPiece
    - auto*::set_id
    - SentencePieceText::SentencePiece*::set_surface
    - ByteFallbackEnabled
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::PopulateSentencePieceText(\n
      \   absl::string_view input, absl::string_view normalized,\n    absl::Span<const
      size_t> norm_to_orig, const EncodeResult& result,\n    SentencePieceText* spt,
      bool skip_surface,\n    size_t input_start_offset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_PROTO
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:384,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:388,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:388,1
    - Dst: sentencepiece::SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:390,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:391,1
    - Dst: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:392,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - input
    - spt
    argTypes:
    - absl::string_view
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 395
    functionName: sentencepiece::SentencePieceProcessor::Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 3
    functionsReached:
    - RET_CHECK_STATUS_PROTO
    - sentencepiece::SentencePieceProcessor::Normalize
    - sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
    - absl::OkStatus
    - RETURN_IF_ERROR
    - sentencepiece::SentencePieceProcessor::Encode
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Encode(absl::string_view input,\n
      \                                           SentencePieceText* spt) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_PROTO
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:400,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:402,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:407,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:407,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:409,1
    - Dst: IsNBestEncodeAvailable
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:409,1
    - Dst: sentencepiece::SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:412,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:413,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:413,1
    - Dst: NBestSentencePieceText*::add_nbests
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:416,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:417,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:418,1
    - Dst: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:418,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - input
    - nbest_size
    - nbest_spt
    argTypes:
    - absl::string_view
    - int
    - NBestSentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 423
    functionName: sentencepiece::SentencePieceProcessor::NBestEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 4
    functionsReached:
    - RET_CHECK_STATUS_PROTO
    - sentencepiece::SentencePieceProcessor::Normalize
    - RET_CHECK_LE
    - sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
    - absl::OkStatus
    - auto::empty
    - NBestSentencePieceText*::add_nbests
    - sentencepiece::SentencePieceProcessor::NBestEncode
    - RETURN_IF_ERROR
    - auto*::set_score
    - RET_CHECK
    - IsNBestEncodeAvailable
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::NBestEncode(\n    absl::string_view
      input, int nbest_size,\n    NBestSentencePieceText* nbest_spt) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_PROTO
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:428,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:430,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:430,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:431,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:432,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:437,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:437,1
    - Dst: IsNBestEncodeAvailable
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:439,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:440,1
    - Dst: IsSampleEncodeAvailable
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:440,1
    - Dst: sentencepiece::SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:442,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:443,1
    - Dst: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:443,1
    - Dst: sentencepiece::SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:446,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:447,1
    - Dst: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:447,1
    - Dst: sentencepiece::SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:450,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:451,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:451,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:454,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:454,1
    - Dst: std::transform
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:455,1
    - Dst: auto::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:455,1
    - Dst: auto::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:455,1
    - Dst: std::back_inserter
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:455,1
    - Dst: sentencepiece::log_domain::LogSum
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:458,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:460,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:460,1
    - Dst: std::transform
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:461,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:462,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:462,1
    - Dst: std::back_inserter
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:462,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:463,1
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:465,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:466,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:466,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:467,1
    - Dst: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:467,1
    - Dst: dist
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:468,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - input
    - nbest_size
    - alpha
    - spt
    argTypes:
    - absl::string_view
    - int
    - float
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 472
    functionName: sentencepiece::SentencePieceProcessor::SampleEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 4
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - sentencepiece::SentencePieceProcessor::Encode
    - std::vector::reserve
    - sentencepiece::log_domain::LogSum
    - RET_CHECK_STATUS_PROTO
    - std::transform
    - std::back_inserter
    - RETURN_IF_ERROR
    - std::vector::begin
    - RET_CHECK
    - sentencepiece::random::GetRandomGenerator
    - IsNBestEncodeAvailable
    - auto::end
    - dist
    - absl::OkStatus
    - std::vector::size
    - RET_CHECK_LE
    - RET_CHECK_GE
    - sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
    - auto::size
    - auto::empty
    - auto::begin
    - std::exp
    - sentencepiece::SentencePieceProcessor::NBestEncode
    - std::isnan
    - IsSampleEncodeAvailable
    - std::vector::end
    - sentencepiece::SentencePieceProcessor::SampleEncode
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::SampleEncode(\n    absl::string_view
      input, int nbest_size, float alpha,\n    SentencePieceText* spt) const"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_PROTO
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:476,1
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:479,1
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:480,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:489,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:490,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:491,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:492,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:493,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:493,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:495,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:495,1
    - Dst: normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:503,1
    - Dst: normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:504,1
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:507,1
    - Dst: normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:510,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:516,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:516,1
    - Dst: SentencePieceText*::mutable_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:520,1
    - Dst: absl::Span<const absl::string_view>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:520,1
    - Dst: SentencePieceText*::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:522,1
    - Dst: auto*::mutable_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:523,1
    - Dst: data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:523,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:523,1
    - Dst: auto*::set_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:524,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:524,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:527,1
    - Dst: sentencepiece::SentencePieceProcessor::ApplyExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:527,1
    - Dst: SentencePieceText*::mutable_text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:529,1
    - Dst: SentencePieceText*::mutable_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:531,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:532,1
    - Dst: data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:532,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:532,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:533,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:533,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:534,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:534,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:534,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:535,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:541,1
    - Dst: SentencePieceText*::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:547,1
    - Dst: PieceToByte
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:548,1
    - Dst: auto*::piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:548,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:549,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:550,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:555,1
    - Dst: sentencepiece::string_util::IsValidDecodeUTF8
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:559,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:560,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:568,1
    - Dst: SetSurface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:569,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:572,1
    - Dst: SetSurface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:578,1
    - Dst: SetSurface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:580,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:586,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:588,1
    - Dst: SentencePieceText*::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:596,1
    - Dst: SentencePieceText*::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:597,1
    - Dst: sentencepiece::SentencePieceProcessor::IsByte
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:598,1
    - Dst: auto*::id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:598,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:599,1
    - Dst: ProcessBytePieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:599,1
    - Dst: std::string*::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:602,1
    - Dst: std::tie
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:605,1
    - Dst: DecodeSentencePiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:606,1
    - Dst: auto*::piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:606,1
    - Dst: auto*::id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:606,1
    - Dst: SetSurface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:608,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:611,1
    - Dst: ProcessBytePieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:611,1
    - Dst: SentencePieceText*::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:611,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:614,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:617,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 2
    argNames:
    - pieces
    - spt
    argTypes:
    - absl::Span<const absl::string_view>
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 618
    functionName: sentencepiece::SentencePieceProcessor::Decode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - auto*::set_begin
    - std::make_pair
    - absl::Span<const absl::string_view>::size
    - std::tie
    - auto*::set_end
    - sentencepiece::SentencePieceProcessor::ApplyExtraOptions
    - sentencepiece::string_util::IsValidDecodeUTF8
    - google::protobuf::as_string_view
    - normalizer_spec
    - sentencepiece::SentencePieceProcessor::IsByte
    - RET_CHECK_STATUS_PROTO
    - auto*::mutable_piece
    - SentencePieceText*::pieces
    - SentencePieceText*::pieces_size
    - sentencepiece::SentencePieceProcessor::IsUnknown
    - std::string
    - std::string*::size
    - auto*::id
    - RETURN_IF_ERROR
    - SentencePieceText*::mutable_pieces
    - IdToPiece
    - size
    - auto*::piece
    - sentencepiece::SentencePieceProcessor::IsControl
    - auto*::set_surface
    - trainer_spec
    - std::string::append
    - SentencePieceText*::add_pieces
    - DecodeSentencePiece
    - sentencepiece::SentencePieceProcessor::PieceToId
    - absl::OkStatus
    - RET_CHECK_EQ
    - PieceToByte
    - ProcessBytePieces
    - std::string::size
    - RET_CHECK_LE
    - absl::ConsumePrefix
    - SentencePieceText*::mutable_text
    - std::string*::empty
    - absl::StrReplaceAll
    - data
    - auto*::set_id
    - google::protobuf::StrAppend
    - SetSurface
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Decode(\n    absl::Span<const
      absl::string_view> pieces, SentencePieceText* spt) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:623,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:624,1
    - Dst: absl::Span<const int>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:624,1
    - Dst: google::protobuf::util::Status::Status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:627,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:628,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:630,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:630,1
    - Dst: sentencepiece::SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ids
    - spt
    argTypes:
    - absl::Span<const int>
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 633
    functionName: sentencepiece::SentencePieceProcessor::Decode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::util::Status::Status
    - absl::Span<const int>::size
    - sentencepiece::SentencePieceProcessor::GetPieceSize
    - sentencepiece::SentencePieceProcessor::Decode
    - google::protobuf::StrCat
    - std::vector::emplace_back
    - IdToPiece
    - std::vector::reserve
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Decode(absl::Span<const int>
      ids,\n                                            SentencePieceText* spt) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:644,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:644,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:646,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' input_unicode'
    - ' utf8_offsets'
    - chunk_len
    - i
    - overlap
    - ' chunk_boundaries'
    argTypes:
    - string_util::UnicodeText
    - std::vector<uint32_t>
    - size_t
    - size_t
    - size_t
    - std::tuple<size_t, size_t, size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 651
    functionName: sentencepiece::GetIthChunkBoundaries
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - size
    - std::min<size_t>
    linkageType: ''
    returnType: void
    signature: "void GetIthChunkBoundaries(\n    const string_util::UnicodeText& input_unicode,\n
      \   const std::vector<uint32_t>& utf8_offsets, const size_t chunk_len,\n    const
      size_t i, const size_t overlap,\n    std::tuple<size_t, size_t, size_t>& chunk_boundaries)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:660,1
    - Dst: std::get<2>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:661,1
    - Dst: absl::string_view::substr
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:662,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:665,1
    - Dst: absl::Span<const size_t>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:665,1
    - Dst: absl::Span<const size_t>::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:665,1
    - Dst: absl::Span<const size_t>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:667,1
    - Dst: std::upper_bound
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:670,1
    - Dst: absl::Span<const size_t>::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:670,1
    - Dst: absl::Span<const size_t>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:672,1
    - Dst: absl::ClippedSubstr
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:674,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:677,1
    - Dst: absl::Span<const size_t>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:677,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:679,1
    - Dst: absl::Span<const size_t>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:679,1
    - Dst: absl::Span<const size_t>::subspan
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - input
    - normalized
    - norm_to_orig
    - ' chunk_boundaries'
    - ' input_chunk'
    - ' normalized_chunk'
    - ' norm_to_orig_chunk'
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::Span<const size_t>
    - std::tuple<size_t, size_t, size_t>
    - absl::string_view
    - absl::string_view
    - absl::Span<const size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 682
    functionName: sentencepiece::GetChunkOfInput
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - absl::Span<const size_t>::end
    - absl::Span<const size_t>::size
    - absl::Span<const size_t>::subspan
    - absl::Span<const size_t>::begin
    - std::min<size_t>
    - std::lower_bound
    - absl::ClippedSubstr
    - std::get<2>
    - absl::string_view::substr
    - std::upper_bound
    linkageType: ''
    returnType: void
    signature: "void GetChunkOfInput(const absl::string_view input,\n                     const
      absl::string_view normalized,\n                     absl::Span<const size_t>
      norm_to_orig,\n                     const std::tuple<size_t, size_t, size_t>&
      chunk_boundaries,\n                     absl::string_view& input_chunk,\n                     absl::string_view&
      normalized_chunk,\n                     absl::Span<const size_t>& norm_to_orig_chunk)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:694,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:695,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:695,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:696,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:696,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:697,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:697,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:698,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:698,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:699,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:699,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:700,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:700,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:701,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:701,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:702,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:702,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:704,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:706,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:706,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 5
    argNames:
    - ' current_piece'
    - ' next_chunk'
    - chunk_len
    - unk_id
    - start_index_in_next_chunk
    argTypes:
    - SentencePieceText_SentencePiece
    - SentencePieceText
    - size_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 714
    functionName: sentencepiece::FindMatchingToken
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - id
    - end
    - begin
    - pieces
    linkageType: ''
    returnType: bool
    signature: "bool FindMatchingToken(const SentencePieceText_SentencePiece& current_piece,\n
      \                      const SentencePieceText& next_chunk, size_t chunk_len,\n
      \                      int unk_id, size_t* start_index_in_next_chunk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:733,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:733,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:734,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:734,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:736,1
    - Dst: empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:741,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:742,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:742,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:752,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:753,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:759,1
    - Dst: std::get<1>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:761,1
    - Dst: std::get<2>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:763,1
    - Dst: GetChunkOfInput
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:772,1
    - Dst: Encode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:774,1
    - Dst: Create
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:775,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:776,1
    - Dst: populate_sentence_piece_text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:776,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:778,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:781,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:782,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:788,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:789,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:790,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:794,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:795,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:797,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 9
    argNames:
    - ' bad_joins'
    - input
    - normalized
    - norm_to_orig
    - ' arena'
    - ' model'
    - populate_sentence_piece_text
    - ' spt_chunks'
    - ' input_chunk_boundaries'
    argTypes:
    - std::vector<size_t>
    - absl::string_view
    - absl::string_view
    - absl::Span<const size_t>
    - Arena
    - ModelInterface
    - "absl::FunctionRef<absl::Status(\n        absl::string_view input, absl::string_view
      normalized,\n        absl::Span<const size_t> norm_to_orig, const EncodeResult&
      result,\n        SentencePieceText* spt, size_t input_start_offset)>"
    - std::vector<SentencePieceText*>
    - std::vector<std::tuple<size_t, size_t, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 798
    functionName: "absl::Status ReparseBadRanges(\n    const std::vector<size_t>&
      bad_joins, const absl::string_view input,\n    const absl::string_view normalized,
      absl::Span<const size_t> norm_to_orig,\n    Arena& arena, const ModelInterface&
      model,\n    absl::FunctionRef<absl::Status(\n        absl::string_view input,
      absl::string_view normalized,\n        absl::Span<const size_t> norm_to_orig,
      const EncodeResult& result,\n        SentencePieceText* spt, size_t input_start_offset)>\n
      \       populate_sentence_piece_text,\n    std::vector<SentencePieceText*>&
      spt_chunks,\n    std::vector<std::tuple<size_t, size_t, size_t>>& input_chunk_boundaries)"
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - std::vector::back
    - std::vector::empty
    - std::make_pair
    - RETURN_IF_ERROR
    - std::get<1>
    - Create
    - populate_sentence_piece_text
    - absl::OkStatus
    - empty
    - std::move
    - GetChunkOfInput
    - std::vector::emplace_back
    - std::vector::push_back
    - Encode
    - std::get<2>
    - size
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_COLD
    signature: "ABSL_ATTRIBUTE_COLD absl::Status ReparseBadRanges(\n    const std::vector<size_t>&
      bad_joins, const absl::string_view input,\n    const absl::string_view normalized,
      absl::Span<const size_t> norm_to_orig,\n    Arena& arena, const ModelInterface&
      model,\n    absl::FunctionRef<absl::Status(\n        absl::string_view input,
      absl::string_view normalized,\n        absl::Span<const size_t> norm_to_orig,
      const EncodeResult& result,\n        SentencePieceText* spt, size_t input_start_offset)>\n
      \       populate_sentence_piece_text,\n    std::vector<SentencePieceText*>&
      spt_chunks,\n    std::vector<std::tuple<size_t, size_t, size_t>>& input_chunk_boundaries)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:644,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:644,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:646,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' input_unicode'
    - ' utf8_offsets'
    - chunk_len
    - i
    - overlap
    - ' chunk_boundaries'
    argTypes:
    - string_util::UnicodeText
    - std::vector<uint32_t>
    - size_t
    - size_t
    - size_t
    - std::tuple<size_t, size_t, size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 651
    functionName: sentencepiece::GetIthChunkBoundaries
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - size
    - std::min<size_t>
    linkageType: ''
    returnType: void
    signature: "void GetIthChunkBoundaries(\n    const string_util::UnicodeText& input_unicode,\n
      \   const std::vector<uint32_t>& utf8_offsets, const size_t chunk_len,\n    const
      size_t i, const size_t overlap,\n    std::tuple<size_t, size_t, size_t>& chunk_boundaries)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:660,1
    - Dst: std::get<2>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:661,1
    - Dst: absl::string_view::substr
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:662,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:665,1
    - Dst: absl::Span<const size_t>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:665,1
    - Dst: absl::Span<const size_t>::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:665,1
    - Dst: absl::Span<const size_t>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:667,1
    - Dst: std::upper_bound
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:670,1
    - Dst: absl::Span<const size_t>::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:670,1
    - Dst: absl::Span<const size_t>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:672,1
    - Dst: absl::ClippedSubstr
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:674,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:677,1
    - Dst: absl::Span<const size_t>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:677,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:679,1
    - Dst: absl::Span<const size_t>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:679,1
    - Dst: absl::Span<const size_t>::subspan
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - input
    - normalized
    - norm_to_orig
    - ' chunk_boundaries'
    - ' input_chunk'
    - ' normalized_chunk'
    - ' norm_to_orig_chunk'
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::Span<const size_t>
    - std::tuple<size_t, size_t, size_t>
    - absl::string_view
    - absl::string_view
    - absl::Span<const size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 682
    functionName: sentencepiece::GetChunkOfInput
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - absl::Span<const size_t>::end
    - absl::Span<const size_t>::size
    - absl::Span<const size_t>::subspan
    - absl::Span<const size_t>::begin
    - std::min<size_t>
    - std::lower_bound
    - absl::ClippedSubstr
    - std::get<2>
    - absl::string_view::substr
    - std::upper_bound
    linkageType: ''
    returnType: void
    signature: "void GetChunkOfInput(const absl::string_view input,\n                     const
      absl::string_view normalized,\n                     absl::Span<const size_t>
      norm_to_orig,\n                     const std::tuple<size_t, size_t, size_t>&
      chunk_boundaries,\n                     absl::string_view& input_chunk,\n                     absl::string_view&
      normalized_chunk,\n                     absl::Span<const size_t>& norm_to_orig_chunk)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:694,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:695,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:695,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:696,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:696,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:697,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:697,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:698,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:698,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:699,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:699,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:700,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:700,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:701,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:701,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:702,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:702,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:704,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:706,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:706,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 5
    argNames:
    - ' current_piece'
    - ' next_chunk'
    - chunk_len
    - unk_id
    - start_index_in_next_chunk
    argTypes:
    - SentencePieceText_SentencePiece
    - SentencePieceText
    - size_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 714
    functionName: sentencepiece::FindMatchingToken
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - id
    - end
    - begin
    - pieces
    linkageType: ''
    returnType: bool
    signature: "bool FindMatchingToken(const SentencePieceText_SentencePiece& current_piece,\n
      \                      const SentencePieceText& next_chunk, size_t chunk_len,\n
      \                      int unk_id, size_t* start_index_in_next_chunk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:733,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:733,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:734,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:734,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:736,1
    - Dst: empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:741,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:742,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:742,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:752,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:753,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:759,1
    - Dst: std::get<1>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:761,1
    - Dst: std::get<2>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:763,1
    - Dst: GetChunkOfInput
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:772,1
    - Dst: Encode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:774,1
    - Dst: Create
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:775,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:776,1
    - Dst: populate_sentence_piece_text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:776,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:778,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:781,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:782,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:788,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:789,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:790,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:794,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:795,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:797,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 9
    argNames:
    - ' bad_joins'
    - input
    - normalized
    - norm_to_orig
    - ' arena'
    - ' model'
    - populate_sentence_piece_text
    - ' spt_chunks'
    - ' input_chunk_boundaries'
    argTypes:
    - std::vector<size_t>
    - absl::string_view
    - absl::string_view
    - absl::Span<const size_t>
    - Arena
    - ModelInterface
    - "absl::FunctionRef<absl::Status(\n        absl::string_view input, absl::string_view
      normalized,\n        absl::Span<const size_t> norm_to_orig, const EncodeResult&
      result,\n        SentencePieceText* spt, size_t input_start_offset)>"
    - std::vector<SentencePieceText*>
    - std::vector<std::tuple<size_t, size_t, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 798
    functionName: "absl::Status ReparseBadRanges(\n    const std::vector<size_t>&
      bad_joins, const absl::string_view input,\n    const absl::string_view normalized,
      absl::Span<const size_t> norm_to_orig,\n    Arena& arena, const ModelInterface&
      model,\n    absl::FunctionRef<absl::Status(\n        absl::string_view input,
      absl::string_view normalized,\n        absl::Span<const size_t> norm_to_orig,
      const EncodeResult& result,\n        SentencePieceText* spt, size_t input_start_offset)>\n
      \       populate_sentence_piece_text,\n    std::vector<SentencePieceText*>&
      spt_chunks,\n    std::vector<std::tuple<size_t, size_t, size_t>>& input_chunk_boundaries)"
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - std::vector::back
    - std::vector::empty
    - std::make_pair
    - RETURN_IF_ERROR
    - std::get<1>
    - Create
    - populate_sentence_piece_text
    - absl::OkStatus
    - empty
    - std::move
    - GetChunkOfInput
    - std::vector::emplace_back
    - std::vector::push_back
    - Encode
    - std::get<2>
    - size
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_COLD
    signature: "ABSL_ATTRIBUTE_COLD absl::Status ReparseBadRanges(\n    const std::vector<size_t>&
      bad_joins, const absl::string_view input,\n    const absl::string_view normalized,
      absl::Span<const size_t> norm_to_orig,\n    Arena& arena, const ModelInterface&
      model,\n    absl::FunctionRef<absl::Status(\n        absl::string_view input,
      absl::string_view normalized,\n        absl::Span<const size_t> norm_to_orig,
      const EncodeResult& result,\n        SentencePieceText* spt, size_t input_start_offset)>\n
      \       populate_sentence_piece_text,\n    std::vector<SentencePieceText*>&
      spt_chunks,\n    std::vector<std::tuple<size_t, size_t, size_t>>& input_chunk_boundaries)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:806,1
    - Dst: SentencePieceText*::Clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:808,1
    - Dst: SentencePieceText*::set_text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:809,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:811,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:814,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:814,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:815,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:816,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:816,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeTextAndOffsets
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:821,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:828,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:828,1
    - Dst: model_proto
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:831,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:832,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:842,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:847,1
    - Dst: std::make_unique<Arena>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:849,1
    - Dst: Arena::Create
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:854,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:863,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:866,1
    - Dst: Schedule
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:867,1
    - Dst: get
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:868,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:869,1
    - Dst: GetIthChunkBoundaries
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:873,1
    - Dst: GetChunkOfInput
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:875,1
    - Dst: sentencepiece::SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:879,1
    - Dst: Arena*::Create
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:880,1
    - Dst: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:881,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:884,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:887,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:892,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:896,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:899,1
    - Dst: SentencePieceText*::clear_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:910,1
    - Dst: std::vector<std::string>*::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:911,1
    - Dst: std::vector<int>*::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:912,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:913,1
    - Dst: std::get<1>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:914,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:915,1
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:917,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:920,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:923,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:923,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:923,1
    - Dst: std::vector<std::string>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:929,1
    - Dst: piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:929,1
    - Dst: std::vector<int>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:930,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:930,1
    - Dst: SentencePieceText*::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:931,1
    - Dst: auto::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:932,1
    - Dst: piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:932,1
    - Dst: auto::set_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:933,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:933,1
    - Dst: auto::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:934,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:934,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:934,1
    - Dst: auto::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:935,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:935,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:935,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:943,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:943,1
    - Dst: sentencepiece::SentencePieceProcessor::IsByte
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:944,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:944,1
    - Dst: auto::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:944,1
    - Dst: auto::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:944,1
    - Dst: absl::string_view::substr
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:945,1
    - Dst: auto::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:945,1
    - Dst: auto::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:945,1
    - Dst: auto::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:945,1
    - Dst: auto::set_surface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:946,1
    - Dst: auto::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:946,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:946,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:952,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:952,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:952,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:953,1
    - Dst: FindMatchingToken
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:955,1
    - Dst: sentencepiece::SentencePieceProcessor::unk_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:956,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:962,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:964,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:969,1
    - Dst: std::vector::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:977,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:980,1
    - Dst: ReparseBadRanges
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:980,1
    - Dst: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:986,1
    - Dst: SentencePieceText*::set_text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:994,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:994,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:994,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:997,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 86
    argCount: 6
    argNames:
    - input
    - chunk_len
    - ' thread_pool'
    - pieces
    - ids
    - spt
    argTypes:
    - absl::string_view
    - size_t
    - ThreadPool
    - std::vector<std::string>*
    - std::vector<int>*
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 998
    functionName: sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - std::vector<int>*::emplace_back
    - auto::ok
    - id
    - model_proto
    - begin
    - Arena*::Create
    - auto::data
    - GetIthChunkBoundaries
    - SentencePieceText*::Clear
    - sentencepiece::SentencePieceProcessor::Encode
    - sentencepiece::SentencePieceProcessor::IsByte
    - absl::BlockingCounter::Wait
    - ReparseBadRanges
    - std::vector::resize
    - std::vector<int>*::clear
    - absl::BlockingCounter::DecrementCount
    - get
    - std::vector<std::string>*::clear
    - auto::set_piece
    - absl::string_view::data
    - RETURN_IF_ERROR
    - Arena::Create
    - absl::string_view::size
    - size
    - absl::string_view::empty
    - std::get<0>
    - auto::set_end
    - std::vector<std::string>*::emplace_back
    - sentencepiece::SentencePieceProcessor::IsControl
    - auto::end
    - std::vector::empty
    - SentencePieceText*::clear_pieces
    - SentencePieceText*::add_pieces
    - std::get<1>
    - piece
    - std::vector::clear
    - absl::OkStatus
    - google::protobuf::StrCat
    - std::vector::size
    - SentencePieceText*::set_text
    - auto::set_id
    - std::numeric_limits<uint32_t>::max
    - sentencepiece::string_util::UTF8ToUnicodeTextAndOffsets
    - absl::InvalidArgumentError
    - FindMatchingToken
    - end
    - std::make_unique<Arena>
    - num_threads
    - auto::set_surface
    - sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
    - auto::begin
    - auto::size
    - auto::set_begin
    - sentencepiece::SentencePieceProcessor::unk_id
    - GetChunkOfInput
    - std::vector::push_back
    - pieces
    - absl::string_view::substr
    - Schedule
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::ParallelEncodeInternal(\n    absl::string_view
      input, size_t chunk_len, ThreadPool& thread_pool,\n    std::vector<std::string>*
      pieces, std::vector<int>* ids,\n    SentencePieceText* spt) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - chunk_len
    - ' thread_pool'
    - pieces
    argTypes:
    - absl::string_view
    - int
    - ThreadPool
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1000
    functionDepth: 3
    functionLinenumber: 1000
    functionLinenumberEnd: 1006
    functionName: sentencepiece::SentencePieceProcessor::ParallelEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::ParallelEncode(\n    absl::string_view
      input, int chunk_len, ThreadPool& thread_pool,\n    std::vector<std::string>*
      pieces) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - chunk_len
    - ' thread_pool'
    - ids
    argTypes:
    - absl::string_view
    - int
    - ThreadPool
    - std::vector<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1008
    functionDepth: 3
    functionLinenumber: 1008
    functionLinenumberEnd: 1014
    functionName: sentencepiece::SentencePieceProcessor::ParallelEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::ParallelEncode(\n    absl::string_view
      input, int chunk_len, ThreadPool& thread_pool,\n    std::vector<int>* ids) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - chunk_len
    - ' thread_pool'
    - spt
    argTypes:
    - absl::string_view
    - int
    - ThreadPool
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1016
    functionDepth: 3
    functionLinenumber: 1016
    functionLinenumberEnd: 1021
    functionName: sentencepiece::SentencePieceProcessor::ParallelEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::ParallelEncode(\n    absl::string_view
      input, int chunk_len, ThreadPool& thread_pool,\n    SentencePieceText* spt)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1028
    functionName: RET_CHECK_OR_RETURN_DEFAULT
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_OR_RETURN_DEFAULT(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1031,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - normalized
    argTypes:
    - absl::string_view
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1033
    functionName: sentencepiece::SentencePieceProcessor::Normalize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 7
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Normalize(absl::string_view input,\n
      \                                              std::string* normalized) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1038,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - input
    - normalized
    - norm_to_orig
    argTypes:
    - absl::string_view
    - std::string*
    - std::vector<size_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1040
    functionName: sentencepiece::SentencePieceProcessor::Normalize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 8
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Normalize(\n    absl::string_view
      input, std::string* normalized,\n    std::vector<size_t>* norm_to_orig) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1046
    functionName: sentencepiece::SentencePieceProcessor::Normalize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 9
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    linkageType: ''
    returnType: std::string
    signature: std::string SentencePieceProcessor::Normalize(absl::string_view input)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1049,1
    - Dst: sentencepiece::SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: sentencepiece::SentencePieceProcessor::GetPieceSize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::SentencePieceProcessor::GetPieceSize
    - RET_CHECK_OR_RETURN_DEFAULT
    linkageType: ''
    returnType: int
    signature: int SentencePieceProcessor::GetPieceSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1054,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1056
    functionName: sentencepiece::SentencePieceProcessor::PieceToId
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 5
    functionsReached:
    - RET_CHECK_OR_RETURN_DEFAULT
    - sentencepiece::SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: int
    signature: int SentencePieceProcessor::PieceToId(absl::string_view piece) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1059,1
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1060,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    functionName: '& SentencePieceProcessor::IdToPiece(int id) const'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - std::string::string
    - RET_CHECK_OR_RETURN_DEFAULT
    - IdToPiece
    linkageType: ''
    returnType: std::string
    signature: std::string & SentencePieceProcessor::IdToPiece(int id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1065,1
    - Dst: sentencepiece::SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1066,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - id
    - piece
    argTypes:
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1071
    functionName: sentencepiece::SentencePieceProcessor::SafeIdToPiece
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::GetPieceSize
    - RET_CHECK_OR_RETURN_DEFAULT
    - IdToPiece
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceProcessor::SafeIdToPiece(int id, std::string* piece)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1074,1
    - Dst: sentencepiece::SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1076
    functionName: sentencepiece::SentencePieceProcessor::GetScore
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - RET_CHECK_OR_RETURN_DEFAULT
    - sentencepiece::SentencePieceProcessor::GetScore
    linkageType: ''
    returnType: float
    signature: float SentencePieceProcessor::GetScore(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1079,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1081
    functionName: sentencepiece::SentencePieceProcessor::IsControl
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 6
    functionsReached:
    - sentencepiece::SentencePieceProcessor::IsControl
    - RET_CHECK_OR_RETURN_DEFAULT
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceProcessor::IsControl(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1084,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1086
    functionName: sentencepiece::SentencePieceProcessor::IsUnknown
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 5
    functionsReached:
    - RET_CHECK_OR_RETURN_DEFAULT
    - sentencepiece::SentencePieceProcessor::IsUnknown
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceProcessor::IsUnknown(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1089,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnused
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1091
    functionName: sentencepiece::SentencePieceProcessor::IsUnused
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceProcessor::IsUnused
    - RET_CHECK_OR_RETURN_DEFAULT
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceProcessor::IsUnused(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1094,1
    - Dst: sentencepiece::SentencePieceProcessor::IsByte
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1096
    functionName: sentencepiece::SentencePieceProcessor::IsByte
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 4
    functionsReached:
    - sentencepiece::SentencePieceProcessor::IsByte
    - RET_CHECK_OR_RETURN_DEFAULT
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceProcessor::IsByte(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1098
    functionName: sentencepiece::SentencePieceProcessor::unk_id
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SentencePieceProcessor::unk_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1100
    functionName: sentencepiece::SentencePieceProcessor::bos_id
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SentencePieceProcessor::bos_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1102
    functionName: sentencepiece::SentencePieceProcessor::eos_id
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SentencePieceProcessor::eos_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1104
    functionName: sentencepiece::SentencePieceProcessor::pad_id
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SentencePieceProcessor::pad_id() const
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1113,1
    - Dst: T*::mutable_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1113,1
    - Dst: T*::mutable_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1114,1
    - Dst: std::reverse
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1116,1
    - Dst: T*::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1116,1
    - Dst: T*::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1116,1
    - Dst: sentencepiece::SentencePieceProcessor::eos_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1120,1
    - Dst: T*::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1122,1
    - Dst: auto*::set_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1123,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1124,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1124,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1125,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1126,1
    - Dst: T*::text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1126,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1127,1
    - Dst: T*::text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1127,1
    - Dst: T*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1131,1
    - Dst: T*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1133,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1133,1
    - Dst: sentencepiece::SentencePieceProcessor::bos_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1139,1
    - Dst: T*::mutable_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1141,1
    - Dst: auto*::Add
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1142,1
    - Dst: auto*::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1143,1
    - Dst: auto*::SwapElements
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1144,1
    - Dst: auto*::Mutable
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1146,1
    - Dst: auto*::set_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1147,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1148,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1148,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1149,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1150,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1151,1
    - Dst: T*::emplace
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1155,1
    - Dst: T*::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1155,1
    - Dst: T*::emplace
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1157,1
    - Dst: T*::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1157,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1157,1
    - Dst: T*::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1164,1
    - Dst: T*::mutable_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1165,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1166,1
    - Dst: auto*::id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1166,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1167,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1167,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1168,1
    - Dst: T*::Clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1175,1
    - Dst: T*::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1177,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1179,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1182,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 2
    argNames:
    - extra_options
    - output
    argTypes:
    - absl::Span<const ExtraOption>
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1107
    functionDepth: 2
    functionLinenumber: 1107
    functionLinenumberEnd: 1183
    functionName: sentencepiece::SentencePieceProcessor::ApplyExtraOptions
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - auto*::set_begin
    - auto*::set_piece
    - auto*::set_end
    - sentencepiece::SentencePieceProcessor::bos_id
    - auto*::size
    - T*::add_pieces
    - eos_piece
    - auto*::SwapElements
    - T*::clear
    - sentencepiece::SentencePieceProcessor::IsUnknown
    - T*::emplace_back
    - auto*::Add
    - auto*::id
    - T*::text
    - T*::emplace
    - std::reverse
    - unk_piece
    - absl::OkStatus
    - T*::end
    - sentencepiece::SentencePieceProcessor::eos_id
    - T*::Clear
    - auto*::Mutable
    - T*::begin
    - T*::mutable_pieces
    - auto*::set_id
    - T*::pieces_size
    - bos_piece
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::ApplyExtraOptions(\n    absl::Span<const
      ExtraOption> extra_options, T* output) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1190
    functionName: sentencepiece::SentencePieceProcessor::HasUnkPieceOption
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceProcessor::HasUnkPieceOption() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1196,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1196,1
    - Dst: std::vector<SentencePieceProcessor::ExtraOption>*::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1198,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1199,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1199,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1201,1
    - Dst: sentencepiece::SentencePieceProcessor::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1201,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1209,1
    - Dst: std::map::find
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1210,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1211,1
    - Dst: std::map::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1211,1
    - Dst: std::vector<SentencePieceProcessor::ExtraOption>*::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1213,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1216,1
    - Dst: sentencepiece::SentencePieceProcessor::bos_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1216,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1217,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1220,1
    - Dst: sentencepiece::SentencePieceProcessor::eos_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1220,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1221,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - _extra_option
    - extra_options
    argTypes:
    - absl::string_view
    - std::vector<SentencePieceProcessor::ExtraOption>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1193
    functionDepth: 2
    functionLinenumber: 1193
    functionLinenumberEnd: 1225
    functionName: sentencepiece::SentencePieceProcessor::ParseExtraOptions
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - absl::string_view::empty
    - std::vector<SentencePieceProcessor::ExtraOption>*::clear
    - absl::OkStatus
    - absl::string_view::data
    - sentencepiece::SentencePieceProcessor::eos_id
    - std::map::end
    - eos_piece
    - sentencepiece::SentencePieceProcessor::status
    - absl::StrSplit
    - sentencepiece::SentencePieceProcessor::bos_id
    - RETURN_IF_ERROR
    - std::map::find
    - absl::string_view::size
    - bos_piece
    - RET_CHECK
    - std::vector<SentencePieceProcessor::ExtraOption>*::push_back
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::ParseExtraOptions(\n    absl::string_view
      _extra_option,\n    std::vector<SentencePieceProcessor::ExtraOption>* extra_options)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - std::unique_ptr<ModelInterface>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1229
    functionName: sentencepiece::SentencePieceProcessor::SetModel
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SentencePieceProcessor::SetModel(std::unique_ptr<ModelInterface>&&
      model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' normalizer'
    argTypes:
    - std::unique_ptr<normalizer::Normalizer>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1234
    functionName: sentencepiece::SentencePieceProcessor::SetNormalizer
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void SentencePieceProcessor::SetNormalizer(\n    std::unique_ptr<normalizer::Normalizer>&&
      normalizer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1238
    functionName: '& SentencePieceProcessor::model_proto() const'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto & SentencePieceProcessor::model_proto() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1242
    functionName: sentencepiece::SentencePieceProcessor::serialized_model_proto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached:
    - SerializeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string SentencePieceProcessor::serialized_model_proto() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_STL
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1253,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1255,1
    - Dst: std::vector<T>*::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1256,1
    - Dst: sentencepiece::SentencePieceProcessor::ApplyExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1257,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1261,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1262,1
    - Dst: sentencepiece::SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1263,1
    - Dst: ByteFallbackEnabled
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1264,1
    - Dst: sentencepiece::SentencePieceProcessor::HasUnkPieceOption
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1265,1
    - Dst: std::vector<T>*::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1267,1
    - Dst: std::vector<T>*::reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1268,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1268,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1272,1
    - Dst: first::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1272,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1274,1
    - Dst: std::vector<T>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1276,1
    - Dst: std::vector<T>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1278,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1278,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1278,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1282,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1284,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1287,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1287,1
    - Dst: static_cast<uint8_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1287,1
    - Dst: std::vector<T>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1288,1
    - Dst: std::vector<T>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1290,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1290,1
    - Dst: static_cast<uint8_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1290,1
    - Dst: std::vector<T>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1297,1
    - Dst: std::vector<T>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1300,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1300,1
    - Dst: std::vector<T>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1302,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1302,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1302,1
    - Dst: std::vector<T>*::back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1308,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1308,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1308,1
    - Dst: sentencepiece::SentencePieceProcessor::ApplyExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1317,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - absl::string_view
    - std::vector<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1251
    functionDepth: 3
    functionLinenumber: 1251
    functionLinenumberEnd: 1318
    functionName: sentencepiece::SentencePieceProcessor::EncodeOptimized
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - std::vector<T>*::clear
    - static_cast<uint8_t>
    - sentencepiece::SentencePieceProcessor::HasUnkPieceOption
    - RET_CHECK_STATUS_STL
    - std::vector<T>*::reserve
    - sentencepiece::SentencePieceProcessor::ApplyExtraOptions
    - EncodeResult::size
    - sentencepiece::SentencePieceProcessor::Encode
    - sentencepiece::SentencePieceProcessor::IsUnknown
    - absl::string_view::data
    - RETURN_IF_ERROR
    - absl::string_view::size
    - RET_CHECK
    - absl::string_view::empty
    - sentencepiece::SentencePieceProcessor::IsControl
    - sentencepiece::SentencePieceProcessor::PieceToId
    - first::empty
    - unk_piece
    - std::vector<T>*::back
    - std::vector<T>*::emplace_back
    - ByteToPiece
    - ByteFallbackEnabled
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::EncodeOptimized(\n    absl::string_view
      input, std::vector<T>* output) const"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_STL
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1323,1
    - Dst: absl::Span<const T>::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1325,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1326,1
    - Dst: empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1337,1
    - Dst: std::vector::assign
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1338,1
    - Dst: absl::Span<const T>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1338,1
    - Dst: absl::Span<const T>::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1338,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1339,1
    - Dst: sentencepiece::SentencePieceProcessor::ApplyExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1339,1
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1344,1
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1345,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1350,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1350,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1352,1
    - Dst: sentencepiece::string_util::IsValidDecodeUTF8
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1355,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1356,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1358,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1359,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1362,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1363,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1367,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1368,1
    - Dst: sentencepiece::SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1377,1
    - Dst: google::protobuf::util::Status::Status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1378,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1379,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1381,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1384,1
    - Dst: sentencepiece::SentencePieceProcessor::IsByte
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1387,1
    - Dst: PieceToByte
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1388,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1389,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1390,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1392,1
    - Dst: ProcessByteQueue
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1392,1
    - Dst: std::string*::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1393,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1397,1
    - Dst: normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1406,1
    - Dst: normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1407,1
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1408,1
    - Dst: normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1410,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1415,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1416,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1417,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1419,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1422,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1423,1
    - Dst: std::string*::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1426,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1431,1
    - Dst: ProcessByteQueue
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1431,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1434,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1437,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    argCount: 2
    argNames:
    - input
    - detokenized
    argTypes:
    - absl::Span<const T>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1321
    functionDepth: 3
    functionLinenumber: 1321
    functionLinenumberEnd: 1438
    functionName: sentencepiece::SentencePieceProcessor::DecodeOptimized
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - std::string::clear
    - google::protobuf::util::Status::Status
    - sentencepiece::SentencePieceProcessor::GetPieceSize
    - absl::Span<const T>::begin
    - std::vector::assign
    - RET_CHECK_STATUS_STL
    - sentencepiece::SentencePieceProcessor::ApplyExtraOptions
    - google::protobuf::as_string_view
    - sentencepiece::string_util::IsValidDecodeUTF8
    - normalizer_spec
    - sentencepiece::SentencePieceProcessor::IsByte
    - absl::Span<const T>::end
    - sentencepiece::SentencePieceProcessor::IsUnknown
    - empty
    - RETURN_IF_ERROR
    - IdToPiece
    - absl::Span<const T>::empty
    - sentencepiece::SentencePieceProcessor::IsControl
    - trainer_spec
    - std::string::append
    - sentencepiece::SentencePieceProcessor::PieceToId
    - absl::OkStatus
    - google::protobuf::StrCat
    - RET_CHECK_EQ
    - ProcessByteQueue
    - PieceToByte
    - std::string::size
    - RET_CHECK_LE
    - absl::ConsumePrefix
    - std::string::empty
    - std::string*::empty
    - absl::StrReplaceAll
    - google::protobuf::StrAppend
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::DecodeOptimized(\n    absl::Span<const
      T> input, std::string* detokenized) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1443,1
    - Dst: absl::NotFoundError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1444,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1447,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1448,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1448,1
    - Dst: auto::ReadAll
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1450,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1451,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1451,1
    - Dst: ModelProto*::ParseFromArray
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1453,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1453,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1453,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1454,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1455,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filename
    - model_proto
    argTypes:
    - absl::string_view
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1459
    functionName: sentencepiece::io::LoadModelProto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::empty
    - std::string::data
    - auto::status
    - auto::ReadAll
    - sentencepiece::filesystem::NewReadableFile
    - ModelProto*::ParseFromArray
    - absl::NotFoundError
    - absl::OkStatus
    - google::protobuf::StrCat
    - RETURN_IF_ERROR
    - std::string::size
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status LoadModelProto(absl::string_view filename,\n                            ModelProto*
      model_proto)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1463,1
    - Dst: absl::NotFoundError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1464,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1466,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1467,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1467,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1468,1
    - Dst: auto::Write
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1468,1
    - Dst: SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1468,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - filename
    - ' model_proto'
    argTypes:
    - absl::string_view
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1471
    functionName: sentencepiece::io::SaveModelProto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - auto::status
    - sentencepiece::filesystem::NewWritableFile
    - absl::NotFoundError
    - absl::OkStatus
    - auto::Write
    - RETURN_IF_ERROR
    - SerializeAsString
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SaveModelProto(absl::string_view filename,\n                            const
      ModelProto& model_proto)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1443,1
    - Dst: absl::NotFoundError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1444,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1447,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1448,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1448,1
    - Dst: auto::ReadAll
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1450,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1451,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1451,1
    - Dst: ModelProto*::ParseFromArray
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1453,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1453,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1453,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1454,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1455,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filename
    - model_proto
    argTypes:
    - absl::string_view
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1459
    functionName: sentencepiece::io::LoadModelProto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::empty
    - std::string::data
    - auto::status
    - auto::ReadAll
    - sentencepiece::filesystem::NewReadableFile
    - ModelProto*::ParseFromArray
    - absl::NotFoundError
    - absl::OkStatus
    - google::protobuf::StrCat
    - RETURN_IF_ERROR
    - std::string::size
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status LoadModelProto(absl::string_view filename,\n                            ModelProto*
      model_proto)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1463,1
    - Dst: absl::NotFoundError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1464,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1466,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1467,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1467,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1468,1
    - Dst: auto::Write
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1468,1
    - Dst: SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1468,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - filename
    - ' model_proto'
    argTypes:
    - absl::string_view
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1471
    functionName: sentencepiece::io::SaveModelProto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - auto::status
    - sentencepiece::filesystem::NewWritableFile
    - absl::NotFoundError
    - absl::OkStatus
    - auto::Write
    - RETURN_IF_ERROR
    - SerializeAsString
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SaveModelProto(absl::string_view filename,\n                            const
      ModelProto& model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: sentencepiece::SentencePieceProcessor::SentencePieceProcessor
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceProcessor::SentencePieceProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: SentencePieceProcessor::~SentencePieceProcessor()
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceProcessor::~SentencePieceProcessor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:81,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:82,1
    - Dst: sentencepiece::io::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:82,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:82,1
    - Dst: sentencepiece::SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:83,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: sentencepiece::SentencePieceProcessor::Load
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 5
    functionsReached:
    - auto::get
    - sentencepiece::SentencePieceProcessor::Load
    - std::move
    - RETURN_IF_ERROR
    - sentencepiece::io::LoadModelProto
    - std::make_unique<ModelProto>
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status SentencePieceProcessor::Load(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:87,1
    - Dst: sentencepiece::SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: sentencepiece::SentencePieceProcessor::LoadOrDie
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::SentencePieceProcessor::Load
    linkageType: ''
    returnType: void
    signature: void SentencePieceProcessor::LoadOrDie(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:91,1
    - Dst: sentencepiece::SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:93,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: sentencepiece::SentencePieceProcessor::Load
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 7
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Load
    - std::make_unique<ModelProto>
    - std::move
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status SentencePieceProcessor::Load(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:98,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:99,1
    - Dst: auto::ParseFromArray
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:99,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:99,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:99,1
    - Dst: sentencepiece::SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:100,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - serialized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: sentencepiece::SentencePieceProcessor::LoadFromSerializedProto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Load
    - auto::ParseFromArray
    - absl::string_view::data
    - std::move
    - absl::string_view::size
    - RET_CHECK
    - std::make_unique<ModelProto>
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::LoadFromSerializedProto(\n    absl::string_view
      serialized)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:105,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:106,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:107,1
    - Dst: normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:108,1
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:108,1
    - Dst: has_denormalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:109,1
    - Dst: denormalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:110,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:111,1
    - Dst: denormalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:112,1
    - Dst: SetPrefixMatcher
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:116,1
    - Dst: prefix_matcher
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:116,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:118,1
    - Dst: sentencepiece::SentencePieceProcessor::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:118,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:122,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:122,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:123,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:125,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:125,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:126,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:128,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:128,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:129,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:131,1
    - Dst: pad_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:131,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:132,1
    - Dst: self_test_data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:136,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:137,1
    - Dst: sentencepiece::SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:137,1
    - Dst: input
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:137,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:138,1
    - Dst: VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:139,1
    - Dst: expected
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:139,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:140,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:141,1
    - Dst: input
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:141,1
    - Dst: expected
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:141,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:145,1
    - Dst: LOG
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:146,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:146,1
    - Dst: self_test_data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:147,1
    - Dst: LOG
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:150,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:152,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - model_proto
    argTypes:
    - std::unique_ptr<ModelProto>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 156
    functionName: sentencepiece::SentencePieceProcessor::Load
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 8
    functionsReached:
    - denormalizer_spec
    - pad_piece
    - normalizer_spec
    - sentencepiece::SentencePieceProcessor::Encode
    - prefix_matcher
    - absl::StrJoin
    - eos_piece
    - LOG
    - sentencepiece::SentencePieceProcessor::IsUnknown
    - sentencepiece::ModelFactory::Create
    - has_denormalizer_spec
    - expected
    - RETURN_IF_ERROR
    - self_test_data
    - sentencepiece::SentencePieceProcessor::IsControl
    - std::vector::empty
    - trainer_spec
    - VerifyOutputsEquivalent
    - sentencepiece::SentencePieceProcessor::PieceToId
    - unk_piece
    - absl::OkStatus
    - google::protobuf::StrCat
    - std::vector::size
    - std::vector::emplace_back
    - SetPrefixMatcher
    - input
    - std::make_unique<normalizer::Normalizer>
    - std::move
    - sentencepiece::SentencePieceProcessor::status
    - bos_piece
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Load(\n    std::unique_ptr<ModelProto>
      model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::ParseExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - extra_options
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: sentencepiece::SentencePieceProcessor::SetEncodeExtraOptions
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::ParseExtraOptions
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::SetEncodeExtraOptions(\n    absl::string_view
      extra_options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::ParseExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - extra_options
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: sentencepiece::SentencePieceProcessor::SetDecodeExtraOptions
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::ParseExtraOptions
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::SetDecodeExtraOptions(\n    absl::string_view
      extra_options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:169,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:170,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:171,1
    - Dst: sentencepiece::SentencePieceProcessor::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:171,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:172,1
    - Dst: sentencepiece::SentencePieceProcessor::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:172,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: sentencepiece::SentencePieceProcessor::status
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 5
    functionsReached:
    - sentencepiece::SentencePieceProcessor::status
    - absl::OkStatus
    - RET_CHECK
    - RETURN_IF_ERROR
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status SentencePieceProcessor::status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - container
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: RET_CHECK_STATUS_STL
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_STATUS_STL(container)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proto
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: RET_CHECK_STATUS_PROTO
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_STATUS_PROTO(proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::EncodeOptimized
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - pieces
    argTypes:
    - absl::string_view
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 4
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: sentencepiece::SentencePieceProcessor::Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 7
    functionsReached:
    - sentencepiece::SentencePieceProcessor::EncodeOptimized
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Encode(\n    absl::string_view
      input, std::vector<std::string>* pieces) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::EncodeOptimized
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - ids
    argTypes:
    - absl::string_view
    - std::vector<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 4
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: sentencepiece::SentencePieceProcessor::Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 7
    functionsReached:
    - sentencepiece::SentencePieceProcessor::EncodeOptimized
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Encode(absl::string_view input,\n
      \                                           std::vector<int>* ids) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<const std::string>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:200,1
    - Dst: absl::Span<const std::string>::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:200,1
    - Dst: sentencepiece::SentencePieceProcessor::DecodeOptimized
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pieces
    - detokenized
    argTypes:
    - absl::Span<const std::string>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: sentencepiece::SentencePieceProcessor::Decode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - absl::Span<const std::string>::begin
    - sentencepiece::SentencePieceProcessor::DecodeOptimized
    - absl::Span<const std::string>::end
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Decode(\n    absl::Span<const
      std::string> pieces, std::string* detokenized) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::DecodeOptimized
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pieces
    - detokenized
    argTypes:
    - absl::Span<const absl::string_view>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 4
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: sentencepiece::SentencePieceProcessor::Decode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceProcessor::DecodeOptimized
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Decode(\n    absl::Span<const
      absl::string_view> pieces,\n    std::string* detokenized) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::DecodeOptimized
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ids
    - detokenized
    argTypes:
    - absl::Span<const int>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: sentencepiece::SentencePieceProcessor::Decode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceProcessor::DecodeOptimized
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Decode(absl::Span<const int>
      ids,\n                                            std::string* detokenized)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_STL
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:218,1
    - Dst: Arena::Create<NBestSentencePieceText>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:221,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:222,1
    - Dst: sentencepiece::SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:222,1
    - Dst: std::vector<std::vector<std::string>>*::reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:223,1
    - Dst: auto*::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:223,1
    - Dst: auto*::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:224,1
    - Dst: std::vector<std::vector<std::string>>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:225,1
    - Dst: reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:226,1
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:226,1
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:227,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:228,1
    - Dst: piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:228,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - input
    - nbest_size
    - pieces
    argTypes:
    - absl::string_view
    - int
    - std::vector<std::vector<std::string>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: sentencepiece::SentencePieceProcessor::NBestEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 6
    functionsReached:
    - reserve
    - Arena::Create<NBestSentencePieceText>
    - std::vector<std::vector<std::string>>*::emplace_back
    - emplace_back
    - std::vector<std::vector<std::string>>*::reserve
    - piece
    - absl::OkStatus
    - RET_CHECK_STATUS_STL
    - sentencepiece::SentencePieceProcessor::NBestEncode
    - RETURN_IF_ERROR
    - auto*::nbests
    - pieces
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::NBestEncode(\n    absl::string_view
      input, int nbest_size,\n    std::vector<std::vector<std::string>>* pieces) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_STL
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:238,1
    - Dst: Arena::Create<NBestSentencePieceText>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:241,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:242,1
    - Dst: sentencepiece::SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:242,1
    - Dst: std::vector<std::vector<int>>*::reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:243,1
    - Dst: auto*::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:243,1
    - Dst: auto*::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:244,1
    - Dst: std::vector<std::vector<int>>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:245,1
    - Dst: reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:246,1
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:246,1
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:247,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:248,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:248,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - input
    - nbest_size
    - ids
    argTypes:
    - absl::string_view
    - int
    - std::vector<std::vector<int>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: sentencepiece::SentencePieceProcessor::NBestEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 7
    functionsReached:
    - std::vector<std::vector<int>>*::emplace_back
    - reserve
    - Arena::Create<NBestSentencePieceText>
    - emplace_back
    - id
    - absl::OkStatus
    - RET_CHECK_STATUS_STL
    - sentencepiece::SentencePieceProcessor::NBestEncode
    - RETURN_IF_ERROR
    - auto*::nbests
    - pieces
    - std::vector<std::vector<int>>*::reserve
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::NBestEncode(\n    absl::string_view
      input, int nbest_size,\n    std::vector<std::vector<int>>* ids) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_STL
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:258,1
    - Dst: Arena::Create<SentencePieceText>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:261,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:262,1
    - Dst: sentencepiece::SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:262,1
    - Dst: std::vector<std::string>*::reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:263,1
    - Dst: auto*::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:263,1
    - Dst: auto*::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:264,1
    - Dst: std::vector<std::string>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:265,1
    - Dst: piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:265,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - input
    - nbest_size
    - alpha
    - pieces
    argTypes:
    - absl::string_view
    - int
    - float
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: sentencepiece::SentencePieceProcessor::SampleEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 5
    functionsReached:
    - std::vector<std::string>*::emplace_back
    - std::vector<std::string>*::reserve
    - piece
    - absl::OkStatus
    - RET_CHECK_STATUS_STL
    - Arena::Create<SentencePieceText>
    - auto*::pieces
    - RETURN_IF_ERROR
    - sentencepiece::SentencePieceProcessor::SampleEncode
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::SampleEncode(\n    absl::string_view
      input, int nbest_size, float alpha,\n    std::vector<std::string>* pieces) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_STL
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:274,1
    - Dst: Arena::Create<SentencePieceText>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:277,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:278,1
    - Dst: sentencepiece::SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:278,1
    - Dst: auto*::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:279,1
    - Dst: std::vector<int>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:280,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:280,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - input
    - nbest_size
    - alpha
    - ids
    argTypes:
    - absl::string_view
    - int
    - float
    - std::vector<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: sentencepiece::SentencePieceProcessor::SampleEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 6
    functionsReached:
    - std::vector<int>*::emplace_back
    - id
    - absl::OkStatus
    - auto*::pieces
    - RET_CHECK_STATUS_STL
    - Arena::Create<SentencePieceText>
    - RETURN_IF_ERROR
    - sentencepiece::SentencePieceProcessor::SampleEncode
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::SampleEncode(absl::string_view
      input,\n                                                  int nbest_size, float
      alpha,\n                                                  std::vector<int>*
      ids) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:297,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:297,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:299,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:301,1
    - Dst: SentencePieceText*::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:303,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:304,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:304,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:304,1
    - Dst: auto*::set_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:305,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:306,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:308,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:309,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:312,1
    - Dst: RET_CHECK_LT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:313,1
    - Dst: absl::Span<const size_t>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:313,1
    - Dst: RET_CHECK_LT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:314,1
    - Dst: absl::Span<const size_t>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:314,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:315,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:316,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:319,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:319,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:320,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:320,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:321,1
    - Dst: absl::ClippedSubstr
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:323,1
    - Dst: ByteFallbackEnabled
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:325,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:327,1
    - Dst: static_cast<uint8_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:329,1
    - Dst: SentencePieceText*::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:330,1
    - Dst: SentencePieceText::SentencePiece*::mutable_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:331,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:332,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:333,1
    - Dst: SentencePieceText::SentencePiece*::set_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:334,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:338,1
    - Dst: SentencePieceText::SentencePiece*::set_surface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:339,1
    - Dst: auto::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:339,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:339,1
    - Dst: SentencePieceText::SentencePiece*::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:340,1
    - Dst: SentencePieceText::SentencePiece*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:341,1
    - Dst: SentencePieceText::SentencePiece*::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:344,1
    - Dst: SentencePieceText::SentencePiece*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:345,1
    - Dst: SentencePieceText*::mutable_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:354,1
    - Dst: SentencePieceText*::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:354,1
    - Dst: auto*::mutable_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:355,1
    - Dst: auto*::mutable_surface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:356,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:357,1
    - Dst: SentencePieceText*::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:359,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:360,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:360,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:360,1
    - Dst: auto*::set_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:361,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:362,1
    - Dst: auto::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:362,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:362,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:363,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:364,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:367,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:372,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:372,1
    - Dst: SentencePieceText*::set_text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:375,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:375,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:375,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:377,1
    - Dst: sentencepiece::SentencePieceProcessor::ApplyExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:377,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:379,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 7
    argNames:
    - input
    - normalized
    - norm_to_orig
    - ' result'
    - spt
    - skip_surface
    - input_start_offset
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::Span<const size_t>
    - EncodeResult
    - SentencePieceText*
    - bool
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 380
    functionName: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 4
    functionsReached:
    - auto*::set_begin
    - static_cast<uint8_t>
    - auto*::set_piece
    - auto::data
    - auto*::set_end
    - sentencepiece::SentencePieceProcessor::ApplyExtraOptions
    - auto*::mutable_piece
    - SentencePieceText*::pieces_size
    - sentencepiece::SentencePieceProcessor::IsUnknown
    - absl::string_view::data
    - SentencePieceText::SentencePiece*::set_begin
    - RET_CHECK_LT
    - absl::string_view::size
    - RETURN_IF_ERROR
    - SentencePieceText*::mutable_pieces
    - RET_CHECK
    - absl::string_view::empty
    - sentencepiece::SentencePieceProcessor::IsControl
    - auto*::set_surface
    - SentencePieceText::SentencePiece*::mutable_piece
    - SentencePieceText::SentencePiece*::set_end
    - SentencePieceText*::add_pieces
    - sentencepiece::SentencePieceProcessor::PieceToId
    - SentencePieceText::SentencePiece*::set_id
    - absl::OkStatus
    - absl::ClippedSubstr
    - SentencePieceText*::set_text
    - RET_CHECK_EQ
    - RET_CHECK_LE
    - absl::Span<const size_t>::size
    - auto*::mutable_surface
    - RET_CHECK_GE
    - auto::size
    - ByteToPiece
    - auto*::set_id
    - SentencePieceText::SentencePiece*::set_surface
    - ByteFallbackEnabled
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::PopulateSentencePieceText(\n
      \   absl::string_view input, absl::string_view normalized,\n    absl::Span<const
      size_t> norm_to_orig, const EncodeResult& result,\n    SentencePieceText* spt,
      bool skip_surface,\n    size_t input_start_offset) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_PROTO
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:384,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:388,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:388,1
    - Dst: sentencepiece::SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:390,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:391,1
    - Dst: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:392,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - input
    - spt
    argTypes:
    - absl::string_view
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 395
    functionName: sentencepiece::SentencePieceProcessor::Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 8
    functionsReached:
    - RET_CHECK_STATUS_PROTO
    - sentencepiece::SentencePieceProcessor::Normalize
    - sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
    - absl::OkStatus
    - RETURN_IF_ERROR
    - sentencepiece::SentencePieceProcessor::Encode
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Encode(absl::string_view input,\n
      \                                           SentencePieceText* spt) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_PROTO
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:400,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:402,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:407,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:407,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:409,1
    - Dst: IsNBestEncodeAvailable
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:409,1
    - Dst: sentencepiece::SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:412,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:413,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:413,1
    - Dst: NBestSentencePieceText*::add_nbests
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:416,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:417,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:418,1
    - Dst: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:418,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - input
    - nbest_size
    - nbest_spt
    argTypes:
    - absl::string_view
    - int
    - NBestSentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 423
    functionName: sentencepiece::SentencePieceProcessor::NBestEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 8
    functionsReached:
    - RET_CHECK_STATUS_PROTO
    - sentencepiece::SentencePieceProcessor::Normalize
    - RET_CHECK_LE
    - sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
    - absl::OkStatus
    - auto::empty
    - NBestSentencePieceText*::add_nbests
    - sentencepiece::SentencePieceProcessor::NBestEncode
    - RETURN_IF_ERROR
    - auto*::set_score
    - RET_CHECK
    - IsNBestEncodeAvailable
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::NBestEncode(\n    absl::string_view
      input, int nbest_size,\n    NBestSentencePieceText* nbest_spt) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_PROTO
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:428,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:430,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:430,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:431,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:432,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:437,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:437,1
    - Dst: IsNBestEncodeAvailable
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:439,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:440,1
    - Dst: IsSampleEncodeAvailable
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:440,1
    - Dst: sentencepiece::SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:442,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:443,1
    - Dst: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:443,1
    - Dst: sentencepiece::SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:446,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:447,1
    - Dst: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:447,1
    - Dst: sentencepiece::SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:450,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:451,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:451,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:454,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:454,1
    - Dst: std::transform
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:455,1
    - Dst: auto::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:455,1
    - Dst: auto::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:455,1
    - Dst: std::back_inserter
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:455,1
    - Dst: sentencepiece::log_domain::LogSum
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:458,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:460,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:460,1
    - Dst: std::transform
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:461,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:462,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:462,1
    - Dst: std::back_inserter
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:462,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:463,1
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:465,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:466,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:466,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:467,1
    - Dst: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:467,1
    - Dst: dist
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:468,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - input
    - nbest_size
    - alpha
    - spt
    argTypes:
    - absl::string_view
    - int
    - float
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 472
    functionName: sentencepiece::SentencePieceProcessor::SampleEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 7
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - sentencepiece::SentencePieceProcessor::Encode
    - std::vector::reserve
    - sentencepiece::log_domain::LogSum
    - RET_CHECK_STATUS_PROTO
    - std::transform
    - std::back_inserter
    - RETURN_IF_ERROR
    - std::vector::begin
    - RET_CHECK
    - sentencepiece::random::GetRandomGenerator
    - IsNBestEncodeAvailable
    - auto::end
    - dist
    - absl::OkStatus
    - std::vector::size
    - RET_CHECK_LE
    - RET_CHECK_GE
    - sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
    - auto::size
    - auto::empty
    - auto::begin
    - std::exp
    - sentencepiece::SentencePieceProcessor::NBestEncode
    - std::isnan
    - IsSampleEncodeAvailable
    - std::vector::end
    - sentencepiece::SentencePieceProcessor::SampleEncode
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::SampleEncode(\n    absl::string_view
      input, int nbest_size, float alpha,\n    SentencePieceText* spt) const"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_PROTO
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:476,1
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:479,1
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:480,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:489,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:490,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:491,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:492,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:493,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:493,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:495,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:495,1
    - Dst: normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:503,1
    - Dst: normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:504,1
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:507,1
    - Dst: normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:510,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:516,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:516,1
    - Dst: SentencePieceText*::mutable_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:520,1
    - Dst: absl::Span<const absl::string_view>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:520,1
    - Dst: SentencePieceText*::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:522,1
    - Dst: auto*::mutable_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:523,1
    - Dst: data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:523,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:523,1
    - Dst: auto*::set_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:524,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:524,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:527,1
    - Dst: sentencepiece::SentencePieceProcessor::ApplyExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:527,1
    - Dst: SentencePieceText*::mutable_text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:529,1
    - Dst: SentencePieceText*::mutable_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:531,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:532,1
    - Dst: data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:532,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:532,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:533,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:533,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:534,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:534,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:534,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:535,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:541,1
    - Dst: SentencePieceText*::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:547,1
    - Dst: PieceToByte
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:548,1
    - Dst: auto*::piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:548,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:549,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:550,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:555,1
    - Dst: sentencepiece::string_util::IsValidDecodeUTF8
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:559,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:560,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:568,1
    - Dst: SetSurface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:569,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:572,1
    - Dst: SetSurface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:578,1
    - Dst: SetSurface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:580,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:586,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:588,1
    - Dst: SentencePieceText*::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:596,1
    - Dst: SentencePieceText*::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:597,1
    - Dst: sentencepiece::SentencePieceProcessor::IsByte
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:598,1
    - Dst: auto*::id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:598,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:599,1
    - Dst: ProcessBytePieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:599,1
    - Dst: std::string*::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:602,1
    - Dst: std::tie
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:605,1
    - Dst: DecodeSentencePiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:606,1
    - Dst: auto*::piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:606,1
    - Dst: auto*::id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:606,1
    - Dst: SetSurface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:608,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:611,1
    - Dst: ProcessBytePieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:611,1
    - Dst: SentencePieceText*::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:611,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:614,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:617,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 2
    argNames:
    - pieces
    - spt
    argTypes:
    - absl::Span<const absl::string_view>
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 618
    functionName: sentencepiece::SentencePieceProcessor::Decode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - auto*::set_begin
    - std::make_pair
    - absl::Span<const absl::string_view>::size
    - std::tie
    - auto*::set_end
    - sentencepiece::SentencePieceProcessor::ApplyExtraOptions
    - sentencepiece::string_util::IsValidDecodeUTF8
    - google::protobuf::as_string_view
    - normalizer_spec
    - sentencepiece::SentencePieceProcessor::IsByte
    - RET_CHECK_STATUS_PROTO
    - auto*::mutable_piece
    - SentencePieceText*::pieces
    - SentencePieceText*::pieces_size
    - sentencepiece::SentencePieceProcessor::IsUnknown
    - std::string
    - std::string*::size
    - auto*::id
    - RETURN_IF_ERROR
    - SentencePieceText*::mutable_pieces
    - IdToPiece
    - size
    - auto*::piece
    - sentencepiece::SentencePieceProcessor::IsControl
    - auto*::set_surface
    - trainer_spec
    - std::string::append
    - SentencePieceText*::add_pieces
    - DecodeSentencePiece
    - sentencepiece::SentencePieceProcessor::PieceToId
    - absl::OkStatus
    - RET_CHECK_EQ
    - PieceToByte
    - ProcessBytePieces
    - std::string::size
    - RET_CHECK_LE
    - absl::ConsumePrefix
    - SentencePieceText*::mutable_text
    - std::string*::empty
    - absl::StrReplaceAll
    - data
    - auto*::set_id
    - google::protobuf::StrAppend
    - SetSurface
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Decode(\n    absl::Span<const
      absl::string_view> pieces, SentencePieceText* spt) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:623,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:624,1
    - Dst: absl::Span<const int>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:624,1
    - Dst: google::protobuf::util::Status::Status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:627,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:628,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:630,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:630,1
    - Dst: sentencepiece::SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ids
    - spt
    argTypes:
    - absl::Span<const int>
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 633
    functionName: sentencepiece::SentencePieceProcessor::Decode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::util::Status::Status
    - absl::Span<const int>::size
    - sentencepiece::SentencePieceProcessor::GetPieceSize
    - sentencepiece::SentencePieceProcessor::Decode
    - google::protobuf::StrCat
    - std::vector::emplace_back
    - IdToPiece
    - std::vector::reserve
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Decode(absl::Span<const int>
      ids,\n                                            SentencePieceText* spt) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:644,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:644,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:646,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' input_unicode'
    - ' utf8_offsets'
    - chunk_len
    - i
    - overlap
    - ' chunk_boundaries'
    argTypes:
    - string_util::UnicodeText
    - std::vector<uint32_t>
    - size_t
    - size_t
    - size_t
    - std::tuple<size_t, size_t, size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 651
    functionName: sentencepiece::GetIthChunkBoundaries
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - size
    - std::min<size_t>
    linkageType: ''
    returnType: void
    signature: "void GetIthChunkBoundaries(\n    const string_util::UnicodeText& input_unicode,\n
      \   const std::vector<uint32_t>& utf8_offsets, const size_t chunk_len,\n    const
      size_t i, const size_t overlap,\n    std::tuple<size_t, size_t, size_t>& chunk_boundaries)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:660,1
    - Dst: std::get<2>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:661,1
    - Dst: absl::string_view::substr
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:662,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:665,1
    - Dst: absl::Span<const size_t>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:665,1
    - Dst: absl::Span<const size_t>::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:665,1
    - Dst: absl::Span<const size_t>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:667,1
    - Dst: std::upper_bound
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:670,1
    - Dst: absl::Span<const size_t>::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:670,1
    - Dst: absl::Span<const size_t>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:672,1
    - Dst: absl::ClippedSubstr
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:674,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:677,1
    - Dst: absl::Span<const size_t>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:677,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:679,1
    - Dst: absl::Span<const size_t>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:679,1
    - Dst: absl::Span<const size_t>::subspan
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - input
    - normalized
    - norm_to_orig
    - ' chunk_boundaries'
    - ' input_chunk'
    - ' normalized_chunk'
    - ' norm_to_orig_chunk'
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::Span<const size_t>
    - std::tuple<size_t, size_t, size_t>
    - absl::string_view
    - absl::string_view
    - absl::Span<const size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 682
    functionName: sentencepiece::GetChunkOfInput
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - absl::Span<const size_t>::end
    - absl::Span<const size_t>::size
    - absl::Span<const size_t>::subspan
    - absl::Span<const size_t>::begin
    - std::min<size_t>
    - std::lower_bound
    - absl::ClippedSubstr
    - std::get<2>
    - absl::string_view::substr
    - std::upper_bound
    linkageType: ''
    returnType: void
    signature: "void GetChunkOfInput(const absl::string_view input,\n                     const
      absl::string_view normalized,\n                     absl::Span<const size_t>
      norm_to_orig,\n                     const std::tuple<size_t, size_t, size_t>&
      chunk_boundaries,\n                     absl::string_view& input_chunk,\n                     absl::string_view&
      normalized_chunk,\n                     absl::Span<const size_t>& norm_to_orig_chunk)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:694,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:695,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:695,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:696,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:696,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:697,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:697,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:698,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:698,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:699,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:699,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:700,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:700,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:701,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:701,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:702,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:702,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:704,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:706,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:706,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 5
    argNames:
    - ' current_piece'
    - ' next_chunk'
    - chunk_len
    - unk_id
    - start_index_in_next_chunk
    argTypes:
    - SentencePieceText_SentencePiece
    - SentencePieceText
    - size_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 714
    functionName: sentencepiece::FindMatchingToken
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - id
    - end
    - begin
    - pieces
    linkageType: ''
    returnType: bool
    signature: "bool FindMatchingToken(const SentencePieceText_SentencePiece& current_piece,\n
      \                      const SentencePieceText& next_chunk, size_t chunk_len,\n
      \                      int unk_id, size_t* start_index_in_next_chunk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:733,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:733,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:734,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:734,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:736,1
    - Dst: empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:741,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:742,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:742,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:752,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:753,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:759,1
    - Dst: std::get<1>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:761,1
    - Dst: std::get<2>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:763,1
    - Dst: GetChunkOfInput
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:772,1
    - Dst: Encode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:774,1
    - Dst: Create
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:775,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:776,1
    - Dst: populate_sentence_piece_text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:776,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:778,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:781,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:782,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:788,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:789,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:790,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:794,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:795,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:797,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 9
    argNames:
    - ' bad_joins'
    - input
    - normalized
    - norm_to_orig
    - ' arena'
    - ' model'
    - populate_sentence_piece_text
    - ' spt_chunks'
    - ' input_chunk_boundaries'
    argTypes:
    - std::vector<size_t>
    - absl::string_view
    - absl::string_view
    - absl::Span<const size_t>
    - Arena
    - ModelInterface
    - "absl::FunctionRef<absl::Status(\n        absl::string_view input, absl::string_view
      normalized,\n        absl::Span<const size_t> norm_to_orig, const EncodeResult&
      result,\n        SentencePieceText* spt, size_t input_start_offset)>"
    - std::vector<SentencePieceText*>
    - std::vector<std::tuple<size_t, size_t, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 798
    functionName: "absl::Status ReparseBadRanges(\n    const std::vector<size_t>&
      bad_joins, const absl::string_view input,\n    const absl::string_view normalized,
      absl::Span<const size_t> norm_to_orig,\n    Arena& arena, const ModelInterface&
      model,\n    absl::FunctionRef<absl::Status(\n        absl::string_view input,
      absl::string_view normalized,\n        absl::Span<const size_t> norm_to_orig,
      const EncodeResult& result,\n        SentencePieceText* spt, size_t input_start_offset)>\n
      \       populate_sentence_piece_text,\n    std::vector<SentencePieceText*>&
      spt_chunks,\n    std::vector<std::tuple<size_t, size_t, size_t>>& input_chunk_boundaries)"
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - std::vector::back
    - std::vector::empty
    - std::make_pair
    - RETURN_IF_ERROR
    - std::get<1>
    - Create
    - populate_sentence_piece_text
    - absl::OkStatus
    - empty
    - std::move
    - GetChunkOfInput
    - std::vector::emplace_back
    - std::vector::push_back
    - Encode
    - std::get<2>
    - size
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_COLD
    signature: "ABSL_ATTRIBUTE_COLD absl::Status ReparseBadRanges(\n    const std::vector<size_t>&
      bad_joins, const absl::string_view input,\n    const absl::string_view normalized,
      absl::Span<const size_t> norm_to_orig,\n    Arena& arena, const ModelInterface&
      model,\n    absl::FunctionRef<absl::Status(\n        absl::string_view input,
      absl::string_view normalized,\n        absl::Span<const size_t> norm_to_orig,
      const EncodeResult& result,\n        SentencePieceText* spt, size_t input_start_offset)>\n
      \       populate_sentence_piece_text,\n    std::vector<SentencePieceText*>&
      spt_chunks,\n    std::vector<std::tuple<size_t, size_t, size_t>>& input_chunk_boundaries)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:644,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:644,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:646,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' input_unicode'
    - ' utf8_offsets'
    - chunk_len
    - i
    - overlap
    - ' chunk_boundaries'
    argTypes:
    - string_util::UnicodeText
    - std::vector<uint32_t>
    - size_t
    - size_t
    - size_t
    - std::tuple<size_t, size_t, size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 651
    functionName: sentencepiece::GetIthChunkBoundaries
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - size
    - std::min<size_t>
    linkageType: ''
    returnType: void
    signature: "void GetIthChunkBoundaries(\n    const string_util::UnicodeText& input_unicode,\n
      \   const std::vector<uint32_t>& utf8_offsets, const size_t chunk_len,\n    const
      size_t i, const size_t overlap,\n    std::tuple<size_t, size_t, size_t>& chunk_boundaries)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:660,1
    - Dst: std::get<2>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:661,1
    - Dst: absl::string_view::substr
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:662,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:665,1
    - Dst: absl::Span<const size_t>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:665,1
    - Dst: absl::Span<const size_t>::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:665,1
    - Dst: absl::Span<const size_t>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:667,1
    - Dst: std::upper_bound
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:670,1
    - Dst: absl::Span<const size_t>::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:670,1
    - Dst: absl::Span<const size_t>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:672,1
    - Dst: absl::ClippedSubstr
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:674,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:677,1
    - Dst: absl::Span<const size_t>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:677,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:679,1
    - Dst: absl::Span<const size_t>::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:679,1
    - Dst: absl::Span<const size_t>::subspan
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - input
    - normalized
    - norm_to_orig
    - ' chunk_boundaries'
    - ' input_chunk'
    - ' normalized_chunk'
    - ' norm_to_orig_chunk'
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::Span<const size_t>
    - std::tuple<size_t, size_t, size_t>
    - absl::string_view
    - absl::string_view
    - absl::Span<const size_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 682
    functionName: sentencepiece::GetChunkOfInput
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - absl::Span<const size_t>::end
    - absl::Span<const size_t>::size
    - absl::Span<const size_t>::subspan
    - absl::Span<const size_t>::begin
    - std::min<size_t>
    - std::lower_bound
    - absl::ClippedSubstr
    - std::get<2>
    - absl::string_view::substr
    - std::upper_bound
    linkageType: ''
    returnType: void
    signature: "void GetChunkOfInput(const absl::string_view input,\n                     const
      absl::string_view normalized,\n                     absl::Span<const size_t>
      norm_to_orig,\n                     const std::tuple<size_t, size_t, size_t>&
      chunk_boundaries,\n                     absl::string_view& input_chunk,\n                     absl::string_view&
      normalized_chunk,\n                     absl::Span<const size_t>& norm_to_orig_chunk)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:694,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:695,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:695,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:696,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:696,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:697,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:697,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:698,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:698,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:699,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:699,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:700,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:700,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:701,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:701,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:702,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:702,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:704,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:706,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:706,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 5
    argNames:
    - ' current_piece'
    - ' next_chunk'
    - chunk_len
    - unk_id
    - start_index_in_next_chunk
    argTypes:
    - SentencePieceText_SentencePiece
    - SentencePieceText
    - size_t
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 714
    functionName: sentencepiece::FindMatchingToken
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - id
    - end
    - begin
    - pieces
    linkageType: ''
    returnType: bool
    signature: "bool FindMatchingToken(const SentencePieceText_SentencePiece& current_piece,\n
      \                      const SentencePieceText& next_chunk, size_t chunk_len,\n
      \                      int unk_id, size_t* start_index_in_next_chunk)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:733,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:733,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:734,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:734,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:736,1
    - Dst: empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:741,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:742,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:742,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:752,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:753,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:759,1
    - Dst: std::get<1>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:761,1
    - Dst: std::get<2>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:763,1
    - Dst: GetChunkOfInput
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:772,1
    - Dst: Encode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:774,1
    - Dst: Create
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:775,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:776,1
    - Dst: populate_sentence_piece_text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:776,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:778,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:781,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:782,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:788,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:789,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:790,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:794,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:795,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:797,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 9
    argNames:
    - ' bad_joins'
    - input
    - normalized
    - norm_to_orig
    - ' arena'
    - ' model'
    - populate_sentence_piece_text
    - ' spt_chunks'
    - ' input_chunk_boundaries'
    argTypes:
    - std::vector<size_t>
    - absl::string_view
    - absl::string_view
    - absl::Span<const size_t>
    - Arena
    - ModelInterface
    - "absl::FunctionRef<absl::Status(\n        absl::string_view input, absl::string_view
      normalized,\n        absl::Span<const size_t> norm_to_orig, const EncodeResult&
      result,\n        SentencePieceText* spt, size_t input_start_offset)>"
    - std::vector<SentencePieceText*>
    - std::vector<std::tuple<size_t, size_t, size_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 798
    functionName: "absl::Status ReparseBadRanges(\n    const std::vector<size_t>&
      bad_joins, const absl::string_view input,\n    const absl::string_view normalized,
      absl::Span<const size_t> norm_to_orig,\n    Arena& arena, const ModelInterface&
      model,\n    absl::FunctionRef<absl::Status(\n        absl::string_view input,
      absl::string_view normalized,\n        absl::Span<const size_t> norm_to_orig,
      const EncodeResult& result,\n        SentencePieceText* spt, size_t input_start_offset)>\n
      \       populate_sentence_piece_text,\n    std::vector<SentencePieceText*>&
      spt_chunks,\n    std::vector<std::tuple<size_t, size_t, size_t>>& input_chunk_boundaries)"
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - std::get<0>
    - std::vector::back
    - std::vector::empty
    - std::make_pair
    - RETURN_IF_ERROR
    - std::get<1>
    - Create
    - populate_sentence_piece_text
    - absl::OkStatus
    - empty
    - std::move
    - GetChunkOfInput
    - std::vector::emplace_back
    - std::vector::push_back
    - Encode
    - std::get<2>
    - size
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_COLD
    signature: "ABSL_ATTRIBUTE_COLD absl::Status ReparseBadRanges(\n    const std::vector<size_t>&
      bad_joins, const absl::string_view input,\n    const absl::string_view normalized,
      absl::Span<const size_t> norm_to_orig,\n    Arena& arena, const ModelInterface&
      model,\n    absl::FunctionRef<absl::Status(\n        absl::string_view input,
      absl::string_view normalized,\n        absl::Span<const size_t> norm_to_orig,
      const EncodeResult& result,\n        SentencePieceText* spt, size_t input_start_offset)>\n
      \       populate_sentence_piece_text,\n    std::vector<SentencePieceText*>&
      spt_chunks,\n    std::vector<std::tuple<size_t, size_t, size_t>>& input_chunk_boundaries)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:806,1
    - Dst: SentencePieceText*::Clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:808,1
    - Dst: SentencePieceText*::set_text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:809,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:811,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:814,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:814,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:815,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:816,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:816,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeTextAndOffsets
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:821,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:828,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:828,1
    - Dst: model_proto
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:831,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:832,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:842,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:847,1
    - Dst: std::make_unique<Arena>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:849,1
    - Dst: Arena::Create
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:854,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:863,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:866,1
    - Dst: Schedule
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:867,1
    - Dst: get
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:868,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:869,1
    - Dst: GetIthChunkBoundaries
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:873,1
    - Dst: GetChunkOfInput
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:875,1
    - Dst: sentencepiece::SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:879,1
    - Dst: Arena*::Create
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:880,1
    - Dst: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:881,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:884,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:887,1
    - Dst: absl::BlockingCounter::DecrementCount
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:892,1
    - Dst: absl::BlockingCounter::Wait
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:896,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:899,1
    - Dst: SentencePieceText*::clear_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:910,1
    - Dst: std::vector<std::string>*::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:911,1
    - Dst: std::vector<int>*::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:912,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:913,1
    - Dst: std::get<1>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:914,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:915,1
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:917,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:920,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:923,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:923,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:923,1
    - Dst: std::vector<std::string>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:929,1
    - Dst: piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:929,1
    - Dst: std::vector<int>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:930,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:930,1
    - Dst: SentencePieceText*::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:931,1
    - Dst: auto::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:932,1
    - Dst: piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:932,1
    - Dst: auto::set_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:933,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:933,1
    - Dst: auto::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:934,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:934,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:934,1
    - Dst: auto::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:935,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:935,1
    - Dst: std::get<0>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:935,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:943,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:943,1
    - Dst: sentencepiece::SentencePieceProcessor::IsByte
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:944,1
    - Dst: id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:944,1
    - Dst: auto::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:944,1
    - Dst: auto::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:944,1
    - Dst: absl::string_view::substr
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:945,1
    - Dst: auto::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:945,1
    - Dst: auto::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:945,1
    - Dst: auto::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:945,1
    - Dst: auto::set_surface
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:946,1
    - Dst: auto::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:946,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:946,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:952,1
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:952,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:952,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:953,1
    - Dst: FindMatchingToken
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:955,1
    - Dst: sentencepiece::SentencePieceProcessor::unk_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:956,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:962,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:964,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:969,1
    - Dst: std::vector::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:977,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:980,1
    - Dst: ReparseBadRanges
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:980,1
    - Dst: sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:986,1
    - Dst: SentencePieceText*::set_text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:994,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:994,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:994,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:997,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 86
    argCount: 6
    argNames:
    - input
    - chunk_len
    - ' thread_pool'
    - pieces
    - ids
    - spt
    argTypes:
    - absl::string_view
    - size_t
    - ThreadPool
    - std::vector<std::string>*
    - std::vector<int>*
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 998
    functionName: sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - std::vector<int>*::emplace_back
    - auto::ok
    - id
    - model_proto
    - begin
    - Arena*::Create
    - auto::data
    - GetIthChunkBoundaries
    - SentencePieceText*::Clear
    - sentencepiece::SentencePieceProcessor::Encode
    - sentencepiece::SentencePieceProcessor::IsByte
    - absl::BlockingCounter::Wait
    - ReparseBadRanges
    - std::vector::resize
    - std::vector<int>*::clear
    - absl::BlockingCounter::DecrementCount
    - get
    - std::vector<std::string>*::clear
    - auto::set_piece
    - absl::string_view::data
    - RETURN_IF_ERROR
    - Arena::Create
    - absl::string_view::size
    - size
    - absl::string_view::empty
    - std::get<0>
    - auto::set_end
    - std::vector<std::string>*::emplace_back
    - sentencepiece::SentencePieceProcessor::IsControl
    - auto::end
    - std::vector::empty
    - SentencePieceText*::clear_pieces
    - SentencePieceText*::add_pieces
    - std::get<1>
    - piece
    - std::vector::clear
    - absl::OkStatus
    - google::protobuf::StrCat
    - std::vector::size
    - SentencePieceText*::set_text
    - auto::set_id
    - std::numeric_limits<uint32_t>::max
    - sentencepiece::string_util::UTF8ToUnicodeTextAndOffsets
    - absl::InvalidArgumentError
    - FindMatchingToken
    - end
    - std::make_unique<Arena>
    - num_threads
    - auto::set_surface
    - sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
    - auto::begin
    - auto::size
    - auto::set_begin
    - sentencepiece::SentencePieceProcessor::unk_id
    - GetChunkOfInput
    - std::vector::push_back
    - pieces
    - absl::string_view::substr
    - Schedule
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::ParallelEncodeInternal(\n    absl::string_view
      input, size_t chunk_len, ThreadPool& thread_pool,\n    std::vector<std::string>*
      pieces, std::vector<int>* ids,\n    SentencePieceText* spt) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - chunk_len
    - ' thread_pool'
    - pieces
    argTypes:
    - absl::string_view
    - int
    - ThreadPool
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1000
    functionDepth: 3
    functionLinenumber: 1000
    functionLinenumberEnd: 1006
    functionName: sentencepiece::SentencePieceProcessor::ParallelEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::ParallelEncode(\n    absl::string_view
      input, int chunk_len, ThreadPool& thread_pool,\n    std::vector<std::string>*
      pieces) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - chunk_len
    - ' thread_pool'
    - ids
    argTypes:
    - absl::string_view
    - int
    - ThreadPool
    - std::vector<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1008
    functionDepth: 3
    functionLinenumber: 1008
    functionLinenumberEnd: 1014
    functionName: sentencepiece::SentencePieceProcessor::ParallelEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::ParallelEncode(\n    absl::string_view
      input, int chunk_len, ThreadPool& thread_pool,\n    std::vector<int>* ids) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - chunk_len
    - ' thread_pool'
    - spt
    argTypes:
    - absl::string_view
    - int
    - ThreadPool
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1016
    functionDepth: 3
    functionLinenumber: 1016
    functionLinenumberEnd: 1021
    functionName: sentencepiece::SentencePieceProcessor::ParallelEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::ParallelEncode(\n    absl::string_view
      input, int chunk_len, ThreadPool& thread_pool,\n    SentencePieceText* spt)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1028
    functionName: RET_CHECK_OR_RETURN_DEFAULT
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_OR_RETURN_DEFAULT(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1031,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - normalized
    argTypes:
    - absl::string_view
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1033
    functionName: sentencepiece::SentencePieceProcessor::Normalize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 17
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Normalize(absl::string_view input,\n
      \                                              std::string* normalized) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1038,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - input
    - normalized
    - norm_to_orig
    argTypes:
    - absl::string_view
    - std::string*
    - std::vector<size_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1040
    functionName: sentencepiece::SentencePieceProcessor::Normalize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 18
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::Normalize(\n    absl::string_view
      input, std::string* normalized,\n    std::vector<size_t>* norm_to_orig) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1046
    functionName: sentencepiece::SentencePieceProcessor::Normalize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 19
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    linkageType: ''
    returnType: std::string
    signature: std::string SentencePieceProcessor::Normalize(absl::string_view input)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1049,1
    - Dst: sentencepiece::SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: sentencepiece::SentencePieceProcessor::GetPieceSize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 7
    functionsReached:
    - sentencepiece::SentencePieceProcessor::GetPieceSize
    - RET_CHECK_OR_RETURN_DEFAULT
    linkageType: ''
    returnType: int
    signature: int SentencePieceProcessor::GetPieceSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1054,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1056
    functionName: sentencepiece::SentencePieceProcessor::PieceToId
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 11
    functionsReached:
    - RET_CHECK_OR_RETURN_DEFAULT
    - sentencepiece::SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: int
    signature: int SentencePieceProcessor::PieceToId(absl::string_view piece) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::string
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1059,1
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1060,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    functionName: '& SentencePieceProcessor::IdToPiece(int id) const'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - std::string::string
    - RET_CHECK_OR_RETURN_DEFAULT
    - IdToPiece
    linkageType: ''
    returnType: std::string
    signature: std::string & SentencePieceProcessor::IdToPiece(int id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1065,1
    - Dst: sentencepiece::SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1066,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - id
    - piece
    argTypes:
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1071
    functionName: sentencepiece::SentencePieceProcessor::SafeIdToPiece
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceProcessor::GetPieceSize
    - RET_CHECK_OR_RETURN_DEFAULT
    - IdToPiece
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceProcessor::SafeIdToPiece(int id, std::string* piece)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1074,1
    - Dst: sentencepiece::SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1076
    functionName: sentencepiece::SentencePieceProcessor::GetScore
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 3
    functionsReached:
    - RET_CHECK_OR_RETURN_DEFAULT
    - sentencepiece::SentencePieceProcessor::GetScore
    linkageType: ''
    returnType: float
    signature: float SentencePieceProcessor::GetScore(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1079,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1081
    functionName: sentencepiece::SentencePieceProcessor::IsControl
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 13
    functionsReached:
    - sentencepiece::SentencePieceProcessor::IsControl
    - RET_CHECK_OR_RETURN_DEFAULT
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceProcessor::IsControl(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1084,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1086
    functionName: sentencepiece::SentencePieceProcessor::IsUnknown
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 12
    functionsReached:
    - RET_CHECK_OR_RETURN_DEFAULT
    - sentencepiece::SentencePieceProcessor::IsUnknown
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceProcessor::IsUnknown(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1089,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnused
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1091
    functionName: sentencepiece::SentencePieceProcessor::IsUnused
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::SentencePieceProcessor::IsUnused
    - RET_CHECK_OR_RETURN_DEFAULT
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceProcessor::IsUnused(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_OR_RETURN_DEFAULT
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1094,1
    - Dst: sentencepiece::SentencePieceProcessor::IsByte
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1096
    functionName: sentencepiece::SentencePieceProcessor::IsByte
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 8
    functionsReached:
    - sentencepiece::SentencePieceProcessor::IsByte
    - RET_CHECK_OR_RETURN_DEFAULT
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceProcessor::IsByte(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1098
    functionName: sentencepiece::SentencePieceProcessor::unk_id
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SentencePieceProcessor::unk_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1100
    functionName: sentencepiece::SentencePieceProcessor::bos_id
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SentencePieceProcessor::bos_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1102
    functionName: sentencepiece::SentencePieceProcessor::eos_id
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SentencePieceProcessor::eos_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1104
    functionName: sentencepiece::SentencePieceProcessor::pad_id
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SentencePieceProcessor::pad_id() const
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1113,1
    - Dst: T*::mutable_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1113,1
    - Dst: T*::mutable_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1114,1
    - Dst: std::reverse
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1116,1
    - Dst: T*::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1116,1
    - Dst: T*::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1116,1
    - Dst: sentencepiece::SentencePieceProcessor::eos_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1120,1
    - Dst: T*::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1122,1
    - Dst: auto*::set_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1123,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1124,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1124,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1125,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1126,1
    - Dst: T*::text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1126,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1127,1
    - Dst: T*::text
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1127,1
    - Dst: T*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1131,1
    - Dst: T*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1133,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1133,1
    - Dst: sentencepiece::SentencePieceProcessor::bos_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1139,1
    - Dst: T*::mutable_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1141,1
    - Dst: auto*::Add
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1142,1
    - Dst: auto*::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1143,1
    - Dst: auto*::SwapElements
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1144,1
    - Dst: auto*::Mutable
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1146,1
    - Dst: auto*::set_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1147,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1148,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1148,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1149,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1150,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1151,1
    - Dst: T*::emplace
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1155,1
    - Dst: T*::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1155,1
    - Dst: T*::emplace
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1157,1
    - Dst: T*::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1157,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1157,1
    - Dst: T*::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1164,1
    - Dst: T*::mutable_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1165,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1166,1
    - Dst: auto*::id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1166,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1167,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1167,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1168,1
    - Dst: T*::Clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1175,1
    - Dst: T*::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1177,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1179,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1182,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 2
    argNames:
    - extra_options
    - output
    argTypes:
    - absl::Span<const ExtraOption>
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1107
    functionDepth: 2
    functionLinenumber: 1107
    functionLinenumberEnd: 1183
    functionName: sentencepiece::SentencePieceProcessor::ApplyExtraOptions
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 6
    functionsReached:
    - auto*::set_begin
    - auto*::set_piece
    - auto*::set_end
    - sentencepiece::SentencePieceProcessor::bos_id
    - auto*::size
    - T*::add_pieces
    - eos_piece
    - auto*::SwapElements
    - T*::clear
    - sentencepiece::SentencePieceProcessor::IsUnknown
    - T*::emplace_back
    - auto*::Add
    - auto*::id
    - T*::text
    - T*::emplace
    - std::reverse
    - unk_piece
    - absl::OkStatus
    - T*::end
    - sentencepiece::SentencePieceProcessor::eos_id
    - T*::Clear
    - auto*::Mutable
    - T*::begin
    - T*::mutable_pieces
    - auto*::set_id
    - T*::pieces_size
    - bos_piece
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::ApplyExtraOptions(\n    absl::Span<const
      ExtraOption> extra_options, T* output) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1190
    functionName: sentencepiece::SentencePieceProcessor::HasUnkPieceOption
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceProcessor::HasUnkPieceOption() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1196,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1196,1
    - Dst: std::vector<SentencePieceProcessor::ExtraOption>*::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1198,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1199,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1199,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1201,1
    - Dst: sentencepiece::SentencePieceProcessor::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1201,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1209,1
    - Dst: std::map::find
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1210,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1211,1
    - Dst: std::map::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1211,1
    - Dst: std::vector<SentencePieceProcessor::ExtraOption>*::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1213,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1216,1
    - Dst: sentencepiece::SentencePieceProcessor::bos_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1216,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1217,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1220,1
    - Dst: sentencepiece::SentencePieceProcessor::eos_id
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1220,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1221,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - _extra_option
    - extra_options
    argTypes:
    - absl::string_view
    - std::vector<SentencePieceProcessor::ExtraOption>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1193
    functionDepth: 2
    functionLinenumber: 1193
    functionLinenumberEnd: 1225
    functionName: sentencepiece::SentencePieceProcessor::ParseExtraOptions
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 4
    functionsReached:
    - absl::string_view::empty
    - std::vector<SentencePieceProcessor::ExtraOption>*::clear
    - absl::OkStatus
    - absl::string_view::data
    - sentencepiece::SentencePieceProcessor::eos_id
    - std::map::end
    - eos_piece
    - sentencepiece::SentencePieceProcessor::status
    - absl::StrSplit
    - sentencepiece::SentencePieceProcessor::bos_id
    - RETURN_IF_ERROR
    - std::map::find
    - absl::string_view::size
    - bos_piece
    - RET_CHECK
    - std::vector<SentencePieceProcessor::ExtraOption>*::push_back
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::ParseExtraOptions(\n    absl::string_view
      _extra_option,\n    std::vector<SentencePieceProcessor::ExtraOption>* extra_options)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - std::unique_ptr<ModelInterface>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1229
    functionName: sentencepiece::SentencePieceProcessor::SetModel
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SentencePieceProcessor::SetModel(std::unique_ptr<ModelInterface>&&
      model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' normalizer'
    argTypes:
    - std::unique_ptr<normalizer::Normalizer>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1234
    functionName: sentencepiece::SentencePieceProcessor::SetNormalizer
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void SentencePieceProcessor::SetNormalizer(\n    std::unique_ptr<normalizer::Normalizer>&&
      normalizer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1238
    functionName: '& SentencePieceProcessor::model_proto() const'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto & SentencePieceProcessor::model_proto() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1242
    functionName: sentencepiece::SentencePieceProcessor::serialized_model_proto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 1
    functionsReached:
    - SerializeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string SentencePieceProcessor::serialized_model_proto() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_STL
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1253,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1255,1
    - Dst: std::vector<T>*::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1256,1
    - Dst: sentencepiece::SentencePieceProcessor::ApplyExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1257,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1261,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1262,1
    - Dst: sentencepiece::SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1263,1
    - Dst: ByteFallbackEnabled
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1264,1
    - Dst: sentencepiece::SentencePieceProcessor::HasUnkPieceOption
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1265,1
    - Dst: std::vector<T>*::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1267,1
    - Dst: std::vector<T>*::reserve
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1268,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1268,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1272,1
    - Dst: first::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1272,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1274,1
    - Dst: std::vector<T>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1276,1
    - Dst: std::vector<T>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1278,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1278,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1278,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1282,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1284,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1287,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1287,1
    - Dst: static_cast<uint8_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1287,1
    - Dst: std::vector<T>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1288,1
    - Dst: std::vector<T>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1290,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1290,1
    - Dst: static_cast<uint8_t>
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1290,1
    - Dst: std::vector<T>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1297,1
    - Dst: std::vector<T>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1300,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1300,1
    - Dst: std::vector<T>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1302,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1302,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1302,1
    - Dst: std::vector<T>*::back
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1308,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1308,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1308,1
    - Dst: sentencepiece::SentencePieceProcessor::ApplyExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1317,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - absl::string_view
    - std::vector<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1251
    functionDepth: 3
    functionLinenumber: 1251
    functionLinenumberEnd: 1318
    functionName: sentencepiece::SentencePieceProcessor::EncodeOptimized
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 4
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - std::vector<T>*::clear
    - static_cast<uint8_t>
    - sentencepiece::SentencePieceProcessor::HasUnkPieceOption
    - RET_CHECK_STATUS_STL
    - std::vector<T>*::reserve
    - sentencepiece::SentencePieceProcessor::ApplyExtraOptions
    - EncodeResult::size
    - sentencepiece::SentencePieceProcessor::Encode
    - sentencepiece::SentencePieceProcessor::IsUnknown
    - absl::string_view::data
    - RETURN_IF_ERROR
    - absl::string_view::size
    - RET_CHECK
    - absl::string_view::empty
    - sentencepiece::SentencePieceProcessor::IsControl
    - sentencepiece::SentencePieceProcessor::PieceToId
    - first::empty
    - unk_piece
    - std::vector<T>*::back
    - std::vector<T>*::emplace_back
    - ByteToPiece
    - ByteFallbackEnabled
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::EncodeOptimized(\n    absl::string_view
      input, std::vector<T>* output) const"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_STATUS_STL
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1323,1
    - Dst: absl::Span<const T>::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1325,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1326,1
    - Dst: empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1337,1
    - Dst: std::vector::assign
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1338,1
    - Dst: absl::Span<const T>::begin
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1338,1
    - Dst: absl::Span<const T>::end
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1338,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1339,1
    - Dst: sentencepiece::SentencePieceProcessor::ApplyExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1339,1
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1344,1
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1345,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1350,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1350,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1352,1
    - Dst: sentencepiece::string_util::IsValidDecodeUTF8
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1355,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1356,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1358,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1359,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1362,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1363,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1367,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1368,1
    - Dst: sentencepiece::SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1377,1
    - Dst: google::protobuf::util::Status::Status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1378,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1379,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1381,1
    - Dst: sentencepiece::SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1384,1
    - Dst: sentencepiece::SentencePieceProcessor::IsByte
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1387,1
    - Dst: PieceToByte
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1388,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1389,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1390,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1392,1
    - Dst: ProcessByteQueue
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1392,1
    - Dst: std::string*::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1393,1
    - Dst: sentencepiece::SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1397,1
    - Dst: normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1406,1
    - Dst: normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1407,1
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1408,1
    - Dst: normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1410,1
    - Dst: sentencepiece::SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1415,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1416,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1417,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1419,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1422,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1423,1
    - Dst: std::string*::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1426,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1431,1
    - Dst: ProcessByteQueue
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1431,1
    - Dst: sentencepiece::SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1434,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1437,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    argCount: 2
    argNames:
    - input
    - detokenized
    argTypes:
    - absl::Span<const T>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1321
    functionDepth: 3
    functionLinenumber: 1321
    functionLinenumberEnd: 1438
    functionName: sentencepiece::SentencePieceProcessor::DecodeOptimized
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 6
    functionsReached:
    - sentencepiece::SentencePieceProcessor::Normalize
    - std::string::clear
    - google::protobuf::util::Status::Status
    - sentencepiece::SentencePieceProcessor::GetPieceSize
    - absl::Span<const T>::begin
    - std::vector::assign
    - RET_CHECK_STATUS_STL
    - sentencepiece::SentencePieceProcessor::ApplyExtraOptions
    - google::protobuf::as_string_view
    - sentencepiece::string_util::IsValidDecodeUTF8
    - normalizer_spec
    - sentencepiece::SentencePieceProcessor::IsByte
    - absl::Span<const T>::end
    - sentencepiece::SentencePieceProcessor::IsUnknown
    - empty
    - RETURN_IF_ERROR
    - IdToPiece
    - absl::Span<const T>::empty
    - sentencepiece::SentencePieceProcessor::IsControl
    - trainer_spec
    - std::string::append
    - sentencepiece::SentencePieceProcessor::PieceToId
    - absl::OkStatus
    - google::protobuf::StrCat
    - RET_CHECK_EQ
    - ProcessByteQueue
    - PieceToByte
    - std::string::size
    - RET_CHECK_LE
    - absl::ConsumePrefix
    - std::string::empty
    - std::string*::empty
    - absl::StrReplaceAll
    - google::protobuf::StrAppend
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceProcessor::DecodeOptimized(\n    absl::Span<const
      T> input, std::string* detokenized) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1443,1
    - Dst: absl::NotFoundError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1444,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1447,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1448,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1448,1
    - Dst: auto::ReadAll
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1450,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1451,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1451,1
    - Dst: ModelProto*::ParseFromArray
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1453,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1453,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1453,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1454,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1455,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filename
    - model_proto
    argTypes:
    - absl::string_view
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1459
    functionName: sentencepiece::io::LoadModelProto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - absl::string_view::empty
    - std::string::data
    - auto::status
    - auto::ReadAll
    - sentencepiece::filesystem::NewReadableFile
    - ModelProto*::ParseFromArray
    - absl::NotFoundError
    - absl::OkStatus
    - google::protobuf::StrCat
    - RETURN_IF_ERROR
    - std::string::size
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status LoadModelProto(absl::string_view filename,\n                            ModelProto*
      model_proto)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1463,1
    - Dst: absl::NotFoundError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1464,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1466,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1467,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1467,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1468,1
    - Dst: auto::Write
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1468,1
    - Dst: SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1468,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - filename
    - ' model_proto'
    argTypes:
    - absl::string_view
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1471
    functionName: sentencepiece::io::SaveModelProto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - auto::status
    - sentencepiece::filesystem::NewWritableFile
    - absl::NotFoundError
    - absl::OkStatus
    - auto::Write
    - RETURN_IF_ERROR
    - SerializeAsString
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SaveModelProto(absl::string_view filename,\n                            const
      ModelProto& model_proto)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1443,1
    - Dst: absl::NotFoundError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1444,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1447,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1448,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1448,1
    - Dst: auto::ReadAll
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1450,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1451,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1451,1
    - Dst: ModelProto*::ParseFromArray
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1453,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1453,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1453,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1454,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1455,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filename
    - model_proto
    argTypes:
    - absl::string_view
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1459
    functionName: sentencepiece::io::LoadModelProto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 2
    functionsReached:
    - absl::string_view::empty
    - std::string::data
    - auto::status
    - auto::ReadAll
    - sentencepiece::filesystem::NewReadableFile
    - ModelProto*::ParseFromArray
    - absl::NotFoundError
    - absl::OkStatus
    - google::protobuf::StrCat
    - RETURN_IF_ERROR
    - std::string::size
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status LoadModelProto(absl::string_view filename,\n                            ModelProto*
      model_proto)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1463,1
    - Dst: absl::NotFoundError
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1464,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1466,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1467,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1467,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1468,1
    - Dst: auto::Write
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1468,1
    - Dst: SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1468,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_processor.cc:1470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - filename
    - ' model_proto'
    argTypes:
    - absl::string_view
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1471
    functionName: sentencepiece::io::SaveModelProto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - auto::status
    - sentencepiece::filesystem::NewWritableFile
    - absl::NotFoundError
    - absl::OkStatus
    - auto::Write
    - RETURN_IF_ERROR
    - SerializeAsString
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SaveModelProto(absl::string_view filename,\n                            const
      ModelProto& model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - matcher
    argTypes:
    - PrefixMatcher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: sentencepiece::normalizer::Normalizer::SetPrefixMatcher
    functionSourceFile: /src/sentencepiece/src/normalizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPrefixMatcher(const PrefixMatcher* matcher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: sentencepiece::normalizer::Normalizer::status
    functionSourceFile: /src/sentencepiece/src/normalizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - matcher
    argTypes:
    - PrefixMatcher*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: sentencepiece::normalizer::Normalizer::SetPrefixMatcher
    functionSourceFile: /src/sentencepiece/src/normalizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPrefixMatcher(const PrefixMatcher* matcher)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: sentencepiece::normalizer::Normalizer::status
    functionSourceFile: /src/sentencepiece/src/normalizer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::InitializeLog
      Src: /src/sentencepiece/src/init.cc:38,1
    - Dst: absl::SetStderrThreshold
      Src: /src/sentencepiece/src/init.cc:39,1
    - Dst: absl::SetProgramUsageMessage
      Src: /src/sentencepiece/src/init.cc:40,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/init.cc:40,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/init.cc:46,1
    - Dst: absl::SetFlagsUsageConfig
      Src: /src/sentencepiece/src/init.cc:48,1
    - Dst: absl::ParseCommandLine
      Src: /src/sentencepiece/src/init.cc:50,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/init.cc:54,1
    - Dst: std::copy
      Src: /src/sentencepiece/src/init.cc:55,1
    - Dst: auto::begin
      Src: /src/sentencepiece/src/init.cc:55,1
    - Dst: auto::end
      Src: /src/sentencepiece/src/init.cc:55,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/init.cc:56,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/init.cc:56,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/init.cc:59,1
    - Dst: sentencepiece::SetMinLogLevel
      Src: /src/sentencepiece/src/init.cc:60,1
    - Dst: static_cast<absl::LogSeverityAtLeast>
      Src: /src/sentencepiece/src/init.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ParseCommandLineFlags
    argTypes:
    - void
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 62
    functionName: ABSL_FLAG
    functionSourceFile: /src/sentencepiece/src/init.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SetMinLogLevel
    - auto::end
    - absl::SetProgramUsageMessage
    - absl::SetStderrThreshold
    - absl::ParseCommandLine
    - absl::SetFlagsUsageConfig
    - static_cast<absl::LogSeverityAtLeast>
    - auto::size
    - auto::begin
    - std::copy
    - google::protobuf::StrCat
    - static_cast<int>
    - absl::GetFlag
    - absl::InitializeLog
    linkageType: ''
    returnType: void
    signature: "void ABSL_FLAG(bool, quiet, false, \"Suppress logging message.\");\n\nnamespace
      sentencepiece {\nvoid ParseCommandLineFlags(const char *usage, int *argc, char
      ***argv,\n                           bool remove_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ShutdownProtobufLibrary
      Src: /src/sentencepiece/src/init.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ShutdownLibrary
    functionSourceFile: /src/sentencepiece/src/init.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::ShutdownProtobufLibrary
    linkageType: ''
    returnType: void
    signature: void ShutdownLibrary()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/trainer_factory_test.cc:26,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/trainer_factory_test.cc:27,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/trainer_factory_test.cc:30,1
    - Dst: sentencepiece::TrainerFactory::Create
      Src: /src/sentencepiece/src/trainer_factory_test.cc:31,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/trainer_factory_test.cc:36,1
    - Dst: sentencepiece::TrainerFactory::Create
      Src: /src/sentencepiece/src/trainer_factory_test.cc:37,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/trainer_factory_test.cc:42,1
    - Dst: sentencepiece::TrainerFactory::Create
      Src: /src/sentencepiece/src/trainer_factory_test.cc:43,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/trainer_factory_test.cc:48,1
    - Dst: sentencepiece::TrainerFactory::Create
      Src: /src/sentencepiece/src/trainer_factory_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 52
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_factory_test.cc
    functionUses: 0
    functionsReached:
    - TrainerSpec::set_model_prefix
    - sentencepiece::TrainerFactory::Create
    - TrainerSpec::set_model_type
    - TrainerSpec::add_input
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerFactoryTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/trainer_factory_test.cc:26,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/trainer_factory_test.cc:27,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/trainer_factory_test.cc:30,1
    - Dst: sentencepiece::TrainerFactory::Create
      Src: /src/sentencepiece/src/trainer_factory_test.cc:31,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/trainer_factory_test.cc:36,1
    - Dst: sentencepiece::TrainerFactory::Create
      Src: /src/sentencepiece/src/trainer_factory_test.cc:37,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/trainer_factory_test.cc:42,1
    - Dst: sentencepiece::TrainerFactory::Create
      Src: /src/sentencepiece/src/trainer_factory_test.cc:43,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/trainer_factory_test.cc:48,1
    - Dst: sentencepiece::TrainerFactory::Create
      Src: /src/sentencepiece/src/trainer_factory_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 52
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_factory_test.cc
    functionUses: 0
    functionsReached:
    - TrainerSpec::set_model_prefix
    - sentencepiece::TrainerFactory::Create
    - TrainerSpec::set_model_type
    - TrainerSpec::add_input
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerFactoryTest, BasicTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/char_model_trainer.cc:27,1
    - Dst: status
      Src: /src/sentencepiece/src/char_model_trainer.cc:27,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/char_model_trainer.cc:29,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/char_model_trainer.cc:29,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/char_model_trainer.cc:30,1
    - Dst: model_type
      Src: /src/sentencepiece/src/char_model_trainer.cc:30,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/char_model_trainer.cc:32,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/char_model_trainer.cc:32,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/char_model_trainer.cc:34,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:34,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/char_model_trainer.cc:35,1
    - Dst: std::log
      Src: /src/sentencepiece/src/char_model_trainer.cc:42,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/char_model_trainer.cc:42,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/char_model_trainer.cc:44,1
    - Dst: empty
      Src: /src/sentencepiece/src/char_model_trainer.cc:44,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/char_model_trainer.cc:45,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/char_model_trainer.cc:46,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/char_model_trainer.cc:47,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/char_model_trainer.cc:50,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/char_model_trainer.cc:51,1
    - Dst: std::log
      Src: /src/sentencepiece/src/char_model_trainer.cc:52,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/char_model_trainer.cc:52,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/char_model_trainer.cc:55,1
    - Dst: set_vocab_size
      Src: /src/sentencepiece/src/char_model_trainer.cc:56,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:56,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:56,1
    - Dst: Save
      Src: /src/sentencepiece/src/char_model_trainer.cc:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: sentencepiece::character::Trainer::Train
    functionSourceFile: /src/sentencepiece/src/char_model_trainer.cc
    functionUses: 0
    functionsReached:
    - Save
    - static_cast<size_t>
    - vocab_size
    - empty
    - Sorted
    - RETURN_IF_ERROR
    - status
    - RET_CHECK
    - size
    - static_cast<float>
    - emplace_back
    - sentencepiece::string_util::UnicodeCharToUTF8
    - use_all_vocab
    - RET_CHECK_EQ
    - escape_whitespaces
    - std::log
    - set_vocab_size
    - LoadSentences
    - RET_CHECK_GE
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::Train()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/char_model_trainer.cc:27,1
    - Dst: status
      Src: /src/sentencepiece/src/char_model_trainer.cc:27,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/char_model_trainer.cc:29,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/char_model_trainer.cc:29,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/char_model_trainer.cc:30,1
    - Dst: model_type
      Src: /src/sentencepiece/src/char_model_trainer.cc:30,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/char_model_trainer.cc:32,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/char_model_trainer.cc:32,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/char_model_trainer.cc:34,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:34,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/char_model_trainer.cc:35,1
    - Dst: std::log
      Src: /src/sentencepiece/src/char_model_trainer.cc:42,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/char_model_trainer.cc:42,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/char_model_trainer.cc:44,1
    - Dst: empty
      Src: /src/sentencepiece/src/char_model_trainer.cc:44,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/char_model_trainer.cc:45,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/char_model_trainer.cc:46,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/char_model_trainer.cc:47,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/char_model_trainer.cc:50,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/char_model_trainer.cc:51,1
    - Dst: std::log
      Src: /src/sentencepiece/src/char_model_trainer.cc:52,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/char_model_trainer.cc:52,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/char_model_trainer.cc:55,1
    - Dst: set_vocab_size
      Src: /src/sentencepiece/src/char_model_trainer.cc:56,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:56,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:56,1
    - Dst: Save
      Src: /src/sentencepiece/src/char_model_trainer.cc:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: sentencepiece::character::Trainer::Train
    functionSourceFile: /src/sentencepiece/src/char_model_trainer.cc
    functionUses: 0
    functionsReached:
    - Save
    - static_cast<size_t>
    - vocab_size
    - empty
    - Sorted
    - RETURN_IF_ERROR
    - status
    - RET_CHECK
    - size
    - static_cast<float>
    - emplace_back
    - sentencepiece::string_util::UnicodeCharToUTF8
    - use_all_vocab
    - RET_CHECK_EQ
    - escape_whitespaces
    - std::log
    - set_vocab_size
    - LoadSentences
    - RET_CHECK_GE
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::Train()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/char_model_trainer.cc:27,1
    - Dst: status
      Src: /src/sentencepiece/src/char_model_trainer.cc:27,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/char_model_trainer.cc:29,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/char_model_trainer.cc:29,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/char_model_trainer.cc:30,1
    - Dst: model_type
      Src: /src/sentencepiece/src/char_model_trainer.cc:30,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/char_model_trainer.cc:32,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/char_model_trainer.cc:32,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/char_model_trainer.cc:34,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:34,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/char_model_trainer.cc:35,1
    - Dst: std::log
      Src: /src/sentencepiece/src/char_model_trainer.cc:42,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/char_model_trainer.cc:42,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/char_model_trainer.cc:44,1
    - Dst: empty
      Src: /src/sentencepiece/src/char_model_trainer.cc:44,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/char_model_trainer.cc:45,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/char_model_trainer.cc:46,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/char_model_trainer.cc:47,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/char_model_trainer.cc:50,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/char_model_trainer.cc:51,1
    - Dst: std::log
      Src: /src/sentencepiece/src/char_model_trainer.cc:52,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/char_model_trainer.cc:52,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/char_model_trainer.cc:55,1
    - Dst: set_vocab_size
      Src: /src/sentencepiece/src/char_model_trainer.cc:56,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:56,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:56,1
    - Dst: Save
      Src: /src/sentencepiece/src/char_model_trainer.cc:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: sentencepiece::character::Trainer::Train
    functionSourceFile: /src/sentencepiece/src/char_model_trainer.cc
    functionUses: 0
    functionsReached:
    - Save
    - static_cast<size_t>
    - vocab_size
    - empty
    - Sorted
    - RETURN_IF_ERROR
    - status
    - RET_CHECK
    - size
    - static_cast<float>
    - emplace_back
    - sentencepiece::string_util::UnicodeCharToUTF8
    - use_all_vocab
    - RET_CHECK_EQ
    - escape_whitespaces
    - std::log
    - set_vocab_size
    - LoadSentences
    - RET_CHECK_GE
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::Train()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/char_model_trainer.cc:27,1
    - Dst: status
      Src: /src/sentencepiece/src/char_model_trainer.cc:27,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/char_model_trainer.cc:29,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/char_model_trainer.cc:29,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/char_model_trainer.cc:30,1
    - Dst: model_type
      Src: /src/sentencepiece/src/char_model_trainer.cc:30,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/char_model_trainer.cc:32,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/char_model_trainer.cc:32,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/char_model_trainer.cc:34,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:34,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/char_model_trainer.cc:35,1
    - Dst: std::log
      Src: /src/sentencepiece/src/char_model_trainer.cc:42,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/char_model_trainer.cc:42,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/char_model_trainer.cc:44,1
    - Dst: empty
      Src: /src/sentencepiece/src/char_model_trainer.cc:44,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/char_model_trainer.cc:45,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/char_model_trainer.cc:46,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/char_model_trainer.cc:47,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/char_model_trainer.cc:50,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/char_model_trainer.cc:51,1
    - Dst: std::log
      Src: /src/sentencepiece/src/char_model_trainer.cc:52,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/char_model_trainer.cc:52,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/char_model_trainer.cc:55,1
    - Dst: set_vocab_size
      Src: /src/sentencepiece/src/char_model_trainer.cc:56,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:56,1
    - Dst: size
      Src: /src/sentencepiece/src/char_model_trainer.cc:56,1
    - Dst: Save
      Src: /src/sentencepiece/src/char_model_trainer.cc:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: sentencepiece::character::Trainer::Train
    functionSourceFile: /src/sentencepiece/src/char_model_trainer.cc
    functionUses: 0
    functionsReached:
    - Save
    - static_cast<size_t>
    - vocab_size
    - empty
    - Sorted
    - RETURN_IF_ERROR
    - status
    - RET_CHECK
    - size
    - static_cast<float>
    - emplace_back
    - sentencepiece::string_util::UnicodeCharToUTF8
    - use_all_vocab
    - RET_CHECK_EQ
    - escape_whitespaces
    - std::log
    - set_vocab_size
    - LoadSentences
    - RET_CHECK_GE
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::Train()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: sentencepiece::unigram::Digamma
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::log
    linkageType: ''
    returnType: double
    signature: double Digamma(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - IT
    - IT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: sentencepiece::unigram::ToLogProb
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - std::log
    linkageType: ''
    returnType: void
    signature: void ToLogProb(IT begin, IT end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BoundedPriorityQueue(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:82,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Gc
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - score
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Push
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Gc
    - size
    linkageType: ''
    returnType: void
    signature: void Push(const std::string& key, int64_t score)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:91,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:93,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:95,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Get
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - std::vector::size
    - std::move
    - clear
    - std::vector::emplace_back
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int64_t>>
    signature: std::vector<std::pair<std::string, int64_t>> Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:104,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:108,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:109,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: emplace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Gc
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 1
    functionsReached:
    - LOG
    - emplace
    - std::min
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    - clear
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: void
    signature: void Gc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:118,1
    - Dst: begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' agenda'
    argTypes:
    - std::vector<std::pair<std::string, int64_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Sort
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 2
    functionsReached:
    - std::sort
    - end
    - std::forward_as_tuple
    - begin
    - first::size
    linkageType: ''
    returnType: void
    signature: void Sort(std::vector<std::pair<std::string, int64_t>>& agenda)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: sentencepiece::unigram::Digamma
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::log
    linkageType: ''
    returnType: double
    signature: double Digamma(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - IT
    - IT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: sentencepiece::unigram::ToLogProb
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - std::log
    linkageType: ''
    returnType: void
    signature: void ToLogProb(IT begin, IT end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BoundedPriorityQueue(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:82,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Gc
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - score
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Push
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Gc
    - size
    linkageType: ''
    returnType: void
    signature: void Push(const std::string& key, int64_t score)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:91,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:93,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:95,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Get
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - std::vector::size
    - std::move
    - clear
    - std::vector::emplace_back
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int64_t>>
    signature: std::vector<std::pair<std::string, int64_t>> Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:104,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:108,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:109,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: emplace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Gc
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 2
    functionsReached:
    - LOG
    - emplace
    - std::min
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    - clear
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: void
    signature: void Gc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:118,1
    - Dst: begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' agenda'
    argTypes:
    - std::vector<std::pair<std::string, int64_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Sort
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 4
    functionsReached:
    - std::sort
    - end
    - std::forward_as_tuple
    - begin
    - first::size
    linkageType: ''
    returnType: void
    signature: void Sort(std::vector<std::pair<std::string, int64_t>>& agenda)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: sentencepiece::unigram::TrainerModel::TrainerModel
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TrainerModel::TrainerModel(const TrainerSpec& trainer_spec,\n
      \                          const NormalizerSpec& normalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: TrainerModel::~TrainerModel()
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerModel::~TrainerModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: '& TrainerModel::GetSentencePieces() const'
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: TrainerModel::SentencePieces & TrainerModel::GetSentencePieces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:143,1
    - Dst: Clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:146,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:150,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:153,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:153,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:154,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:155,1
    - Dst: add_pieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:156,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:157,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:157,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:157,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:158,1
    - Dst: BuildTrie
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:161,1
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' sentencepieces'
    argTypes:
    - SentencePieces
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: sentencepiece::unigram::TrainerModel::SetSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::min
    - auto*::set_piece
    - Clear
    - absl::string_view::data
    - add_pieces
    - status
    - std::move
    - std::vector::emplace_back
    - std::isnan
    - absl::string_view::size
    - auto*::set_score
    - RET_CHECK
    - BuildTrie
    - size
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerModel::SetSentencePieces(SentencePieces&& sentencepieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: train_extremely_large_corpus
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:166,1
    - Dst: sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:167,1
    - Dst: sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: sentencepiece::unigram::Trainer::MakeSeedSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - train_extremely_large_corpus
    - sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: TrainerModel::SentencePieces Trainer::MakeSeedSentencePieces()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:174,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:174,1
    - Dst: sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:180,1
    - Dst: auto*::PreTokenize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:185,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:187,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:189,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:192,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:197,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:198,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:199,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:200,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:202,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:205,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:208,1
    - Dst: input_format
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:215,1
    - Dst: pretokenize_or_rewrite
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:218,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:220,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:222,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:225,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:232,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:233,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:239,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:240,1
    - Dst: seed_sentencepieces_file
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:243,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:244,1
    - Dst: seed_sentencepieces_file
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:245,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:249,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:250,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:251,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:252,1
    - Dst: absl::SimpleAtoi
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:256,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:257,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:260,1
    - Dst: IsValidSentencePiece
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:261,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:266,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:266,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:267,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:268,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:268,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:273,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:276,1
    - Dst: TrainerModel::SentencePieces::resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:277,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:277,1
    - Dst: seed_sentencepiece_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:278,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:278,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:280,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:280,1
    - Dst: CHECK_LE
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:283,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:283,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:284,1
    - Dst: std::numeric_limits<node_int_type>::max
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:284,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:286,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:297,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: esaxx
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:299,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:301,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:304,1
    - Dst: seed_sentencepiece_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:304,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:309,1
    - Dst: SplitIntoWords
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:310,1
    - Dst: treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:310,1
    - Dst: allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:311,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:319,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:319,1
    - Dst: std::find
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:329,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:332,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:334,1
    - Dst: split_into_pieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:335,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:336,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:337,1
    - Dst: IsValidSentencePiece
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:337,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:340,1
    - Dst: BoundedPriorityQueue::Push
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:341,1
    - Dst: std::string
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:341,1
    - Dst: BoundedPriorityQueue::Get
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:346,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:347,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:347,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:348,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:348,1
    - Dst: ToLogProb
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:352,1
    - Dst: TrainerModel::SentencePieces::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:352,1
    - Dst: TrainerModel::SentencePieces::end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:352,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:354,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:354,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 358
    functionName: sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 1
    functionsReached:
    - pretokenize_or_rewrite
    - TrainerModel::SentencePieces::emplace_back
    - TrainerModel::SentencePieces::resize
    - static_cast<size_t>
    - absl::SimpleAtoi
    - pretokenization_delimiter
    - TrainerModel::SentencePieces::end
    - treat_whitespace_as_suffix
    - BoundedPriorityQueue::Get
    - auto*::PreTokenize
    - UnicodeText::size
    - LOG
    - seed_sentencepieces_file
    - CHECK
    - BoundedPriorityQueue::Push
    - sentencepiece::filesystem::NewReadableFile
    - sentencepiece::string_util::UnicodeTextToUTF8
    - std::string
    - empty
    - Sorted
    - std::vector::begin
    - sentencepiece::string_util::UTF8ToUnicodeText
    - ToLogProb
    - seed_sentencepiece_size
    - auto::ReadLine
    - CHECK_EQ
    - esaxx
    - allow_whitespace_only_pieces
    - std::vector::size
    - std::numeric_limits<node_int_type>::max
    - absl::StrSplit
    - sentencepiece::string_util::UnicodeCharToUTF8
    - sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
    - sentencepiece::port::ContainsKey
    - CHECK_LE
    - TrainerModel::SentencePieces::begin
    - TrainerModel::SentencePieces::size
    - split_by_whitespace
    - absl::StrReplaceAll
    - IsValidSentencePiece
    - split_into_pieces
    - input_format
    - SplitIntoWords
    - std::find
    - std::vector::push_back
    - std::move
    - std::min<size_t>
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: TrainerModel::SentencePieces Trainer::MakeSeedSentencePiecesInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:362,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:363,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:364,1
    - Dst: std::make_unique<ThreadPool>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:366,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:366,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:374,1
    - Dst: auto::Schedule
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:375,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:377,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:377,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:378,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:379,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:382,1
    - Dst: PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:383,1
    - Dst: Lattice::PopulateMarginal
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:384,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:385,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:385,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:386,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:386,1
    - Dst: auto::reset
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:392,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:395,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:398,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:405,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - ' model'
    - obj
    - num_tokens
    argTypes:
    - TrainerModel
    - float*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 408
    functionName: sentencepiece::unigram::Trainer::RunEStep
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - resize
    - Lattice::SetSentence
    - CHECK
    - std::make_unique<ThreadPool>
    - num_threads
    - auto::Schedule
    - GetPieceSize
    - Lattice::PopulateMarginal
    - auto::reset
    - PopulateNodes
    - std::isnan
    - Lattice::Viterbi
    - size
    linkageType: ''
    returnType: std::vector<float>
    signature: "std::vector<float> Trainer::RunEStep(const TrainerModel& model, float*
      obj,\n                                     int64_t* num_tokens) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:412,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:413,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:413,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:413,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:417,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:426,1
    - Dst: Digamma
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:434,1
    - Dst: Digamma
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' model'
    - ' expected'
    argTypes:
    - TrainerModel
    - std::vector<float>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 440
    functionName: sentencepiece::unigram::Trainer::RunMStep
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - CHECK_EQ
    - Digamma
    - TrainerModel::SentencePieces::emplace_back
    - GetSentencePieces
    - size
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: "TrainerModel::SentencePieces Trainer::RunMStep(\n    const TrainerModel&
      model, const std::vector<float>& expected) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:444,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:447,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:448,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:455,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:457,1
    - Dst: PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:458,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:459,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:460,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:464,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:467,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:470,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:477,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:479,1
    - Dst: std::make_unique<ThreadPool>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:481,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:481,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:482,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:483,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:483,1
    - Dst: auto::Schedule
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:485,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:487,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:488,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:490,1
    - Dst: PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:491,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:492,1
    - Dst: auto::reset
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:500,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:502,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:503,1
    - Dst: std::accumulate
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:509,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:509,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:509,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:510,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:510,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:519,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:523,1
    - Dst: TrainerModel::SentencePieces::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:525,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:528,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:528,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:534,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:535,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:535,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:541,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:541,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:547,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:552,1
    - Dst: shrinking_factor
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:553,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:553,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:557,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:558,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:558,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:561,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - TrainerModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 565
    functionName: sentencepiece::unigram::Trainer::PruneSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - TrainerModel::SentencePieces::emplace_back
    - std::accumulate
    - first::size
    - static_cast<size_t>
    - Lattice::SetSentence
    - empty
    - Sorted
    - std::vector::begin
    - size
    - resize
    - auto::Schedule
    - static_cast<double>
    - std::vector::emplace_back
    - GetSentencePieces
    - Lattice::Viterbi
    - TrainerModel::SentencePieces::size
    - Lattice::NBest
    - shrinking_factor
    - std::log
    - std::make_unique<ThreadPool>
    - std::max<int>
    - num_threads
    - auto::size
    - auto::reset
    - PopulateNodes
    - TrainerModel::SentencePieces::push_back
    - std::vector::end
    - push_back
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: "TrainerModel::SentencePieces Trainer::PruneSentencePieces(\n    const
      TrainerModel& model) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:569,1
    - Dst: begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:571,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:572,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:577,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:578,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:579,1
    - Dst: min_score
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:585,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:590,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:590,1
    - Dst: CHECK_GT
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:591,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:594,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:595,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:598,1
    - Dst: absl::flat_hash_map::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:598,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:604,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - TrainerModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 605
    functionName: sentencepiece::unigram::Trainer::FinalizeSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - min_score
    - size
    - CHECK_GT
    - end
    - begin
    - static_cast<size_t>
    - sentencepiece::string_util::UnicodeCharToUTF8
    - Sorted
    - sentencepiece::port::ContainsKey
    - GetSentencePieces
    - absl::flat_hash_map::size
    - vocab_size
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: "TrainerModel::SentencePieces Trainer::FinalizeSentencePieces(\n    const
      TrainerModel& model) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:608,1
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:608,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:610,1
    - Dst: model_type
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:610,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:611,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:611,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:615,1
    - Dst: TrainerModel::status
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:615,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:616,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:616,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:617,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:617,1
    - Dst: sentencepiece::unigram::Trainer::MakeSeedSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:619,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:620,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:620,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:622,1
    - Dst: TrainerModel::SetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:622,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:622,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:624,1
    - Dst: SplitSentencesByWhitespace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:625,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:628,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:628,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:630,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:630,1
    - Dst: num_sub_iterations
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:634,1
    - Dst: sentencepiece::unigram::Trainer::RunEStep
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:638,1
    - Dst: sentencepiece::unigram::Trainer::RunMStep
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:641,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:642,1
    - Dst: TrainerModel::SetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:642,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:642,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:644,1
    - Dst: TrainerModel::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:644,1
    - Dst: TrainerModel::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:647,1
    - Dst: TrainerModel::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:652,1
    - Dst: sentencepiece::unigram::Trainer::PruneSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:657,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:658,1
    - Dst: TrainerModel::SetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:658,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:658,1
    - Dst: sentencepiece::unigram::Trainer::FinalizeSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:662,1
    - Dst: Save
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 607
    functionDepth: 3
    functionLinenumber: 607
    functionLinenumberEnd: 665
    functionName: sentencepiece::unigram::Trainer::Train
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - Save
    - sentencepiece::unigram::Trainer::RunMStep
    - static_cast<size_t>
    - TrainerModel::SetSentencePieces
    - vocab_size
    - LOG
    - sentencepiece::unigram::Trainer::MakeSeedSentencePieces
    - SplitSentencesByWhitespace
    - empty
    - RETURN_IF_ERROR
    - status
    - RET_CHECK
    - sentencepiece::unigram::Trainer::FinalizeSentencePieces
    - size
    - sentencepiece::unigram::Trainer::PruneSentencePieces
    - RET_CHECK_EQ
    - split_by_whitespace
    - escape_whitespaces
    - LoadSentences
    - TrainerModel::GetPieceSize
    - auto::empty
    - std::move
    - sentencepiece::unigram::Trainer::RunEStep
    - TrainerModel::status
    - num_sub_iterations
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::Train()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: sentencepiece::unigram::Digamma
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::log
    linkageType: ''
    returnType: double
    signature: double Digamma(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - IT
    - IT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: sentencepiece::unigram::ToLogProb
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - std::log
    linkageType: ''
    returnType: void
    signature: void ToLogProb(IT begin, IT end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BoundedPriorityQueue(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:82,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Gc
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - score
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Push
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Gc
    - size
    linkageType: ''
    returnType: void
    signature: void Push(const std::string& key, int64_t score)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:91,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:93,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:95,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Get
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - std::vector::size
    - std::move
    - clear
    - std::vector::emplace_back
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int64_t>>
    signature: std::vector<std::pair<std::string, int64_t>> Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:104,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:108,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:109,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: emplace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Gc
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 3
    functionsReached:
    - LOG
    - emplace
    - std::min
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    - clear
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: void
    signature: void Gc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:118,1
    - Dst: begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' agenda'
    argTypes:
    - std::vector<std::pair<std::string, int64_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Sort
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 6
    functionsReached:
    - std::sort
    - end
    - std::forward_as_tuple
    - begin
    - first::size
    linkageType: ''
    returnType: void
    signature: void Sort(std::vector<std::pair<std::string, int64_t>>& agenda)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: sentencepiece::unigram::Digamma
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::log
    linkageType: ''
    returnType: double
    signature: double Digamma(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - IT
    - IT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: sentencepiece::unigram::ToLogProb
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - std::log
    linkageType: ''
    returnType: void
    signature: void ToLogProb(IT begin, IT end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BoundedPriorityQueue(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:82,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Gc
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - score
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Push
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Gc
    - size
    linkageType: ''
    returnType: void
    signature: void Push(const std::string& key, int64_t score)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:91,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:93,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:95,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Get
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - std::vector::size
    - std::move
    - clear
    - std::vector::emplace_back
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int64_t>>
    signature: std::vector<std::pair<std::string, int64_t>> Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:104,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:108,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:109,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: emplace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Gc
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 4
    functionsReached:
    - LOG
    - emplace
    - std::min
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    - clear
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: void
    signature: void Gc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:118,1
    - Dst: begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' agenda'
    argTypes:
    - std::vector<std::pair<std::string, int64_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Sort
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 8
    functionsReached:
    - std::sort
    - end
    - std::forward_as_tuple
    - begin
    - first::size
    linkageType: ''
    returnType: void
    signature: void Sort(std::vector<std::pair<std::string, int64_t>>& agenda)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: sentencepiece::unigram::TrainerModel::TrainerModel
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TrainerModel::TrainerModel(const TrainerSpec& trainer_spec,\n
      \                          const NormalizerSpec& normalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: TrainerModel::~TrainerModel()
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerModel::~TrainerModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: '& TrainerModel::GetSentencePieces() const'
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: TrainerModel::SentencePieces & TrainerModel::GetSentencePieces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:143,1
    - Dst: Clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:146,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:150,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:153,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:153,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:154,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:155,1
    - Dst: add_pieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:156,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:157,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:157,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:157,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:158,1
    - Dst: BuildTrie
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:161,1
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' sentencepieces'
    argTypes:
    - SentencePieces
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: sentencepiece::unigram::TrainerModel::SetSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::min
    - auto*::set_piece
    - Clear
    - absl::string_view::data
    - add_pieces
    - status
    - std::move
    - std::vector::emplace_back
    - std::isnan
    - absl::string_view::size
    - auto*::set_score
    - RET_CHECK
    - BuildTrie
    - size
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerModel::SetSentencePieces(SentencePieces&& sentencepieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: train_extremely_large_corpus
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:166,1
    - Dst: sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:167,1
    - Dst: sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: sentencepiece::unigram::Trainer::MakeSeedSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 1
    functionsReached:
    - train_extremely_large_corpus
    - sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: TrainerModel::SentencePieces Trainer::MakeSeedSentencePieces()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:174,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:174,1
    - Dst: sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:180,1
    - Dst: auto*::PreTokenize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:185,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:187,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:189,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:192,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:197,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:198,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:199,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:200,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:202,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:205,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:208,1
    - Dst: input_format
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:215,1
    - Dst: pretokenize_or_rewrite
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:218,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:220,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:222,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:225,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:232,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:233,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:239,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:240,1
    - Dst: seed_sentencepieces_file
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:243,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:244,1
    - Dst: seed_sentencepieces_file
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:245,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:249,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:250,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:251,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:252,1
    - Dst: absl::SimpleAtoi
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:256,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:257,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:260,1
    - Dst: IsValidSentencePiece
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:261,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:266,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:266,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:267,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:268,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:268,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:273,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:276,1
    - Dst: TrainerModel::SentencePieces::resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:277,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:277,1
    - Dst: seed_sentencepiece_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:278,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:278,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:280,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:280,1
    - Dst: CHECK_LE
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:283,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:283,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:284,1
    - Dst: std::numeric_limits<node_int_type>::max
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:284,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:286,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:297,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: esaxx
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:299,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:301,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:304,1
    - Dst: seed_sentencepiece_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:304,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:309,1
    - Dst: SplitIntoWords
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:310,1
    - Dst: treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:310,1
    - Dst: allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:311,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:319,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:319,1
    - Dst: std::find
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:329,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:332,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:334,1
    - Dst: split_into_pieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:335,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:336,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:337,1
    - Dst: IsValidSentencePiece
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:337,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:340,1
    - Dst: BoundedPriorityQueue::Push
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:341,1
    - Dst: std::string
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:341,1
    - Dst: BoundedPriorityQueue::Get
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:346,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:347,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:347,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:348,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:348,1
    - Dst: ToLogProb
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:352,1
    - Dst: TrainerModel::SentencePieces::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:352,1
    - Dst: TrainerModel::SentencePieces::end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:352,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:354,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:354,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 358
    functionName: sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 2
    functionsReached:
    - pretokenize_or_rewrite
    - TrainerModel::SentencePieces::emplace_back
    - TrainerModel::SentencePieces::resize
    - static_cast<size_t>
    - absl::SimpleAtoi
    - pretokenization_delimiter
    - TrainerModel::SentencePieces::end
    - treat_whitespace_as_suffix
    - BoundedPriorityQueue::Get
    - auto*::PreTokenize
    - UnicodeText::size
    - LOG
    - seed_sentencepieces_file
    - CHECK
    - BoundedPriorityQueue::Push
    - sentencepiece::filesystem::NewReadableFile
    - sentencepiece::string_util::UnicodeTextToUTF8
    - std::string
    - empty
    - Sorted
    - std::vector::begin
    - sentencepiece::string_util::UTF8ToUnicodeText
    - ToLogProb
    - seed_sentencepiece_size
    - auto::ReadLine
    - CHECK_EQ
    - esaxx
    - allow_whitespace_only_pieces
    - std::vector::size
    - std::numeric_limits<node_int_type>::max
    - absl::StrSplit
    - sentencepiece::string_util::UnicodeCharToUTF8
    - sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
    - sentencepiece::port::ContainsKey
    - CHECK_LE
    - TrainerModel::SentencePieces::begin
    - TrainerModel::SentencePieces::size
    - split_by_whitespace
    - absl::StrReplaceAll
    - IsValidSentencePiece
    - split_into_pieces
    - input_format
    - SplitIntoWords
    - std::find
    - std::vector::push_back
    - std::move
    - std::min<size_t>
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: TrainerModel::SentencePieces Trainer::MakeSeedSentencePiecesInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:362,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:363,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:364,1
    - Dst: std::make_unique<ThreadPool>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:366,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:366,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:374,1
    - Dst: auto::Schedule
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:375,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:377,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:377,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:378,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:379,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:382,1
    - Dst: PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:383,1
    - Dst: Lattice::PopulateMarginal
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:384,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:385,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:385,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:386,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:386,1
    - Dst: auto::reset
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:392,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:395,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:398,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:405,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - ' model'
    - obj
    - num_tokens
    argTypes:
    - TrainerModel
    - float*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 408
    functionName: sentencepiece::unigram::Trainer::RunEStep
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 1
    functionsReached:
    - resize
    - Lattice::SetSentence
    - CHECK
    - std::make_unique<ThreadPool>
    - num_threads
    - auto::Schedule
    - GetPieceSize
    - Lattice::PopulateMarginal
    - auto::reset
    - PopulateNodes
    - std::isnan
    - Lattice::Viterbi
    - size
    linkageType: ''
    returnType: std::vector<float>
    signature: "std::vector<float> Trainer::RunEStep(const TrainerModel& model, float*
      obj,\n                                     int64_t* num_tokens) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:412,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:413,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:413,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:413,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:417,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:426,1
    - Dst: Digamma
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:434,1
    - Dst: Digamma
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' model'
    - ' expected'
    argTypes:
    - TrainerModel
    - std::vector<float>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 440
    functionName: sentencepiece::unigram::Trainer::RunMStep
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 1
    functionsReached:
    - CHECK_EQ
    - Digamma
    - TrainerModel::SentencePieces::emplace_back
    - GetSentencePieces
    - size
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: "TrainerModel::SentencePieces Trainer::RunMStep(\n    const TrainerModel&
      model, const std::vector<float>& expected) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:444,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:447,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:448,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:455,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:457,1
    - Dst: PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:458,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:459,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:460,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:464,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:467,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:470,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:477,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:479,1
    - Dst: std::make_unique<ThreadPool>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:481,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:481,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:482,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:483,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:483,1
    - Dst: auto::Schedule
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:485,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:487,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:488,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:490,1
    - Dst: PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:491,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:492,1
    - Dst: auto::reset
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:500,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:502,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:503,1
    - Dst: std::accumulate
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:509,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:509,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:509,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:510,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:510,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:519,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:523,1
    - Dst: TrainerModel::SentencePieces::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:525,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:528,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:528,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:534,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:535,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:535,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:541,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:541,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:547,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:552,1
    - Dst: shrinking_factor
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:553,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:553,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:557,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:558,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:558,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:561,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - TrainerModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 565
    functionName: sentencepiece::unigram::Trainer::PruneSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 1
    functionsReached:
    - TrainerModel::SentencePieces::emplace_back
    - std::accumulate
    - first::size
    - static_cast<size_t>
    - Lattice::SetSentence
    - empty
    - Sorted
    - std::vector::begin
    - size
    - resize
    - auto::Schedule
    - static_cast<double>
    - std::vector::emplace_back
    - GetSentencePieces
    - Lattice::Viterbi
    - TrainerModel::SentencePieces::size
    - Lattice::NBest
    - shrinking_factor
    - std::log
    - std::make_unique<ThreadPool>
    - std::max<int>
    - num_threads
    - auto::size
    - auto::reset
    - PopulateNodes
    - TrainerModel::SentencePieces::push_back
    - std::vector::end
    - push_back
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: "TrainerModel::SentencePieces Trainer::PruneSentencePieces(\n    const
      TrainerModel& model) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:569,1
    - Dst: begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:571,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:572,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:577,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:578,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:579,1
    - Dst: min_score
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:585,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:590,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:590,1
    - Dst: CHECK_GT
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:591,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:594,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:595,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:598,1
    - Dst: absl::flat_hash_map::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:598,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:604,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - TrainerModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 605
    functionName: sentencepiece::unigram::Trainer::FinalizeSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 1
    functionsReached:
    - min_score
    - size
    - CHECK_GT
    - end
    - begin
    - static_cast<size_t>
    - sentencepiece::string_util::UnicodeCharToUTF8
    - Sorted
    - sentencepiece::port::ContainsKey
    - GetSentencePieces
    - absl::flat_hash_map::size
    - vocab_size
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: "TrainerModel::SentencePieces Trainer::FinalizeSentencePieces(\n    const
      TrainerModel& model) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:608,1
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:608,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:610,1
    - Dst: model_type
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:610,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:611,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:611,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:615,1
    - Dst: TrainerModel::status
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:615,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:616,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:616,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:617,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:617,1
    - Dst: sentencepiece::unigram::Trainer::MakeSeedSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:619,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:620,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:620,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:622,1
    - Dst: TrainerModel::SetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:622,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:622,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:624,1
    - Dst: SplitSentencesByWhitespace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:625,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:628,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:628,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:630,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:630,1
    - Dst: num_sub_iterations
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:634,1
    - Dst: sentencepiece::unigram::Trainer::RunEStep
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:638,1
    - Dst: sentencepiece::unigram::Trainer::RunMStep
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:641,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:642,1
    - Dst: TrainerModel::SetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:642,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:642,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:644,1
    - Dst: TrainerModel::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:644,1
    - Dst: TrainerModel::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:647,1
    - Dst: TrainerModel::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:652,1
    - Dst: sentencepiece::unigram::Trainer::PruneSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:657,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:658,1
    - Dst: TrainerModel::SetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:658,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:658,1
    - Dst: sentencepiece::unigram::Trainer::FinalizeSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:662,1
    - Dst: Save
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 607
    functionDepth: 3
    functionLinenumber: 607
    functionLinenumberEnd: 665
    functionName: sentencepiece::unigram::Trainer::Train
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - Save
    - sentencepiece::unigram::Trainer::RunMStep
    - static_cast<size_t>
    - TrainerModel::SetSentencePieces
    - vocab_size
    - LOG
    - sentencepiece::unigram::Trainer::MakeSeedSentencePieces
    - SplitSentencesByWhitespace
    - empty
    - RETURN_IF_ERROR
    - status
    - RET_CHECK
    - sentencepiece::unigram::Trainer::FinalizeSentencePieces
    - size
    - sentencepiece::unigram::Trainer::PruneSentencePieces
    - RET_CHECK_EQ
    - split_by_whitespace
    - escape_whitespaces
    - LoadSentences
    - TrainerModel::GetPieceSize
    - auto::empty
    - std::move
    - sentencepiece::unigram::Trainer::RunEStep
    - TrainerModel::status
    - num_sub_iterations
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::Train()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: sentencepiece::unigram::Digamma
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::log
    linkageType: ''
    returnType: double
    signature: double Digamma(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - IT
    - IT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: sentencepiece::unigram::ToLogProb
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - std::log
    linkageType: ''
    returnType: void
    signature: void ToLogProb(IT begin, IT end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BoundedPriorityQueue(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:82,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Gc
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - score
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Push
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Gc
    - size
    linkageType: ''
    returnType: void
    signature: void Push(const std::string& key, int64_t score)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:91,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:93,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:95,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Get
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - std::vector::size
    - std::move
    - clear
    - std::vector::emplace_back
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int64_t>>
    signature: std::vector<std::pair<std::string, int64_t>> Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:104,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:108,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:109,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: emplace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Gc
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 5
    functionsReached:
    - LOG
    - emplace
    - std::min
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    - clear
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: void
    signature: void Gc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:118,1
    - Dst: begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' agenda'
    argTypes:
    - std::vector<std::pair<std::string, int64_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Sort
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 10
    functionsReached:
    - std::sort
    - end
    - std::forward_as_tuple
    - begin
    - first::size
    linkageType: ''
    returnType: void
    signature: void Sort(std::vector<std::pair<std::string, int64_t>>& agenda)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: sentencepiece::unigram::Digamma
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::log
    linkageType: ''
    returnType: double
    signature: double Digamma(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - IT
    - IT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: sentencepiece::unigram::ToLogProb
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - std::log
    linkageType: ''
    returnType: void
    signature: void ToLogProb(IT begin, IT end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BoundedPriorityQueue(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:82,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Gc
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - score
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Push
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Gc
    - size
    linkageType: ''
    returnType: void
    signature: void Push(const std::string& key, int64_t score)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:91,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:93,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:95,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Get
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - std::vector::size
    - std::move
    - clear
    - std::vector::emplace_back
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int64_t>>
    signature: std::vector<std::pair<std::string, int64_t>> Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:104,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:108,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:109,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: emplace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Gc
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 6
    functionsReached:
    - LOG
    - emplace
    - std::min
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    - clear
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: void
    signature: void Gc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:118,1
    - Dst: begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' agenda'
    argTypes:
    - std::vector<std::pair<std::string, int64_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Sort
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 12
    functionsReached:
    - std::sort
    - end
    - std::forward_as_tuple
    - begin
    - first::size
    linkageType: ''
    returnType: void
    signature: void Sort(std::vector<std::pair<std::string, int64_t>>& agenda)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: sentencepiece::unigram::TrainerModel::TrainerModel
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TrainerModel::TrainerModel(const TrainerSpec& trainer_spec,\n
      \                          const NormalizerSpec& normalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: TrainerModel::~TrainerModel()
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerModel::~TrainerModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: '& TrainerModel::GetSentencePieces() const'
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: TrainerModel::SentencePieces & TrainerModel::GetSentencePieces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:143,1
    - Dst: Clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:146,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:150,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:153,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:153,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:154,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:155,1
    - Dst: add_pieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:156,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:157,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:157,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:157,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:158,1
    - Dst: BuildTrie
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:161,1
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' sentencepieces'
    argTypes:
    - SentencePieces
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: sentencepiece::unigram::TrainerModel::SetSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::min
    - auto*::set_piece
    - Clear
    - absl::string_view::data
    - add_pieces
    - status
    - std::move
    - std::vector::emplace_back
    - std::isnan
    - absl::string_view::size
    - auto*::set_score
    - RET_CHECK
    - BuildTrie
    - size
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerModel::SetSentencePieces(SentencePieces&& sentencepieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: train_extremely_large_corpus
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:166,1
    - Dst: sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:167,1
    - Dst: sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: sentencepiece::unigram::Trainer::MakeSeedSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 2
    functionsReached:
    - train_extremely_large_corpus
    - sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: TrainerModel::SentencePieces Trainer::MakeSeedSentencePieces()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:174,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:174,1
    - Dst: sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:180,1
    - Dst: auto*::PreTokenize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:185,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:187,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:189,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:192,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:197,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:198,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:199,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:200,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:202,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:205,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:208,1
    - Dst: input_format
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:215,1
    - Dst: pretokenize_or_rewrite
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:218,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:220,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:222,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:225,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:232,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:233,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:239,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:240,1
    - Dst: seed_sentencepieces_file
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:243,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:244,1
    - Dst: seed_sentencepieces_file
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:245,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:249,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:250,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:251,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:252,1
    - Dst: absl::SimpleAtoi
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:256,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:257,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:260,1
    - Dst: IsValidSentencePiece
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:261,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:266,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:266,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:267,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:268,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:268,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:273,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:276,1
    - Dst: TrainerModel::SentencePieces::resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:277,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:277,1
    - Dst: seed_sentencepiece_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:278,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:278,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:280,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:280,1
    - Dst: CHECK_LE
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:283,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:283,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:284,1
    - Dst: std::numeric_limits<node_int_type>::max
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:284,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:286,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:297,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: esaxx
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:299,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:301,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:304,1
    - Dst: seed_sentencepiece_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:304,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:309,1
    - Dst: SplitIntoWords
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:310,1
    - Dst: treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:310,1
    - Dst: allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:311,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:319,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:319,1
    - Dst: std::find
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:329,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:332,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:334,1
    - Dst: split_into_pieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:335,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:336,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:337,1
    - Dst: IsValidSentencePiece
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:337,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:340,1
    - Dst: BoundedPriorityQueue::Push
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:341,1
    - Dst: std::string
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:341,1
    - Dst: BoundedPriorityQueue::Get
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:346,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:347,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:347,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:348,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:348,1
    - Dst: ToLogProb
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:352,1
    - Dst: TrainerModel::SentencePieces::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:352,1
    - Dst: TrainerModel::SentencePieces::end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:352,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:354,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:354,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 358
    functionName: sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 3
    functionsReached:
    - pretokenize_or_rewrite
    - TrainerModel::SentencePieces::emplace_back
    - TrainerModel::SentencePieces::resize
    - static_cast<size_t>
    - absl::SimpleAtoi
    - pretokenization_delimiter
    - TrainerModel::SentencePieces::end
    - treat_whitespace_as_suffix
    - BoundedPriorityQueue::Get
    - auto*::PreTokenize
    - UnicodeText::size
    - LOG
    - seed_sentencepieces_file
    - CHECK
    - BoundedPriorityQueue::Push
    - sentencepiece::filesystem::NewReadableFile
    - sentencepiece::string_util::UnicodeTextToUTF8
    - std::string
    - empty
    - Sorted
    - std::vector::begin
    - sentencepiece::string_util::UTF8ToUnicodeText
    - ToLogProb
    - seed_sentencepiece_size
    - auto::ReadLine
    - CHECK_EQ
    - esaxx
    - allow_whitespace_only_pieces
    - std::vector::size
    - std::numeric_limits<node_int_type>::max
    - absl::StrSplit
    - sentencepiece::string_util::UnicodeCharToUTF8
    - sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
    - sentencepiece::port::ContainsKey
    - CHECK_LE
    - TrainerModel::SentencePieces::begin
    - TrainerModel::SentencePieces::size
    - split_by_whitespace
    - absl::StrReplaceAll
    - IsValidSentencePiece
    - split_into_pieces
    - input_format
    - SplitIntoWords
    - std::find
    - std::vector::push_back
    - std::move
    - std::min<size_t>
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: TrainerModel::SentencePieces Trainer::MakeSeedSentencePiecesInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:362,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:363,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:364,1
    - Dst: std::make_unique<ThreadPool>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:366,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:366,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:374,1
    - Dst: auto::Schedule
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:375,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:377,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:377,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:378,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:379,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:382,1
    - Dst: PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:383,1
    - Dst: Lattice::PopulateMarginal
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:384,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:385,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:385,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:386,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:386,1
    - Dst: auto::reset
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:392,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:395,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:398,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:405,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - ' model'
    - obj
    - num_tokens
    argTypes:
    - TrainerModel
    - float*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 408
    functionName: sentencepiece::unigram::Trainer::RunEStep
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 2
    functionsReached:
    - resize
    - Lattice::SetSentence
    - CHECK
    - std::make_unique<ThreadPool>
    - num_threads
    - auto::Schedule
    - GetPieceSize
    - Lattice::PopulateMarginal
    - auto::reset
    - PopulateNodes
    - std::isnan
    - Lattice::Viterbi
    - size
    linkageType: ''
    returnType: std::vector<float>
    signature: "std::vector<float> Trainer::RunEStep(const TrainerModel& model, float*
      obj,\n                                     int64_t* num_tokens) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:412,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:413,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:413,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:413,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:417,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:426,1
    - Dst: Digamma
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:434,1
    - Dst: Digamma
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' model'
    - ' expected'
    argTypes:
    - TrainerModel
    - std::vector<float>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 440
    functionName: sentencepiece::unigram::Trainer::RunMStep
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 2
    functionsReached:
    - CHECK_EQ
    - Digamma
    - TrainerModel::SentencePieces::emplace_back
    - GetSentencePieces
    - size
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: "TrainerModel::SentencePieces Trainer::RunMStep(\n    const TrainerModel&
      model, const std::vector<float>& expected) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:444,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:447,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:448,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:455,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:457,1
    - Dst: PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:458,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:459,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:460,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:464,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:467,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:470,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:477,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:479,1
    - Dst: std::make_unique<ThreadPool>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:481,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:481,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:482,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:483,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:483,1
    - Dst: auto::Schedule
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:485,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:487,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:488,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:490,1
    - Dst: PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:491,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:492,1
    - Dst: auto::reset
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:500,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:502,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:503,1
    - Dst: std::accumulate
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:509,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:509,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:509,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:510,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:510,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:519,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:523,1
    - Dst: TrainerModel::SentencePieces::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:525,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:528,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:528,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:534,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:535,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:535,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:541,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:541,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:547,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:552,1
    - Dst: shrinking_factor
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:553,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:553,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:557,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:558,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:558,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:561,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - TrainerModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 565
    functionName: sentencepiece::unigram::Trainer::PruneSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 2
    functionsReached:
    - TrainerModel::SentencePieces::emplace_back
    - std::accumulate
    - first::size
    - static_cast<size_t>
    - Lattice::SetSentence
    - empty
    - Sorted
    - std::vector::begin
    - size
    - resize
    - auto::Schedule
    - static_cast<double>
    - std::vector::emplace_back
    - GetSentencePieces
    - Lattice::Viterbi
    - TrainerModel::SentencePieces::size
    - Lattice::NBest
    - shrinking_factor
    - std::log
    - std::make_unique<ThreadPool>
    - std::max<int>
    - num_threads
    - auto::size
    - auto::reset
    - PopulateNodes
    - TrainerModel::SentencePieces::push_back
    - std::vector::end
    - push_back
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: "TrainerModel::SentencePieces Trainer::PruneSentencePieces(\n    const
      TrainerModel& model) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:569,1
    - Dst: begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:571,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:572,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:577,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:578,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:579,1
    - Dst: min_score
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:585,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:590,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:590,1
    - Dst: CHECK_GT
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:591,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:594,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:595,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:598,1
    - Dst: absl::flat_hash_map::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:598,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:604,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - TrainerModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 605
    functionName: sentencepiece::unigram::Trainer::FinalizeSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 2
    functionsReached:
    - min_score
    - size
    - CHECK_GT
    - end
    - begin
    - static_cast<size_t>
    - sentencepiece::string_util::UnicodeCharToUTF8
    - Sorted
    - sentencepiece::port::ContainsKey
    - GetSentencePieces
    - absl::flat_hash_map::size
    - vocab_size
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: "TrainerModel::SentencePieces Trainer::FinalizeSentencePieces(\n    const
      TrainerModel& model) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:608,1
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:608,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:610,1
    - Dst: model_type
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:610,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:611,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:611,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:615,1
    - Dst: TrainerModel::status
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:615,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:616,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:616,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:617,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:617,1
    - Dst: sentencepiece::unigram::Trainer::MakeSeedSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:619,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:620,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:620,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:622,1
    - Dst: TrainerModel::SetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:622,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:622,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:624,1
    - Dst: SplitSentencesByWhitespace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:625,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:628,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:628,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:630,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:630,1
    - Dst: num_sub_iterations
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:634,1
    - Dst: sentencepiece::unigram::Trainer::RunEStep
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:638,1
    - Dst: sentencepiece::unigram::Trainer::RunMStep
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:641,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:642,1
    - Dst: TrainerModel::SetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:642,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:642,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:644,1
    - Dst: TrainerModel::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:644,1
    - Dst: TrainerModel::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:647,1
    - Dst: TrainerModel::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:652,1
    - Dst: sentencepiece::unigram::Trainer::PruneSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:657,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:658,1
    - Dst: TrainerModel::SetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:658,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:658,1
    - Dst: sentencepiece::unigram::Trainer::FinalizeSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:662,1
    - Dst: Save
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 607
    functionDepth: 3
    functionLinenumber: 607
    functionLinenumberEnd: 665
    functionName: sentencepiece::unigram::Trainer::Train
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - Save
    - sentencepiece::unigram::Trainer::RunMStep
    - static_cast<size_t>
    - TrainerModel::SetSentencePieces
    - vocab_size
    - LOG
    - sentencepiece::unigram::Trainer::MakeSeedSentencePieces
    - SplitSentencesByWhitespace
    - empty
    - RETURN_IF_ERROR
    - status
    - RET_CHECK
    - sentencepiece::unigram::Trainer::FinalizeSentencePieces
    - size
    - sentencepiece::unigram::Trainer::PruneSentencePieces
    - RET_CHECK_EQ
    - split_by_whitespace
    - escape_whitespaces
    - LoadSentences
    - TrainerModel::GetPieceSize
    - auto::empty
    - std::move
    - sentencepiece::unigram::Trainer::RunEStep
    - TrainerModel::status
    - num_sub_iterations
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::Train()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: sentencepiece::unigram::Digamma
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::log
    linkageType: ''
    returnType: double
    signature: double Digamma(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - IT
    - IT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: sentencepiece::unigram::ToLogProb
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - std::log
    linkageType: ''
    returnType: void
    signature: void ToLogProb(IT begin, IT end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BoundedPriorityQueue(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:82,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Gc
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - score
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Push
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Gc
    - size
    linkageType: ''
    returnType: void
    signature: void Push(const std::string& key, int64_t score)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:91,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:93,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:95,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Get
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - std::vector::size
    - std::move
    - clear
    - std::vector::emplace_back
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int64_t>>
    signature: std::vector<std::pair<std::string, int64_t>> Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:104,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:108,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:109,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: emplace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Gc
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 7
    functionsReached:
    - LOG
    - emplace
    - std::min
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    - clear
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: void
    signature: void Gc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:118,1
    - Dst: begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' agenda'
    argTypes:
    - std::vector<std::pair<std::string, int64_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Sort
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 14
    functionsReached:
    - std::sort
    - end
    - std::forward_as_tuple
    - begin
    - first::size
    linkageType: ''
    returnType: void
    signature: void Sort(std::vector<std::pair<std::string, int64_t>>& agenda)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: sentencepiece::unigram::Digamma
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::log
    linkageType: ''
    returnType: double
    signature: double Digamma(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:66,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - IT
    - IT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: sentencepiece::unigram::ToLogProb
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - static_cast<double>
    - std::log
    linkageType: ''
    returnType: void
    signature: void ToLogProb(IT begin, IT end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BoundedPriorityQueue(size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:82,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Gc
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - score
    argTypes:
    - std::string
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Push
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Gc
    - size
    linkageType: ''
    returnType: void
    signature: void Push(const std::string& key, int64_t score)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:89,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:90,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:91,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:93,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:95,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Get
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::vector::resize
    - std::vector::size
    - std::move
    - clear
    - std::vector::emplace_back
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int64_t>>
    signature: std::vector<std::pair<std::string, int64_t>> Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:104,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:106,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:107,1
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:108,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:109,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:111,1
    - Dst: emplace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Gc
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 8
    functionsReached:
    - LOG
    - emplace
    - std::min
    - std::vector::size
    - std::move
    - std::vector::emplace_back
    - clear
    - sentencepiece::unigram::BoundedPriorityQueue::Sort
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: void
    signature: void Gc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:118,1
    - Dst: begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:119,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:121,1
    - Dst: std::forward_as_tuple
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' agenda'
    argTypes:
    - std::vector<std::pair<std::string, int64_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: sentencepiece::unigram::BoundedPriorityQueue::Sort
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 16
    functionsReached:
    - std::sort
    - end
    - std::forward_as_tuple
    - begin
    - first::size
    linkageType: ''
    returnType: void
    signature: void Sort(std::vector<std::pair<std::string, int64_t>>& agenda)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: sentencepiece::unigram::TrainerModel::TrainerModel
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TrainerModel::TrainerModel(const TrainerSpec& trainer_spec,\n
      \                          const NormalizerSpec& normalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: TrainerModel::~TrainerModel()
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerModel::~TrainerModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: '& TrainerModel::GetSentencePieces() const'
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: TrainerModel::SentencePieces & TrainerModel::GetSentencePieces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:143,1
    - Dst: Clear
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:146,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:150,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:153,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:153,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:154,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:155,1
    - Dst: add_pieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:156,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:157,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:157,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:157,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:158,1
    - Dst: BuildTrie
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:161,1
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ' sentencepieces'
    argTypes:
    - SentencePieces
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: sentencepiece::unigram::TrainerModel::SetSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - std::min
    - auto*::set_piece
    - Clear
    - absl::string_view::data
    - add_pieces
    - status
    - std::move
    - std::vector::emplace_back
    - std::isnan
    - absl::string_view::size
    - auto*::set_score
    - RET_CHECK
    - BuildTrie
    - size
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerModel::SetSentencePieces(SentencePieces&& sentencepieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: train_extremely_large_corpus
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:166,1
    - Dst: sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:167,1
    - Dst: sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: sentencepiece::unigram::Trainer::MakeSeedSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 3
    functionsReached:
    - train_extremely_large_corpus
    - sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: TrainerModel::SentencePieces Trainer::MakeSeedSentencePieces()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:174,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:174,1
    - Dst: sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:180,1
    - Dst: auto*::PreTokenize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:185,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:186,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:187,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:189,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:192,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:197,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:198,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:199,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:200,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:202,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:205,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:208,1
    - Dst: input_format
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:215,1
    - Dst: pretokenize_or_rewrite
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:218,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:220,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:222,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:225,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:232,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:233,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:239,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:240,1
    - Dst: seed_sentencepieces_file
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:243,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:244,1
    - Dst: seed_sentencepieces_file
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:245,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:249,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:250,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:251,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:252,1
    - Dst: absl::SimpleAtoi
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:256,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:257,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:260,1
    - Dst: IsValidSentencePiece
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:261,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:266,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:266,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:267,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:268,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:268,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:273,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:276,1
    - Dst: TrainerModel::SentencePieces::resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:277,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:277,1
    - Dst: seed_sentencepiece_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:278,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:278,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:280,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:280,1
    - Dst: CHECK_LE
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:283,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:283,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:284,1
    - Dst: std::numeric_limits<node_int_type>::max
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:284,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:286,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:297,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: esaxx
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:298,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:299,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:301,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:304,1
    - Dst: seed_sentencepiece_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:304,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:309,1
    - Dst: SplitIntoWords
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:310,1
    - Dst: treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:310,1
    - Dst: allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:311,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:319,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:319,1
    - Dst: std::find
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:329,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:332,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:334,1
    - Dst: split_into_pieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:335,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:336,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:337,1
    - Dst: IsValidSentencePiece
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:337,1
    - Dst: UnicodeText::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:340,1
    - Dst: BoundedPriorityQueue::Push
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:341,1
    - Dst: std::string
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:341,1
    - Dst: BoundedPriorityQueue::Get
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:346,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:347,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:347,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:348,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:348,1
    - Dst: ToLogProb
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:352,1
    - Dst: TrainerModel::SentencePieces::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:352,1
    - Dst: TrainerModel::SentencePieces::end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:352,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:354,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:354,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 358
    functionName: sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 4
    functionsReached:
    - pretokenize_or_rewrite
    - TrainerModel::SentencePieces::emplace_back
    - TrainerModel::SentencePieces::resize
    - static_cast<size_t>
    - absl::SimpleAtoi
    - pretokenization_delimiter
    - TrainerModel::SentencePieces::end
    - treat_whitespace_as_suffix
    - BoundedPriorityQueue::Get
    - auto*::PreTokenize
    - UnicodeText::size
    - LOG
    - seed_sentencepieces_file
    - CHECK
    - BoundedPriorityQueue::Push
    - sentencepiece::filesystem::NewReadableFile
    - sentencepiece::string_util::UnicodeTextToUTF8
    - std::string
    - empty
    - Sorted
    - std::vector::begin
    - sentencepiece::string_util::UTF8ToUnicodeText
    - ToLogProb
    - seed_sentencepiece_size
    - auto::ReadLine
    - CHECK_EQ
    - esaxx
    - allow_whitespace_only_pieces
    - std::vector::size
    - std::numeric_limits<node_int_type>::max
    - absl::StrSplit
    - sentencepiece::string_util::UnicodeCharToUTF8
    - sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
    - sentencepiece::port::ContainsKey
    - CHECK_LE
    - TrainerModel::SentencePieces::begin
    - TrainerModel::SentencePieces::size
    - split_by_whitespace
    - absl::StrReplaceAll
    - IsValidSentencePiece
    - split_into_pieces
    - input_format
    - SplitIntoWords
    - std::find
    - std::vector::push_back
    - std::move
    - std::min<size_t>
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: TrainerModel::SentencePieces Trainer::MakeSeedSentencePiecesInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:362,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:363,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:364,1
    - Dst: std::make_unique<ThreadPool>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:366,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:366,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:374,1
    - Dst: auto::Schedule
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:375,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:377,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:377,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:378,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:379,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:382,1
    - Dst: PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:383,1
    - Dst: Lattice::PopulateMarginal
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:384,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:385,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:385,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:386,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:386,1
    - Dst: auto::reset
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:392,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:395,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:398,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:405,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - ' model'
    - obj
    - num_tokens
    argTypes:
    - TrainerModel
    - float*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 408
    functionName: sentencepiece::unigram::Trainer::RunEStep
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 3
    functionsReached:
    - resize
    - Lattice::SetSentence
    - CHECK
    - std::make_unique<ThreadPool>
    - num_threads
    - auto::Schedule
    - GetPieceSize
    - Lattice::PopulateMarginal
    - auto::reset
    - PopulateNodes
    - std::isnan
    - Lattice::Viterbi
    - size
    linkageType: ''
    returnType: std::vector<float>
    signature: "std::vector<float> Trainer::RunEStep(const TrainerModel& model, float*
      obj,\n                                     int64_t* num_tokens) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:412,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:413,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:413,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:413,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:417,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:426,1
    - Dst: Digamma
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:434,1
    - Dst: Digamma
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' model'
    - ' expected'
    argTypes:
    - TrainerModel
    - std::vector<float>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 440
    functionName: sentencepiece::unigram::Trainer::RunMStep
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 3
    functionsReached:
    - CHECK_EQ
    - Digamma
    - TrainerModel::SentencePieces::emplace_back
    - GetSentencePieces
    - size
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: "TrainerModel::SentencePieces Trainer::RunMStep(\n    const TrainerModel&
      model, const std::vector<float>& expected) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:444,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:447,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:448,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:455,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:457,1
    - Dst: PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:458,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:459,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:460,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:464,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:467,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:470,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:477,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:479,1
    - Dst: std::make_unique<ThreadPool>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:481,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:481,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:482,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:483,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:483,1
    - Dst: auto::Schedule
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:485,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:487,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:488,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:490,1
    - Dst: PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:491,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:492,1
    - Dst: auto::reset
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:500,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:502,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:503,1
    - Dst: std::accumulate
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:509,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:509,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:509,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:510,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:510,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:519,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:523,1
    - Dst: TrainerModel::SentencePieces::push_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:525,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:528,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:528,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:534,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:535,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:535,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:541,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:541,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:547,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:552,1
    - Dst: shrinking_factor
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:553,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:553,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:557,1
    - Dst: TrainerModel::SentencePieces::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:558,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:558,1
    - Dst: TrainerModel::SentencePieces::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:561,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - TrainerModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 565
    functionName: sentencepiece::unigram::Trainer::PruneSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 3
    functionsReached:
    - TrainerModel::SentencePieces::emplace_back
    - std::accumulate
    - first::size
    - static_cast<size_t>
    - Lattice::SetSentence
    - empty
    - Sorted
    - std::vector::begin
    - size
    - resize
    - auto::Schedule
    - static_cast<double>
    - std::vector::emplace_back
    - GetSentencePieces
    - Lattice::Viterbi
    - TrainerModel::SentencePieces::size
    - Lattice::NBest
    - shrinking_factor
    - std::log
    - std::make_unique<ThreadPool>
    - std::max<int>
    - num_threads
    - auto::size
    - auto::reset
    - PopulateNodes
    - TrainerModel::SentencePieces::push_back
    - std::vector::end
    - push_back
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: "TrainerModel::SentencePieces Trainer::PruneSentencePieces(\n    const
      TrainerModel& model) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:569,1
    - Dst: begin
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:571,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:572,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:577,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:578,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:579,1
    - Dst: min_score
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:585,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:590,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:590,1
    - Dst: CHECK_GT
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:591,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:594,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:595,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:598,1
    - Dst: absl::flat_hash_map::size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:598,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:604,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - ' model'
    argTypes:
    - TrainerModel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 605
    functionName: sentencepiece::unigram::Trainer::FinalizeSentencePieces
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 3
    functionsReached:
    - min_score
    - size
    - CHECK_GT
    - end
    - begin
    - static_cast<size_t>
    - sentencepiece::string_util::UnicodeCharToUTF8
    - Sorted
    - sentencepiece::port::ContainsKey
    - GetSentencePieces
    - absl::flat_hash_map::size
    - vocab_size
    linkageType: ''
    returnType: TrainerModel::SentencePieces
    signature: "TrainerModel::SentencePieces Trainer::FinalizeSentencePieces(\n    const
      TrainerModel& model) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:608,1
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:608,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:610,1
    - Dst: model_type
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:610,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:611,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:611,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:615,1
    - Dst: TrainerModel::status
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:615,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:616,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:616,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:617,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:617,1
    - Dst: sentencepiece::unigram::Trainer::MakeSeedSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:619,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:620,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:620,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:622,1
    - Dst: TrainerModel::SetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:622,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:622,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:624,1
    - Dst: SplitSentencesByWhitespace
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:625,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:628,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:628,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:630,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:630,1
    - Dst: num_sub_iterations
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:634,1
    - Dst: sentencepiece::unigram::Trainer::RunEStep
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:638,1
    - Dst: sentencepiece::unigram::Trainer::RunMStep
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:641,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:642,1
    - Dst: TrainerModel::SetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:642,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:642,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:644,1
    - Dst: TrainerModel::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:644,1
    - Dst: TrainerModel::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:647,1
    - Dst: TrainerModel::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:652,1
    - Dst: sentencepiece::unigram::Trainer::PruneSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:657,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:658,1
    - Dst: TrainerModel::SetSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:658,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:658,1
    - Dst: sentencepiece::unigram::Trainer::FinalizeSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:662,1
    - Dst: Save
      Src: /src/sentencepiece/src/unigram_model_trainer.cc:664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 607
    functionDepth: 3
    functionLinenumber: 607
    functionLinenumberEnd: 665
    functionName: sentencepiece::unigram::Trainer::Train
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.cc
    functionUses: 0
    functionsReached:
    - Save
    - sentencepiece::unigram::Trainer::RunMStep
    - static_cast<size_t>
    - TrainerModel::SetSentencePieces
    - vocab_size
    - LOG
    - sentencepiece::unigram::Trainer::MakeSeedSentencePieces
    - SplitSentencesByWhitespace
    - empty
    - RETURN_IF_ERROR
    - status
    - RET_CHECK
    - sentencepiece::unigram::Trainer::FinalizeSentencePieces
    - size
    - sentencepiece::unigram::Trainer::PruneSentencePieces
    - RET_CHECK_EQ
    - split_by_whitespace
    - escape_whitespaces
    - LoadSentences
    - TrainerModel::GetPieceSize
    - auto::empty
    - std::move
    - sentencepiece::unigram::Trainer::RunEStep
    - TrainerModel::status
    - num_sub_iterations
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::Train()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sentencepiece::pretokenizer::MockPretokenizer::MockPretokenizer
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockPretokenizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~MockPretokenizer()
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockPretokenizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: sentencepiece::pretokenizer::MockPretokenizer::Tokenize
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SentencePieceText
    signature: SentencePieceText Tokenize(absl::string_view text) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sentencepiece::pretokenizer::MockPretokenizer::status
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' spt'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: sentencepiece::pretokenizer::MockPretokenizer::SetOutput
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOutput(const SentencePieceText& spt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText::set_text
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:49,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:50,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:51,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:52,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:53,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:55,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:56,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:57,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:58,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:60,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:61,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:62,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:63,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:65,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:66,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:67,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:68,1
    - Dst: MockPretokenizer::SetOutput
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:70,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:75,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:76,1
    - Dst: MockPretokenizer::PreTokenize
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:76,1
    - Dst: SentencePieceText::set_text
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:81,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:82,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:83,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:84,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:85,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:87,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:88,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:89,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:90,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:92,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:93,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:94,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:95,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:97,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:98,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:99,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:100,1
    - Dst: MockPretokenizer::SetOutput
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:105,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:106,1
    - Dst: MockPretokenizer::PreTokenize
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 108
    functionName: sentencepiece::pretokenizer::TEST
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_begin
    - auto*::set_surface
    - MockPretokenizer::PreTokenize
    - SentencePieceText::add_pieces
    - EXPECT_EQ
    - google::protobuf::StrCat
    - auto*::set_end
    - absl::StrJoin
    - SentencePieceText::set_text
    - MockPretokenizer::SetOutput
    linkageType: ''
    returnType: void
    signature: void TEST(PretokenizerForTrainingTest, BaseTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sentencepiece::pretokenizer::MockPretokenizer::MockPretokenizer
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockPretokenizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~MockPretokenizer()
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockPretokenizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: sentencepiece::pretokenizer::MockPretokenizer::Tokenize
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SentencePieceText
    signature: SentencePieceText Tokenize(absl::string_view text) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sentencepiece::pretokenizer::MockPretokenizer::status
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' spt'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: sentencepiece::pretokenizer::MockPretokenizer::SetOutput
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOutput(const SentencePieceText& spt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText::set_text
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:49,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:50,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:51,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:52,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:53,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:55,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:56,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:57,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:58,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:60,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:61,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:62,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:63,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:65,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:66,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:67,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:68,1
    - Dst: MockPretokenizer::SetOutput
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:70,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:75,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:76,1
    - Dst: MockPretokenizer::PreTokenize
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:76,1
    - Dst: SentencePieceText::set_text
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:81,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:82,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:83,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:84,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:85,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:87,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:88,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:89,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:90,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:92,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:93,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:94,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:95,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:97,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:98,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:99,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:100,1
    - Dst: MockPretokenizer::SetOutput
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:105,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:106,1
    - Dst: MockPretokenizer::PreTokenize
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 108
    functionName: sentencepiece::pretokenizer::TEST
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_begin
    - auto*::set_surface
    - MockPretokenizer::PreTokenize
    - SentencePieceText::add_pieces
    - EXPECT_EQ
    - google::protobuf::StrCat
    - auto*::set_end
    - absl::StrJoin
    - SentencePieceText::set_text
    - MockPretokenizer::SetOutput
    linkageType: ''
    returnType: void
    signature: void TEST(PretokenizerForTrainingTest, BaseTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sentencepiece::pretokenizer::MockPretokenizer::MockPretokenizer
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockPretokenizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~MockPretokenizer()
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockPretokenizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: sentencepiece::pretokenizer::MockPretokenizer::Tokenize
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SentencePieceText
    signature: SentencePieceText Tokenize(absl::string_view text) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sentencepiece::pretokenizer::MockPretokenizer::status
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' spt'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: sentencepiece::pretokenizer::MockPretokenizer::SetOutput
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOutput(const SentencePieceText& spt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText::set_text
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:49,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:50,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:51,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:52,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:53,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:55,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:56,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:57,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:58,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:60,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:61,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:62,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:63,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:65,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:66,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:67,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:68,1
    - Dst: MockPretokenizer::SetOutput
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:70,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:75,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:76,1
    - Dst: MockPretokenizer::PreTokenize
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:76,1
    - Dst: SentencePieceText::set_text
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:81,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:82,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:83,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:84,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:85,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:87,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:88,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:89,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:90,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:92,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:93,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:94,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:95,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:97,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:98,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:99,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:100,1
    - Dst: MockPretokenizer::SetOutput
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:105,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:106,1
    - Dst: MockPretokenizer::PreTokenize
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 108
    functionName: sentencepiece::pretokenizer::TEST
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_begin
    - auto*::set_surface
    - MockPretokenizer::PreTokenize
    - SentencePieceText::add_pieces
    - EXPECT_EQ
    - google::protobuf::StrCat
    - auto*::set_end
    - absl::StrJoin
    - SentencePieceText::set_text
    - MockPretokenizer::SetOutput
    linkageType: ''
    returnType: void
    signature: void TEST(PretokenizerForTrainingTest, BaseTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sentencepiece::pretokenizer::MockPretokenizer::MockPretokenizer
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockPretokenizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~MockPretokenizer()
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockPretokenizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: sentencepiece::pretokenizer::MockPretokenizer::Tokenize
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SentencePieceText
    signature: SentencePieceText Tokenize(absl::string_view text) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sentencepiece::pretokenizer::MockPretokenizer::status
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' spt'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: sentencepiece::pretokenizer::MockPretokenizer::SetOutput
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOutput(const SentencePieceText& spt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText::set_text
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:49,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:50,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:51,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:52,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:53,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:55,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:56,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:57,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:58,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:60,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:61,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:62,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:63,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:65,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:66,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:67,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:68,1
    - Dst: MockPretokenizer::SetOutput
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:70,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:75,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:76,1
    - Dst: MockPretokenizer::PreTokenize
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:76,1
    - Dst: SentencePieceText::set_text
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:81,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:82,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:83,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:84,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:85,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:87,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:88,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:89,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:90,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:92,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:93,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:94,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:95,1
    - Dst: SentencePieceText::add_pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:97,1
    - Dst: auto*::set_surface
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:98,1
    - Dst: auto*::set_begin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:99,1
    - Dst: auto*::set_end
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:100,1
    - Dst: MockPretokenizer::SetOutput
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:105,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:106,1
    - Dst: MockPretokenizer::PreTokenize
      Src: /src/sentencepiece/src/pretokenizer_for_training_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 108
    functionName: sentencepiece::pretokenizer::TEST
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_begin
    - auto*::set_surface
    - MockPretokenizer::PreTokenize
    - SentencePieceText::add_pieces
    - EXPECT_EQ
    - google::protobuf::StrCat
    - auto*::set_end
    - absl::StrJoin
    - SentencePieceText::set_text
    - MockPretokenizer::SetOutput
    linkageType: ''
    returnType: void
    signature: void TEST(PretokenizerForTrainingTest, BaseTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: sentencepiece::bpe::Trainer::Trainer
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Trainer(const TrainerSpec& trainer_spec,\n          const NormalizerSpec&
      normalizer_spec,\n          const NormalizerSpec& denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: sentencepiece::bpe::Trainer::IsBigram
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBigram() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sentencepiece::bpe::Trainer::Symbol
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Symbol()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_GE
      Src: /src/sentencepiece/src/bpe_model_trainer.h:86,1
    - Dst: CHECK_GE
      Src: /src/sentencepiece/src/bpe_model_trainer.h:87,1
    - Dst: CHECK_LE
      Src: /src/sentencepiece/src/bpe_model_trainer.h:88,1
    - Dst: std::numeric_limits<uint16_t>::max
      Src: /src/sentencepiece/src/bpe_model_trainer.h:88,1
    - Dst: CHECK_LE
      Src: /src/sentencepiece/src/bpe_model_trainer.h:89,1
    - Dst: std::numeric_limits<uint16_t>::max
      Src: /src/sentencepiece/src/bpe_model_trainer.h:89,1
    - Dst: static_cast<uint64_t>
      Src: /src/sentencepiece/src/bpe_model_trainer.h:90,1
    - Dst: static_cast<uint64_t>
      Src: /src/sentencepiece/src/bpe_model_trainer.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - sid
    - l
    - r
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: sentencepiece::bpe::Trainer::EncodePos
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.h
    functionUses: 0
    functionsReached:
    - std::numeric_limits<uint16_t>::max
    - static_cast<uint64_t>
    - CHECK_LE
    - CHECK_GE
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t EncodePos(int sid, int l, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: sentencepiece::bpe::Trainer::DecodePos
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Position
    signature: Position DecodePos(uint64_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: symbol::chars::size
      Src: /src/sentencepiece/src/bpe_model_trainer.h:143,1
    - Dst: symbol::chars::size
      Src: /src/sentencepiece/src/bpe_model_trainer.h:143,1
    - Dst: symbol::chars::size
      Src: /src/sentencepiece/src/bpe_model_trainer.h:144,1
    - Dst: symbol::chars::size
      Src: /src/sentencepiece/src/bpe_model_trainer.h:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' e1'
    - ' e2'
    argTypes:
    - QueueEntry
    - QueueEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: operator()(const QueueEntry& e1, const QueueEntry& e2) const
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.h
    functionUses: 0
    functionsReached:
    - symbol::chars::size
    linkageType: ''
    returnType: bool
    signature: bool operator()(const QueueEntry& e1, const QueueEntry& e2) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: sentencepiece::bpe::Trainer::Trainer
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Trainer(const TrainerSpec& trainer_spec,\n          const NormalizerSpec&
      normalizer_spec,\n          const NormalizerSpec& denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: sentencepiece::bpe::Trainer::IsBigram
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBigram() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sentencepiece::bpe::Trainer::Symbol
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Symbol()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_GE
      Src: /src/sentencepiece/src/bpe_model_trainer.h:86,1
    - Dst: CHECK_GE
      Src: /src/sentencepiece/src/bpe_model_trainer.h:87,1
    - Dst: CHECK_LE
      Src: /src/sentencepiece/src/bpe_model_trainer.h:88,1
    - Dst: std::numeric_limits<uint16_t>::max
      Src: /src/sentencepiece/src/bpe_model_trainer.h:88,1
    - Dst: CHECK_LE
      Src: /src/sentencepiece/src/bpe_model_trainer.h:89,1
    - Dst: std::numeric_limits<uint16_t>::max
      Src: /src/sentencepiece/src/bpe_model_trainer.h:89,1
    - Dst: static_cast<uint64_t>
      Src: /src/sentencepiece/src/bpe_model_trainer.h:90,1
    - Dst: static_cast<uint64_t>
      Src: /src/sentencepiece/src/bpe_model_trainer.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - sid
    - l
    - r
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: sentencepiece::bpe::Trainer::EncodePos
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.h
    functionUses: 0
    functionsReached:
    - std::numeric_limits<uint16_t>::max
    - static_cast<uint64_t>
    - CHECK_LE
    - CHECK_GE
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t EncodePos(int sid, int l, int r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: sentencepiece::bpe::Trainer::DecodePos
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Position
    signature: Position DecodePos(uint64_t n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: symbol::chars::size
      Src: /src/sentencepiece/src/bpe_model_trainer.h:143,1
    - Dst: symbol::chars::size
      Src: /src/sentencepiece/src/bpe_model_trainer.h:143,1
    - Dst: symbol::chars::size
      Src: /src/sentencepiece/src/bpe_model_trainer.h:144,1
    - Dst: symbol::chars::size
      Src: /src/sentencepiece/src/bpe_model_trainer.h:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' e1'
    - ' e2'
    argTypes:
    - QueueEntry
    - QueueEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: operator()(const QueueEntry& e1, const QueueEntry& e2) const
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.h
    functionUses: 0
    functionsReached:
    - symbol::chars::size
    linkageType: ''
    returnType: bool
    signature: bool operator()(const QueueEntry& e1, const QueueEntry& e2) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:62,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: sentencepiece::character::RunTrainer
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:74,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:76,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::character::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:62,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: sentencepiece::character::RunTrainer
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 1
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:74,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:76,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::character::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:62,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: sentencepiece::character::RunTrainer
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 2
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:74,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:76,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::character::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:62,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: sentencepiece::character::RunTrainer
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 3
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:74,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:76,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::character::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:62,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: sentencepiece::character::RunTrainer
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 4
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:74,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:76,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::character::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:62,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: sentencepiece::character::RunTrainer
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 5
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:74,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:76,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::character::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:62,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: sentencepiece::character::RunTrainer
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 6
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:74,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:76,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::character::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:60,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:62,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:66,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:67,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: sentencepiece::character::RunTrainer
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 7
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:74,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:76,1
    - Dst: sentencepiece::character::RunTrainer
      Src: /src/sentencepiece/src/char_model_trainer_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::character::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/char_model.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: sentencepiece::character::Model::Model
    functionSourceFile: /src/sentencepiece/src/char_model.cc
    functionUses: 0
    functionsReached:
    - InitializePieces
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/char_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/char_model.cc:31,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/char_model.cc:31,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/char_model.cc:37,1
    - Dst: PrefixMatch
      Src: /src/sentencepiece/src/char_model.cc:38,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/char_model.cc:39,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/char_model.cc:40,1
    - Dst: PieceToId
      Src: /src/sentencepiece/src/char_model.cc:40,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/char_model.cc:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: sentencepiece::character::Model::Encode
    functionSourceFile: /src/sentencepiece/src/char_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - absl::string_view::remove_prefix
    - PieceToId
    - absl::string_view::data
    - PrefixMatch
    - status
    - EncodeResult::emplace_back
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::Encode(absl::string_view normalized) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/char_model.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: sentencepiece::character::Model::Model
    functionSourceFile: /src/sentencepiece/src/char_model.cc
    functionUses: 0
    functionsReached:
    - InitializePieces
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/char_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/char_model.cc:31,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/char_model.cc:31,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/char_model.cc:37,1
    - Dst: PrefixMatch
      Src: /src/sentencepiece/src/char_model.cc:38,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/char_model.cc:39,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/char_model.cc:40,1
    - Dst: PieceToId
      Src: /src/sentencepiece/src/char_model.cc:40,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/char_model.cc:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: sentencepiece::character::Model::Encode
    functionSourceFile: /src/sentencepiece/src/char_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - absl::string_view::remove_prefix
    - PieceToId
    - absl::string_view::data
    - PrefixMatch
    - status
    - EncodeResult::emplace_back
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::Encode(absl::string_view normalized) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/char_model.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: sentencepiece::character::Model::Model
    functionSourceFile: /src/sentencepiece/src/char_model.cc
    functionUses: 0
    functionsReached:
    - InitializePieces
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/char_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/char_model.cc:31,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/char_model.cc:31,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/char_model.cc:37,1
    - Dst: PrefixMatch
      Src: /src/sentencepiece/src/char_model.cc:38,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/char_model.cc:39,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/char_model.cc:40,1
    - Dst: PieceToId
      Src: /src/sentencepiece/src/char_model.cc:40,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/char_model.cc:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: sentencepiece::character::Model::Encode
    functionSourceFile: /src/sentencepiece/src/char_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - absl::string_view::remove_prefix
    - PieceToId
    - absl::string_view::data
    - PrefixMatch
    - status
    - EncodeResult::emplace_back
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::Encode(absl::string_view normalized) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/char_model.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: sentencepiece::character::Model::Model
    functionSourceFile: /src/sentencepiece/src/char_model.cc
    functionUses: 0
    functionsReached:
    - InitializePieces
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/char_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/char_model.cc:31,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/char_model.cc:31,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/char_model.cc:37,1
    - Dst: PrefixMatch
      Src: /src/sentencepiece/src/char_model.cc:38,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/char_model.cc:39,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/char_model.cc:40,1
    - Dst: PieceToId
      Src: /src/sentencepiece/src/char_model.cc:40,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/char_model.cc:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: sentencepiece::character::Model::Encode
    functionSourceFile: /src/sentencepiece/src/char_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - absl::string_view::remove_prefix
    - PieceToId
    - absl::string_view::data
    - PrefixMatch
    - status
    - EncodeResult::emplace_back
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::Encode(absl::string_view normalized) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:29,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:30,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:31,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:33,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: sentencepiece::bpe::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:45,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:46,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: sentencepiece::bpe::AddPiece
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:51,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:53,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:54,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:55,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:56,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:57,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:58,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:59,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:60,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:61,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:62,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:63,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:64,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:66,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:68,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:70,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:82,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:87,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:92,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:107,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:116,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:121,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:127,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:134,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 142
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_TRUE
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:145,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:147,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:148,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:149,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:150,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:151,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:161,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:167,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:175,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:181,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:184,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 188
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeAmbiguousTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::NBestEncode
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_EQ
    - NBestEncodeResult
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:197,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:199,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:200,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:201,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:202,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:203,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:204,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:205,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:206,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:213,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:217,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:222,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:227,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:228,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:233,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:241,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:242,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:243,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 251
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithUnusedTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:254,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:256,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:257,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:258,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:259,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:264,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:266,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:273,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:274,1
    - Dst: get_tokens
      Src: /src/sentencepiece/src/bpe_model_test.cc:285,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 296
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - EXPECT_GT
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - sentencepiece::bpe::MakeBaseModelProto
    - Model::SampleEncode
    - std::map::size
    - sentencepiece::bpe::AddPiece
    - get_tokens
    linkageType: ''
    returnType: void
    signature: void TEST(SampleModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:299,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/bpe_model_test.cc:306,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/bpe_model_test.cc:307,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:308,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:313,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:323,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 341
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - std::vector::push_back
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::string_util::UnicodeCharToUTF8
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithDeepUnusedMergeChainTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:344,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:347,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:348,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:349,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:350,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:353,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:354,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:355,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:356,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:357,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:358,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:366,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 375
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlSymbolsNoMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:382,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:383,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:384,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:385,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:388,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:390,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:392,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:394,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:395,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:396,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:397,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:406,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 409
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - AddPieceWithType
    - Model::Encode
    - EXPECT_EQ
    - auto*::set_piece
    - auto::size
    - add_pieces
    - auto*::set_score
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlTokenMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:412,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/bpe_model_test.cc:413,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:417,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:419,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:425,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:426,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:427,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:428,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:433,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:434,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:435,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:436,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:437,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:438,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:441,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:442,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:443,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:448,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:449,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:450,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:451,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:452,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:453,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:463,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:469,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:472,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:483,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:489,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:490,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 496
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - EXPECT_GT
    - Model::Encode
    - ASSERT_EQ
    - auto*::set_piece
    - auto::size
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - ModelProto::pieces_size
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_trainer_spec
    - ByteToPiece
    - EXPECT_NE
    - ModelProto::mutable_pieces
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, SpecialSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:29,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:30,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:31,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:33,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: sentencepiece::bpe::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 8
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:45,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:46,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: sentencepiece::bpe::AddPiece
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 7
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:51,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:53,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:54,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:55,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:56,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:57,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:58,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:59,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:60,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:61,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:62,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:63,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:64,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:66,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:68,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:70,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:82,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:87,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:92,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:107,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:116,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:121,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:127,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:134,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 142
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_TRUE
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:145,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:147,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:148,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:149,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:150,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:151,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:161,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:167,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:175,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:181,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:184,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 188
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeAmbiguousTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::NBestEncode
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_EQ
    - NBestEncodeResult
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:197,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:199,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:200,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:201,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:202,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:203,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:204,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:205,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:206,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:213,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:217,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:222,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:227,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:228,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:233,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:241,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:242,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:243,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 251
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithUnusedTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:254,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:256,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:257,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:258,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:259,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:264,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:266,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:273,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:274,1
    - Dst: get_tokens
      Src: /src/sentencepiece/src/bpe_model_test.cc:285,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 296
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - EXPECT_GT
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - sentencepiece::bpe::MakeBaseModelProto
    - Model::SampleEncode
    - std::map::size
    - sentencepiece::bpe::AddPiece
    - get_tokens
    linkageType: ''
    returnType: void
    signature: void TEST(SampleModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:299,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/bpe_model_test.cc:306,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/bpe_model_test.cc:307,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:308,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:313,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:323,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 341
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - std::vector::push_back
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::string_util::UnicodeCharToUTF8
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithDeepUnusedMergeChainTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:344,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:347,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:348,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:349,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:350,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:353,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:354,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:355,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:356,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:357,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:358,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:366,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 375
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlSymbolsNoMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:382,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:383,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:384,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:385,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:388,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:390,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:392,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:394,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:395,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:396,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:397,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:406,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 409
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - AddPieceWithType
    - Model::Encode
    - EXPECT_EQ
    - auto*::set_piece
    - auto::size
    - add_pieces
    - auto*::set_score
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlTokenMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:412,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/bpe_model_test.cc:413,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:417,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:419,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:425,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:426,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:427,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:428,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:433,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:434,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:435,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:436,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:437,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:438,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:441,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:442,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:443,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:448,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:449,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:450,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:451,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:452,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:453,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:463,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:469,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:472,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:483,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:489,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:490,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 496
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - EXPECT_GT
    - Model::Encode
    - ASSERT_EQ
    - auto*::set_piece
    - auto::size
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - ModelProto::pieces_size
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_trainer_spec
    - ByteToPiece
    - EXPECT_NE
    - ModelProto::mutable_pieces
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, SpecialSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:29,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:30,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:31,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:33,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: sentencepiece::bpe::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 16
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:45,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:46,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: sentencepiece::bpe::AddPiece
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 14
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:51,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:53,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:54,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:55,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:56,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:57,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:58,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:59,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:60,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:61,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:62,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:63,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:64,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:66,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:68,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:70,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:82,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:87,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:92,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:107,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:116,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:121,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:127,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:134,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 142
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_TRUE
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:145,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:147,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:148,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:149,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:150,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:151,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:161,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:167,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:175,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:181,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:184,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 188
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeAmbiguousTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::NBestEncode
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_EQ
    - NBestEncodeResult
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:197,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:199,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:200,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:201,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:202,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:203,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:204,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:205,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:206,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:213,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:217,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:222,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:227,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:228,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:233,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:241,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:242,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:243,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 251
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithUnusedTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:254,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:256,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:257,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:258,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:259,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:264,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:266,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:273,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:274,1
    - Dst: get_tokens
      Src: /src/sentencepiece/src/bpe_model_test.cc:285,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 296
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - EXPECT_GT
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - sentencepiece::bpe::MakeBaseModelProto
    - Model::SampleEncode
    - std::map::size
    - sentencepiece::bpe::AddPiece
    - get_tokens
    linkageType: ''
    returnType: void
    signature: void TEST(SampleModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:299,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/bpe_model_test.cc:306,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/bpe_model_test.cc:307,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:308,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:313,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:323,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 341
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - std::vector::push_back
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::string_util::UnicodeCharToUTF8
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithDeepUnusedMergeChainTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:344,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:347,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:348,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:349,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:350,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:353,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:354,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:355,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:356,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:357,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:358,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:366,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 375
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlSymbolsNoMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:382,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:383,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:384,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:385,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:388,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:390,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:392,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:394,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:395,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:396,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:397,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:406,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 409
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - AddPieceWithType
    - Model::Encode
    - EXPECT_EQ
    - auto*::set_piece
    - auto::size
    - add_pieces
    - auto*::set_score
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlTokenMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:412,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/bpe_model_test.cc:413,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:417,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:419,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:425,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:426,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:427,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:428,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:433,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:434,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:435,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:436,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:437,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:438,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:441,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:442,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:443,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:448,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:449,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:450,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:451,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:452,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:453,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:463,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:469,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:472,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:483,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:489,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:490,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 496
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - EXPECT_GT
    - Model::Encode
    - ASSERT_EQ
    - auto*::set_piece
    - auto::size
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - ModelProto::pieces_size
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_trainer_spec
    - ByteToPiece
    - EXPECT_NE
    - ModelProto::mutable_pieces
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, SpecialSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:29,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:30,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:31,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:33,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: sentencepiece::bpe::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 24
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:45,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:46,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: sentencepiece::bpe::AddPiece
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 21
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:51,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:53,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:54,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:55,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:56,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:57,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:58,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:59,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:60,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:61,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:62,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:63,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:64,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:66,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:68,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:70,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:82,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:87,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:92,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:107,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:116,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:121,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:127,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:134,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 142
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_TRUE
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:145,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:147,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:148,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:149,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:150,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:151,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:161,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:167,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:175,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:181,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:184,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 188
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeAmbiguousTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::NBestEncode
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_EQ
    - NBestEncodeResult
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:197,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:199,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:200,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:201,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:202,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:203,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:204,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:205,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:206,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:213,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:217,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:222,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:227,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:228,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:233,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:241,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:242,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:243,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 251
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithUnusedTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:254,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:256,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:257,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:258,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:259,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:264,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:266,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:273,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:274,1
    - Dst: get_tokens
      Src: /src/sentencepiece/src/bpe_model_test.cc:285,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 296
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - EXPECT_GT
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - sentencepiece::bpe::MakeBaseModelProto
    - Model::SampleEncode
    - std::map::size
    - sentencepiece::bpe::AddPiece
    - get_tokens
    linkageType: ''
    returnType: void
    signature: void TEST(SampleModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:299,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/bpe_model_test.cc:306,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/bpe_model_test.cc:307,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:308,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:313,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:323,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 341
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - std::vector::push_back
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::string_util::UnicodeCharToUTF8
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithDeepUnusedMergeChainTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:344,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:347,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:348,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:349,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:350,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:353,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:354,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:355,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:356,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:357,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:358,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:366,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 375
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlSymbolsNoMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:382,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:383,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:384,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:385,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:388,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:390,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:392,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:394,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:395,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:396,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:397,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:406,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 409
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - AddPieceWithType
    - Model::Encode
    - EXPECT_EQ
    - auto*::set_piece
    - auto::size
    - add_pieces
    - auto*::set_score
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlTokenMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:412,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/bpe_model_test.cc:413,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:417,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:419,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:425,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:426,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:427,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:428,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:433,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:434,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:435,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:436,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:437,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:438,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:441,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:442,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:443,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:448,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:449,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:450,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:451,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:452,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:453,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:463,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:469,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:472,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:483,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:489,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:490,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 496
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - EXPECT_GT
    - Model::Encode
    - ASSERT_EQ
    - auto*::set_piece
    - auto::size
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - ModelProto::pieces_size
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_trainer_spec
    - ByteToPiece
    - EXPECT_NE
    - ModelProto::mutable_pieces
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, SpecialSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:29,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:30,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:31,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:33,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: sentencepiece::bpe::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 32
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:45,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:46,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: sentencepiece::bpe::AddPiece
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 28
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:51,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:53,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:54,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:55,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:56,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:57,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:58,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:59,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:60,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:61,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:62,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:63,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:64,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:66,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:68,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:70,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:82,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:87,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:92,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:107,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:116,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:121,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:127,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:134,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 142
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_TRUE
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:145,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:147,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:148,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:149,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:150,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:151,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:161,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:167,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:175,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:181,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:184,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 188
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeAmbiguousTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::NBestEncode
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_EQ
    - NBestEncodeResult
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:197,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:199,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:200,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:201,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:202,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:203,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:204,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:205,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:206,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:213,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:217,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:222,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:227,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:228,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:233,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:241,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:242,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:243,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 251
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithUnusedTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:254,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:256,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:257,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:258,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:259,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:264,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:266,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:273,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:274,1
    - Dst: get_tokens
      Src: /src/sentencepiece/src/bpe_model_test.cc:285,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 296
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - EXPECT_GT
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - sentencepiece::bpe::MakeBaseModelProto
    - Model::SampleEncode
    - std::map::size
    - sentencepiece::bpe::AddPiece
    - get_tokens
    linkageType: ''
    returnType: void
    signature: void TEST(SampleModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:299,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/bpe_model_test.cc:306,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/bpe_model_test.cc:307,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:308,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:313,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:323,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 341
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - std::vector::push_back
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::string_util::UnicodeCharToUTF8
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithDeepUnusedMergeChainTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:344,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:347,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:348,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:349,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:350,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:353,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:354,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:355,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:356,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:357,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:358,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:366,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 375
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlSymbolsNoMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:382,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:383,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:384,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:385,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:388,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:390,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:392,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:394,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:395,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:396,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:397,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:406,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 409
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - AddPieceWithType
    - Model::Encode
    - EXPECT_EQ
    - auto*::set_piece
    - auto::size
    - add_pieces
    - auto*::set_score
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlTokenMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:412,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/bpe_model_test.cc:413,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:417,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:419,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:425,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:426,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:427,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:428,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:433,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:434,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:435,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:436,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:437,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:438,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:441,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:442,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:443,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:448,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:449,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:450,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:451,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:452,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:453,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:463,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:469,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:472,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:483,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:489,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:490,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 496
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - EXPECT_GT
    - Model::Encode
    - ASSERT_EQ
    - auto*::set_piece
    - auto::size
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - ModelProto::pieces_size
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_trainer_spec
    - ByteToPiece
    - EXPECT_NE
    - ModelProto::mutable_pieces
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, SpecialSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:29,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:30,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:31,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:33,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: sentencepiece::bpe::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 40
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:45,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:46,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: sentencepiece::bpe::AddPiece
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 35
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:51,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:53,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:54,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:55,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:56,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:57,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:58,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:59,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:60,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:61,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:62,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:63,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:64,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:66,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:68,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:70,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:82,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:87,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:92,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:107,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:116,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:121,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:127,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:134,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 142
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_TRUE
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:145,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:147,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:148,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:149,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:150,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:151,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:161,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:167,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:175,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:181,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:184,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 188
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeAmbiguousTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::NBestEncode
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_EQ
    - NBestEncodeResult
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:197,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:199,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:200,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:201,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:202,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:203,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:204,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:205,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:206,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:213,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:217,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:222,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:227,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:228,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:233,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:241,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:242,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:243,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 251
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithUnusedTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:254,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:256,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:257,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:258,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:259,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:264,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:266,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:273,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:274,1
    - Dst: get_tokens
      Src: /src/sentencepiece/src/bpe_model_test.cc:285,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 296
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - EXPECT_GT
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - sentencepiece::bpe::MakeBaseModelProto
    - Model::SampleEncode
    - std::map::size
    - sentencepiece::bpe::AddPiece
    - get_tokens
    linkageType: ''
    returnType: void
    signature: void TEST(SampleModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:299,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/bpe_model_test.cc:306,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/bpe_model_test.cc:307,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:308,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:313,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:323,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 341
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - std::vector::push_back
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::string_util::UnicodeCharToUTF8
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithDeepUnusedMergeChainTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:344,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:347,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:348,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:349,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:350,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:353,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:354,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:355,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:356,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:357,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:358,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:366,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 375
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlSymbolsNoMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:382,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:383,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:384,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:385,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:388,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:390,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:392,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:394,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:395,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:396,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:397,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:406,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 409
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - AddPieceWithType
    - Model::Encode
    - EXPECT_EQ
    - auto*::set_piece
    - auto::size
    - add_pieces
    - auto*::set_score
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlTokenMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:412,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/bpe_model_test.cc:413,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:417,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:419,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:425,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:426,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:427,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:428,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:433,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:434,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:435,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:436,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:437,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:438,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:441,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:442,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:443,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:448,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:449,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:450,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:451,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:452,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:453,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:463,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:469,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:472,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:483,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:489,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:490,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 496
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - EXPECT_GT
    - Model::Encode
    - ASSERT_EQ
    - auto*::set_piece
    - auto::size
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - ModelProto::pieces_size
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_trainer_spec
    - ByteToPiece
    - EXPECT_NE
    - ModelProto::mutable_pieces
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, SpecialSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:29,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:30,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:31,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:33,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: sentencepiece::bpe::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 48
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:45,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:46,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: sentencepiece::bpe::AddPiece
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 42
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:51,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:53,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:54,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:55,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:56,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:57,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:58,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:59,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:60,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:61,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:62,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:63,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:64,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:66,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:68,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:70,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:82,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:87,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:92,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:107,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:116,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:121,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:127,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:134,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 142
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_TRUE
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:145,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:147,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:148,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:149,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:150,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:151,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:161,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:167,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:175,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:181,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:184,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 188
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeAmbiguousTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::NBestEncode
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_EQ
    - NBestEncodeResult
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:197,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:199,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:200,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:201,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:202,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:203,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:204,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:205,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:206,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:213,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:217,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:222,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:227,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:228,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:233,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:241,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:242,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:243,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 251
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithUnusedTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:254,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:256,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:257,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:258,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:259,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:264,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:266,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:273,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:274,1
    - Dst: get_tokens
      Src: /src/sentencepiece/src/bpe_model_test.cc:285,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 296
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - EXPECT_GT
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - sentencepiece::bpe::MakeBaseModelProto
    - Model::SampleEncode
    - std::map::size
    - sentencepiece::bpe::AddPiece
    - get_tokens
    linkageType: ''
    returnType: void
    signature: void TEST(SampleModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:299,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/bpe_model_test.cc:306,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/bpe_model_test.cc:307,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:308,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:313,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:323,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 341
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - std::vector::push_back
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::string_util::UnicodeCharToUTF8
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithDeepUnusedMergeChainTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:344,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:347,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:348,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:349,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:350,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:353,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:354,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:355,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:356,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:357,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:358,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:366,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 375
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlSymbolsNoMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:382,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:383,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:384,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:385,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:388,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:390,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:392,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:394,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:395,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:396,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:397,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:406,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 409
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - AddPieceWithType
    - Model::Encode
    - EXPECT_EQ
    - auto*::set_piece
    - auto::size
    - add_pieces
    - auto*::set_score
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlTokenMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:412,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/bpe_model_test.cc:413,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:417,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:419,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:425,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:426,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:427,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:428,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:433,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:434,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:435,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:436,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:437,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:438,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:441,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:442,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:443,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:448,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:449,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:450,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:451,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:452,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:453,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:463,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:469,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:472,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:483,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:489,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:490,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 496
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - EXPECT_GT
    - Model::Encode
    - ASSERT_EQ
    - auto*::set_piece
    - auto::size
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - ModelProto::pieces_size
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_trainer_spec
    - ByteToPiece
    - EXPECT_NE
    - ModelProto::mutable_pieces
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, SpecialSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:29,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:30,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:31,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:33,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: sentencepiece::bpe::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 56
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:45,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:46,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: sentencepiece::bpe::AddPiece
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 49
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:51,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:53,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:54,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:55,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:56,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:57,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:58,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:59,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:60,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:61,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:62,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:63,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:64,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:66,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:68,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:70,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:82,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:87,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:92,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:107,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:116,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:121,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:127,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:134,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 142
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_TRUE
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:145,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:147,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:148,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:149,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:150,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:151,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:161,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:167,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:175,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:181,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:184,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 188
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeAmbiguousTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::NBestEncode
    - sentencepiece::bpe::MakeBaseModelProto
    - EXPECT_EQ
    - NBestEncodeResult
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:197,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:199,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:200,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:201,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:202,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:203,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:204,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:205,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:206,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:213,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:217,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:222,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:227,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:228,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:233,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:241,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:242,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:243,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 251
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithUnusedTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:254,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:256,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:257,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:258,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:259,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:264,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:265,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:266,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/bpe_model_test.cc:273,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_test.cc:274,1
    - Dst: get_tokens
      Src: /src/sentencepiece/src/bpe_model_test.cc:285,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:289,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 296
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - EXPECT_GT
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - sentencepiece::bpe::MakeBaseModelProto
    - Model::SampleEncode
    - std::map::size
    - sentencepiece::bpe::AddPiece
    - get_tokens
    linkageType: ''
    returnType: void
    signature: void TEST(SampleModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:299,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/bpe_model_test.cc:306,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/bpe_model_test.cc:307,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:308,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:313,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_test.cc:318,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:323,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 341
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<float>
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - std::vector::push_back
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::string_util::UnicodeCharToUTF8
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, EncodeWithDeepUnusedMergeChainTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:344,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:347,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:348,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:349,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:350,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:353,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:354,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:355,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:356,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:357,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:358,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:366,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 375
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - sentencepiece::bpe::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlSymbolsNoMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:382,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:383,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/bpe_model_test.cc:384,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:385,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:388,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:390,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:392,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:394,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:395,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:396,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/bpe_model_test.cc:397,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:406,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 409
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - AddPieceWithType
    - Model::Encode
    - EXPECT_EQ
    - auto*::set_piece
    - auto::size
    - add_pieces
    - auto*::set_score
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, ControlTokenMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::MakeBaseModelProto
      Src: /src/sentencepiece/src/bpe_model_test.cc:412,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/bpe_model_test.cc:413,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:417,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:418,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/bpe_model_test.cc:419,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:425,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:426,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:427,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:428,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_test.cc:429,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:433,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:434,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:435,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:436,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:437,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:438,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:441,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:442,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:443,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:448,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:449,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:450,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:451,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:452,1
    - Dst: sentencepiece::bpe::AddPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:453,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:463,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:469,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:470,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:472,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_test.cc:483,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/bpe_model_test.cc:489,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/bpe_model_test.cc:490,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/bpe_model_test.cc:491,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/bpe_model_test.cc:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 496
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - EXPECT_GT
    - Model::Encode
    - ASSERT_EQ
    - auto*::set_piece
    - auto::size
    - EXPECT_EQ
    - sentencepiece::bpe::MakeBaseModelProto
    - ModelProto::pieces_size
    - sentencepiece::bpe::AddPiece
    - ModelProto::mutable_trainer_spec
    - ByteToPiece
    - EXPECT_NE
    - ModelProto::mutable_pieces
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(BPEModelTest, SpecialSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ScopedResourceDestructor::ScopedResourceDestructor
      Src: /src/sentencepiece/src/test_main.cc:24,1
    - Dst: sentencepiece::ParseCommandLineFlags
      Src: /src/sentencepiece/src/test_main.cc:25,1
    - Dst: sentencepiece::test::RunAllTests
      Src: /src/sentencepiece/src/test_main.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/sentencepiece/src/test_main.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::ScopedResourceDestructor::ScopedResourceDestructor
    - sentencepiece::ParseCommandLineFlags
    - sentencepiece::test::RunAllTests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~SentenceIterator()
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SentenceIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: sentencepiece::SentencePieceTrainer::SentencePieceTrainer
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceTrainer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~SentencePieceTrainer()
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SentencePieceTrainer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~SentenceIterator()
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SentenceIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: sentencepiece::SentencePieceTrainer::SentencePieceTrainer
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceTrainer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~SentencePieceTrainer()
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SentencePieceTrainer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/sentencepiece/src/trainer_interface.h:40,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/trainer_interface.h:40,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/trainer_interface.h:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - std::vector<std::pair<K, V>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: sentencepiece::Sorted
    functionSourceFile: /src/sentencepiece/src/trainer_interface.h
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - std::sort
    - std::vector::end
    linkageType: ''
    returnType: std::vector<std::pair<K, V>>
    signature: std::vector<std::pair<K, V>> Sorted(const std::vector<std::pair<K,
      V>>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/sentencepiece/src/trainer_interface.h:50,1
    - Dst: end
      Src: /src/sentencepiece/src/trainer_interface.h:50,1
    - Dst: sentencepiece::Sorted
      Src: /src/sentencepiece/src/trainer_interface.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - absl::flat_hash_map<K, V>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: sentencepiece::Sorted
    functionSourceFile: /src/sentencepiece/src/trainer_interface.h
    functionUses: 1
    functionsReached:
    - sentencepiece::Sorted
    - end
    - begin
    linkageType: ''
    returnType: std::vector<std::pair<K, V>>
    signature: std::vector<std::pair<K, V>> Sorted(const absl::flat_hash_map<K, V>&
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~MultiFileSentenceIterator() override
    functionSourceFile: /src/sentencepiece/src/trainer_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MultiFileSentenceIterator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& value() const override'
    functionSourceFile: /src/sentencepiece/src/trainer_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Train
      Src: /src/sentencepiece/src/trainer_interface.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sentence_iterator
    - output_model_proto
    argTypes:
    - SentenceIterator*
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: sentencepiece::TrainerInterface::Train
    functionSourceFile: /src/sentencepiece/src/trainer_interface.h
    functionUses: 1
    functionsReached:
    - sentencepiece::TrainerInterface::Train
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Train(SentenceIterator* sentence_iterator,\n                             ModelProto*
      output_model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: sentencepiece::TrainerInterface::Train
    functionSourceFile: /src/sentencepiece/src/trainer_interface.h
    functionUses: 1
    functionsReached:
    - sentencepiece::TrainerInterface::status
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Train()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: sentencepiece::TrainerInterface::status
    functionSourceFile: /src/sentencepiece/src/trainer_interface.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::sort
      Src: /src/sentencepiece/src/trainer_interface.h:40,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/trainer_interface.h:40,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/trainer_interface.h:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - std::vector<std::pair<K, V>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: sentencepiece::Sorted
    functionSourceFile: /src/sentencepiece/src/trainer_interface.h
    functionUses: 1
    functionsReached:
    - std::vector::begin
    - std::sort
    - std::vector::end
    linkageType: ''
    returnType: std::vector<std::pair<K, V>>
    signature: std::vector<std::pair<K, V>> Sorted(const std::vector<std::pair<K,
      V>>& m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/sentencepiece/src/trainer_interface.h:50,1
    - Dst: end
      Src: /src/sentencepiece/src/trainer_interface.h:50,1
    - Dst: sentencepiece::Sorted
      Src: /src/sentencepiece/src/trainer_interface.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' m'
    argTypes:
    - absl::flat_hash_map<K, V>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: sentencepiece::Sorted
    functionSourceFile: /src/sentencepiece/src/trainer_interface.h
    functionUses: 2
    functionsReached:
    - sentencepiece::Sorted
    - end
    - begin
    linkageType: ''
    returnType: std::vector<std::pair<K, V>>
    signature: std::vector<std::pair<K, V>> Sorted(const absl::flat_hash_map<K, V>&
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~MultiFileSentenceIterator() override
    functionSourceFile: /src/sentencepiece/src/trainer_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MultiFileSentenceIterator() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& value() const override'
    functionSourceFile: /src/sentencepiece/src/trainer_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Train
      Src: /src/sentencepiece/src/trainer_interface.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sentence_iterator
    - output_model_proto
    argTypes:
    - SentenceIterator*
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: sentencepiece::TrainerInterface::Train
    functionSourceFile: /src/sentencepiece/src/trainer_interface.h
    functionUses: 2
    functionsReached:
    - sentencepiece::TrainerInterface::Train
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Train(SentenceIterator* sentence_iterator,\n                             ModelProto*
      output_model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: sentencepiece::TrainerInterface::Train
    functionSourceFile: /src/sentencepiece/src/trainer_interface.h
    functionUses: 2
    functionsReached:
    - sentencepiece::TrainerInterface::status
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Train()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: sentencepiece::TrainerInterface::status
    functionSourceFile: /src/sentencepiece/src/trainer_interface.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_factory_test.cc:24,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_factory_test.cc:25,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_factory_test.cc:26,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_factory_test.cc:28,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_factory_test.cc:29,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_factory_test.cc:30,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_factory_test.cc:31,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_factory_test.cc:32,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_factory_test.cc:33,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_factory_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_factory_test.cc:36,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/model_factory_test.cc:37,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_factory_test.cc:40,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_factory_test.cc:41,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_factory_test.cc:45,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_factory_test.cc:46,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_factory_test.cc:50,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_factory_test.cc:51,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_factory_test.cc:55,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_factory_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 58
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_factory_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::mutable_trainer_spec
    - auto*::set_score
    - ModelProto::add_pieces
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelFactoryTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_factory_test.cc:24,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_factory_test.cc:25,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_factory_test.cc:26,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_factory_test.cc:28,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_factory_test.cc:29,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_factory_test.cc:30,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_factory_test.cc:31,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_factory_test.cc:32,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_factory_test.cc:33,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_factory_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_factory_test.cc:36,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/model_factory_test.cc:37,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_factory_test.cc:40,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_factory_test.cc:41,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_factory_test.cc:45,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_factory_test.cc:46,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_factory_test.cc:50,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_factory_test.cc:51,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_factory_test.cc:55,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_factory_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 58
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_factory_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::mutable_trainer_spec
    - auto*::set_score
    - ModelProto::add_pieces
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelFactoryTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - absl::string_view
    - EncodeResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: sentencepiece::MockModel::SetEncodeResult
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetEncodeResult(absl::string_view input, const EncodeResult& output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - absl::string_view
    - NBestEncodeResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: sentencepiece::MockModel::SetNBestEncodeResult
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetNBestEncodeResult(absl::string_view input,\n                            const
      NBestEncodeResult& output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: sentencepiece::MockModel::Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - normalized
    - alpha
    argTypes:
    - absl::string_view
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: sentencepiece::MockModel::SampleEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: EncodeResult
    signature: "EncodeResult SampleEncode(absl::string_view normalized,\n                            float
      alpha) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - normalized
    - nbest_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: sentencepiece::MockModel::NBestEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: NBestEncodeResult
    signature: "NBestEncodeResult NBestEncode(absl::string_view normalized,\n                                int
      nbest_size) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: sentencepiece::MockModel::IsSampleEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSampleEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: sentencepiece::MockModel::IsNBestEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNBestEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: sentencepiece::MockModel::IsControl
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsControl(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sentencepiece::MockModel::IsUnknown
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUnknown(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: sentencepiece::MockModel::GetPieceSize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetPieceSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: sentencepiece::MockModel::PieceToId
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PieceToId(absl::string_view piece) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '& IdToPiece(int id) const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & IdToPiece(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: sentencepiece::MockModel::GetScore
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetScore(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: sentencepiece::ByteFallbackMockModel::ByteFallbackEnabled
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ByteFallbackEnabled() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:99,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pieces'
    argTypes:
    - EncodeResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: sentencepiece::GetSpVec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> GetSpVec(const EncodeResult& pieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pieces'
    argTypes:
    - EncodeResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: sentencepiece::GetIdVec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<int>
    signature: std::vector<int> GetIdVec(const EncodeResult& pieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:114,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:115,1
    - Dst: piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' spt'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: sentencepiece::GetSpVec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - pieces
    - piece
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> GetSpVec(const SentencePieceText& spt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: sentencepiece::MakeDefaultNormalizerSpec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec MakeDefaultNormalizerSpec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:126,1
    - Dst: SentencePieceProcessor::status
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:126,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:127,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:128,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:128,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:129,1
    - Dst: SentencePieceProcessor::status
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - SentencePieceProcessor::SetModel
    - std::make_unique<MockModel>
    - EXPECT_FALSE
    - std::move
    - SentencePieceProcessor::status
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, StatusTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:136,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:139,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:143,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:145,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:145,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:146,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:150,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:151,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:154,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:155,1
    - Dst: sentencepiece::GetIdVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:155,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:158,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:159,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:161,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:164,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:165,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:166,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:167,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:169,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:170,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:171,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:172,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:174,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:175,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:176,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:177,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:178,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:179,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:180,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:181,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:181,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:186,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:193,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:194,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:194,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:195,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:199,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:200,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:200,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:203,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:204,1
    - Dst: sentencepiece::GetIdVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:207,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:208,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:210,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:213,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:214,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:215,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:216,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:218,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:219,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:220,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:221,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:223,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:224,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:225,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:226,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:227,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:228,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:229,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:230,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:230,1
    - Dst: std::make_unique<ByteFallbackMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:236,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:247,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:248,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:248,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:249,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:250,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:253,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:254,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:254,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:257,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:258,1
    - Dst: sentencepiece::GetIdVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:258,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:261,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:262,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:264,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:264,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:267,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:268,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:268,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:269,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:270,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:271,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:271,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:272,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:273,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:274,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:276,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:277,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:278,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:279,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:280,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:281,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:282,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:283,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:285,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:286,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:287,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:288,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:289,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:289,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:290,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:291,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:292,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:293,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:294,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:295,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:296,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:297,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:298,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:299,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:300,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:300,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:306,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:308,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:309,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:309,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:310,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:311,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:314,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:314,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:320,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:323,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:324,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:324,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:325,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:326,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:329,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:329,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:335,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:338,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:339,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:339,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:340,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:341,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:344,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:344,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:349,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:352,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:353,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:353,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:355,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:356,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:356,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:359,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:359,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:360,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:360,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:362,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:365,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:366,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:367,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:367,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:369,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:370,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:371,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:373,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:374,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:375,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:376,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:377,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:378,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:378,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:383,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:386,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:387,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:387,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:389,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:389,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:390,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:390,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:393,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:393,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:394,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:396,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:396,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:399,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:399,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:400,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:401,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:403,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:403,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:404,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:405,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:407,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:408,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:409,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:409,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:410,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:411,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:412,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 163
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 414
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ByteFallbackMockModel>
    - SentencePieceProcessor::SetModel
    - auto::SetEncodeResult
    - SentencePieceProcessor::Encode
    - sentencepiece::MakeDefaultNormalizerSpec
    - sentencepiece::GetIdVec
    - EXPECT_EQ
    - SentencePieceText::pieces
    - std::make_unique<MockModel>
    - sentencepiece::GetSpVec
    - EXPECT_FALSE
    - SentencePieceProcessor::SetNormalizer
    - EXPECT_TRUE
    - std::move
    - SentencePieceText::pieces_size
    - std::make_unique<normalizer::Normalizer>
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:420,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:422,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:426,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:428,1
    - Dst: auto::SetNBestEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:430,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:431,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:431,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:432,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:433,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:436,1
    - Dst: SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:437,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:438,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:439,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:439,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:442,1
    - Dst: SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:443,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:444,1
    - Dst: sentencepiece::GetIdVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:445,1
    - Dst: sentencepiece::GetIdVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:445,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:448,1
    - Dst: SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:448,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:449,1
    - Dst: NBestSentencePieceText::nbests_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:450,1
    - Dst: NBestSentencePieceText::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:451,1
    - Dst: NBestSentencePieceText::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:451,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:452,1
    - Dst: NBestSentencePieceText::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:452,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:453,1
    - Dst: NBestSentencePieceText::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:455,1
    - Dst: NBestSentencePieceText::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:456,1
    - Dst: NBestSentencePieceText::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:456,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:459,1
    - Dst: auto::SetNBestEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:460,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:461,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:461,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:462,1
    - Dst: SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 463
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - static_cast<float>
    - SentencePieceProcessor::NBestEncode
    - SentencePieceProcessor::SetModel
    - sentencepiece::MakeDefaultNormalizerSpec
    - sentencepiece::GetIdVec
    - EXPECT_EQ
    - std::make_unique<MockModel>
    - sentencepiece::GetSpVec
    - NBestSentencePieceText::nbests_size
    - EXPECT_FALSE
    - SentencePieceProcessor::SetNormalizer
    - EXPECT_TRUE
    - std::move
    - std::vector::size
    - NBestSentencePieceText::nbests
    - auto::SetNBestEncodeResult
    - std::make_unique<normalizer::Normalizer>
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, NBestEncodeTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:469,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:471,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:477,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:479,1
    - Dst: auto::SetNBestEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:481,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:482,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:483,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:483,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:484,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:485,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:488,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:489,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:490,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:490,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:493,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:493,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:494,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:495,1
    - Dst: sentencepiece::GetIdVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:495,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:498,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:499,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:501,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:502,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:502,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:505,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:505,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:506,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:506,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:507,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:507,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:511,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:511,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:512,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:512,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:513,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:515,1
    - Dst: LOG
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:518,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:522,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:522,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:522,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:524,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:526,1
    - Dst: auto::SetNBestEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:527,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:528,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:528,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:529,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 530
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::MakeDefaultNormalizerSpec
    - EXPECT_EQ
    - SentencePieceProcessor::SetNormalizer
    - LOG
    - auto::SetEncodeResult
    - SentencePieceProcessor::SetModel
    - SentencePieceText::pieces
    - sentencepiece::GetIdVec
    - sentencepiece::GetSpVec
    - EXPECT_TRUE
    - auto::SetNBestEncodeResult
    - static_cast<float>
    - std::vector::size
    - SentencePieceProcessor::SampleEncode
    - std::make_unique<normalizer::Normalizer>
    - EXPECT_NEAR
    - std::make_unique<MockModel>
    - EXPECT_FALSE
    - std::exp
    - std::move
    - SentencePieceText::pieces_size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, SampleEncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:545,1
    - Dst: std::make_unique<DecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:568,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:569,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:569,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:571,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:572,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:573,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:577,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:578,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:579,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:582,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:585,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:586,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:586,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:587,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:588,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:588,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:589,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:589,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:590,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:591,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:591,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:592,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:592,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:594,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:594,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:595,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:595,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:596,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:596,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:597,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:598,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:599,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:600,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:601,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:602,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:603,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:604,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:605,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:606,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:607,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:607,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:608,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:608,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:609,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:609,1
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:615,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:616,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:616,1
    - Dst: std::make_unique<DecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:618,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:619,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:619,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:621,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:622,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:623,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:627,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:628,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:628,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:629,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:629,1
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:634,1
    - Dst: auto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:635,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:636,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:636,1
    - Dst: std::make_unique<DecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:638,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:639,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:639,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:641,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:642,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:643,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:647,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:648,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:649,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:649,1
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:654,1
    - Dst: auto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:655,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:656,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:656,1
    - Dst: std::make_unique<DecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:658,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:659,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:659,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:661,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:662,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:663,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:667,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:668,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:668,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:669,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:669,1
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:674,1
    - Dst: auto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:675,1
    - Dst: auto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:676,1
    - Dst: auto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:677,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:678,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:678,1
    - Dst: std::make_unique<DecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:680,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:681,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:681,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:683,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:684,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:685,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:689,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:689,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:690,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:690,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:691,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 693
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - SentencePieceText::text
    - SentencePieceProcessor::Load
    - std::make_unique<normalizer::Normalizer>
    - SentencePieceProcessor::SetModel
    - auto::mutable_normalizer_spec
    - SentencePieceText::pieces
    - sentencepiece::MakeDefaultNormalizerSpec
    - std::make_unique<DecodeMockModel>
    - EXPECT_EQ
    - SentencePieceProcessor::SetNormalizer
    - EXPECT_TRUE
    - std::move
    - SentencePieceText::pieces_size
    - SentencePieceProcessor::Decode
    - auto::mutable_trainer_spec
    - std::make_unique<ModelProto>
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, DecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: sentencepiece::DecodeMockModel::Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: sentencepiece::DecodeMockModel::GetPieceSize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetPieceSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 546
    functionName: sentencepiece::DecodeMockModel::PieceToId
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: int
    signature: int PieceToId(absl::string_view piece) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: '& IdToPiece(int id) const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & IdToPiece(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 554
    functionName: sentencepiece::DecodeMockModel::IsUnknown
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUnknown(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: sentencepiece::DecodeMockModel::IsControl
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsControl(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 558
    functionName: sentencepiece::DecodeMockModel::IsByte
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsByte(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 560
    functionName: sentencepiece::DecodeMockModel::GetScore
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetScore(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:708,1
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:732,1
    - Dst: auto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:733,1
    - Dst: auto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:734,1
    - Dst: auto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:735,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:736,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:736,1
    - Dst: std::make_unique<DecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:738,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:739,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:739,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:741,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:742,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:743,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:747,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:747,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:748,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:748,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:749,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:749,1
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:754,1
    - Dst: auto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:755,1
    - Dst: auto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:756,1
    - Dst: auto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:757,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:758,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:758,1
    - Dst: std::make_unique<DecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:760,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:761,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:761,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:763,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:764,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:765,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:769,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:769,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:770,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:770,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:771,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 773
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - SentencePieceText::text
    - auto::mutable_normalizer_spec
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::SetModel
    - std::make_unique<normalizer::Normalizer>
    - sentencepiece::MakeDefaultNormalizerSpec
    - std::make_unique<DecodeMockModel>
    - EXPECT_EQ
    - SentencePieceProcessor::SetNormalizer
    - EXPECT_TRUE
    - std::move
    - SentencePieceText::pieces_size
    - SentencePieceProcessor::Decode
    - auto::mutable_trainer_spec
    - std::make_unique<ModelProto>
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, DummyPrefixDecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 700
    functionName: sentencepiece::DecodeMockModel::Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 702
    functionName: sentencepiece::DecodeMockModel::GetPieceSize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetPieceSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 709
    functionName: sentencepiece::DecodeMockModel::PieceToId
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: int
    signature: int PieceToId(absl::string_view piece) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: '& IdToPiece(int id) const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & IdToPiece(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 717
    functionName: sentencepiece::DecodeMockModel::IsUnknown
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUnknown(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: sentencepiece::DecodeMockModel::IsControl
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsControl(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 721
    functionName: sentencepiece::DecodeMockModel::IsByte
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsByte(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 723
    functionName: sentencepiece::DecodeMockModel::GetScore
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetScore(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:789,1
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:793,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:793,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:800,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:800,1
    - Dst: std::make_unique<ByteFallbackDecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:819,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:820,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:820,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:822,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:823,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:824,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:855,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:855,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:856,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:857,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:857,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:860,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:860,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:863,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:863,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:864,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:864,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:865,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:865,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:867,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:867,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:868,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:868,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:869,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:869,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:871,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:871,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:872,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:872,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:873,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:875,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:875,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:876,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:876,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:877,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:877,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:878,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:879,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:879,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:880,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:881,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:881,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:882,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:883,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:883,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:885,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:885,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:886,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:886,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:887,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:889,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:890,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:891,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:892,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:893,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:893,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:894,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:894,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:896,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:896,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:897,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:898,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:900,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:900,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:901,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:902,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:904,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:905,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:906,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:908,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:909,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:909,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:910,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:910,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:911,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:911,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:912,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:912,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:913,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:913,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:914,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:914,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:915,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:916,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:916,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:918,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:919,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:919,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:920,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:920,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:921,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:922,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:923,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:923,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:924,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:925,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:925,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:926,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 928
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - SentencePieceText::text
    - std::make_unique<normalizer::Normalizer>
    - SentencePieceProcessor::SetModel
    - std::make_unique<ByteFallbackDecodeMockModel>
    - std::string
    - sentencepiece::MakeDefaultNormalizerSpec
    - EXPECT_EQ
    - SentencePieceText::pieces
    - sentencepiece::ByteToPiece
    - SentencePieceProcessor::SetNormalizer
    - EXPECT_TRUE
    - std::move
    - SentencePieceText::pieces_size
    - SentencePieceProcessor::Decode
    - std::vector::push_back
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ByteFallbackDecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 780
    functionName: sentencepiece::ByteFallbackDecodeMockModel::Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:789,1
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:793,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 794
    functionName: sentencepiece::ByteFallbackDecodeMockModel::PieceToId
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - ByteToPiece
    - std::string
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: int
    signature: int PieceToId(absl::string_view piece) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:800,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 805
    functionName: '& IdToPiece(int id) const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::ByteToPiece
    - std::vector::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string & IdToPiece(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 807
    functionName: sentencepiece::ByteFallbackDecodeMockModel::GetPieceSize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetPieceSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 809
    functionName: sentencepiece::ByteFallbackDecodeMockModel::IsUnknown
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUnknown(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 811
    functionName: sentencepiece::ByteFallbackDecodeMockModel::IsControl
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsControl(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: sentencepiece::ByteFallbackDecodeMockModel::IsByte
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsByte(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: sentencepiece::ByteFallbackDecodeMockModel::ByteFallbackEnabled
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ByteFallbackEnabled() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:932,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:933,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:933,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 935
    functionName: sentencepiece::AddPiece
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - std::string
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto* model_proto, absl::string_view piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:939,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:939,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:940,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 941
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - SentencePieceProcessor::Load
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, LoadInvalidModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:945,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:946,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:947,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:948,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:949,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:949,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:952,1
    - Dst: SentencePieceProcessor::LoadFromSerializedProto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:952,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:953,1
    - Dst: SentencePieceProcessor::LoadFromSerializedProto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:953,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:954,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:954,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 956
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - sentencepiece::MakeDefaultNormalizerSpec
    - EXPECT_EQ
    - auto*::set_piece
    - EXPECT_FALSE
    - ModelProto::SerializeAsString
    - sentencepiece::AddPiece
    - SentencePieceProcessor::model_proto
    - EXPECT_TRUE
    - SentencePieceProcessor::LoadFromSerializedProto
    - ModelProto::mutable_normalizer_spec
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, LoadSerializedProtoTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:960,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:961,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:962,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:964,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:965,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:966,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:967,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:968,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:969,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:971,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:972,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:973,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:974,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:975,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:977,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:977,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:980,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:981,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:981,1
    - Dst: auto::Write
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:982,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:982,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:986,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:986,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:986,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:986,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:988,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:988,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:989,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:991,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:991,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:992,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:992,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:993,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:994,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:994,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:995,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:995,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:996,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:996,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:997,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:997,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:998,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:998,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:999,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:999,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1001,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1001,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1002,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1002,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1003,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1003,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1004,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1004,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1005,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1005,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1006,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1007,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1008,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1008,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1010,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1010,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1011,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1011,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1012,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1012,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1013,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1013,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1014,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1014,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1015,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1015,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1016,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1016,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1017,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1017,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1019,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1019,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1020,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1020,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1021,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1021,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1022,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1022,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1023,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1023,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1024,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1024,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1025,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1025,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1026,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1026,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1028,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1028,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1029,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1029,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1030,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1030,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1031,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1031,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1032,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1032,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1033,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1033,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1034,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1034,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1035,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1035,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1037,1
    - Dst: SentencePieceProcessor::unk_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1038,1
    - Dst: SentencePieceProcessor::bos_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1039,1
    - Dst: SentencePieceProcessor::eos_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1039,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1040,1
    - Dst: SentencePieceProcessor::pad_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1040,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1045,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1046,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1050,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1050,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1051,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1055,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1055,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1059,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1059,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1060,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1064,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1064,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1065,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1068,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1068,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1069,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1070,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1070,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1074,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1074,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1078,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1079,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1083,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1083,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1084,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1087,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1088,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1088,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1089,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1089,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1090,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1090,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1094,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1094,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1098,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1099,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1103,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1104,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1108,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1108,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1113,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1114,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1118,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1118,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1119,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1123,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1123,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1128,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1128,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1129,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1133,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1134,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1138,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1138,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1143,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1143,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1144,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1148,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1148,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1149,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1155,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1155,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1156,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1159,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1160,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1164,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1164,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1168,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1168,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1169,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1172,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1177,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1177,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1181,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1181,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1182,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1185,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1186,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1190,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1190,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1194,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1194,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1195,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1198,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1198,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1199,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1203,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1203,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1207,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1207,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1208,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1211,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1212,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1216,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1216,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1220,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1221,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1224,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1224,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1225,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1232,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1232,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1236,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1236,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1240,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1240,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1241,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1244,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1244,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1245,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1249,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1249,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1253,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1253,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1254,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1257,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1257,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1258,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1261,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1261,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1262,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1262,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1264,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1264,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1265,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1265,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1268,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1268,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1269,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1271,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1271,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1272,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1272,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1273,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1273,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1274,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1274,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1275,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1275,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1276,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1276,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1277,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1277,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1278,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1278,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1279,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1279,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1281,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1281,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1282,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1282,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1283,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1283,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1284,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1284,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1285,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1285,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1286,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1287,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1287,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1288,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1288,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1290,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1290,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1291,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1291,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1292,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1292,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1293,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1293,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1294,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1294,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1295,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1295,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1296,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1296,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1297,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1297,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1299,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1299,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1300,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1300,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1301,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1301,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1302,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1302,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1303,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1303,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1304,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1304,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1305,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1305,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1306,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1306,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1311,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1311,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1312,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1316,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1316,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1317,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1323,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1323,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1324,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1327,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1327,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1328,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1336,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1336,1
    - Dst: RunTest
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1337,1
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1343,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1344,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1346,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1346,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1346,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1347,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1347,1
    - Dst: RunTest
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 216
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 1350
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::MakeDefaultNormalizerSpec
    - EXPECT_EQ
    - auto*::set_piece
    - SentencePieceProcessor::GetPieceSize
    - ModelProto::mutable_normalizer_spec
    - SentencePieceProcessor::bos_id
    - SentencePieceProcessor::PieceToId
    - ModelProto::add_pieces
    - SentencePieceProcessor::SetDecodeExtraOptions
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::unk_id
    - SentencePieceProcessor::eos_id
    - SentencePieceProcessor::Encode
    - SentencePieceText::pieces
    - RunTest
    - EXPECT_TRUE
    - SentencePieceProcessor::GetScore
    - std::make_unique<ModelProto>
    - auto*::set_type
    - testing::TempDir
    - SentencePieceProcessor::SetEncodeExtraOptions
    - sentencepiece::util::JoinPath
    - auto::Write
    - SentencePieceProcessor::IdToPiece
    - SentencePieceProcessor::Decode
    - EXPECT_NEAR
    - sentencepiece::filesystem::NewWritableFile
    - auto::get
    - EXPECT_FALSE
    - ModelProto::SerializeAsString
    - sentencepiece::AddPiece
    - std::move
    - SentencePieceProcessor::pad_id
    - SentencePieceProcessor::IsUnknown
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1354,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1355,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1357,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1358,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1359,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1360,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1362,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1363,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1364,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1365,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1366,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1367,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1368,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1370,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1371,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1374,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1374,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1377,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1377,1
    - Dst: LOG
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1378,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1379,1
    - Dst: std::vector<std::string>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1382
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - LOG
    - std::vector<std::string>
    - SentencePieceProcessor::Load
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    - SentencePieceProcessor::Encode
    - EXPECT_EQ
    - auto*::set_piece
    - sentencepiece::AddPiece
    - EXPECT_TRUE
    - ModelProto::mutable_normalizer_spec
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, SkipNormalizationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1386,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1387,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1388,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1390,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1391,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1392,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1393,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1396,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1397,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1398,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1399,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1400,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1401,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1403,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1404,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1407,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1408,1
    - Dst: SentencePieceProcessor::unk_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1408,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1409,1
    - Dst: SentencePieceProcessor::bos_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1409,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1410,1
    - Dst: SentencePieceProcessor::eos_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1410,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1411,1
    - Dst: SentencePieceProcessor::pad_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1411,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1413,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1413,1
    - Dst: SentencePieceProcessor::unk_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1413,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1414,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1414,1
    - Dst: SentencePieceProcessor::bos_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1414,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1415,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1415,1
    - Dst: SentencePieceProcessor::eos_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1416
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::unk_id
    - SentencePieceProcessor::eos_id
    - EXPECT_EQ
    - auto*::set_piece
    - sentencepiece::AddPiece
    - EXPECT_TRUE
    - SentencePieceProcessor::pad_id
    - SentencePieceProcessor::IdToPiece
    - ModelProto::mutable_trainer_spec
    - SentencePieceProcessor::bos_id
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, OverrideSpecialPieceTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1422,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1423,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1424,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1426,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1427,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1428,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1430,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1431,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1433,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1434,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1435,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1436,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1438,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1441,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1441,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1444,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1444,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1446,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1446,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1447,1
    - Dst: std::vector<std::string>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1447,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1449,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1449,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1450,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1450,1
    - Dst: test_with_model
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1455,1
    - Dst: test_with_model
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1457,1
    - Dst: test_with_model
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1459,1
    - Dst: test_with_model
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1461,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1466,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1467,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1468,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1469,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1472,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1472,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1473,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1473,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1474,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1476
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - std::vector<std::string>
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - SentencePieceProcessor::SetEncodeExtraOptions
    - EXPECT_EQ
    - auto*::set_piece
    - EXPECT_FALSE
    - sentencepiece::AddPiece
    - EXPECT_TRUE
    - ModelProto::mutable_trainer_spec
    - test_with_model
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, SpecialPiecesCombinationsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::io::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1480,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1481,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1481,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1482,1
    - Dst: absl::StrContains
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1482,1
    - Dst: auto::message
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1478
    functionDepth: 2
    functionLinenumber: 1478
    functionLinenumberEnd: 1484
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - auto::message
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::StrContains
    - sentencepiece::io::LoadModelProto
    linkageType: ''
    returnType: void
    signature: void TEST(LoadModelProtoTest, EmptyFilename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1488,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1488,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1490,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1491,1
    - Dst: auto::Write
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1491,1
    - Dst: sentencepiece::io::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1494,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1495,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1495,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1496,1
    - Dst: absl::StrContains
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1496,1
    - Dst: auto::message
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1497,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1499
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - ASSERT_TRUE
    - auto::ok
    - sentencepiece::filesystem::NewWritableFile
    - auto::message
    - EXPECT_FALSE
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - auto::Write
    - absl::StrContains
    - sentencepiece::io::LoadModelProto
    linkageType: ''
    returnType: void
    signature: void TEST(LoadModelProtoTest, FileNotParseableAsModelProto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1503,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1504,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1505,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1507,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1507,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1509,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1510,1
    - Dst: auto::Write
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1510,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1510,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1512,1
    - Dst: sentencepiece::io::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1501
    functionDepth: 2
    functionLinenumber: 1501
    functionLinenumberEnd: 1513
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - testing::TempDir
    - ASSERT_TRUE
    - sentencepiece::filesystem::NewWritableFile
    - ModelProto::SerializeAsString
    - sentencepiece::AddPiece
    - sentencepiece::util::JoinPath
    - auto::Write
    - sentencepiece::io::LoadModelProto
    linkageType: ''
    returnType: void
    signature: void TEST(LoadModelProtoTest, FileLoadsOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - absl::string_view
    - EncodeResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: sentencepiece::MockModel::SetEncodeResult
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetEncodeResult(absl::string_view input, const EncodeResult& output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - ' output'
    argTypes:
    - absl::string_view
    - NBestEncodeResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: sentencepiece::MockModel::SetNBestEncodeResult
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetNBestEncodeResult(absl::string_view input,\n                            const
      NBestEncodeResult& output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: sentencepiece::MockModel::Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - normalized
    - alpha
    argTypes:
    - absl::string_view
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: sentencepiece::MockModel::SampleEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: EncodeResult
    signature: "EncodeResult SampleEncode(absl::string_view normalized,\n                            float
      alpha) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - normalized
    - nbest_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: sentencepiece::MockModel::NBestEncode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: NBestEncodeResult
    signature: "NBestEncodeResult NBestEncode(absl::string_view normalized,\n                                int
      nbest_size) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: sentencepiece::MockModel::IsSampleEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSampleEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: sentencepiece::MockModel::IsNBestEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNBestEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: sentencepiece::MockModel::IsControl
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsControl(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: sentencepiece::MockModel::IsUnknown
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUnknown(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: sentencepiece::MockModel::GetPieceSize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetPieceSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: sentencepiece::MockModel::PieceToId
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PieceToId(absl::string_view piece) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '& IdToPiece(int id) const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & IdToPiece(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: sentencepiece::MockModel::GetScore
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetScore(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: sentencepiece::ByteFallbackMockModel::ByteFallbackEnabled
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ByteFallbackEnabled() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:99,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pieces'
    argTypes:
    - EncodeResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: sentencepiece::GetSpVec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 3
    functionsReached:
    - std::string
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> GetSpVec(const EncodeResult& pieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' pieces'
    argTypes:
    - EncodeResult
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: sentencepiece::GetIdVec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 3
    functionsReached:
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<int>
    signature: std::vector<int> GetIdVec(const EncodeResult& pieces)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:114,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:115,1
    - Dst: piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' spt'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: sentencepiece::GetSpVec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 3
    functionsReached:
    - pieces
    - piece
    - std::vector::emplace_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> GetSpVec(const SentencePieceText& spt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: sentencepiece::MakeDefaultNormalizerSpec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 8
    functionsReached:
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec MakeDefaultNormalizerSpec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:126,1
    - Dst: SentencePieceProcessor::status
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:126,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:127,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:128,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:128,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:129,1
    - Dst: SentencePieceProcessor::status
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - SentencePieceProcessor::SetModel
    - std::make_unique<MockModel>
    - EXPECT_FALSE
    - std::move
    - SentencePieceProcessor::status
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, StatusTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:136,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:139,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:143,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:145,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:145,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:146,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:150,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:151,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:154,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:155,1
    - Dst: sentencepiece::GetIdVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:155,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:158,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:159,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:161,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:164,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:165,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:166,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:167,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:169,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:170,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:171,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:172,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:174,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:175,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:176,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:177,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:178,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:179,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:180,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:181,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:181,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:186,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:193,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:194,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:194,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:195,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:199,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:200,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:200,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:203,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:204,1
    - Dst: sentencepiece::GetIdVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:207,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:208,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:210,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:213,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:214,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:215,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:216,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:218,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:219,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:220,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:221,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:223,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:224,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:225,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:226,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:227,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:228,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:229,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:230,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:230,1
    - Dst: std::make_unique<ByteFallbackMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:236,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:247,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:248,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:248,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:249,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:250,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:253,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:254,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:254,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:257,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:258,1
    - Dst: sentencepiece::GetIdVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:258,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:261,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:262,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:264,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:264,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:267,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:268,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:268,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:269,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:270,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:271,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:271,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:272,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:273,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:274,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:276,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:277,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:278,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:279,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:280,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:281,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:282,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:283,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:285,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:286,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:287,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:288,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:289,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:289,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:290,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:291,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:292,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:293,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:294,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:295,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:296,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:297,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:298,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:299,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:300,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:300,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:306,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:308,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:309,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:309,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:310,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:311,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:314,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:314,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:320,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:323,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:324,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:324,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:325,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:326,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:329,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:329,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:335,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:338,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:339,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:339,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:340,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:341,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:344,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:344,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:349,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:352,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:353,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:353,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:355,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:356,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:356,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:359,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:359,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:360,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:360,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:362,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:365,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:366,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:367,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:367,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:369,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:370,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:371,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:373,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:374,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:375,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:376,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:377,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:378,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:378,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:383,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:386,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:387,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:387,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:389,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:389,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:390,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:390,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:393,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:393,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:394,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:396,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:396,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:399,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:399,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:400,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:401,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:403,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:403,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:404,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:405,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:407,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:408,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:409,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:409,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:410,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:411,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:412,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 163
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 414
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ByteFallbackMockModel>
    - SentencePieceProcessor::SetModel
    - auto::SetEncodeResult
    - SentencePieceProcessor::Encode
    - sentencepiece::MakeDefaultNormalizerSpec
    - sentencepiece::GetIdVec
    - EXPECT_EQ
    - SentencePieceText::pieces
    - std::make_unique<MockModel>
    - sentencepiece::GetSpVec
    - EXPECT_FALSE
    - SentencePieceProcessor::SetNormalizer
    - EXPECT_TRUE
    - std::move
    - SentencePieceText::pieces_size
    - std::make_unique<normalizer::Normalizer>
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:420,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:422,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:426,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:428,1
    - Dst: auto::SetNBestEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:430,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:431,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:431,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:432,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:433,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:436,1
    - Dst: SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:437,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:438,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:439,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:439,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:442,1
    - Dst: SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:443,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:444,1
    - Dst: sentencepiece::GetIdVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:445,1
    - Dst: sentencepiece::GetIdVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:445,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:448,1
    - Dst: SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:448,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:449,1
    - Dst: NBestSentencePieceText::nbests_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:450,1
    - Dst: NBestSentencePieceText::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:451,1
    - Dst: NBestSentencePieceText::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:451,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:452,1
    - Dst: NBestSentencePieceText::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:452,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:453,1
    - Dst: NBestSentencePieceText::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:455,1
    - Dst: NBestSentencePieceText::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:456,1
    - Dst: NBestSentencePieceText::nbests
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:456,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:459,1
    - Dst: auto::SetNBestEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:460,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:461,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:461,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:462,1
    - Dst: SentencePieceProcessor::NBestEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 463
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NEAR
    - static_cast<float>
    - SentencePieceProcessor::NBestEncode
    - SentencePieceProcessor::SetModel
    - sentencepiece::MakeDefaultNormalizerSpec
    - sentencepiece::GetIdVec
    - EXPECT_EQ
    - std::make_unique<MockModel>
    - sentencepiece::GetSpVec
    - NBestSentencePieceText::nbests_size
    - EXPECT_FALSE
    - SentencePieceProcessor::SetNormalizer
    - EXPECT_TRUE
    - std::move
    - std::vector::size
    - NBestSentencePieceText::nbests
    - auto::SetNBestEncodeResult
    - std::make_unique<normalizer::Normalizer>
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, NBestEncodeTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:469,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:471,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:477,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:479,1
    - Dst: auto::SetNBestEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:481,1
    - Dst: auto::SetEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:482,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:483,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:483,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:484,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:485,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:488,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:489,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:490,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:490,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:493,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:493,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:494,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:495,1
    - Dst: sentencepiece::GetIdVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:495,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:498,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:499,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:501,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:502,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:502,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:505,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:505,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:506,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:506,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:507,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:507,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:511,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:511,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:512,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:512,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:513,1
    - Dst: sentencepiece::GetSpVec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:515,1
    - Dst: LOG
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:518,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:522,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:522,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:522,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:524,1
    - Dst: std::make_unique<MockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:526,1
    - Dst: auto::SetNBestEncodeResult
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:527,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:528,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:528,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:529,1
    - Dst: SentencePieceProcessor::SampleEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 530
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::MakeDefaultNormalizerSpec
    - EXPECT_EQ
    - SentencePieceProcessor::SetNormalizer
    - LOG
    - auto::SetEncodeResult
    - SentencePieceProcessor::SetModel
    - SentencePieceText::pieces
    - sentencepiece::GetIdVec
    - sentencepiece::GetSpVec
    - EXPECT_TRUE
    - auto::SetNBestEncodeResult
    - static_cast<float>
    - std::vector::size
    - SentencePieceProcessor::SampleEncode
    - std::make_unique<normalizer::Normalizer>
    - EXPECT_NEAR
    - std::make_unique<MockModel>
    - EXPECT_FALSE
    - std::exp
    - std::move
    - SentencePieceText::pieces_size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, SampleEncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:545,1
    - Dst: std::make_unique<DecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:568,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:569,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:569,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:571,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:572,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:573,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:577,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:578,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:579,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:582,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:585,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:586,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:586,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:587,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:588,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:588,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:589,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:589,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:590,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:591,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:591,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:592,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:592,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:594,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:594,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:595,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:595,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:596,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:596,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:597,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:598,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:599,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:600,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:601,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:602,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:603,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:604,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:605,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:606,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:607,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:607,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:608,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:608,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:609,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:609,1
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:615,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:616,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:616,1
    - Dst: std::make_unique<DecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:618,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:619,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:619,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:621,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:622,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:623,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:627,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:628,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:628,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:629,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:629,1
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:634,1
    - Dst: auto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:635,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:636,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:636,1
    - Dst: std::make_unique<DecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:638,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:639,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:639,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:641,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:642,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:643,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:647,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:648,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:649,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:649,1
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:654,1
    - Dst: auto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:655,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:656,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:656,1
    - Dst: std::make_unique<DecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:658,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:659,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:659,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:661,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:662,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:663,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:667,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:668,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:668,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:669,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:669,1
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:674,1
    - Dst: auto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:675,1
    - Dst: auto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:676,1
    - Dst: auto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:677,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:678,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:678,1
    - Dst: std::make_unique<DecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:680,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:681,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:681,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:683,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:684,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:685,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:689,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:689,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:690,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:690,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:691,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 693
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - SentencePieceText::text
    - SentencePieceProcessor::Load
    - std::make_unique<normalizer::Normalizer>
    - SentencePieceProcessor::SetModel
    - auto::mutable_normalizer_spec
    - SentencePieceText::pieces
    - sentencepiece::MakeDefaultNormalizerSpec
    - std::make_unique<DecodeMockModel>
    - EXPECT_EQ
    - SentencePieceProcessor::SetNormalizer
    - EXPECT_TRUE
    - std::move
    - SentencePieceText::pieces_size
    - SentencePieceProcessor::Decode
    - auto::mutable_trainer_spec
    - std::make_unique<ModelProto>
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, DecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: sentencepiece::DecodeMockModel::Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 539
    functionName: sentencepiece::DecodeMockModel::GetPieceSize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetPieceSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 546
    functionName: sentencepiece::DecodeMockModel::PieceToId
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: int
    signature: int PieceToId(absl::string_view piece) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: '& IdToPiece(int id) const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & IdToPiece(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 554
    functionName: sentencepiece::DecodeMockModel::IsUnknown
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUnknown(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: sentencepiece::DecodeMockModel::IsControl
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsControl(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 558
    functionName: sentencepiece::DecodeMockModel::IsByte
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsByte(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 560
    functionName: sentencepiece::DecodeMockModel::GetScore
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetScore(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:708,1
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:732,1
    - Dst: auto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:733,1
    - Dst: auto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:734,1
    - Dst: auto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:735,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:736,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:736,1
    - Dst: std::make_unique<DecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:738,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:739,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:739,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:741,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:742,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:743,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:747,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:747,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:748,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:748,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:749,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:749,1
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:754,1
    - Dst: auto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:755,1
    - Dst: auto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:756,1
    - Dst: auto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:757,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:758,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:758,1
    - Dst: std::make_unique<DecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:760,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:761,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:761,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:763,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:764,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:765,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:769,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:769,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:770,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:770,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:771,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 773
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - SentencePieceText::text
    - auto::mutable_normalizer_spec
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::SetModel
    - std::make_unique<normalizer::Normalizer>
    - sentencepiece::MakeDefaultNormalizerSpec
    - std::make_unique<DecodeMockModel>
    - EXPECT_EQ
    - SentencePieceProcessor::SetNormalizer
    - EXPECT_TRUE
    - std::move
    - SentencePieceText::pieces_size
    - SentencePieceProcessor::Decode
    - auto::mutable_trainer_spec
    - std::make_unique<ModelProto>
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, DummyPrefixDecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 700
    functionName: sentencepiece::DecodeMockModel::Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 702
    functionName: sentencepiece::DecodeMockModel::GetPieceSize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetPieceSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 709
    functionName: sentencepiece::DecodeMockModel::PieceToId
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: int
    signature: int PieceToId(absl::string_view piece) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: '& IdToPiece(int id) const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & IdToPiece(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 717
    functionName: sentencepiece::DecodeMockModel::IsUnknown
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUnknown(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: sentencepiece::DecodeMockModel::IsControl
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsControl(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 721
    functionName: sentencepiece::DecodeMockModel::IsByte
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsByte(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 723
    functionName: sentencepiece::DecodeMockModel::GetScore
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetScore(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:789,1
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:793,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:793,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:800,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:800,1
    - Dst: std::make_unique<ByteFallbackDecodeMockModel>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:819,1
    - Dst: SentencePieceProcessor::SetModel
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:820,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:820,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:822,1
    - Dst: SentencePieceProcessor::SetNormalizer
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:823,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:824,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:855,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:855,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:856,1
    - Dst: SentencePieceText::text
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:856,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:857,1
    - Dst: SentencePieceText::pieces_size
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:857,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:860,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:860,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:863,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:863,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:864,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:864,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:865,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:865,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:867,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:867,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:868,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:868,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:869,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:869,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:871,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:871,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:872,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:872,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:873,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:873,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:875,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:875,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:876,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:876,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:877,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:877,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:878,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:878,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:879,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:879,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:880,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:880,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:881,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:881,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:882,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:882,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:883,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:883,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:885,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:885,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:886,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:886,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:887,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:889,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:889,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:890,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:890,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:891,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:892,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:893,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:893,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:894,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:894,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:896,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:896,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:897,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:897,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:898,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:898,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:900,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:900,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:901,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:902,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:904,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:904,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:905,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:906,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:906,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:908,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:908,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:909,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:909,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:910,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:910,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:911,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:911,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:912,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:912,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:913,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:913,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:914,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:914,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:915,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:915,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:916,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:916,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:918,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:918,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:919,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:919,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:920,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:920,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:921,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:921,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:922,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:922,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:923,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:923,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:924,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:924,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:925,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:925,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:926,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 928
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - SentencePieceText::text
    - std::make_unique<normalizer::Normalizer>
    - SentencePieceProcessor::SetModel
    - std::make_unique<ByteFallbackDecodeMockModel>
    - std::string
    - sentencepiece::MakeDefaultNormalizerSpec
    - EXPECT_EQ
    - SentencePieceText::pieces
    - sentencepiece::ByteToPiece
    - SentencePieceProcessor::SetNormalizer
    - EXPECT_TRUE
    - std::move
    - SentencePieceText::pieces_size
    - SentencePieceProcessor::Decode
    - std::vector::push_back
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: void
    signature: void TEST(SentencepieceProcessorTest, ByteFallbackDecodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 780
    functionName: sentencepiece::ByteFallbackDecodeMockModel::Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:789,1
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:793,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 794
    functionName: sentencepiece::ByteFallbackDecodeMockModel::PieceToId
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - ByteToPiece
    - std::string
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: int
    signature: int PieceToId(absl::string_view piece) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:800,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 805
    functionName: '& IdToPiece(int id) const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - ByteToPiece
    - std::vector::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string & IdToPiece(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 807
    functionName: sentencepiece::ByteFallbackDecodeMockModel::GetPieceSize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetPieceSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 809
    functionName: sentencepiece::ByteFallbackDecodeMockModel::IsUnknown
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsUnknown(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 811
    functionName: sentencepiece::ByteFallbackDecodeMockModel::IsControl
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsControl(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 813
    functionName: sentencepiece::ByteFallbackDecodeMockModel::IsByte
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsByte(int id) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: sentencepiece::ByteFallbackDecodeMockModel::ByteFallbackEnabled
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ByteFallbackEnabled() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:932,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:933,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:933,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 935
    functionName: sentencepiece::AddPiece
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 6
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - std::string
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto* model_proto, absl::string_view piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:939,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:939,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:940,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 941
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - SentencePieceProcessor::Load
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, LoadInvalidModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:945,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:946,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:947,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:948,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:949,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:949,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:952,1
    - Dst: SentencePieceProcessor::LoadFromSerializedProto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:952,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:953,1
    - Dst: SentencePieceProcessor::LoadFromSerializedProto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:953,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:953,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:954,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:954,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 956
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - sentencepiece::MakeDefaultNormalizerSpec
    - EXPECT_EQ
    - auto*::set_piece
    - EXPECT_FALSE
    - ModelProto::SerializeAsString
    - sentencepiece::AddPiece
    - SentencePieceProcessor::model_proto
    - EXPECT_TRUE
    - SentencePieceProcessor::LoadFromSerializedProto
    - ModelProto::mutable_normalizer_spec
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, LoadSerializedProtoTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:960,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:961,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:962,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:964,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:965,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:966,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:967,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:968,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:969,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:971,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:972,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:973,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:974,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:975,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:977,1
    - Dst: sentencepiece::MakeDefaultNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:977,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:980,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:981,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:981,1
    - Dst: auto::Write
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:982,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:982,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:986,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:986,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:986,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:986,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:988,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:988,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:989,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:991,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:991,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:992,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:992,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:993,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:993,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:994,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:994,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:995,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:995,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:996,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:996,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:997,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:997,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:998,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:998,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:999,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:999,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1001,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1001,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1002,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1002,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1003,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1003,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1004,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1004,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1005,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1005,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1006,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1007,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1007,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1008,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1008,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1010,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1010,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1011,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1011,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1012,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1012,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1013,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1013,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1014,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1014,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1015,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1015,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1016,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1016,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1017,1
    - Dst: SentencePieceProcessor::GetScore
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1017,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1019,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1019,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1020,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1020,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1021,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1021,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1022,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1022,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1023,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1023,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1024,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1024,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1025,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1025,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1026,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1026,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1028,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1028,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1029,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1029,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1030,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1030,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1031,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1031,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1032,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1032,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1033,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1033,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1034,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1034,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1035,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1035,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1037,1
    - Dst: SentencePieceProcessor::unk_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1037,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1038,1
    - Dst: SentencePieceProcessor::bos_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1038,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1039,1
    - Dst: SentencePieceProcessor::eos_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1039,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1040,1
    - Dst: SentencePieceProcessor::pad_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1040,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1045,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1045,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1046,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1050,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1050,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1051,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1055,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1055,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1059,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1059,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1060,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1064,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1064,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1065,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1068,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1068,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1069,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1069,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1070,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1070,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1074,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1074,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1078,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1078,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1079,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1083,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1083,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1084,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1087,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1087,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1088,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1088,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1089,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1089,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1090,1
    - Dst: SentencePieceText::pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1090,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1094,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1094,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1098,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1098,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1099,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1103,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1104,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1108,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1108,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1113,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1114,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1118,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1118,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1119,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1123,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1123,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1128,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1128,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1129,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1133,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1134,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1138,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1138,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1143,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1143,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1144,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1148,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1148,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1149,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1155,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1155,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1156,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1159,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1160,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1164,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1164,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1168,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1168,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1169,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1172,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1172,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1177,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1177,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1181,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1181,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1182,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1185,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1186,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1190,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1190,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1194,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1194,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1195,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1198,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1198,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1199,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1203,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1203,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1207,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1207,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1208,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1211,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1212,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1216,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1216,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1220,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1221,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1224,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1224,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1225,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1232,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1232,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1236,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1236,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1240,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1240,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1241,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1244,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1244,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1245,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1249,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1249,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1253,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1253,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1254,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1257,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1257,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1258,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1261,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1261,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1262,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1262,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1264,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1264,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1265,1
    - Dst: SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1265,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1268,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1268,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1269,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1271,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1271,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1272,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1272,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1273,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1273,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1274,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1274,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1275,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1275,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1276,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1276,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1277,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1277,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1278,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1278,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1279,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1279,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1281,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1281,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1282,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1282,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1283,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1283,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1284,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1284,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1285,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1285,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1286,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1287,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1287,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1288,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1288,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1290,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1290,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1291,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1291,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1292,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1292,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1293,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1293,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1294,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1294,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1295,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1295,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1296,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1296,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1297,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1297,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1299,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1299,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1300,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1300,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1301,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1301,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1302,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1302,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1303,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1303,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1304,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1304,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1305,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1305,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1306,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1306,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1311,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1311,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1312,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1316,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1316,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1317,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1323,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1323,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1324,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1327,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1327,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1328,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1336,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1336,1
    - Dst: RunTest
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1337,1
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1343,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1344,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1346,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1346,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1346,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1347,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1347,1
    - Dst: RunTest
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 216
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 1350
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::MakeDefaultNormalizerSpec
    - EXPECT_EQ
    - auto*::set_piece
    - SentencePieceProcessor::GetPieceSize
    - ModelProto::mutable_normalizer_spec
    - SentencePieceProcessor::bos_id
    - SentencePieceProcessor::PieceToId
    - ModelProto::add_pieces
    - SentencePieceProcessor::SetDecodeExtraOptions
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::unk_id
    - SentencePieceProcessor::eos_id
    - SentencePieceProcessor::Encode
    - SentencePieceText::pieces
    - RunTest
    - EXPECT_TRUE
    - SentencePieceProcessor::GetScore
    - std::make_unique<ModelProto>
    - auto*::set_type
    - testing::TempDir
    - SentencePieceProcessor::SetEncodeExtraOptions
    - sentencepiece::util::JoinPath
    - auto::Write
    - SentencePieceProcessor::IdToPiece
    - SentencePieceProcessor::Decode
    - EXPECT_NEAR
    - sentencepiece::filesystem::NewWritableFile
    - auto::get
    - EXPECT_FALSE
    - ModelProto::SerializeAsString
    - sentencepiece::AddPiece
    - std::move
    - SentencePieceProcessor::pad_id
    - SentencePieceProcessor::IsUnknown
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1354,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1355,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1357,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1358,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1359,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1360,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1362,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1363,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1364,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1365,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1366,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1367,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1368,1
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1370,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1371,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1374,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1374,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1377,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1377,1
    - Dst: LOG
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1378,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1379,1
    - Dst: std::vector<std::string>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1382
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - LOG
    - std::vector<std::string>
    - SentencePieceProcessor::Load
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    - SentencePieceProcessor::Encode
    - EXPECT_EQ
    - auto*::set_piece
    - sentencepiece::AddPiece
    - EXPECT_TRUE
    - ModelProto::mutable_normalizer_spec
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, SkipNormalizationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1386,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1387,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1388,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1390,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1391,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1392,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1393,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1396,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1397,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1398,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1399,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1400,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1401,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1403,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1404,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1407,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1408,1
    - Dst: SentencePieceProcessor::unk_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1408,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1409,1
    - Dst: SentencePieceProcessor::bos_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1409,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1410,1
    - Dst: SentencePieceProcessor::eos_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1410,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1411,1
    - Dst: SentencePieceProcessor::pad_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1411,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1413,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1413,1
    - Dst: SentencePieceProcessor::unk_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1413,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1414,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1414,1
    - Dst: SentencePieceProcessor::bos_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1414,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1415,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1415,1
    - Dst: SentencePieceProcessor::eos_id
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1416
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::unk_id
    - SentencePieceProcessor::eos_id
    - EXPECT_EQ
    - auto*::set_piece
    - sentencepiece::AddPiece
    - EXPECT_TRUE
    - SentencePieceProcessor::pad_id
    - SentencePieceProcessor::IdToPiece
    - ModelProto::mutable_trainer_spec
    - SentencePieceProcessor::bos_id
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, OverrideSpecialPieceTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1422,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1423,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1424,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1426,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1427,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1428,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1430,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1431,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1433,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1434,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1435,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1436,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1438,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1441,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1441,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1444,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1444,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1446,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1446,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1447,1
    - Dst: std::vector<std::string>
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1447,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1449,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1449,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1450,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1450,1
    - Dst: test_with_model
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1455,1
    - Dst: test_with_model
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1457,1
    - Dst: test_with_model
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1459,1
    - Dst: test_with_model
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1461,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1466,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1467,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1468,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1469,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1472,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1472,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1473,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1473,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1474,1
    - Dst: SentencePieceProcessor::SetEncodeExtraOptions
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1476
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - std::vector<std::string>
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - SentencePieceProcessor::SetEncodeExtraOptions
    - EXPECT_EQ
    - auto*::set_piece
    - EXPECT_FALSE
    - sentencepiece::AddPiece
    - EXPECT_TRUE
    - ModelProto::mutable_trainer_spec
    - test_with_model
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceProcessorTest, SpecialPiecesCombinationsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::io::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1480,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1481,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1481,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1482,1
    - Dst: absl::StrContains
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1482,1
    - Dst: auto::message
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1478
    functionDepth: 2
    functionLinenumber: 1478
    functionLinenumberEnd: 1484
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - auto::message
    - EXPECT_FALSE
    - EXPECT_TRUE
    - absl::StrContains
    - sentencepiece::io::LoadModelProto
    linkageType: ''
    returnType: void
    signature: void TEST(LoadModelProtoTest, EmptyFilename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1488,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1488,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1490,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1491,1
    - Dst: auto::Write
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1491,1
    - Dst: sentencepiece::io::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1494,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1495,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1495,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1496,1
    - Dst: absl::StrContains
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1496,1
    - Dst: auto::message
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1497,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1499
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - ASSERT_TRUE
    - auto::ok
    - sentencepiece::filesystem::NewWritableFile
    - auto::message
    - EXPECT_FALSE
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - auto::Write
    - absl::StrContains
    - sentencepiece::io::LoadModelProto
    linkageType: ''
    returnType: void
    signature: void TEST(LoadModelProtoTest, FileNotParseableAsModelProto)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1503,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1504,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1505,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1507,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1507,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1509,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1510,1
    - Dst: auto::Write
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1510,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1510,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1512,1
    - Dst: sentencepiece::io::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_processor_test.cc:1512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1501
    functionDepth: 2
    functionLinenumber: 1501
    functionLinenumberEnd: 1513
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - testing::TempDir
    - ASSERT_TRUE
    - sentencepiece::filesystem::NewWritableFile
    - ModelProto::SerializeAsString
    - sentencepiece::AddPiece
    - sentencepiece::util::JoinPath
    - auto::Write
    - sentencepiece::io::LoadModelProto
    linkageType: ''
    returnType: void
    signature: void TEST(LoadModelProtoTest, FileLoadsOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: sentencepiece::ModelInterface::ModelInterface
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: sentencepiece::ModelInterface::status
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: '& model_proto() const'
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto & model_proto() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/sentencepiece/src/model_interface.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: sentencepiece::ModelInterface::prefix_matcher
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: normalizer::PrefixMatcher
    signature: "normalizer::PrefixMatcher * prefix_matcher()\n      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/model_interface.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - normalized
    - nbest_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: sentencepiece::ModelInterface::NBestEncode
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - LOG
    linkageType: ''
    returnType: NBestEncodeResult
    signature: "NBestEncodeResult NBestEncode(\n      absl::string_view normalized,
      int nbest_size) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/model_interface.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - normalized
    - alpha
    argTypes:
    - absl::string_view
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: sentencepiece::ModelInterface::SampleEncode
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - LOG
    linkageType: ''
    returnType: EncodeResult
    signature: "EncodeResult SampleEncode(absl::string_view normalized,\n                                                  float
      alpha) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: sentencepiece::ModelInterface::IsSampleEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSampleEncodeAvailable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: sentencepiece::ModelInterface::IsNBestEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNBestEncodeAvailable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:121,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:122,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:122,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: '& IdToPiece(int id) const'
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: std::string
    signature: std::string & IdToPiece(int id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: sentencepiece::ModelInterface::GetPieceSize
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces_size
    linkageType: ''
    returnType: int
    signature: int GetPieceSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:139,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:140,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:140,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: sentencepiece::ModelInterface::GetScore
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: float
    signature: float GetScore(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:146,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:147,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:147,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: sentencepiece::ModelInterface::IsUnknown
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsUnknown(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:154,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:155,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:155,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: sentencepiece::ModelInterface::IsControl
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsControl(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:162,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:163,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:163,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: sentencepiece::ModelInterface::IsUnused
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsUnused(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:170,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:171,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:171,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: sentencepiece::ModelInterface::IsUserDefined
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsUserDefined(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:178,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:179,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:179,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: sentencepiece::ModelInterface::IsByte
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsByte(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/model_interface.h:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: sentencepiece::ModelInterface::ByteFallbackEnabled
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - trainer_spec
    linkageType: ''
    returnType: bool
    signature: bool ByteFallbackEnabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expected
    - actual
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: sentencepiece::ModelInterface::VerifyOutputsEquivalent
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool VerifyOutputsEquivalent(\n      absl::string_view expected, absl::string_view
      actual) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:208,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:209,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:209,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: sentencepiece::ModelInterface::GetScoreInlined
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: float
    signature: float GetScoreInlined(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:214,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:215,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:215,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: sentencepiece::ModelInterface::IsUnknownInlined
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsUnknownInlined(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:221,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:222,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:222,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: sentencepiece::ModelInterface::IsControlInlined
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsControlInlined(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:228,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:229,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:229,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: sentencepiece::ModelInterface::IsUnusedInlined
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsUnusedInlined(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:235,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:236,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:236,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: sentencepiece::ModelInterface::IsUserDefinedInlined
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsUserDefinedInlined(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:242,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:243,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:243,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: sentencepiece::ModelInterface::IsByteInlined
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsByteInlined(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:248,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:249,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:249,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:250,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.h:251,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.h:252,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.h:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: sentencepiece::ModelInterface::IsReservedId
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - type
    - DCHECK_LT
    - DCHECK_GE
    - pieces
    - pieces_size
    linkageType: ''
    returnType: bool
    signature: bool IsReservedId(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: sentencepiece::ModelInterface::ModelInterface
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: sentencepiece::ModelInterface::status
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: '& model_proto() const'
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto & model_proto() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/sentencepiece/src/model_interface.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: sentencepiece::ModelInterface::prefix_matcher
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: normalizer::PrefixMatcher
    signature: "normalizer::PrefixMatcher * prefix_matcher()\n      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/model_interface.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - normalized
    - nbest_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: sentencepiece::ModelInterface::NBestEncode
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - LOG
    linkageType: ''
    returnType: NBestEncodeResult
    signature: "NBestEncodeResult NBestEncode(\n      absl::string_view normalized,
      int nbest_size) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/model_interface.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - normalized
    - alpha
    argTypes:
    - absl::string_view
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: sentencepiece::ModelInterface::SampleEncode
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - LOG
    linkageType: ''
    returnType: EncodeResult
    signature: "EncodeResult SampleEncode(absl::string_view normalized,\n                                                  float
      alpha) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: sentencepiece::ModelInterface::IsSampleEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSampleEncodeAvailable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: sentencepiece::ModelInterface::IsNBestEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNBestEncodeAvailable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:121,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:122,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:122,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: '& IdToPiece(int id) const'
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: std::string
    signature: std::string & IdToPiece(int id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: sentencepiece::ModelInterface::GetPieceSize
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces_size
    linkageType: ''
    returnType: int
    signature: int GetPieceSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:139,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:140,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:140,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: sentencepiece::ModelInterface::GetScore
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: float
    signature: float GetScore(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:146,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:147,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:147,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: sentencepiece::ModelInterface::IsUnknown
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsUnknown(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:154,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:155,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:155,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: sentencepiece::ModelInterface::IsControl
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsControl(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:162,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:163,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:163,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: sentencepiece::ModelInterface::IsUnused
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsUnused(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:170,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:171,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:171,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: sentencepiece::ModelInterface::IsUserDefined
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsUserDefined(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:178,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:179,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:179,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: sentencepiece::ModelInterface::IsByte
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsByte(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/model_interface.h:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: sentencepiece::ModelInterface::ByteFallbackEnabled
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - trainer_spec
    linkageType: ''
    returnType: bool
    signature: bool ByteFallbackEnabled() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - expected
    - actual
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: sentencepiece::ModelInterface::VerifyOutputsEquivalent
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool VerifyOutputsEquivalent(\n      absl::string_view expected, absl::string_view
      actual) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:208,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:209,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:209,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: sentencepiece::ModelInterface::GetScoreInlined
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: float
    signature: float GetScoreInlined(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:214,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:215,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:215,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: sentencepiece::ModelInterface::IsUnknownInlined
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsUnknownInlined(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:221,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:222,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:222,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: sentencepiece::ModelInterface::IsControlInlined
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsControlInlined(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:228,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:229,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:229,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: sentencepiece::ModelInterface::IsUnusedInlined
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsUnusedInlined(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:235,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:236,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:236,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: sentencepiece::ModelInterface::IsUserDefinedInlined
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsUserDefinedInlined(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:242,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:243,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:243,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: sentencepiece::ModelInterface::IsByteInlined
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - pieces
    - DCHECK_GE
    - pieces_size
    - DCHECK_LT
    linkageType: ''
    returnType: bool
    signature: bool IsByteInlined(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/sentencepiece/src/model_interface.h:248,1
    - Dst: DCHECK_LT
      Src: /src/sentencepiece/src/model_interface.h:249,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.h:249,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.h:250,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.h:251,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.h:252,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.h:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: sentencepiece::ModelInterface::IsReservedId
    functionSourceFile: /src/sentencepiece/src/model_interface.h
    functionUses: 0
    functionsReached:
    - type
    - DCHECK_LT
    - DCHECK_GE
    - pieces
    - pieces_size
    linkageType: ''
    returnType: bool
    signature: bool IsReservedId(int id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:36,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:36,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:37,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:38,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:38,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - expected_vocab_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: sentencepiece::CheckVocab
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - SentencePieceProcessor::Load
    - ASSERT_TRUE
    - EXPECT_EQ
    - absl::string_view::data
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: void
    signature: void CheckVocab(absl::string_view filename, int expected_vocab_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:45,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:45,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:45,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:46,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:48,1
    - Dst: precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:50,1
    - Dst: precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - filename
    - expected_has_normalizer
    - expected_has_denormalizer
    argTypes:
    - absl::string_view
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: sentencepiece::CheckNormalizer
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - precompiled_charsmap
    - SentencePieceProcessor::Load
    - ASSERT_TRUE
    - EXPECT_EQ
    - absl::string_view::data
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: void
    signature: "void CheckNormalizer(absl::string_view filename, bool expected_has_normalizer,\n
      \                    bool expected_has_denormalizer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:55,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:55,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:56,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:56,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:58,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:58,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:59,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:62,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:64,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:65,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:66,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:69,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:71,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:71,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:72,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:77,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:77,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:78,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:81,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:83,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:83,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:84,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:89,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:89,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:90,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:96,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:96,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:97,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 102
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - ASSERT_TRUE
    - testing::TempDir
    - sentencepiece::CheckVocab
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainFromArgsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:108,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:110,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:113,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:120,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:120,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:121,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:121,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:125,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:126,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:126,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:128,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:131,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:131,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:132,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:135,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:136,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:138,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:138,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:141,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:142,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:145,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:146,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:147,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:149,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 151
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - ASSERT_TRUE
    - auto::ReadLine
    - auto::status
    - sentencepiece::CheckVocab
    - sentencepiece::filesystem::NewReadableFile
    - absl::OkStatus
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - std::move
    - std::vector::emplace_back
    - testing::SrcDir
    - sentencepiece::CheckNormalizer
    - size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainFromIterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: sentencepiece::VectorIterator::VectorIterator
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void VectorIterator(std::vector<std::string>&& vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: sentencepiece::VectorIterator::done
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool done() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: sentencepiece::VectorIterator::Next
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& value() const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: sentencepiece::VectorIterator::status
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:154,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:154,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:155,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:155,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:156,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:156,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:158,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:158,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:159,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - testing::SrcDir
    - sentencepiece::CheckNormalizer
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainWithCustomNormalizationRule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:168,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:168,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:169,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:169,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:171,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:171,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:173,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:174,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:175,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:176,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - testing::SrcDir
    - sentencepiece::CheckNormalizer
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainWithCustomDenormalizationRule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::set_normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:188,1
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:189,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:190,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::set_normalization_rule_tsv
    - sentencepiece::SentencePieceTrainer::Train
    - NormalizerSpec::set_precompiled_charsmap
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainErrorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:195,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:195,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:195,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:196,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:196,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:196,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:197,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:199,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:199,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:200,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - ASSERT_TRUE
    - TrainerSpec::set_model_prefix
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_vocab_size
    - testing::SrcDir
    - TrainerSpec::add_input
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:207,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:208,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:210,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:212,1
    - Dst: TrainerSpec::vocab_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:212,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:213,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:214,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:216,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:218,1
    - Dst: TrainerSpec::input_format
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:218,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:219,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:221,1
    - Dst: TrainerSpec::input_format
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:221,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:223,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:226,1
    - Dst: TrainerSpec::split_by_whitespace
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:226,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:227,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:228,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:230,1
    - Dst: TrainerSpec::split_by_whitespace
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:230,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:232,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:233,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:235,1
    - Dst: TrainerSpec::character_coverage
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:235,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:236,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:240,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:243,1
    - Dst: TrainerSpec::input_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:244,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:245,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:246,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:246,1
    - Dst: TrainerSpec::Clear
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:250,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:253,1
    - Dst: TrainerSpec::input_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:254,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:255,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:257,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:259,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:260,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:265,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:266,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:268,1
    - Dst: NormalizerSpec::add_dummy_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:268,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:270,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:270,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:273,1
    - Dst: NormalizerSpec::escape_whitespaces
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:275,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 278
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - TrainerSpec::input_format
    - EXPECT_NEAR
    - ASSERT_TRUE
    - NormalizerSpec::add_dummy_prefix
    - TrainerSpec::input
    - TrainerSpec::Clear
    - TrainerSpec::character_coverage
    - EXPECT_EQ
    - EXPECT_FALSE
    - TrainerSpec::input_size
    - NormalizerSpec::escape_whitespaces
    - EXPECT_TRUE
    - TrainerSpec::vocab_size
    - TrainerSpec::split_by_whitespace
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, SetProtoFieldTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:284,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:285,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:288,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:288,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:292,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:297,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:297,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:302,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:302,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:307,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:307,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:312,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:312,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:317,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:321,1
    - Dst: NormalizerSpec::name
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:323,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:327,1
    - Dst: NormalizerSpec::normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:327,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:329,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:333,1
    - Dst: NormalizerSpec::normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:333,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:335,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 339
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - NormalizerSpec::name
    - EXPECT_EQ
    - EXPECT_FALSE
    - NormalizerSpec::normalization_rule_tsv
    - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, MergeSpecsFromArgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:343,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:345,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:345,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:346,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:347,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:348,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:348,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:349,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:351,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:351,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:352,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:354,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:354,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:355,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 357
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TrainerSpec::model_type
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, PopulateModelTypeFromStringTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:360,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:360,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:361,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:364,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:364,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:364,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:365,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:367,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:367,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:373,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:374,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:374,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:379,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:380,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:381,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:381,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:384,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:384,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:387,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:388,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:389,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:390,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:390,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:392,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:393,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:395,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:395,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:400,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:400,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:401,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:405,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:405,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:410,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:410,1
    - Dst: mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:411,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:412,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:412,1
    - Dst: mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:413,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:414,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:414,1
    - Dst: mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:416,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:421,1
    - Dst: SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:421,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:423,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:423,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:428,1
    - Dst: SentencePieceNormalizer::LoadFromRuleTSV
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:429,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:429,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:429,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:431,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:431,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:436,1
    - Dst: SentencePieceNormalizer::LoadFromRuleTSV
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:436,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:441,1
    - Dst: SentencePieceNormalizer::LoadFromRuleName
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:441,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:443,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:443,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:448,1
    - Dst: SentencePieceNormalizer::LoadFromRuleName
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:448,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:450,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:450,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:455,1
    - Dst: SentencePieceNormalizer::LoadFromRuleName
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 457
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - mutable_normalizer_spec
    - SentencePieceNormalizer::LoadFromRuleName
    - SentencePieceNormalizer::Load
    - EXPECT_EQ
    - static_cast<char>
    - ASSERT_TRUE
    - SentencePieceProcessor::Load
    - SentencePieceNormalizer::Normalize
    - sentencepiece::ConvertToUnicodeAlignment
    - TrainerSpec::set_vocab_size
    - testing::SrcDir
    - testing::TempDir
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - TrainerSpec::add_input
    - sentencepiece::SentencePieceTrainer::Train
    - SentencePieceProcessor::Normalize
    - std::vector<size_t>
    - EXPECT_FALSE
    - TrainerSpec::set_model_prefix
    - set_normalization_only
    - SentencePieceNormalizer::LoadFromRuleTSV
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, NormalizationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:466,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:466,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:468,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:468,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:469,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:470,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:470,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:471,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:472,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:472,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:475,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:476,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:477,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:478,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:478,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:481,1
    - Dst: SentencePieceNormalizer::Decompile
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:483,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:487,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:492,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:492,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:493,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:493,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:494,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:494,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:495,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:495,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:496,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 497
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - ASSERT_EQ
    - EXPECT_EQ
    - SentencePieceNormalizer::Normalize
    - EXPECT_FALSE
    - SentencePieceNormalizer::mutable_normalizer_spec
    - std::vector::size
    - SentencePieceNormalizer::LoadFromMap
    - SentencePieceNormalizer::Decompile
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, NormalizerMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:502,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:502,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:503,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:503,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:504,1
    - Dst: SentencePieceNormalizer::serialized_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:506,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:515,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:519,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:519,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:520,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:520,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:521,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:522,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:522,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:523,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:523,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:524,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:524,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:526,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 527
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - SentencePieceNormalizer::serialized_normalizer_spec
    - EXPECT_FALSE
    - train_with_kwargs
    - SentencePieceNormalizer::mutable_normalizer_spec
    - SentencePieceNormalizer::LoadFromMap
    - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, NormalizerConflictTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:36,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:36,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:37,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:38,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:38,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - expected_vocab_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: sentencepiece::CheckVocab
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 2
    functionsReached:
    - SentencePieceProcessor::Load
    - ASSERT_TRUE
    - EXPECT_EQ
    - absl::string_view::data
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: void
    signature: void CheckVocab(absl::string_view filename, int expected_vocab_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:45,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:45,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:45,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:46,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:48,1
    - Dst: precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:50,1
    - Dst: precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - filename
    - expected_has_normalizer
    - expected_has_denormalizer
    argTypes:
    - absl::string_view
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: sentencepiece::CheckNormalizer
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 3
    functionsReached:
    - precompiled_charsmap
    - SentencePieceProcessor::Load
    - ASSERT_TRUE
    - EXPECT_EQ
    - absl::string_view::data
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: void
    signature: "void CheckNormalizer(absl::string_view filename, bool expected_has_normalizer,\n
      \                    bool expected_has_denormalizer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:55,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:55,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:56,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:56,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:58,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:58,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:59,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:62,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:64,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:65,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:66,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:69,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:71,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:71,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:72,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:77,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:77,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:78,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:81,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:83,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:83,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:84,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:89,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:89,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:90,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:96,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:96,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:97,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 102
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - ASSERT_TRUE
    - testing::TempDir
    - sentencepiece::CheckVocab
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainFromArgsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:108,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:110,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:113,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:120,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:120,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:121,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:121,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:125,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:126,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:126,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:128,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:131,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:131,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:132,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:135,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:136,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:138,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:138,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:141,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:142,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:145,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:146,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:147,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:149,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 151
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - ASSERT_TRUE
    - auto::ReadLine
    - auto::status
    - sentencepiece::CheckVocab
    - sentencepiece::filesystem::NewReadableFile
    - absl::OkStatus
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - std::move
    - std::vector::emplace_back
    - testing::SrcDir
    - sentencepiece::CheckNormalizer
    - size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainFromIterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: sentencepiece::VectorIterator::VectorIterator
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void VectorIterator(std::vector<std::string>&& vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: sentencepiece::VectorIterator::done
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool done() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: sentencepiece::VectorIterator::Next
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& value() const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: sentencepiece::VectorIterator::status
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:154,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:154,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:155,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:155,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:156,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:156,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:158,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:158,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:159,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - testing::SrcDir
    - sentencepiece::CheckNormalizer
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainWithCustomNormalizationRule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:168,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:168,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:169,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:169,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:171,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:171,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:173,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:174,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:175,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:176,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - testing::SrcDir
    - sentencepiece::CheckNormalizer
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainWithCustomDenormalizationRule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::set_normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:188,1
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:189,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:190,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::set_normalization_rule_tsv
    - sentencepiece::SentencePieceTrainer::Train
    - NormalizerSpec::set_precompiled_charsmap
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainErrorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:195,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:195,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:195,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:196,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:196,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:196,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:197,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:199,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:199,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:200,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - ASSERT_TRUE
    - TrainerSpec::set_model_prefix
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_vocab_size
    - testing::SrcDir
    - TrainerSpec::add_input
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:207,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:208,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:210,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:212,1
    - Dst: TrainerSpec::vocab_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:212,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:213,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:214,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:216,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:218,1
    - Dst: TrainerSpec::input_format
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:218,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:219,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:221,1
    - Dst: TrainerSpec::input_format
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:221,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:223,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:226,1
    - Dst: TrainerSpec::split_by_whitespace
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:226,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:227,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:228,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:230,1
    - Dst: TrainerSpec::split_by_whitespace
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:230,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:232,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:233,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:235,1
    - Dst: TrainerSpec::character_coverage
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:235,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:236,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:240,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:243,1
    - Dst: TrainerSpec::input_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:244,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:245,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:246,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:246,1
    - Dst: TrainerSpec::Clear
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:250,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:253,1
    - Dst: TrainerSpec::input_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:254,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:255,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:257,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:259,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:260,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:265,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:266,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:268,1
    - Dst: NormalizerSpec::add_dummy_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:268,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:270,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:270,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:273,1
    - Dst: NormalizerSpec::escape_whitespaces
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:275,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 278
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - TrainerSpec::input_format
    - EXPECT_NEAR
    - ASSERT_TRUE
    - NormalizerSpec::add_dummy_prefix
    - TrainerSpec::input
    - TrainerSpec::Clear
    - TrainerSpec::character_coverage
    - EXPECT_EQ
    - EXPECT_FALSE
    - TrainerSpec::input_size
    - NormalizerSpec::escape_whitespaces
    - EXPECT_TRUE
    - TrainerSpec::vocab_size
    - TrainerSpec::split_by_whitespace
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, SetProtoFieldTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:284,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:285,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:288,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:288,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:292,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:297,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:297,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:302,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:302,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:307,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:307,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:312,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:312,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:317,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:321,1
    - Dst: NormalizerSpec::name
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:323,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:327,1
    - Dst: NormalizerSpec::normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:327,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:329,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:333,1
    - Dst: NormalizerSpec::normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:333,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:335,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 339
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - NormalizerSpec::name
    - EXPECT_EQ
    - EXPECT_FALSE
    - NormalizerSpec::normalization_rule_tsv
    - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, MergeSpecsFromArgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:343,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:345,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:345,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:346,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:347,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:348,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:348,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:349,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:351,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:351,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:352,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:354,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:354,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:355,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 357
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TrainerSpec::model_type
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, PopulateModelTypeFromStringTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:360,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:360,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:361,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:364,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:364,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:364,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:365,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:367,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:367,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:373,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:374,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:374,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:379,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:380,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:381,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:381,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:384,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:384,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:387,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:388,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:389,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:390,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:390,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:392,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:393,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:395,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:395,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:400,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:400,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:401,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:405,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:405,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:410,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:410,1
    - Dst: mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:411,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:412,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:412,1
    - Dst: mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:413,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:414,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:414,1
    - Dst: mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:416,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:421,1
    - Dst: SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:421,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:423,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:423,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:428,1
    - Dst: SentencePieceNormalizer::LoadFromRuleTSV
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:429,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:429,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:429,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:431,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:431,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:436,1
    - Dst: SentencePieceNormalizer::LoadFromRuleTSV
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:436,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:441,1
    - Dst: SentencePieceNormalizer::LoadFromRuleName
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:441,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:443,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:443,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:448,1
    - Dst: SentencePieceNormalizer::LoadFromRuleName
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:448,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:450,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:450,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:455,1
    - Dst: SentencePieceNormalizer::LoadFromRuleName
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 457
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - mutable_normalizer_spec
    - SentencePieceNormalizer::LoadFromRuleName
    - SentencePieceNormalizer::Load
    - EXPECT_EQ
    - static_cast<char>
    - ASSERT_TRUE
    - SentencePieceProcessor::Load
    - SentencePieceNormalizer::Normalize
    - sentencepiece::ConvertToUnicodeAlignment
    - TrainerSpec::set_vocab_size
    - testing::SrcDir
    - testing::TempDir
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - TrainerSpec::add_input
    - sentencepiece::SentencePieceTrainer::Train
    - SentencePieceProcessor::Normalize
    - std::vector<size_t>
    - EXPECT_FALSE
    - TrainerSpec::set_model_prefix
    - set_normalization_only
    - SentencePieceNormalizer::LoadFromRuleTSV
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, NormalizationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:466,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:466,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:468,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:468,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:469,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:470,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:470,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:471,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:472,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:472,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:475,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:476,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:477,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:478,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:478,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:481,1
    - Dst: SentencePieceNormalizer::Decompile
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:483,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:487,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:492,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:492,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:493,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:493,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:494,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:494,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:495,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:495,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:496,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 497
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - ASSERT_EQ
    - EXPECT_EQ
    - SentencePieceNormalizer::Normalize
    - EXPECT_FALSE
    - SentencePieceNormalizer::mutable_normalizer_spec
    - std::vector::size
    - SentencePieceNormalizer::LoadFromMap
    - SentencePieceNormalizer::Decompile
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, NormalizerMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:502,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:502,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:503,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:503,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:504,1
    - Dst: SentencePieceNormalizer::serialized_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:506,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:515,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:519,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:519,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:520,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:520,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:521,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:522,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:522,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:523,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:523,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:524,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:524,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:526,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 527
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - SentencePieceNormalizer::serialized_normalizer_spec
    - EXPECT_FALSE
    - train_with_kwargs
    - SentencePieceNormalizer::mutable_normalizer_spec
    - SentencePieceNormalizer::LoadFromMap
    - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, NormalizerConflictTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:36,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:36,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:37,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:38,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:38,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - expected_vocab_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: sentencepiece::CheckVocab
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 4
    functionsReached:
    - SentencePieceProcessor::Load
    - ASSERT_TRUE
    - EXPECT_EQ
    - absl::string_view::data
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: void
    signature: void CheckVocab(absl::string_view filename, int expected_vocab_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:45,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:45,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:45,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:46,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:48,1
    - Dst: precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:50,1
    - Dst: precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - filename
    - expected_has_normalizer
    - expected_has_denormalizer
    argTypes:
    - absl::string_view
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: sentencepiece::CheckNormalizer
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 6
    functionsReached:
    - precompiled_charsmap
    - SentencePieceProcessor::Load
    - ASSERT_TRUE
    - EXPECT_EQ
    - absl::string_view::data
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: void
    signature: "void CheckNormalizer(absl::string_view filename, bool expected_has_normalizer,\n
      \                    bool expected_has_denormalizer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:55,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:55,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:56,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:56,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:58,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:58,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:59,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:62,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:64,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:65,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:66,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:69,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:71,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:71,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:72,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:77,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:77,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:78,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:81,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:83,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:83,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:84,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:89,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:89,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:90,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:96,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:96,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:97,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 102
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - ASSERT_TRUE
    - testing::TempDir
    - sentencepiece::CheckVocab
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainFromArgsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:108,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:110,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:113,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:120,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:120,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:121,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:121,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:125,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:126,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:126,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:128,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:131,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:131,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:132,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:135,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:136,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:138,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:138,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:141,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:142,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:145,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:146,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:147,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:149,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 151
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - ASSERT_TRUE
    - auto::ReadLine
    - auto::status
    - sentencepiece::CheckVocab
    - sentencepiece::filesystem::NewReadableFile
    - absl::OkStatus
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - std::move
    - std::vector::emplace_back
    - testing::SrcDir
    - sentencepiece::CheckNormalizer
    - size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainFromIterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: sentencepiece::VectorIterator::VectorIterator
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void VectorIterator(std::vector<std::string>&& vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: sentencepiece::VectorIterator::done
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool done() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: sentencepiece::VectorIterator::Next
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& value() const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: sentencepiece::VectorIterator::status
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:154,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:154,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:155,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:155,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:156,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:156,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:158,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:158,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:159,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - testing::SrcDir
    - sentencepiece::CheckNormalizer
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainWithCustomNormalizationRule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:168,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:168,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:169,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:169,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:171,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:171,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:173,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:174,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:175,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:176,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - testing::SrcDir
    - sentencepiece::CheckNormalizer
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainWithCustomDenormalizationRule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::set_normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:188,1
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:189,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:190,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::set_normalization_rule_tsv
    - sentencepiece::SentencePieceTrainer::Train
    - NormalizerSpec::set_precompiled_charsmap
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainErrorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:195,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:195,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:195,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:196,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:196,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:196,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:197,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:199,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:199,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:200,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - ASSERT_TRUE
    - TrainerSpec::set_model_prefix
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_vocab_size
    - testing::SrcDir
    - TrainerSpec::add_input
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:207,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:208,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:210,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:212,1
    - Dst: TrainerSpec::vocab_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:212,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:213,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:214,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:216,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:218,1
    - Dst: TrainerSpec::input_format
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:218,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:219,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:221,1
    - Dst: TrainerSpec::input_format
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:221,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:223,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:226,1
    - Dst: TrainerSpec::split_by_whitespace
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:226,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:227,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:228,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:230,1
    - Dst: TrainerSpec::split_by_whitespace
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:230,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:232,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:233,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:235,1
    - Dst: TrainerSpec::character_coverage
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:235,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:236,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:240,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:243,1
    - Dst: TrainerSpec::input_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:244,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:245,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:246,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:246,1
    - Dst: TrainerSpec::Clear
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:250,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:253,1
    - Dst: TrainerSpec::input_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:254,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:255,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:257,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:259,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:260,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:265,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:266,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:268,1
    - Dst: NormalizerSpec::add_dummy_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:268,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:270,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:270,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:273,1
    - Dst: NormalizerSpec::escape_whitespaces
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:275,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 278
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - TrainerSpec::input_format
    - EXPECT_NEAR
    - ASSERT_TRUE
    - NormalizerSpec::add_dummy_prefix
    - TrainerSpec::input
    - TrainerSpec::Clear
    - TrainerSpec::character_coverage
    - EXPECT_EQ
    - EXPECT_FALSE
    - TrainerSpec::input_size
    - NormalizerSpec::escape_whitespaces
    - EXPECT_TRUE
    - TrainerSpec::vocab_size
    - TrainerSpec::split_by_whitespace
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, SetProtoFieldTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:284,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:285,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:288,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:288,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:292,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:297,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:297,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:302,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:302,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:307,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:307,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:312,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:312,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:317,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:321,1
    - Dst: NormalizerSpec::name
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:323,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:327,1
    - Dst: NormalizerSpec::normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:327,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:329,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:333,1
    - Dst: NormalizerSpec::normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:333,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:335,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 339
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - NormalizerSpec::name
    - EXPECT_EQ
    - EXPECT_FALSE
    - NormalizerSpec::normalization_rule_tsv
    - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, MergeSpecsFromArgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:343,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:345,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:345,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:346,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:347,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:348,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:348,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:349,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:351,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:351,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:352,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:354,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:354,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:355,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 357
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TrainerSpec::model_type
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, PopulateModelTypeFromStringTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:360,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:360,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:361,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:364,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:364,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:364,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:365,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:367,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:367,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:373,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:374,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:374,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:379,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:380,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:381,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:381,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:384,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:384,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:387,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:388,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:389,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:390,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:390,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:392,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:393,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:395,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:395,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:400,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:400,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:401,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:405,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:405,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:410,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:410,1
    - Dst: mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:411,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:412,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:412,1
    - Dst: mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:413,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:414,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:414,1
    - Dst: mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:416,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:421,1
    - Dst: SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:421,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:423,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:423,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:428,1
    - Dst: SentencePieceNormalizer::LoadFromRuleTSV
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:429,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:429,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:429,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:431,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:431,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:436,1
    - Dst: SentencePieceNormalizer::LoadFromRuleTSV
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:436,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:441,1
    - Dst: SentencePieceNormalizer::LoadFromRuleName
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:441,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:443,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:443,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:448,1
    - Dst: SentencePieceNormalizer::LoadFromRuleName
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:448,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:450,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:450,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:455,1
    - Dst: SentencePieceNormalizer::LoadFromRuleName
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 457
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - mutable_normalizer_spec
    - SentencePieceNormalizer::LoadFromRuleName
    - SentencePieceNormalizer::Load
    - EXPECT_EQ
    - static_cast<char>
    - ASSERT_TRUE
    - SentencePieceProcessor::Load
    - SentencePieceNormalizer::Normalize
    - sentencepiece::ConvertToUnicodeAlignment
    - TrainerSpec::set_vocab_size
    - testing::SrcDir
    - testing::TempDir
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - TrainerSpec::add_input
    - sentencepiece::SentencePieceTrainer::Train
    - SentencePieceProcessor::Normalize
    - std::vector<size_t>
    - EXPECT_FALSE
    - TrainerSpec::set_model_prefix
    - set_normalization_only
    - SentencePieceNormalizer::LoadFromRuleTSV
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, NormalizationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:466,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:466,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:468,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:468,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:469,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:470,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:470,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:471,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:472,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:472,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:475,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:476,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:477,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:478,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:478,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:481,1
    - Dst: SentencePieceNormalizer::Decompile
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:483,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:487,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:492,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:492,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:493,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:493,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:494,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:494,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:495,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:495,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:496,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 497
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - ASSERT_EQ
    - EXPECT_EQ
    - SentencePieceNormalizer::Normalize
    - EXPECT_FALSE
    - SentencePieceNormalizer::mutable_normalizer_spec
    - std::vector::size
    - SentencePieceNormalizer::LoadFromMap
    - SentencePieceNormalizer::Decompile
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, NormalizerMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:502,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:502,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:503,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:503,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:504,1
    - Dst: SentencePieceNormalizer::serialized_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:506,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:515,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:519,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:519,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:520,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:520,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:521,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:522,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:522,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:523,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:523,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:524,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:524,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:526,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 527
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - SentencePieceNormalizer::serialized_normalizer_spec
    - EXPECT_FALSE
    - train_with_kwargs
    - SentencePieceNormalizer::mutable_normalizer_spec
    - SentencePieceNormalizer::LoadFromMap
    - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, NormalizerConflictTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:36,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:36,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:37,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:38,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:38,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - filename
    - expected_vocab_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: sentencepiece::CheckVocab
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 6
    functionsReached:
    - SentencePieceProcessor::Load
    - ASSERT_TRUE
    - EXPECT_EQ
    - absl::string_view::data
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: void
    signature: void CheckVocab(absl::string_view filename, int expected_vocab_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:45,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:45,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:45,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:46,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:48,1
    - Dst: precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:50,1
    - Dst: precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - filename
    - expected_has_normalizer
    - expected_has_denormalizer
    argTypes:
    - absl::string_view
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: sentencepiece::CheckNormalizer
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 9
    functionsReached:
    - precompiled_charsmap
    - SentencePieceProcessor::Load
    - ASSERT_TRUE
    - EXPECT_EQ
    - absl::string_view::data
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: void
    signature: "void CheckNormalizer(absl::string_view filename, bool expected_has_normalizer,\n
      \                    bool expected_has_denormalizer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:55,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:55,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:56,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:56,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:58,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:58,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:59,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:62,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:64,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:65,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:66,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:69,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:71,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:71,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:72,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:77,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:77,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:78,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:81,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:83,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:83,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:84,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:89,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:89,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:90,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:96,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:96,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:97,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 102
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - ASSERT_TRUE
    - testing::TempDir
    - sentencepiece::CheckVocab
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainFromArgsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:108,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:110,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:113,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:120,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:120,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:121,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:121,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:125,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:126,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:126,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:128,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:131,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:131,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:132,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:135,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:136,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:138,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:138,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:141,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:142,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:145,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:146,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:147,1
    - Dst: sentencepiece::CheckVocab
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:149,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 151
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - ASSERT_TRUE
    - auto::ReadLine
    - auto::status
    - sentencepiece::CheckVocab
    - sentencepiece::filesystem::NewReadableFile
    - absl::OkStatus
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - std::move
    - std::vector::emplace_back
    - testing::SrcDir
    - sentencepiece::CheckNormalizer
    - size
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainFromIterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: sentencepiece::VectorIterator::VectorIterator
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void VectorIterator(std::vector<std::string>&& vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: sentencepiece::VectorIterator::done
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool done() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: sentencepiece::VectorIterator::Next
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: '& value() const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: sentencepiece::VectorIterator::status
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:154,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:154,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:155,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:155,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:156,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:156,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:158,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:158,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:159,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - testing::SrcDir
    - sentencepiece::CheckNormalizer
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainWithCustomNormalizationRule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:168,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:168,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:169,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:169,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:171,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:171,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:173,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:174,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:175,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:176,1
    - Dst: sentencepiece::CheckNormalizer
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - testing::SrcDir
    - sentencepiece::CheckNormalizer
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainWithCustomDenormalizationRule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::set_normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:188,1
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:189,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:190,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::set_normalization_rule_tsv
    - sentencepiece::SentencePieceTrainer::Train
    - NormalizerSpec::set_precompiled_charsmap
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainErrorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:195,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:195,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:195,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:196,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:196,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:196,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:197,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:199,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:199,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:200,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - testing::TempDir
    - ASSERT_TRUE
    - TrainerSpec::set_model_prefix
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_vocab_size
    - testing::SrcDir
    - TrainerSpec::add_input
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, TrainTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:207,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:208,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:210,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:212,1
    - Dst: TrainerSpec::vocab_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:212,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:213,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:214,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:216,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:218,1
    - Dst: TrainerSpec::input_format
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:218,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:219,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:221,1
    - Dst: TrainerSpec::input_format
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:221,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:223,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:226,1
    - Dst: TrainerSpec::split_by_whitespace
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:226,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:227,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:228,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:230,1
    - Dst: TrainerSpec::split_by_whitespace
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:230,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:232,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:233,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:235,1
    - Dst: TrainerSpec::character_coverage
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:235,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:236,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:240,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:243,1
    - Dst: TrainerSpec::input_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:244,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:245,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:246,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:246,1
    - Dst: TrainerSpec::Clear
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:249,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:250,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:253,1
    - Dst: TrainerSpec::input_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:254,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:255,1
    - Dst: TrainerSpec::input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:255,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:257,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:259,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:260,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:265,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:266,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:268,1
    - Dst: NormalizerSpec::add_dummy_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:268,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:270,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:270,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:273,1
    - Dst: NormalizerSpec::escape_whitespaces
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:275,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 278
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - TrainerSpec::input_format
    - EXPECT_NEAR
    - ASSERT_TRUE
    - NormalizerSpec::add_dummy_prefix
    - TrainerSpec::input
    - TrainerSpec::Clear
    - TrainerSpec::character_coverage
    - EXPECT_EQ
    - EXPECT_FALSE
    - TrainerSpec::input_size
    - NormalizerSpec::escape_whitespaces
    - EXPECT_TRUE
    - TrainerSpec::vocab_size
    - TrainerSpec::split_by_whitespace
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, SetProtoFieldTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:284,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:285,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:288,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:288,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:292,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:297,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:297,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:302,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:302,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:307,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:307,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:312,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:312,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:317,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:321,1
    - Dst: NormalizerSpec::name
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:323,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:327,1
    - Dst: NormalizerSpec::normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:327,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:329,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:333,1
    - Dst: NormalizerSpec::normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:333,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:335,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 339
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - NormalizerSpec::name
    - EXPECT_EQ
    - EXPECT_FALSE
    - NormalizerSpec::normalization_rule_tsv
    - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, MergeSpecsFromArgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:343,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:345,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:345,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:346,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:347,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:348,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:348,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:349,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:351,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:351,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:352,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:354,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:354,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:355,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 357
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TrainerSpec::model_type
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, PopulateModelTypeFromStringTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:360,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:360,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:361,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:364,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:364,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:364,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:365,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:367,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:367,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:373,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:374,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:374,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:379,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:380,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:381,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:381,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:384,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:384,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:387,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:388,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:389,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:390,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:390,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:392,1
    - Dst: SentencePieceProcessor::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:393,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:395,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:395,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:400,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:400,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:401,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:405,1
    - Dst: std::vector<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:405,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:410,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:410,1
    - Dst: mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:411,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:412,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:412,1
    - Dst: mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:413,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:414,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:414,1
    - Dst: mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:416,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:421,1
    - Dst: SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:421,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:423,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:423,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:428,1
    - Dst: SentencePieceNormalizer::LoadFromRuleTSV
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:429,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:429,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:429,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:431,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:431,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:436,1
    - Dst: SentencePieceNormalizer::LoadFromRuleTSV
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:436,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:441,1
    - Dst: SentencePieceNormalizer::LoadFromRuleName
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:441,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:443,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:443,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:448,1
    - Dst: SentencePieceNormalizer::LoadFromRuleName
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:448,1
    - Dst: set_normalization_only
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:450,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:450,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:455,1
    - Dst: SentencePieceNormalizer::LoadFromRuleName
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 457
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - mutable_normalizer_spec
    - SentencePieceNormalizer::LoadFromRuleName
    - SentencePieceNormalizer::Load
    - EXPECT_EQ
    - static_cast<char>
    - ASSERT_TRUE
    - SentencePieceProcessor::Load
    - SentencePieceNormalizer::Normalize
    - sentencepiece::ConvertToUnicodeAlignment
    - TrainerSpec::set_vocab_size
    - testing::SrcDir
    - testing::TempDir
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - TrainerSpec::add_input
    - sentencepiece::SentencePieceTrainer::Train
    - SentencePieceProcessor::Normalize
    - std::vector<size_t>
    - EXPECT_FALSE
    - TrainerSpec::set_model_prefix
    - set_normalization_only
    - SentencePieceNormalizer::LoadFromRuleTSV
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, NormalizationTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:466,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:466,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:468,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:468,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:469,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:470,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:470,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:471,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:472,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:472,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:475,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:476,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:477,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:478,1
    - Dst: SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:478,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:481,1
    - Dst: SentencePieceNormalizer::Decompile
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:483,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:484,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:487,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:492,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:492,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:493,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:493,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:494,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:494,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:495,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:495,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:496,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 497
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - ASSERT_EQ
    - EXPECT_EQ
    - SentencePieceNormalizer::Normalize
    - EXPECT_FALSE
    - SentencePieceNormalizer::mutable_normalizer_spec
    - std::vector::size
    - SentencePieceNormalizer::LoadFromMap
    - SentencePieceNormalizer::Decompile
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, NormalizerMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:502,1
    - Dst: SentencePieceNormalizer::LoadFromMap
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:502,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:503,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:503,1
    - Dst: SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:504,1
    - Dst: SentencePieceNormalizer::serialized_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:506,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:515,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:519,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:519,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:520,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:520,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:521,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:522,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:522,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:523,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:523,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:524,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:524,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:526,1
    - Dst: train_with_kwargs
      Src: /src/sentencepiece/src/sentencepiece_trainer_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 527
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - SentencePieceNormalizer::serialized_normalizer_spec
    - EXPECT_FALSE
    - train_with_kwargs
    - SentencePieceNormalizer::mutable_normalizer_spec
    - SentencePieceNormalizer::LoadFromMap
    - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, NormalizerConflictTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::Model::SampleEncode
      Src: /src/sentencepiece/src/bpe_model.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: sentencepiece::bpe::Model::Encode
    functionSourceFile: /src/sentencepiece/src/bpe_model.h
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::Model::SampleEncode
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: sentencepiece::bpe::Model::IsSampleEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/bpe_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSampleEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: sentencepiece::bpe::Model::IsNBestEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/bpe_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNBestEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::Model::SampleEncode
      Src: /src/sentencepiece/src/bpe_model.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: sentencepiece::bpe::Model::Encode
    functionSourceFile: /src/sentencepiece/src/bpe_model.h
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::Model::SampleEncode
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: sentencepiece::bpe::Model::IsSampleEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/bpe_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSampleEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: sentencepiece::bpe::Model::IsNBestEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/bpe_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNBestEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::Model::SampleEncode
      Src: /src/sentencepiece/src/bpe_model.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: sentencepiece::bpe::Model::Encode
    functionSourceFile: /src/sentencepiece/src/bpe_model.h
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::Model::SampleEncode
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: sentencepiece::bpe::Model::IsSampleEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/bpe_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSampleEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: sentencepiece::bpe::Model::IsNBestEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/bpe_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNBestEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::Model::SampleEncode
      Src: /src/sentencepiece/src/bpe_model.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: sentencepiece::bpe::Model::Encode
    functionSourceFile: /src/sentencepiece/src/bpe_model.h
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::Model::SampleEncode
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: sentencepiece::bpe::Model::IsSampleEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/bpe_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSampleEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: sentencepiece::bpe::Model::IsNBestEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/bpe_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNBestEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - path
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: WPATH
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPATH(path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - path
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: WPATH
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WPATH(path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/filesystem.cc:38,1
    - Dst: open
      Src: /src/sentencepiece/src/filesystem.cc:41,1
    - Dst: WPATH
      Src: /src/sentencepiece/src/filesystem.cc:41,1
    - Dst: peek
      Src: /src/sentencepiece/src/filesystem.cc:45,1
    - Dst: fail
      Src: /src/sentencepiece/src/filesystem.cc:45,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/filesystem.cc:46,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/filesystem.cc:47,1
    - Dst: sentencepiece::util::StrError
      Src: /src/sentencepiece/src/filesystem.cc:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: sentencepiece::filesystem::PosixReadableFile::PosixReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - peek
    - open
    - WPATH
    - fail
    - absl::string_view::data
    - absl::StatusBuilder
    - sentencepiece::util::StrError
    linkageType: ''
    returnType: void
    signature: "void PosixReadableFile(absl::string_view filename,\n                             bool
      is_binary = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~PosixReadableFile() override
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PosixReadableFile() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: sentencepiece::filesystem::PosixReadableFile::status
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/sentencepiece/src/filesystem.cc:56,1
    - Dst: std::getline
      Src: /src/sentencepiece/src/filesystem.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: sentencepiece::filesystem::PosixReadableFile::ReadLine
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - std::getline
    linkageType: ''
    returnType: bool
    signature: bool ReadLine(std::string* line) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/filesystem.cc:61,1
    - Dst: std::string*::assign
      Src: /src/sentencepiece/src/filesystem.cc:64,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/sentencepiece/src/filesystem.cc:64,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/sentencepiece/src/filesystem.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: sentencepiece::filesystem::PosixReadableFile::ReadAll
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - LOG
    - std::istreambuf_iterator<char>
    - std::string*::assign
    linkageType: ''
    returnType: bool
    signature: bool ReadAll(std::string* line) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/filesystem.cc:79,1
    - Dst: open
      Src: /src/sentencepiece/src/filesystem.cc:82,1
    - Dst: WPATH
      Src: /src/sentencepiece/src/filesystem.cc:82,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/filesystem.cc:87,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/filesystem.cc:88,1
    - Dst: sentencepiece::util::StrError
      Src: /src/sentencepiece/src/filesystem.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: sentencepiece::filesystem::PosixWritableFile::PosixWritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - open
    - WPATH
    - absl::string_view::data
    - absl::StatusBuilder
    - sentencepiece::util::StrError
    linkageType: ''
    returnType: void
    signature: "void PosixWritableFile(absl::string_view filename,\n                             bool
      is_binary = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~PosixWritableFile() override
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PosixWritableFile() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: sentencepiece::filesystem::PosixWritableFile::status
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/src/filesystem.cc:97,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/filesystem.cc:97,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/filesystem.cc:97,1
    - Dst: good
      Src: /src/sentencepiece/src/filesystem.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: sentencepiece::filesystem::PosixWritableFile::Write
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - write
    - good
    linkageType: ''
    returnType: bool
    signature: bool Write(absl::string_view text) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/src/filesystem.cc:102,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/src/filesystem.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: sentencepiece::filesystem::PosixWritableFile::WriteLine
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: bool
    signature: bool WriteLine(absl::string_view text) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DefaultReadableFile>
      Src: /src/sentencepiece/src/filesystem.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - is_binary
    argTypes:
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: sentencepiece::filesystem::NewReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 14
    functionsReached:
    - std::make_unique<DefaultReadableFile>
    linkageType: ''
    returnType: std::unique_ptr<ReadableFile>
    signature: "std::unique_ptr<ReadableFile> NewReadableFile(absl::string_view filename,\n
      \                                             bool is_binary)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DefaultWritableFile>
      Src: /src/sentencepiece/src/filesystem.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - is_binary
    argTypes:
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: sentencepiece::filesystem::NewWritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 19
    functionsReached:
    - std::make_unique<DefaultWritableFile>
    linkageType: ''
    returnType: std::unique_ptr<WritableFile>
    signature: "std::unique_ptr<WritableFile> NewWritableFile(absl::string_view filename,\n
      \                                             bool is_binary)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/filesystem.cc:38,1
    - Dst: open
      Src: /src/sentencepiece/src/filesystem.cc:41,1
    - Dst: WPATH
      Src: /src/sentencepiece/src/filesystem.cc:41,1
    - Dst: peek
      Src: /src/sentencepiece/src/filesystem.cc:45,1
    - Dst: fail
      Src: /src/sentencepiece/src/filesystem.cc:45,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/filesystem.cc:46,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/filesystem.cc:47,1
    - Dst: sentencepiece::util::StrError
      Src: /src/sentencepiece/src/filesystem.cc:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: sentencepiece::filesystem::PosixReadableFile::PosixReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - peek
    - open
    - WPATH
    - fail
    - absl::string_view::data
    - absl::StatusBuilder
    - sentencepiece::util::StrError
    linkageType: ''
    returnType: void
    signature: "void PosixReadableFile(absl::string_view filename,\n                             bool
      is_binary = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~PosixReadableFile() override
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PosixReadableFile() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: sentencepiece::filesystem::PosixReadableFile::status
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/sentencepiece/src/filesystem.cc:56,1
    - Dst: std::getline
      Src: /src/sentencepiece/src/filesystem.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: sentencepiece::filesystem::PosixReadableFile::ReadLine
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - std::getline
    linkageType: ''
    returnType: bool
    signature: bool ReadLine(std::string* line) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/filesystem.cc:61,1
    - Dst: std::string*::assign
      Src: /src/sentencepiece/src/filesystem.cc:64,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/sentencepiece/src/filesystem.cc:64,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/sentencepiece/src/filesystem.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: sentencepiece::filesystem::PosixReadableFile::ReadAll
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - LOG
    - std::istreambuf_iterator<char>
    - std::string*::assign
    linkageType: ''
    returnType: bool
    signature: bool ReadAll(std::string* line) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/filesystem.cc:79,1
    - Dst: open
      Src: /src/sentencepiece/src/filesystem.cc:82,1
    - Dst: WPATH
      Src: /src/sentencepiece/src/filesystem.cc:82,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/filesystem.cc:87,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/filesystem.cc:88,1
    - Dst: sentencepiece::util::StrError
      Src: /src/sentencepiece/src/filesystem.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: sentencepiece::filesystem::PosixWritableFile::PosixWritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - open
    - WPATH
    - absl::string_view::data
    - absl::StatusBuilder
    - sentencepiece::util::StrError
    linkageType: ''
    returnType: void
    signature: "void PosixWritableFile(absl::string_view filename,\n                             bool
      is_binary = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~PosixWritableFile() override
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PosixWritableFile() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: sentencepiece::filesystem::PosixWritableFile::status
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/src/filesystem.cc:97,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/filesystem.cc:97,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/filesystem.cc:97,1
    - Dst: good
      Src: /src/sentencepiece/src/filesystem.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: sentencepiece::filesystem::PosixWritableFile::Write
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - write
    - good
    linkageType: ''
    returnType: bool
    signature: bool Write(absl::string_view text) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/src/filesystem.cc:102,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/src/filesystem.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: sentencepiece::filesystem::PosixWritableFile::WriteLine
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: bool
    signature: bool WriteLine(absl::string_view text) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DefaultReadableFile>
      Src: /src/sentencepiece/src/filesystem.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - is_binary
    argTypes:
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: sentencepiece::filesystem::NewReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 14
    functionsReached:
    - std::make_unique<DefaultReadableFile>
    linkageType: ''
    returnType: std::unique_ptr<ReadableFile>
    signature: "std::unique_ptr<ReadableFile> NewReadableFile(absl::string_view filename,\n
      \                                             bool is_binary)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DefaultWritableFile>
      Src: /src/sentencepiece/src/filesystem.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - is_binary
    argTypes:
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: sentencepiece::filesystem::NewWritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 19
    functionsReached:
    - std::make_unique<DefaultWritableFile>
    linkageType: ''
    returnType: std::unique_ptr<WritableFile>
    signature: "std::unique_ptr<WritableFile> NewWritableFile(absl::string_view filename,\n
      \                                             bool is_binary)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/filesystem.cc:38,1
    - Dst: open
      Src: /src/sentencepiece/src/filesystem.cc:41,1
    - Dst: WPATH
      Src: /src/sentencepiece/src/filesystem.cc:41,1
    - Dst: peek
      Src: /src/sentencepiece/src/filesystem.cc:45,1
    - Dst: fail
      Src: /src/sentencepiece/src/filesystem.cc:45,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/filesystem.cc:46,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/filesystem.cc:47,1
    - Dst: sentencepiece::util::StrError
      Src: /src/sentencepiece/src/filesystem.cc:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: sentencepiece::filesystem::PosixReadableFile::PosixReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - peek
    - open
    - WPATH
    - fail
    - absl::string_view::data
    - absl::StatusBuilder
    - sentencepiece::util::StrError
    linkageType: ''
    returnType: void
    signature: "void PosixReadableFile(absl::string_view filename,\n                             bool
      is_binary = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~PosixReadableFile() override
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PosixReadableFile() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: sentencepiece::filesystem::PosixReadableFile::status
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/sentencepiece/src/filesystem.cc:56,1
    - Dst: std::getline
      Src: /src/sentencepiece/src/filesystem.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: sentencepiece::filesystem::PosixReadableFile::ReadLine
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - std::getline
    linkageType: ''
    returnType: bool
    signature: bool ReadLine(std::string* line) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/filesystem.cc:61,1
    - Dst: std::string*::assign
      Src: /src/sentencepiece/src/filesystem.cc:64,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/sentencepiece/src/filesystem.cc:64,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/sentencepiece/src/filesystem.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: sentencepiece::filesystem::PosixReadableFile::ReadAll
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - LOG
    - std::istreambuf_iterator<char>
    - std::string*::assign
    linkageType: ''
    returnType: bool
    signature: bool ReadAll(std::string* line) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/filesystem.cc:79,1
    - Dst: open
      Src: /src/sentencepiece/src/filesystem.cc:82,1
    - Dst: WPATH
      Src: /src/sentencepiece/src/filesystem.cc:82,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/filesystem.cc:87,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/filesystem.cc:88,1
    - Dst: sentencepiece::util::StrError
      Src: /src/sentencepiece/src/filesystem.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: sentencepiece::filesystem::PosixWritableFile::PosixWritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - open
    - WPATH
    - absl::string_view::data
    - absl::StatusBuilder
    - sentencepiece::util::StrError
    linkageType: ''
    returnType: void
    signature: "void PosixWritableFile(absl::string_view filename,\n                             bool
      is_binary = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~PosixWritableFile() override
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PosixWritableFile() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: sentencepiece::filesystem::PosixWritableFile::status
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/src/filesystem.cc:97,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/filesystem.cc:97,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/filesystem.cc:97,1
    - Dst: good
      Src: /src/sentencepiece/src/filesystem.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: sentencepiece::filesystem::PosixWritableFile::Write
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 2
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - write
    - good
    linkageType: ''
    returnType: bool
    signature: bool Write(absl::string_view text) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/src/filesystem.cc:102,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/src/filesystem.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: sentencepiece::filesystem::PosixWritableFile::WriteLine
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: bool
    signature: bool WriteLine(absl::string_view text) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DefaultReadableFile>
      Src: /src/sentencepiece/src/filesystem.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - is_binary
    argTypes:
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: sentencepiece::filesystem::NewReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 14
    functionsReached:
    - std::make_unique<DefaultReadableFile>
    linkageType: ''
    returnType: std::unique_ptr<ReadableFile>
    signature: "std::unique_ptr<ReadableFile> NewReadableFile(absl::string_view filename,\n
      \                                             bool is_binary)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DefaultWritableFile>
      Src: /src/sentencepiece/src/filesystem.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - is_binary
    argTypes:
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: sentencepiece::filesystem::NewWritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 19
    functionsReached:
    - std::make_unique<DefaultWritableFile>
    linkageType: ''
    returnType: std::unique_ptr<WritableFile>
    signature: "std::unique_ptr<WritableFile> NewWritableFile(absl::string_view filename,\n
      \                                             bool is_binary)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/filesystem.cc:38,1
    - Dst: open
      Src: /src/sentencepiece/src/filesystem.cc:41,1
    - Dst: WPATH
      Src: /src/sentencepiece/src/filesystem.cc:41,1
    - Dst: peek
      Src: /src/sentencepiece/src/filesystem.cc:45,1
    - Dst: fail
      Src: /src/sentencepiece/src/filesystem.cc:45,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/filesystem.cc:46,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/filesystem.cc:47,1
    - Dst: sentencepiece::util::StrError
      Src: /src/sentencepiece/src/filesystem.cc:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: sentencepiece::filesystem::PosixReadableFile::PosixReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - peek
    - open
    - WPATH
    - fail
    - absl::string_view::data
    - absl::StatusBuilder
    - sentencepiece::util::StrError
    linkageType: ''
    returnType: void
    signature: "void PosixReadableFile(absl::string_view filename,\n                             bool
      is_binary = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: ~PosixReadableFile() override
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PosixReadableFile() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: sentencepiece::filesystem::PosixReadableFile::status
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/sentencepiece/src/filesystem.cc:56,1
    - Dst: std::getline
      Src: /src/sentencepiece/src/filesystem.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: sentencepiece::filesystem::PosixReadableFile::ReadLine
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - std::getline
    linkageType: ''
    returnType: bool
    signature: bool ReadLine(std::string* line) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/filesystem.cc:61,1
    - Dst: std::string*::assign
      Src: /src/sentencepiece/src/filesystem.cc:64,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/sentencepiece/src/filesystem.cc:64,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/sentencepiece/src/filesystem.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - line
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: sentencepiece::filesystem::PosixReadableFile::ReadAll
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - LOG
    - std::istreambuf_iterator<char>
    - std::string*::assign
    linkageType: ''
    returnType: bool
    signature: bool ReadAll(std::string* line) override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/filesystem.cc:79,1
    - Dst: open
      Src: /src/sentencepiece/src/filesystem.cc:82,1
    - Dst: WPATH
      Src: /src/sentencepiece/src/filesystem.cc:82,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/filesystem.cc:87,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/filesystem.cc:88,1
    - Dst: sentencepiece::util::StrError
      Src: /src/sentencepiece/src/filesystem.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: sentencepiece::filesystem::PosixWritableFile::PosixWritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - open
    - WPATH
    - absl::string_view::data
    - absl::StatusBuilder
    - sentencepiece::util::StrError
    linkageType: ''
    returnType: void
    signature: "void PosixWritableFile(absl::string_view filename,\n                             bool
      is_binary = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~PosixWritableFile() override
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PosixWritableFile() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: sentencepiece::filesystem::PosixWritableFile::status
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/src/filesystem.cc:97,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/filesystem.cc:97,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/filesystem.cc:97,1
    - Dst: good
      Src: /src/sentencepiece/src/filesystem.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: sentencepiece::filesystem::PosixWritableFile::Write
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 3
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - write
    - good
    linkageType: ''
    returnType: bool
    signature: bool Write(absl::string_view text) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/src/filesystem.cc:102,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/src/filesystem.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: sentencepiece::filesystem::PosixWritableFile::WriteLine
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: bool
    signature: bool WriteLine(absl::string_view text) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DefaultReadableFile>
      Src: /src/sentencepiece/src/filesystem.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - is_binary
    argTypes:
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: sentencepiece::filesystem::NewReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 14
    functionsReached:
    - std::make_unique<DefaultReadableFile>
    linkageType: ''
    returnType: std::unique_ptr<ReadableFile>
    signature: "std::unique_ptr<ReadableFile> NewReadableFile(absl::string_view filename,\n
      \                                             bool is_binary)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<DefaultWritableFile>
      Src: /src/sentencepiece/src/filesystem.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - is_binary
    argTypes:
    - absl::string_view
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: sentencepiece::filesystem::NewWritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.cc
    functionUses: 19
    functionsReached:
    - std::make_unique<DefaultWritableFile>
    linkageType: ''
    returnType: std::unique_ptr<WritableFile>
    signature: "std::unique_ptr<WritableFile> NewWritableFile(absl::string_view filename,\n
      \                                             bool is_binary)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/trainer_interface_test.cc:33,1
    - Dst: string_util::UnicodeText::empty
      Src: /src/sentencepiece/src/trainer_interface_test.cc:34,1
    - Dst: string_util::UnicodeText::begin
      Src: /src/sentencepiece/src/trainer_interface_test.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: sentencepiece::ToChar32
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - string_util::UnicodeText::empty
    - sentencepiece::string_util::UTF8ToUnicodeText
    - string_util::UnicodeText::begin
    linkageType: ''
    returnType: char32_t
    signature: char32_t ToChar32(absl::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/trainer_interface_test.cc:41,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/trainer_interface_test.cc:42,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:46,1
    - Dst: TrainerInterface::Train
      Src: /src/sentencepiece/src/trainer_interface_test.cc:46,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/trainer_interface_test.cc:51,1
    - Dst: TrainerInterface::IsValidSentencePiece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:52,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:55,1
    - Dst: TrainerInterface::IsValidSentencePiece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:55,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:56,1
    - Dst: TrainerInterface::IsValidSentencePiece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:56,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:57,1
    - Dst: TrainerInterface::IsValidSentencePiece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:57,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:58,1
    - Dst: TrainerInterface::IsValidSentencePiece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:61,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:61,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:62,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:63,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:63,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:64,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:64,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:65,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:65,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:66,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:67,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:67,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:68,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:68,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:69,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:69,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:70,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:70,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:71,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:71,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:72,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:72,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:73,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:73,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:74,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:75,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:75,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:76,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:76,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:77,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:77,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:78,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:78,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:79,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:79,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:80,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:80,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:81,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:81,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:82,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:82,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:83,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:83,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:85,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:85,1
    - Dst: TrainerSpec::set_split_by_whitespace
      Src: /src/sentencepiece/src/trainer_interface_test.cc:88,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:89,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:89,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:91,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:91,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:92,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:92,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:93,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:93,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:94,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:94,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:95,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:96,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:96,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:97,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:97,1
    - Dst: TrainerSpec::set_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:101,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:102,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:102,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:106,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:106,1
    - Dst: TrainerSpec::set_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:108,1
    - Dst: TrainerSpec::set_split_by_unicode_script
      Src: /src/sentencepiece/src/trainer_interface_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:110,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:111,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:111,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:112,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:112,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:113,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:114,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:115,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:116,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:116,1
    - Dst: TrainerSpec::set_split_by_unicode_script
      Src: /src/sentencepiece/src/trainer_interface_test.cc:118,1
    - Dst: TrainerSpec::set_split_by_number
      Src: /src/sentencepiece/src/trainer_interface_test.cc:119,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:120,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:120,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:121,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:121,1
    - Dst: TrainerSpec::set_split_by_unicode_script
      Src: /src/sentencepiece/src/trainer_interface_test.cc:123,1
    - Dst: TrainerSpec::set_split_by_number
      Src: /src/sentencepiece/src/trainer_interface_test.cc:124,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:125,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:126,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:126,1
    - Dst: TrainerSpec::set_split_by_unicode_script
      Src: /src/sentencepiece/src/trainer_interface_test.cc:128,1
    - Dst: TrainerSpec::set_split_by_number
      Src: /src/sentencepiece/src/trainer_interface_test.cc:129,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:130,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:131,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:131,1
    - Dst: TrainerSpec::set_split_by_unicode_script
      Src: /src/sentencepiece/src/trainer_interface_test.cc:133,1
    - Dst: TrainerSpec::set_split_by_number
      Src: /src/sentencepiece/src/trainer_interface_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:135,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:136,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:136,1
    - Dst: TrainerSpec::set_max_sentencepiece_length
      Src: /src/sentencepiece/src/trainer_interface_test.cc:138,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:139,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:139,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:140,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:140,1
    - Dst: TrainerSpec::set_max_sentencepiece_length
      Src: /src/sentencepiece/src/trainer_interface_test.cc:142,1
    - Dst: TrainerSpec::set_split_by_unicode_script
      Src: /src/sentencepiece/src/trainer_interface_test.cc:143,1
    - Dst: TrainerSpec::set_split_by_number
      Src: /src/sentencepiece/src/trainer_interface_test.cc:144,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:145,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:145,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:146,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:147,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:148,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:149,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:149,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:150,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:150,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:151,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:152,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:152,1
    - Dst: TrainerSpec::set_split_by_whitespace
      Src: /src/sentencepiece/src/trainer_interface_test.cc:154,1
    - Dst: TrainerSpec::set_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/trainer_interface_test.cc:155,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:156,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:156,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:157,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:158,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:159,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:160,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:160,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:161,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:161,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:162,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:162,1
    - Dst: TrainerSpec::set_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:165,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:165,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:167,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:167,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:168,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:169,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:170,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:170,1
    - Dst: TrainerSpec::set_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:172,1
    - Dst: TrainerSpec::set_split_by_whitespace
      Src: /src/sentencepiece/src/trainer_interface_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:174,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:174,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:175,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:175,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:176,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:177,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:178,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:178,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:179,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:180,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:180,1
    - Dst: TrainerSpec::set_split_digits
      Src: /src/sentencepiece/src/trainer_interface_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:183,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:184,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:184,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:185,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:186,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:187,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:187,1
    - Dst: TrainerSpec::set_split_digits
      Src: /src/sentencepiece/src/trainer_interface_test.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:190,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:190,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:191,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:192,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:193,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:193,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:194,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:196,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:196,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:197,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:197,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:198,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:198,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:199,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:199,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:200,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 126
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 201
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - TrainerSpec::set_allow_whitespace_only_pieces
    - TrainerSpec::set_split_by_whitespace
    - TrainerInterface::IsValidSentencePiece
    - TrainerSpec::set_max_sentencepiece_length
    - TrainerSpec::set_split_by_number
    - TrainerSpec::set_split_by_unicode_script
    - EXPECT_FALSE
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - TrainerInterface::Train
    - TrainerSpec::set_treat_whitespace_as_suffix
    - IsValid
    - sentencepiece::string_util::UTF8ToUnicodeText
    - TrainerSpec::set_split_digits
    - TrainerSpec::add_input
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerInterfaceTest, IsValidSentencePieceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/trainer_interface_test.cc:207,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/trainer_interface_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:213,1
    - Dst: auto::unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:214,1
    - Dst: auto::bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:215,1
    - Dst: auto::eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:216,1
    - Dst: auto::pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:216,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:220,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:221,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:222,1
    - Dst: auto::set_pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:226,1
    - Dst: TrainerInterface::meta_pieces_::size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:230,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:235,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:236,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:237,1
    - Dst: auto::set_pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:241,1
    - Dst: TrainerInterface::meta_pieces_::size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:242,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:245,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:250,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:251,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:252,1
    - Dst: auto::set_pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:256,1
    - Dst: TrainerInterface::meta_pieces_::size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:258,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:263,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:264,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:265,1
    - Dst: auto::set_pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:266,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:269,1
    - Dst: TrainerInterface::meta_pieces_::size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:270,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:275,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:276,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:277,1
    - Dst: auto::set_pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:278,1
    - Dst: auto::add_control_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:280,1
    - Dst: auto::add_control_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:281,1
    - Dst: auto::add_user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:282,1
    - Dst: auto::add_user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:286,1
    - Dst: TrainerInterface::meta_pieces_::size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:289,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:293,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:298,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:299,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:300,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:302,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:302,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:308,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:309,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:312,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:312,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:318,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:319,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:320,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:322,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:322,1
    - Dst: auto::set_vocab_size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:327,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:328,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:329,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:330,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:332,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:332,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:338,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:339,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:340,1
    - Dst: auto::add_control_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:341,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:343,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:343,1
    - Dst: auto::add_control_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:349,1
    - Dst: auto::add_control_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:350,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:352,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:352,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:357,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:358,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:359,1
    - Dst: auto::set_pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:360,1
    - Dst: auto::add_user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:364,1
    - Dst: auto::add_user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:365,1
    - Dst: auto::add_user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:366,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:368,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:370,1
    - Dst: TrainerInterface::meta_pieces_::size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:385,1
    - Dst: auto::set_unk_piece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:391,1
    - Dst: auto::set_bos_piece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:392,1
    - Dst: auto::set_eos_piece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:393,1
    - Dst: auto::set_pad_piece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:394,1
    - Dst: auto::set_pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:395,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:397,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:397,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:398,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:399,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:401,1
    - Dst: auto::set_unk_piece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:406,1
    - Dst: auto::set_bos_piece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:407,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:409,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:409,1
    - Dst: auto::set_unk_piece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:414,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:416,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 128
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 418
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::set_eos_piece
    - auto::set_pad_id
    - auto::set_bos_piece
    - EXPECT_EQ
    - auto::set_unk_piece
    - auto::eos_id
    - auto::set_vocab_size
    - auto::pad_id
    - auto::set_bos_id
    - auto::unk_id
    - TrainerInterface::status
    - auto::set_pad_piece
    - auto::add_control_symbols
    - auto::set_eos_id
    - TrainerInterface::meta_pieces_::size
    - auto::add_user_defined_symbols
    - EXPECT_TRUE
    - auto::bos_id
    - auto::set_unk_id
    - TrainerSpec::add_input
    - EXPECT_FALSE
    - TrainerSpec::set_model_prefix
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerInterfaceTest, OverrideSpecialPiecesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/trainer_interface_test.cc:424,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/trainer_interface_test.cc:425,1
    - Dst: TrainerSpec::add_control_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:427,1
    - Dst: TrainerSpec::add_control_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:428,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:429,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:430,1
    - Dst: TrainerSpec::set_byte_fallback
      Src: /src/sentencepiece/src/trainer_interface_test.cc:432,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:435,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:435,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:440,1
    - Dst: absl::StrFormat
      Src: /src/sentencepiece/src/trainer_interface_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 443
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - TrainerInterface::status
    - EXPECT_EQ
    - TrainerSpec::set_model_prefix
    - TrainerSpec::add_user_defined_symbols
    - TrainerSpec::add_control_symbols
    - EXPECT_TRUE
    - TrainerSpec::add_input
    - TrainerSpec::set_byte_fallback
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerInterfaceTest, BytePiecesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/trainer_interface_test.cc:449,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/trainer_interface_test.cc:450,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:452,1
    - Dst: TrainerSpec::hard_vocab_limit
      Src: /src/sentencepiece/src/trainer_interface_test.cc:452,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:458,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:462,1
    - Dst: TrainerInterface::Serialize
      Src: /src/sentencepiece/src/trainer_interface_test.cc:462,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:466,1
    - Dst: TrainerSpec::set_hard_vocab_limit
      Src: /src/sentencepiece/src/trainer_interface_test.cc:467,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:471,1
    - Dst: TrainerInterface::Serialize
      Src: /src/sentencepiece/src/trainer_interface_test.cc:471,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:472,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/trainer_interface_test.cc:472,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:474,1
    - Dst: ModelProto::pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:475,1
    - Dst: ModelProto::pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:475,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:480,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/trainer_interface_test.cc:481,1
    - Dst: TrainerSpec::set_hard_vocab_limit
      Src: /src/sentencepiece/src/trainer_interface_test.cc:482,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:486,1
    - Dst: TrainerInterface::Serialize
      Src: /src/sentencepiece/src/trainer_interface_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:487,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/trainer_interface_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:489,1
    - Dst: ModelProto::pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:490,1
    - Dst: ModelProto::pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 493
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - TrainerSpec::hard_vocab_limit
    - TrainerInterface::Serialize
    - EXPECT_EQ
    - TrainerSpec::set_hard_vocab_limit
    - EXPECT_FALSE
    - ModelProto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - TrainerSpec::set_model_type
    - ModelProto::trainer_spec
    - TrainerSpec::set_vocab_size
    - TrainerSpec::add_input
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerInterfaceTest, SerializeTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/trainer_interface_test.cc:496,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/trainer_interface_test.cc:496,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/trainer_interface_test.cc:498,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/trainer_interface_test.cc:511,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/trainer_interface_test.cc:516,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/trainer_interface_test.cc:517,1
    - Dst: TrainerSpec::set_character_coverage
      Src: /src/sentencepiece/src/trainer_interface_test.cc:518,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/trainer_interface_test.cc:523,1
    - Dst: TrainerInterface::LoadSentences
      Src: /src/sentencepiece/src/trainer_interface_test.cc:523,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:526,1
    - Dst: E
      Src: /src/sentencepiece/src/trainer_interface_test.cc:527,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:527,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:527,1
    - Dst: TrainerSpec::set_required_chars
      Src: /src/sentencepiece/src/trainer_interface_test.cc:530,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/trainer_interface_test.cc:532,1
    - Dst: TrainerInterface::LoadSentences
      Src: /src/sentencepiece/src/trainer_interface_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:534,1
    - Dst: E
      Src: /src/sentencepiece/src/trainer_interface_test.cc:534,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:534,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:535,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:536,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:537,1
    - Dst: TrainerSpec::set_required_chars
      Src: /src/sentencepiece/src/trainer_interface_test.cc:540,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/trainer_interface_test.cc:542,1
    - Dst: TrainerInterface::LoadSentences
      Src: /src/sentencepiece/src/trainer_interface_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:544,1
    - Dst: E
      Src: /src/sentencepiece/src/trainer_interface_test.cc:545,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:545,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:545,1
    - Dst: TrainerSpec::set_required_chars
      Src: /src/sentencepiece/src/trainer_interface_test.cc:548,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/trainer_interface_test.cc:550,1
    - Dst: TrainerInterface::LoadSentences
      Src: /src/sentencepiece/src/trainer_interface_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:552,1
    - Dst: E
      Src: /src/sentencepiece/src/trainer_interface_test.cc:554,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:554,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:554,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 556
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - testing::TempDir
    - sentencepiece::filesystem::NewWritableFile
    - TrainerInterface::LoadSentences
    - sentencepiece::ToChar32
    - EXPECT_EQ
    - auto::WriteLine
    - TrainerSpec::set_model_prefix
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_required_chars
    - TrainerSpec::set_character_coverage
    - E
    - TrainerSpec::add_input
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerInterfaceTest, CharactersTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/trainer_interface_test.cc:563,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/trainer_interface_test.cc:563,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/trainer_interface_test.cc:563,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/trainer_interface_test.cc:564,1
    - Dst: rand
      Src: /src/sentencepiece/src/trainer_interface_test.cc:565,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/trainer_interface_test.cc:567,1
    - Dst: rand
      Src: /src/sentencepiece/src/trainer_interface_test.cc:567,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/trainer_interface_test.cc:568,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/trainer_interface_test.cc:569,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/trainer_interface_test.cc:571,1
    - Dst: MultiFileSentenceIterator::done
      Src: /src/sentencepiece/src/trainer_interface_test.cc:576,1
    - Dst: MultiFileSentenceIterator::Next
      Src: /src/sentencepiece/src/trainer_interface_test.cc:576,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/trainer_interface_test.cc:576,1
    - Dst: MultiFileSentenceIterator::value
      Src: /src/sentencepiece/src/trainer_interface_test.cc:576,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/trainer_interface_test.cc:577,1
    - Dst: MultiFileSentenceIterator::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 579
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - MultiFileSentenceIterator::Next
    - EXPECT_OK
    - MultiFileSentenceIterator::status
    - testing::TempDir
    - sentencepiece::filesystem::NewWritableFile
    - EXPECT_EQ
    - auto::WriteLine
    - rand
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - MultiFileSentenceIterator::done
    - std::vector::emplace_back
    - std::vector::push_back
    - MultiFileSentenceIterator::value
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerInterfaceTest, MultiFileSentenceIteratorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/trainer_interface_test.cc:584,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/trainer_interface_test.cc:584,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/trainer_interface_test.cc:585,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/trainer_interface_test.cc:586,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:590,1
    - Dst: MultiFileSentenceIterator::done
      Src: /src/sentencepiece/src/trainer_interface_test.cc:590,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:591,1
    - Dst: MultiFileSentenceIterator::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 592
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - MultiFileSentenceIterator::status
    - testing::TempDir
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - EXPECT_TRUE
    - MultiFileSentenceIterator::done
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerInterfaceTest, MultiFileSentenceIteratorErrorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/trainer_interface_test.cc:33,1
    - Dst: string_util::UnicodeText::empty
      Src: /src/sentencepiece/src/trainer_interface_test.cc:34,1
    - Dst: string_util::UnicodeText::begin
      Src: /src/sentencepiece/src/trainer_interface_test.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: sentencepiece::ToChar32
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 1
    functionsReached:
    - string_util::UnicodeText::empty
    - sentencepiece::string_util::UTF8ToUnicodeText
    - string_util::UnicodeText::begin
    linkageType: ''
    returnType: char32_t
    signature: char32_t ToChar32(absl::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/trainer_interface_test.cc:41,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/trainer_interface_test.cc:42,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:46,1
    - Dst: TrainerInterface::Train
      Src: /src/sentencepiece/src/trainer_interface_test.cc:46,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/trainer_interface_test.cc:51,1
    - Dst: TrainerInterface::IsValidSentencePiece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:52,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:55,1
    - Dst: TrainerInterface::IsValidSentencePiece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:55,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:56,1
    - Dst: TrainerInterface::IsValidSentencePiece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:56,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:57,1
    - Dst: TrainerInterface::IsValidSentencePiece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:57,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:58,1
    - Dst: TrainerInterface::IsValidSentencePiece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:61,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:61,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:62,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:63,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:63,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:64,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:64,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:65,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:65,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:66,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:67,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:67,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:68,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:68,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:69,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:69,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:70,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:70,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:71,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:71,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:72,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:72,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:73,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:73,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:74,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:75,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:75,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:76,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:76,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:77,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:77,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:78,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:78,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:79,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:79,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:80,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:80,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:81,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:81,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:82,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:82,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:83,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:83,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:85,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:85,1
    - Dst: TrainerSpec::set_split_by_whitespace
      Src: /src/sentencepiece/src/trainer_interface_test.cc:88,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:89,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:89,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:91,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:91,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:92,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:92,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:93,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:93,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:94,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:94,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:95,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:96,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:96,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:97,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:97,1
    - Dst: TrainerSpec::set_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:101,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:102,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:102,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:106,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:106,1
    - Dst: TrainerSpec::set_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:108,1
    - Dst: TrainerSpec::set_split_by_unicode_script
      Src: /src/sentencepiece/src/trainer_interface_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:110,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:111,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:111,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:112,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:112,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:113,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:114,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:115,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:116,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:116,1
    - Dst: TrainerSpec::set_split_by_unicode_script
      Src: /src/sentencepiece/src/trainer_interface_test.cc:118,1
    - Dst: TrainerSpec::set_split_by_number
      Src: /src/sentencepiece/src/trainer_interface_test.cc:119,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:120,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:120,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:121,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:121,1
    - Dst: TrainerSpec::set_split_by_unicode_script
      Src: /src/sentencepiece/src/trainer_interface_test.cc:123,1
    - Dst: TrainerSpec::set_split_by_number
      Src: /src/sentencepiece/src/trainer_interface_test.cc:124,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:125,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:126,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:126,1
    - Dst: TrainerSpec::set_split_by_unicode_script
      Src: /src/sentencepiece/src/trainer_interface_test.cc:128,1
    - Dst: TrainerSpec::set_split_by_number
      Src: /src/sentencepiece/src/trainer_interface_test.cc:129,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:130,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:131,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:131,1
    - Dst: TrainerSpec::set_split_by_unicode_script
      Src: /src/sentencepiece/src/trainer_interface_test.cc:133,1
    - Dst: TrainerSpec::set_split_by_number
      Src: /src/sentencepiece/src/trainer_interface_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:135,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:136,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:136,1
    - Dst: TrainerSpec::set_max_sentencepiece_length
      Src: /src/sentencepiece/src/trainer_interface_test.cc:138,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:139,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:139,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:140,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:140,1
    - Dst: TrainerSpec::set_max_sentencepiece_length
      Src: /src/sentencepiece/src/trainer_interface_test.cc:142,1
    - Dst: TrainerSpec::set_split_by_unicode_script
      Src: /src/sentencepiece/src/trainer_interface_test.cc:143,1
    - Dst: TrainerSpec::set_split_by_number
      Src: /src/sentencepiece/src/trainer_interface_test.cc:144,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:145,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:145,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:146,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:147,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:148,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:149,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:149,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:150,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:150,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:151,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:152,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:152,1
    - Dst: TrainerSpec::set_split_by_whitespace
      Src: /src/sentencepiece/src/trainer_interface_test.cc:154,1
    - Dst: TrainerSpec::set_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/trainer_interface_test.cc:155,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:156,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:156,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:157,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:158,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:159,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:160,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:160,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:161,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:161,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:162,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:162,1
    - Dst: TrainerSpec::set_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:165,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:165,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:167,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:167,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:168,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:169,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:170,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:170,1
    - Dst: TrainerSpec::set_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:172,1
    - Dst: TrainerSpec::set_split_by_whitespace
      Src: /src/sentencepiece/src/trainer_interface_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:174,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:174,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:175,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:175,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:176,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:177,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:178,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:178,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:179,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:180,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:180,1
    - Dst: TrainerSpec::set_split_digits
      Src: /src/sentencepiece/src/trainer_interface_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:183,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:184,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:184,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:185,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:186,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:187,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:187,1
    - Dst: TrainerSpec::set_split_digits
      Src: /src/sentencepiece/src/trainer_interface_test.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:190,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:190,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:191,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:192,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:193,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:193,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:194,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:196,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:196,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:197,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:197,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:198,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:198,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:199,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:199,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:200,1
    - Dst: IsValid
      Src: /src/sentencepiece/src/trainer_interface_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 126
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 201
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - TrainerSpec::set_allow_whitespace_only_pieces
    - TrainerSpec::set_split_by_whitespace
    - TrainerInterface::IsValidSentencePiece
    - TrainerSpec::set_max_sentencepiece_length
    - TrainerSpec::set_split_by_number
    - TrainerSpec::set_split_by_unicode_script
    - EXPECT_FALSE
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - TrainerInterface::Train
    - TrainerSpec::set_treat_whitespace_as_suffix
    - IsValid
    - sentencepiece::string_util::UTF8ToUnicodeText
    - TrainerSpec::set_split_digits
    - TrainerSpec::add_input
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerInterfaceTest, IsValidSentencePieceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/trainer_interface_test.cc:207,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/trainer_interface_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:213,1
    - Dst: auto::unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:214,1
    - Dst: auto::bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:215,1
    - Dst: auto::eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:216,1
    - Dst: auto::pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:216,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:220,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:221,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:222,1
    - Dst: auto::set_pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:226,1
    - Dst: TrainerInterface::meta_pieces_::size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:230,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:235,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:236,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:237,1
    - Dst: auto::set_pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:241,1
    - Dst: TrainerInterface::meta_pieces_::size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:242,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:245,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:250,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:251,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:252,1
    - Dst: auto::set_pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:256,1
    - Dst: TrainerInterface::meta_pieces_::size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:258,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:263,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:264,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:265,1
    - Dst: auto::set_pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:266,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:269,1
    - Dst: TrainerInterface::meta_pieces_::size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:270,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:275,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:276,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:277,1
    - Dst: auto::set_pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:278,1
    - Dst: auto::add_control_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:280,1
    - Dst: auto::add_control_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:281,1
    - Dst: auto::add_user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:282,1
    - Dst: auto::add_user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:286,1
    - Dst: TrainerInterface::meta_pieces_::size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:289,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:293,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:298,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:299,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:300,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:302,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:302,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:308,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:309,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:312,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:312,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:318,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:319,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:320,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:322,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:322,1
    - Dst: auto::set_vocab_size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:327,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:328,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:329,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:330,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:332,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:332,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:338,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:339,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:340,1
    - Dst: auto::add_control_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:341,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:343,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:343,1
    - Dst: auto::add_control_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:349,1
    - Dst: auto::add_control_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:350,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:352,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:352,1
    - Dst: auto::set_unk_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:357,1
    - Dst: auto::set_bos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:358,1
    - Dst: auto::set_eos_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:359,1
    - Dst: auto::set_pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:360,1
    - Dst: auto::add_user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:364,1
    - Dst: auto::add_user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:365,1
    - Dst: auto::add_user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:366,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:368,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:370,1
    - Dst: TrainerInterface::meta_pieces_::size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:385,1
    - Dst: auto::set_unk_piece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:391,1
    - Dst: auto::set_bos_piece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:392,1
    - Dst: auto::set_eos_piece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:393,1
    - Dst: auto::set_pad_piece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:394,1
    - Dst: auto::set_pad_id
      Src: /src/sentencepiece/src/trainer_interface_test.cc:395,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:397,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:397,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:398,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:399,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:401,1
    - Dst: auto::set_unk_piece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:406,1
    - Dst: auto::set_bos_piece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:407,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:409,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:409,1
    - Dst: auto::set_unk_piece
      Src: /src/sentencepiece/src/trainer_interface_test.cc:414,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:416,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 128
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 418
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::set_eos_piece
    - auto::set_pad_id
    - auto::set_bos_piece
    - EXPECT_EQ
    - auto::set_unk_piece
    - auto::eos_id
    - auto::set_vocab_size
    - auto::pad_id
    - auto::set_bos_id
    - auto::unk_id
    - TrainerInterface::status
    - auto::set_pad_piece
    - auto::add_control_symbols
    - auto::set_eos_id
    - TrainerInterface::meta_pieces_::size
    - auto::add_user_defined_symbols
    - EXPECT_TRUE
    - auto::bos_id
    - auto::set_unk_id
    - TrainerSpec::add_input
    - EXPECT_FALSE
    - TrainerSpec::set_model_prefix
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerInterfaceTest, OverrideSpecialPiecesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/trainer_interface_test.cc:424,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/trainer_interface_test.cc:425,1
    - Dst: TrainerSpec::add_control_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:427,1
    - Dst: TrainerSpec::add_control_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:428,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:429,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface_test.cc:430,1
    - Dst: TrainerSpec::set_byte_fallback
      Src: /src/sentencepiece/src/trainer_interface_test.cc:432,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:435,1
    - Dst: TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:435,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:440,1
    - Dst: absl::StrFormat
      Src: /src/sentencepiece/src/trainer_interface_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 443
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    - TrainerInterface::status
    - EXPECT_EQ
    - TrainerSpec::set_model_prefix
    - TrainerSpec::add_user_defined_symbols
    - TrainerSpec::add_control_symbols
    - EXPECT_TRUE
    - TrainerSpec::add_input
    - TrainerSpec::set_byte_fallback
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerInterfaceTest, BytePiecesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/trainer_interface_test.cc:449,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/trainer_interface_test.cc:450,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:452,1
    - Dst: TrainerSpec::hard_vocab_limit
      Src: /src/sentencepiece/src/trainer_interface_test.cc:452,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:458,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:462,1
    - Dst: TrainerInterface::Serialize
      Src: /src/sentencepiece/src/trainer_interface_test.cc:462,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:466,1
    - Dst: TrainerSpec::set_hard_vocab_limit
      Src: /src/sentencepiece/src/trainer_interface_test.cc:467,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:471,1
    - Dst: TrainerInterface::Serialize
      Src: /src/sentencepiece/src/trainer_interface_test.cc:471,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:472,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/trainer_interface_test.cc:472,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:474,1
    - Dst: ModelProto::pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:475,1
    - Dst: ModelProto::pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:475,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/trainer_interface_test.cc:480,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/trainer_interface_test.cc:481,1
    - Dst: TrainerSpec::set_hard_vocab_limit
      Src: /src/sentencepiece/src/trainer_interface_test.cc:482,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:486,1
    - Dst: TrainerInterface::Serialize
      Src: /src/sentencepiece/src/trainer_interface_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:487,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/trainer_interface_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:489,1
    - Dst: ModelProto::pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:490,1
    - Dst: ModelProto::pieces
      Src: /src/sentencepiece/src/trainer_interface_test.cc:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 493
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - TrainerSpec::hard_vocab_limit
    - TrainerInterface::Serialize
    - EXPECT_EQ
    - TrainerSpec::set_hard_vocab_limit
    - EXPECT_FALSE
    - ModelProto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - TrainerSpec::set_model_type
    - ModelProto::trainer_spec
    - TrainerSpec::set_vocab_size
    - TrainerSpec::add_input
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerInterfaceTest, SerializeTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/trainer_interface_test.cc:496,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/trainer_interface_test.cc:496,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/trainer_interface_test.cc:498,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/trainer_interface_test.cc:511,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/trainer_interface_test.cc:516,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/trainer_interface_test.cc:517,1
    - Dst: TrainerSpec::set_character_coverage
      Src: /src/sentencepiece/src/trainer_interface_test.cc:518,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/trainer_interface_test.cc:523,1
    - Dst: TrainerInterface::LoadSentences
      Src: /src/sentencepiece/src/trainer_interface_test.cc:523,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:526,1
    - Dst: E
      Src: /src/sentencepiece/src/trainer_interface_test.cc:527,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:527,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:527,1
    - Dst: TrainerSpec::set_required_chars
      Src: /src/sentencepiece/src/trainer_interface_test.cc:530,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/trainer_interface_test.cc:532,1
    - Dst: TrainerInterface::LoadSentences
      Src: /src/sentencepiece/src/trainer_interface_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:534,1
    - Dst: E
      Src: /src/sentencepiece/src/trainer_interface_test.cc:534,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:534,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:535,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:536,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:537,1
    - Dst: TrainerSpec::set_required_chars
      Src: /src/sentencepiece/src/trainer_interface_test.cc:540,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/trainer_interface_test.cc:542,1
    - Dst: TrainerInterface::LoadSentences
      Src: /src/sentencepiece/src/trainer_interface_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:544,1
    - Dst: E
      Src: /src/sentencepiece/src/trainer_interface_test.cc:545,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:545,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:545,1
    - Dst: TrainerSpec::set_required_chars
      Src: /src/sentencepiece/src/trainer_interface_test.cc:548,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/trainer_interface_test.cc:550,1
    - Dst: TrainerInterface::LoadSentences
      Src: /src/sentencepiece/src/trainer_interface_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:552,1
    - Dst: E
      Src: /src/sentencepiece/src/trainer_interface_test.cc:554,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:554,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:554,1
    - Dst: sentencepiece::ToChar32
      Src: /src/sentencepiece/src/trainer_interface_test.cc:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 556
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - testing::TempDir
    - sentencepiece::filesystem::NewWritableFile
    - TrainerInterface::LoadSentences
    - sentencepiece::ToChar32
    - EXPECT_EQ
    - auto::WriteLine
    - TrainerSpec::set_model_prefix
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_required_chars
    - TrainerSpec::set_character_coverage
    - E
    - TrainerSpec::add_input
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerInterfaceTest, CharactersTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/trainer_interface_test.cc:563,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/trainer_interface_test.cc:563,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/trainer_interface_test.cc:563,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/trainer_interface_test.cc:564,1
    - Dst: rand
      Src: /src/sentencepiece/src/trainer_interface_test.cc:565,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/trainer_interface_test.cc:567,1
    - Dst: rand
      Src: /src/sentencepiece/src/trainer_interface_test.cc:567,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/trainer_interface_test.cc:568,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/trainer_interface_test.cc:569,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/trainer_interface_test.cc:571,1
    - Dst: MultiFileSentenceIterator::done
      Src: /src/sentencepiece/src/trainer_interface_test.cc:576,1
    - Dst: MultiFileSentenceIterator::Next
      Src: /src/sentencepiece/src/trainer_interface_test.cc:576,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/trainer_interface_test.cc:576,1
    - Dst: MultiFileSentenceIterator::value
      Src: /src/sentencepiece/src/trainer_interface_test.cc:576,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/trainer_interface_test.cc:577,1
    - Dst: MultiFileSentenceIterator::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/trainer_interface_test.cc:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 579
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - MultiFileSentenceIterator::Next
    - EXPECT_OK
    - MultiFileSentenceIterator::status
    - testing::TempDir
    - sentencepiece::filesystem::NewWritableFile
    - EXPECT_EQ
    - auto::WriteLine
    - rand
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - MultiFileSentenceIterator::done
    - std::vector::emplace_back
    - std::vector::push_back
    - MultiFileSentenceIterator::value
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerInterfaceTest, MultiFileSentenceIteratorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/trainer_interface_test.cc:584,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/trainer_interface_test.cc:584,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/trainer_interface_test.cc:585,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/trainer_interface_test.cc:586,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:590,1
    - Dst: MultiFileSentenceIterator::done
      Src: /src/sentencepiece/src/trainer_interface_test.cc:590,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/trainer_interface_test.cc:591,1
    - Dst: MultiFileSentenceIterator::status
      Src: /src/sentencepiece/src/trainer_interface_test.cc:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 592
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/trainer_interface_test.cc
    functionUses: 0
    functionsReached:
    - MultiFileSentenceIterator::status
    - testing::TempDir
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - EXPECT_TRUE
    - MultiFileSentenceIterator::done
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerInterfaceTest, MultiFileSentenceIteratorErrorTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sentencepiece::filesystem::ReadableFile::ReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sentencepiece::filesystem::ReadableFile::ReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadableFile(absl::string_view filename, bool is_binary = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~ReadableFile()
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ReadableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: sentencepiece::filesystem::WritableFile::WritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WritableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: sentencepiece::filesystem::WritableFile::WritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WritableFile(absl::string_view filename, bool is_binary = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ~WritableFile()
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WritableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sentencepiece::filesystem::ReadableFile::ReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sentencepiece::filesystem::ReadableFile::ReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadableFile(absl::string_view filename, bool is_binary = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~ReadableFile()
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ReadableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: sentencepiece::filesystem::WritableFile::WritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WritableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: sentencepiece::filesystem::WritableFile::WritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WritableFile(absl::string_view filename, bool is_binary = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ~WritableFile()
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WritableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sentencepiece::filesystem::ReadableFile::ReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sentencepiece::filesystem::ReadableFile::ReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadableFile(absl::string_view filename, bool is_binary = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~ReadableFile()
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ReadableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: sentencepiece::filesystem::WritableFile::WritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WritableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: sentencepiece::filesystem::WritableFile::WritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WritableFile(absl::string_view filename, bool is_binary = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ~WritableFile()
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WritableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: sentencepiece::filesystem::ReadableFile::ReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: sentencepiece::filesystem::ReadableFile::ReadableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReadableFile(absl::string_view filename, bool is_binary = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: ~ReadableFile()
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ReadableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: sentencepiece::filesystem::WritableFile::WritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WritableFile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: sentencepiece::filesystem::WritableFile::WritableFile
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WritableFile(absl::string_view filename, bool is_binary = false)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: ~WritableFile()
    functionSourceFile: /src/sentencepiece/src/filesystem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~WritableFile()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Test>::vector<Test>
      Src: /src/sentencepiece/src/testharness.cc:46,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/testharness.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - base
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: sentencepiece::test::RegisterTest
    functionSourceFile: /src/sentencepiece/src/testharness.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::vector<Test>::vector<Test>
    linkageType: ''
    returnType: bool
    signature: bool RegisterTest(const char *base, const char *name, void (*func)())
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mkdir
      Src: /src/sentencepiece/src/testharness.cc:59,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/testharness.cc:59,1
    - Dst: mkdir
      Src: /src/sentencepiece/src/testharness.cc:61,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/testharness.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: sentencepiece::test::RunAllTests
    functionSourceFile: /src/sentencepiece/src/testharness.cc
    functionUses: 1
    functionsReached:
    - mkdir
    - _mkdir
    - testing::TempDir
    linkageType: ''
    returnType: int
    signature: int RunAllTests()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Test>::vector<Test>
      Src: /src/sentencepiece/src/testharness.cc:46,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/testharness.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - base
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: sentencepiece::test::RegisterTest
    functionSourceFile: /src/sentencepiece/src/testharness.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::vector<Test>::vector<Test>
    linkageType: ''
    returnType: bool
    signature: bool RegisterTest(const char *base, const char *name, void (*func)())
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mkdir
      Src: /src/sentencepiece/src/testharness.cc:59,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/testharness.cc:59,1
    - Dst: mkdir
      Src: /src/sentencepiece/src/testharness.cc:61,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/testharness.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: sentencepiece::test::RunAllTests
    functionSourceFile: /src/sentencepiece/src/testharness.cc
    functionUses: 1
    functionsReached:
    - mkdir
    - _mkdir
    - testing::TempDir
    linkageType: ''
    returnType: int
    signature: int RunAllTests()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Test>::vector<Test>
      Src: /src/sentencepiece/src/testharness.cc:46,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/testharness.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - base
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: sentencepiece::test::RegisterTest
    functionSourceFile: /src/sentencepiece/src/testharness.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::vector<Test>::vector<Test>
    linkageType: ''
    returnType: bool
    signature: bool RegisterTest(const char *base, const char *name, void (*func)())
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mkdir
      Src: /src/sentencepiece/src/testharness.cc:59,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/testharness.cc:59,1
    - Dst: mkdir
      Src: /src/sentencepiece/src/testharness.cc:61,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/testharness.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: sentencepiece::test::RunAllTests
    functionSourceFile: /src/sentencepiece/src/testharness.cc
    functionUses: 1
    functionsReached:
    - mkdir
    - _mkdir
    - testing::TempDir
    linkageType: ''
    returnType: int
    signature: int RunAllTests()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Test>::vector<Test>
      Src: /src/sentencepiece/src/testharness.cc:46,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/testharness.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - base
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: sentencepiece::test::RegisterTest
    functionSourceFile: /src/sentencepiece/src/testharness.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - std::vector<Test>::vector<Test>
    linkageType: ''
    returnType: bool
    signature: bool RegisterTest(const char *base, const char *name, void (*func)())
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mkdir
      Src: /src/sentencepiece/src/testharness.cc:59,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/testharness.cc:59,1
    - Dst: mkdir
      Src: /src/sentencepiece/src/testharness.cc:61,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/testharness.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: sentencepiece::test::RunAllTests
    functionSourceFile: /src/sentencepiece/src/testharness.cc
    functionUses: 1
    functionsReached:
    - mkdir
    - _mkdir
    - testing::TempDir
    linkageType: ''
    returnType: int
    signature: int RunAllTests()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:51,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:52,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:52,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:54,1
    - Dst: auto::ReadAll
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:54,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:56,1
    - Dst: ModelProto::ParseFromString
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: sentencepiece::LoadModelProto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - ModelProto::ParseFromString
    - CHECK
    - auto::status
    - auto::ReadAll
    - sentencepiece::filesystem::NewReadableFile
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto LoadModelProto(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:61,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:62,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:62,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:64,1
    - Dst: auto::ReadAll
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: sentencepiece::LoadInput
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - CHECK
    - auto::status
    - auto::ReadAll
    - sentencepiece::filesystem::NewReadableFile
    linkageType: ''
    returnType: std::string
    signature: std::string LoadInput(absl::string_view filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:72,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:72,1
    - Dst: sentencepiece::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:73,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:75,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:75,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:78,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:78,1
    - Dst: sentencepiece::LoadInput
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:79,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:83,1
    - Dst: SentencePieceProcessor::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:87,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:89,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:92,1
    - Dst: SetBytesProcessed
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:95,1
    - Dst: iterations
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:95,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' state'
    - model_filename
    - input_filename
    argTypes:
    - benchmark::State
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: sentencepiece::BM_Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadModelProto
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - benchmark::DoNotOptimize
    - sentencepiece::util::JoinPath
    - sentencepiece::LoadInput
    - SetBytesProcessed
    - iterations
    - testing::SrcDir
    - SentencePieceProcessor::ParallelEncode
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void BM_Encode(benchmark::State& state, absl::string_view model_filename,\n
      \              absl::string_view input_filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:106,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:106,1
    - Dst: sentencepiece::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:107,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:109,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:109,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:112,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:112,1
    - Dst: sentencepiece::LoadInput
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:113,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:114,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:118,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:121,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:123,1
    - Dst: SetBytesProcessed
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:125,1
    - Dst: iterations
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:125,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' state'
    - model_filename
    - input_filename
    argTypes:
    - benchmark::State
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 126
    functionName: sentencepiece::BM_Encode_ShortLines
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadModelProto
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - benchmark::DoNotOptimize
    - sentencepiece::util::JoinPath
    - sentencepiece::LoadInput
    - absl::StrSplit
    - SetBytesProcessed
    - testing::SrcDir
    - iterations
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void BM_Encode_ShortLines(benchmark::State& state,\n                          absl::string_view
      model_filename,\n                          absl::string_view input_filename)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:137,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:137,1
    - Dst: sentencepiece::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:138,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:140,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:140,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:143,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:143,1
    - Dst: sentencepiece::LoadInput
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:144,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:148,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:148,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:149,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:149,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:153,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:154,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:158,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:160,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:163,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:164,1
    - Dst: SetBytesProcessed
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:167,1
    - Dst: iterations
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:167,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - ' state'
    - model_filename
    - input_filename
    argTypes:
    - benchmark::State
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 168
    functionName: sentencepiece::BM_Decode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadModelProto
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - benchmark::DoNotOptimize
    - sentencepiece::util::JoinPath
    - sentencepiece::LoadInput
    - SetBytesProcessed
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    - iterations
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void BM_Decode(benchmark::State& state, absl::string_view model_filename,\n
      \              absl::string_view input_filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: sentencepiece::BM_EncodeBotchan_Sequential
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Encode
    linkageType: ''
    returnType: void
    signature: void BM_EncodeBotchan_Sequential(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: sentencepiece::BM_EncodeBotchan_Parallel
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Encode
    linkageType: ''
    returnType: void
    signature: void BM_EncodeBotchan_Parallel(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Encode_ShortLines
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: sentencepiece::BM_EncodeBotchan_ShortLines
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Encode_ShortLines
    linkageType: ''
    returnType: void
    signature: void BM_EncodeBotchan_ShortLines(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: sentencepiece::BM_EncodeWagahaiwaNekodearu_Sequential
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Encode
    linkageType: ''
    returnType: void
    signature: void BM_EncodeWagahaiwaNekodearu_Sequential(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: sentencepiece::BM_EncodeWagahaiwaNekodearu_Parallel
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Encode
    linkageType: ''
    returnType: void
    signature: void BM_EncodeWagahaiwaNekodearu_Parallel(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: sentencepiece::BM_OSSModel_Sequential
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Encode
    linkageType: ''
    returnType: void
    signature: void BM_OSSModel_Sequential(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: sentencepiece::BM_OSSModel_Parallel
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Encode
    linkageType: ''
    returnType: void
    signature: void BM_OSSModel_Parallel(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: sentencepiece::BM_DecodeBotchan_Ids
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Decode
    linkageType: ''
    returnType: void
    signature: void BM_DecodeBotchan_Ids(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: sentencepiece::BM_DecodeBotchan_Pieces
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Decode
    linkageType: ''
    returnType: void
    signature: void BM_DecodeBotchan_Pieces(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: sentencepiece::BM_DecodeWagahaiwaNekodearu_Ids
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Decode
    linkageType: ''
    returnType: void
    signature: void BM_DecodeWagahaiwaNekodearu_Ids(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: sentencepiece::BM_DecodeOSSModel_Ids
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Decode
    linkageType: ''
    returnType: void
    signature: void BM_DecodeOSSModel_Ids(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:51,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:52,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:52,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:54,1
    - Dst: auto::ReadAll
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:54,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:56,1
    - Dst: ModelProto::ParseFromString
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: sentencepiece::LoadModelProto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 3
    functionsReached:
    - CHECK_OK
    - ModelProto::ParseFromString
    - CHECK
    - auto::status
    - auto::ReadAll
    - sentencepiece::filesystem::NewReadableFile
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto LoadModelProto(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:61,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:62,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:62,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:64,1
    - Dst: auto::ReadAll
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: sentencepiece::LoadInput
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 3
    functionsReached:
    - CHECK_OK
    - CHECK
    - auto::status
    - auto::ReadAll
    - sentencepiece::filesystem::NewReadableFile
    linkageType: ''
    returnType: std::string
    signature: std::string LoadInput(absl::string_view filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:72,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:72,1
    - Dst: sentencepiece::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:73,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:75,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:75,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:78,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:78,1
    - Dst: sentencepiece::LoadInput
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:79,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:83,1
    - Dst: SentencePieceProcessor::ParallelEncode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:87,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:89,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:92,1
    - Dst: SetBytesProcessed
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:95,1
    - Dst: iterations
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:95,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ' state'
    - model_filename
    - input_filename
    argTypes:
    - benchmark::State
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: sentencepiece::BM_Encode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 6
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadModelProto
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - benchmark::DoNotOptimize
    - sentencepiece::util::JoinPath
    - sentencepiece::LoadInput
    - SetBytesProcessed
    - iterations
    - testing::SrcDir
    - SentencePieceProcessor::ParallelEncode
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void BM_Encode(benchmark::State& state, absl::string_view model_filename,\n
      \              absl::string_view input_filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:106,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:106,1
    - Dst: sentencepiece::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:107,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:109,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:109,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:112,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:112,1
    - Dst: sentencepiece::LoadInput
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:113,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:114,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:118,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:120,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:121,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:123,1
    - Dst: SetBytesProcessed
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:125,1
    - Dst: iterations
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:125,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' state'
    - model_filename
    - input_filename
    argTypes:
    - benchmark::State
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 126
    functionName: sentencepiece::BM_Encode_ShortLines
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 1
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadModelProto
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - benchmark::DoNotOptimize
    - sentencepiece::util::JoinPath
    - sentencepiece::LoadInput
    - absl::StrSplit
    - SetBytesProcessed
    - testing::SrcDir
    - iterations
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void BM_Encode_ShortLines(benchmark::State& state,\n                          absl::string_view
      model_filename,\n                          absl::string_view input_filename)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:137,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:137,1
    - Dst: sentencepiece::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:138,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:140,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:140,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:143,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:143,1
    - Dst: sentencepiece::LoadInput
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:144,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:148,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:148,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:149,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:149,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:153,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:154,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:158,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:160,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:163,1
    - Dst: benchmark::DoNotOptimize
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:164,1
    - Dst: SetBytesProcessed
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:167,1
    - Dst: iterations
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:167,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - ' state'
    - model_filename
    - input_filename
    argTypes:
    - benchmark::State
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 168
    functionName: sentencepiece::BM_Decode
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 4
    functionsReached:
    - CHECK_OK
    - sentencepiece::LoadModelProto
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - benchmark::DoNotOptimize
    - sentencepiece::util::JoinPath
    - sentencepiece::LoadInput
    - SetBytesProcessed
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    - iterations
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void BM_Decode(benchmark::State& state, absl::string_view model_filename,\n
      \              absl::string_view input_filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: sentencepiece::BM_EncodeBotchan_Sequential
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Encode
    linkageType: ''
    returnType: void
    signature: void BM_EncodeBotchan_Sequential(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: sentencepiece::BM_EncodeBotchan_Parallel
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Encode
    linkageType: ''
    returnType: void
    signature: void BM_EncodeBotchan_Parallel(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Encode_ShortLines
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: sentencepiece::BM_EncodeBotchan_ShortLines
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Encode_ShortLines
    linkageType: ''
    returnType: void
    signature: void BM_EncodeBotchan_ShortLines(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: sentencepiece::BM_EncodeWagahaiwaNekodearu_Sequential
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Encode
    linkageType: ''
    returnType: void
    signature: void BM_EncodeWagahaiwaNekodearu_Sequential(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: sentencepiece::BM_EncodeWagahaiwaNekodearu_Parallel
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Encode
    linkageType: ''
    returnType: void
    signature: void BM_EncodeWagahaiwaNekodearu_Parallel(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: sentencepiece::BM_OSSModel_Sequential
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Encode
    linkageType: ''
    returnType: void
    signature: void BM_OSSModel_Sequential(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Encode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: sentencepiece::BM_OSSModel_Parallel
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Encode
    linkageType: ''
    returnType: void
    signature: void BM_OSSModel_Parallel(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: sentencepiece::BM_DecodeBotchan_Ids
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Decode
    linkageType: ''
    returnType: void
    signature: void BM_DecodeBotchan_Ids(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: sentencepiece::BM_DecodeBotchan_Pieces
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Decode
    linkageType: ''
    returnType: void
    signature: void BM_DecodeBotchan_Pieces(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: sentencepiece::BM_DecodeWagahaiwaNekodearu_Ids
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Decode
    linkageType: ''
    returnType: void
    signature: void BM_DecodeWagahaiwaNekodearu_Ids(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::BM_Decode
      Src: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' state'
    argTypes:
    - benchmark::State
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: sentencepiece::BM_DecodeOSSModel_Ids
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::BM_Decode
    linkageType: ''
    returnType: void
    signature: void BM_DecodeOSSModel_Ids(benchmark::State& state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/util.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' v'
    argTypes:
    - std::ostream
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '& operator<<(std::ostream& out, const std::vector<T>& v)'
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::StrJoin
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& out, const std::vector<T>&
      v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.h:77,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/src/util.h:80,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - result
    argTypes:
    - absl::string_view
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: sentencepiece::string_util::DecodePOD
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - std::memcpy
    linkageType: ''
    returnType: bool
    signature: bool DecodePOD(absl::string_view str, T* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/util.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: sentencepiece::string_util::EncodePOD
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string EncodePOD(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrFormat
      Src: /src/sentencepiece/src/util.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: sentencepiece::string_util::IntToHex
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    linkageType: ''
    returnType: std::string
    signature: std::string IntToHex(T value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/util.h:98,1
    - Dst: absl::numbers_internal::safe_strtoi_base
      Src: /src/sentencepiece/src/util.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: sentencepiece::string_util::HexToInt
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::numbers_internal::safe_strtoi_base
    - absl::ConsumePrefix
    linkageType: ''
    returnType: T
    signature: T HexToInt(absl::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: sentencepiece::string_util::SimpleItoa
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::StrCat
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(T val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: sentencepiece::string_util::OneCharLen
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t OneCharLen(const char* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<signed char>
      Src: /src/sentencepiece/src/util.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: sentencepiece::string_util::IsTrailByte
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 4
    functionsReached:
    - static_cast<signed char>
    linkageType: ''
    returnType: bool
    signature: bool IsTrailByte(char x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/util.h:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: sentencepiece::string_util::IsValidCodepoint
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 8
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool IsValidCodepoint(char32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.h:131,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:131,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:131,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - mblen
    argTypes:
    - absl::string_view
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: sentencepiece::string_util::DecodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 13
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - sentencepiece::string_util::DecodeUTF8
    linkageType: ''
    returnType: char32_t
    signature: char32_t DecodeUTF8(absl::string_view input, size_t* mblen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.h:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - input
    - mblen
    argTypes:
    - absl::string_view
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: sentencepiece::string_util::IsValidDecodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 4
    functionsReached:
    - sentencepiece::string_util::DecodeUTF8
    linkageType: ''
    returnType: bool
    signature: bool IsValidDecodeUTF8(absl::string_view input, size_t* mblen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.h:77,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/src/util.h:80,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - result
    argTypes:
    - absl::string_view
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: sentencepiece::string_util::DecodePOD
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - std::memcpy
    linkageType: ''
    returnType: bool
    signature: bool DecodePOD(absl::string_view str, T* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/util.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: sentencepiece::string_util::EncodePOD
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string EncodePOD(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrFormat
      Src: /src/sentencepiece/src/util.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: sentencepiece::string_util::IntToHex
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    linkageType: ''
    returnType: std::string
    signature: std::string IntToHex(T value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/util.h:98,1
    - Dst: absl::numbers_internal::safe_strtoi_base
      Src: /src/sentencepiece/src/util.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: sentencepiece::string_util::HexToInt
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::numbers_internal::safe_strtoi_base
    - absl::ConsumePrefix
    linkageType: ''
    returnType: T
    signature: T HexToInt(absl::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: sentencepiece::string_util::SimpleItoa
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::StrCat
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(T val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: sentencepiece::string_util::OneCharLen
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t OneCharLen(const char* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<signed char>
      Src: /src/sentencepiece/src/util.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: sentencepiece::string_util::IsTrailByte
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 4
    functionsReached:
    - static_cast<signed char>
    linkageType: ''
    returnType: bool
    signature: bool IsTrailByte(char x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/util.h:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: sentencepiece::string_util::IsValidCodepoint
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 8
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool IsValidCodepoint(char32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.h:131,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:131,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:131,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - mblen
    argTypes:
    - absl::string_view
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: sentencepiece::string_util::DecodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 15
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - sentencepiece::string_util::DecodeUTF8
    linkageType: ''
    returnType: char32_t
    signature: char32_t DecodeUTF8(absl::string_view input, size_t* mblen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.h:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - input
    - mblen
    argTypes:
    - absl::string_view
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: sentencepiece::string_util::IsValidDecodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 4
    functionsReached:
    - sentencepiece::string_util::DecodeUTF8
    linkageType: ''
    returnType: bool
    signature: bool IsValidDecodeUTF8(absl::string_view input, size_t* mblen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/util.h:165,1
    - Dst: end
      Src: /src/sentencepiece/src/util.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: sentencepiece::port::ContainsKey
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 8
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool ContainsKey(const Collection& collection, const Key& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/util.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: sentencepiece::port::FindOrDie
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & FindOrDie(\n    const
      Collection& collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/util.h:184,1
    - Dst: end
      Src: /src/sentencepiece/src/util.h:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - ' value'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: sentencepiece::port::FindWithDefault
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 12
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & FindWithDefault(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/src/util.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: sentencepiece::port::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(Collection* const collection,\n                        const
      typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::InsertIfNotPresent
      Src: /src/sentencepiece/src/util.h:201,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/src/util.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: sentencepiece::port::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 1
    functionsReached:
    - Collection::value_type
    - sentencepiece::port::InsertIfNotPresent
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(\n    Collection* const collection,\n    const
      typename Collection::value_type::first_type& key,\n    const typename Collection::value_type::second_type&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/sentencepiece/src/util.h:209,1
    - Dst: sentencepiece::port::InsertIfNotPresent
      Src: /src/sentencepiece/src/util.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: sentencepiece::port::InsertOrDie
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - sentencepiece::port::InsertIfNotPresent
    - CHECK
    linkageType: ''
    returnType: void
    signature: "void InsertOrDie(Collection* const collection,\n                 const
      typename Collection::value_type::first_type& key,\n                 const typename
      Collection::value_type::second_type& data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/util.h:165,1
    - Dst: end
      Src: /src/sentencepiece/src/util.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: sentencepiece::port::ContainsKey
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 8
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool ContainsKey(const Collection& collection, const Key& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/util.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: sentencepiece::port::FindOrDie
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & FindOrDie(\n    const
      Collection& collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/util.h:184,1
    - Dst: end
      Src: /src/sentencepiece/src/util.h:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - ' value'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: sentencepiece::port::FindWithDefault
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 12
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & FindWithDefault(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/src/util.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: sentencepiece::port::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 2
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(Collection* const collection,\n                        const
      typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::InsertIfNotPresent
      Src: /src/sentencepiece/src/util.h:201,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/src/util.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: sentencepiece::port::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 3
    functionsReached:
    - Collection::value_type
    - sentencepiece::port::InsertIfNotPresent
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(\n    Collection* const collection,\n    const
      typename Collection::value_type::first_type& key,\n    const typename Collection::value_type::second_type&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/sentencepiece/src/util.h:209,1
    - Dst: sentencepiece::port::InsertIfNotPresent
      Src: /src/sentencepiece/src/util.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: sentencepiece::port::InsertOrDie
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - sentencepiece::port::InsertIfNotPresent
    - CHECK
    linkageType: ''
    returnType: void
    signature: "void InsertOrDie(Collection* const collection,\n                 const
      typename Collection::value_type::first_type& key,\n                 const typename
      Collection::value_type::second_type& data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sampled
    - size
    argTypes:
    - std::vector<T>*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: sentencepiece::random::ReservoirSampler::ReservoirSampler
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReservoirSampler(std::vector<T>* sampled, uint64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sampled
    - size
    - seed
    argTypes:
    - std::vector<T>*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: sentencepiece::random::ReservoirSampler::ReservoirSampler
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ReservoirSampler(std::vector<T>* sampled, uint64_t size,\n                            uint64_t
      seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: ~ReservoirSampler()
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ReservoirSampler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/util.h:234,1
    - Dst: push_back
      Src: /src/sentencepiece/src/util.h:235,1
    - Dst: absl::Uniform<uint64_t>
      Src: /src/sentencepiece/src/util.h:237,1
    - Dst: size
      Src: /src/sentencepiece/src/util.h:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: sentencepiece::random::ReservoirSampler::Add
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::Uniform<uint64_t>
    - push_back
    - size
    linkageType: ''
    returnType: void
    signature: void Add(const T& item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: sentencepiece::random::ReservoirSampler::total_size
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t total_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sampled
    - size
    argTypes:
    - std::vector<T>*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: sentencepiece::random::ReservoirSampler::ReservoirSampler
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReservoirSampler(std::vector<T>* sampled, uint64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sampled
    - size
    - seed
    argTypes:
    - std::vector<T>*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: sentencepiece::random::ReservoirSampler::ReservoirSampler
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ReservoirSampler(std::vector<T>* sampled, uint64_t size,\n                            uint64_t
      seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: ~ReservoirSampler()
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ReservoirSampler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/util.h:234,1
    - Dst: push_back
      Src: /src/sentencepiece/src/util.h:235,1
    - Dst: absl::Uniform<uint64_t>
      Src: /src/sentencepiece/src/util.h:237,1
    - Dst: size
      Src: /src/sentencepiece/src/util.h:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: sentencepiece::random::ReservoirSampler::Add
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::Uniform<uint64_t>
    - push_back
    - size
    linkageType: ''
    returnType: void
    signature: void Add(const T& item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: sentencepiece::random::ReservoirSampler::total_size
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t total_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: sentencepiece::util::is_bigendian
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_bigendian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::gbswap_32
      Src: /src/sentencepiece/src/util.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: sentencepiece::util::Swap32
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::gbswap_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Swap32(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:264,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: sentencepiece::util::JoinPath
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 72
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: std::string
    signature: std::string JoinPath(absl::string_view path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.h:270,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:270,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:270,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.h:272,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:272,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - first
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: sentencepiece::util::JoinPath
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 73
    functionsReached:
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    linkageType: ''
    returnType: std::string
    signature: std::string JoinPath(absl::string_view first, const T&... rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: RET_CHECK_EQ
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_EQ(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: RET_CHECK_NE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_NE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: RET_CHECK_GE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_GE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: RET_CHECK_LE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_LE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: RET_CHECK_GT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: RET_CHECK_LT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_LT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: RET_QCHECK_EQ
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_EQ(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: RET_QCHECK_NE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_NE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: RET_QCHECK_GE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_GE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: RET_QCHECK_LE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_LE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: RET_QCHECK_GT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: RET_QCHECK_LT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_LT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: sentencepiece::util::is_bigendian
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_bigendian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::gbswap_32
      Src: /src/sentencepiece/src/util.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: sentencepiece::util::Swap32
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::gbswap_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Swap32(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:264,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: sentencepiece::util::JoinPath
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 73
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: std::string
    signature: std::string JoinPath(absl::string_view path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.h:270,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:270,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:270,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.h:272,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:272,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - first
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: sentencepiece::util::JoinPath
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 74
    functionsReached:
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    linkageType: ''
    returnType: std::string
    signature: std::string JoinPath(absl::string_view first, const T&... rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: RET_CHECK_EQ
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_EQ(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: RET_CHECK_NE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_NE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: RET_CHECK_GE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_GE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: RET_CHECK_LE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_LE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: RET_CHECK_GT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: RET_CHECK_LT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_LT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: RET_QCHECK_EQ
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_EQ(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: RET_QCHECK_NE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_NE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: RET_QCHECK_GE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_GE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: RET_QCHECK_LE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_LE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: RET_QCHECK_GT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: RET_QCHECK_LT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_LT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/util.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' out'
    - ' v'
    argTypes:
    - std::ostream
    - std::vector<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: '& operator<<(std::ostream& out, const std::vector<T>& v)'
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::StrJoin
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& out, const std::vector<T>&
      v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.h:77,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/src/util.h:80,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - result
    argTypes:
    - absl::string_view
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: sentencepiece::string_util::DecodePOD
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - std::memcpy
    linkageType: ''
    returnType: bool
    signature: bool DecodePOD(absl::string_view str, T* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/util.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: sentencepiece::string_util::EncodePOD
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string EncodePOD(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrFormat
      Src: /src/sentencepiece/src/util.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: sentencepiece::string_util::IntToHex
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    linkageType: ''
    returnType: std::string
    signature: std::string IntToHex(T value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/util.h:98,1
    - Dst: absl::numbers_internal::safe_strtoi_base
      Src: /src/sentencepiece/src/util.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: sentencepiece::string_util::HexToInt
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::numbers_internal::safe_strtoi_base
    - absl::ConsumePrefix
    linkageType: ''
    returnType: T
    signature: T HexToInt(absl::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: sentencepiece::string_util::SimpleItoa
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::StrCat
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(T val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: sentencepiece::string_util::OneCharLen
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t OneCharLen(const char* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<signed char>
      Src: /src/sentencepiece/src/util.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: sentencepiece::string_util::IsTrailByte
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 4
    functionsReached:
    - static_cast<signed char>
    linkageType: ''
    returnType: bool
    signature: bool IsTrailByte(char x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/util.h:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: sentencepiece::string_util::IsValidCodepoint
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 8
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool IsValidCodepoint(char32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.h:131,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:131,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:131,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - mblen
    argTypes:
    - absl::string_view
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: sentencepiece::string_util::DecodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 17
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - sentencepiece::string_util::DecodeUTF8
    linkageType: ''
    returnType: char32_t
    signature: char32_t DecodeUTF8(absl::string_view input, size_t* mblen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.h:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - input
    - mblen
    argTypes:
    - absl::string_view
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: sentencepiece::string_util::IsValidDecodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 4
    functionsReached:
    - sentencepiece::string_util::DecodeUTF8
    linkageType: ''
    returnType: bool
    signature: bool IsValidDecodeUTF8(absl::string_view input, size_t* mblen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.h:77,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/src/util.h:80,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - result
    argTypes:
    - absl::string_view
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: sentencepiece::string_util::DecodePOD
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - std::memcpy
    linkageType: ''
    returnType: bool
    signature: bool DecodePOD(absl::string_view str, T* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/util.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: sentencepiece::string_util::EncodePOD
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string EncodePOD(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrFormat
      Src: /src/sentencepiece/src/util.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: sentencepiece::string_util::IntToHex
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::StrFormat
    linkageType: ''
    returnType: std::string
    signature: std::string IntToHex(T value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/util.h:98,1
    - Dst: absl::numbers_internal::safe_strtoi_base
      Src: /src/sentencepiece/src/util.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: sentencepiece::string_util::HexToInt
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::numbers_internal::safe_strtoi_base
    - absl::ConsumePrefix
    linkageType: ''
    returnType: T
    signature: T HexToInt(absl::string_view value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: sentencepiece::string_util::SimpleItoa
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::StrCat
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(T val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: sentencepiece::string_util::OneCharLen
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t OneCharLen(const char* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<signed char>
      Src: /src/sentencepiece/src/util.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: sentencepiece::string_util::IsTrailByte
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 4
    functionsReached:
    - static_cast<signed char>
    linkageType: ''
    returnType: bool
    signature: bool IsTrailByte(char x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/util.h:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: sentencepiece::string_util::IsValidCodepoint
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 8
    functionsReached:
    - static_cast<uint32_t>
    linkageType: ''
    returnType: bool
    signature: bool IsValidCodepoint(char32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.h:131,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:131,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:131,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - mblen
    argTypes:
    - absl::string_view
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: sentencepiece::string_util::DecodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 19
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - sentencepiece::string_util::DecodeUTF8
    linkageType: ''
    returnType: char32_t
    signature: char32_t DecodeUTF8(absl::string_view input, size_t* mblen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util.h:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - input
    - mblen
    argTypes:
    - absl::string_view
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: sentencepiece::string_util::IsValidDecodeUTF8
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 4
    functionsReached:
    - sentencepiece::string_util::DecodeUTF8
    linkageType: ''
    returnType: bool
    signature: bool IsValidDecodeUTF8(absl::string_view input, size_t* mblen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/util.h:165,1
    - Dst: end
      Src: /src/sentencepiece/src/util.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: sentencepiece::port::ContainsKey
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 8
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool ContainsKey(const Collection& collection, const Key& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/util.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: sentencepiece::port::FindOrDie
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & FindOrDie(\n    const
      Collection& collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/util.h:184,1
    - Dst: end
      Src: /src/sentencepiece/src/util.h:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - ' value'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: sentencepiece::port::FindWithDefault
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 12
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & FindWithDefault(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/src/util.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: sentencepiece::port::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 4
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(Collection* const collection,\n                        const
      typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::InsertIfNotPresent
      Src: /src/sentencepiece/src/util.h:201,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/src/util.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: sentencepiece::port::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 5
    functionsReached:
    - Collection::value_type
    - sentencepiece::port::InsertIfNotPresent
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(\n    Collection* const collection,\n    const
      typename Collection::value_type::first_type& key,\n    const typename Collection::value_type::second_type&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/sentencepiece/src/util.h:209,1
    - Dst: sentencepiece::port::InsertIfNotPresent
      Src: /src/sentencepiece/src/util.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: sentencepiece::port::InsertOrDie
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - sentencepiece::port::InsertIfNotPresent
    - CHECK
    linkageType: ''
    returnType: void
    signature: "void InsertOrDie(Collection* const collection,\n                 const
      typename Collection::value_type::first_type& key,\n                 const typename
      Collection::value_type::second_type& data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/util.h:165,1
    - Dst: end
      Src: /src/sentencepiece/src/util.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: sentencepiece::port::ContainsKey
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 8
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: bool ContainsKey(const Collection& collection, const Key& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/util.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: sentencepiece::port::FindOrDie
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & FindOrDie(\n    const
      Collection& collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/util.h:184,1
    - Dst: end
      Src: /src/sentencepiece/src/util.h:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - ' value'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: sentencepiece::port::FindWithDefault
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 12
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & FindWithDefault(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/src/util.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: sentencepiece::port::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 6
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(Collection* const collection,\n                        const
      typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::InsertIfNotPresent
      Src: /src/sentencepiece/src/util.h:201,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/src/util.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: sentencepiece::port::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 7
    functionsReached:
    - Collection::value_type
    - sentencepiece::port::InsertIfNotPresent
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(\n    Collection* const collection,\n    const
      typename Collection::value_type::first_type& key,\n    const typename Collection::value_type::second_type&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/sentencepiece/src/util.h:209,1
    - Dst: sentencepiece::port::InsertIfNotPresent
      Src: /src/sentencepiece/src/util.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: sentencepiece::port::InsertOrDie
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - sentencepiece::port::InsertIfNotPresent
    - CHECK
    linkageType: ''
    returnType: void
    signature: "void InsertOrDie(Collection* const collection,\n                 const
      typename Collection::value_type::first_type& key,\n                 const typename
      Collection::value_type::second_type& data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sampled
    - size
    argTypes:
    - std::vector<T>*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: sentencepiece::random::ReservoirSampler::ReservoirSampler
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReservoirSampler(std::vector<T>* sampled, uint64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sampled
    - size
    - seed
    argTypes:
    - std::vector<T>*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: sentencepiece::random::ReservoirSampler::ReservoirSampler
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ReservoirSampler(std::vector<T>* sampled, uint64_t size,\n                            uint64_t
      seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: ~ReservoirSampler()
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ReservoirSampler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/util.h:234,1
    - Dst: push_back
      Src: /src/sentencepiece/src/util.h:235,1
    - Dst: absl::Uniform<uint64_t>
      Src: /src/sentencepiece/src/util.h:237,1
    - Dst: size
      Src: /src/sentencepiece/src/util.h:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: sentencepiece::random::ReservoirSampler::Add
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::Uniform<uint64_t>
    - push_back
    - size
    linkageType: ''
    returnType: void
    signature: void Add(const T& item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: sentencepiece::random::ReservoirSampler::total_size
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t total_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sampled
    - size
    argTypes:
    - std::vector<T>*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: sentencepiece::random::ReservoirSampler::ReservoirSampler
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReservoirSampler(std::vector<T>* sampled, uint64_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - sampled
    - size
    - seed
    argTypes:
    - std::vector<T>*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: sentencepiece::random::ReservoirSampler::ReservoirSampler
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ReservoirSampler(std::vector<T>* sampled, uint64_t size,\n                            uint64_t
      seed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: ~ReservoirSampler()
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ReservoirSampler()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/util.h:234,1
    - Dst: push_back
      Src: /src/sentencepiece/src/util.h:235,1
    - Dst: absl::Uniform<uint64_t>
      Src: /src/sentencepiece/src/util.h:237,1
    - Dst: size
      Src: /src/sentencepiece/src/util.h:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' item'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: sentencepiece::random::ReservoirSampler::Add
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::Uniform<uint64_t>
    - push_back
    - size
    linkageType: ''
    returnType: void
    signature: void Add(const T& item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 244
    functionName: sentencepiece::random::ReservoirSampler::total_size
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t total_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: sentencepiece::util::is_bigendian
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_bigendian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::gbswap_32
      Src: /src/sentencepiece/src/util.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: sentencepiece::util::Swap32
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::gbswap_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Swap32(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:264,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: sentencepiece::util::JoinPath
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 74
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: std::string
    signature: std::string JoinPath(absl::string_view path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.h:270,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:270,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:270,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.h:272,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:272,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - first
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: sentencepiece::util::JoinPath
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 75
    functionsReached:
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    linkageType: ''
    returnType: std::string
    signature: std::string JoinPath(absl::string_view first, const T&... rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: RET_CHECK_EQ
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_EQ(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: RET_CHECK_NE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_NE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: RET_CHECK_GE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_GE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: RET_CHECK_LE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_LE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: RET_CHECK_GT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: RET_CHECK_LT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_LT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: RET_QCHECK_EQ
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_EQ(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: RET_QCHECK_NE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_NE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: RET_QCHECK_GE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_GE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: RET_QCHECK_LE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_LE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: RET_QCHECK_GT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: RET_QCHECK_LT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_LT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: sentencepiece::util::is_bigendian
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_bigendian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::gbswap_32
      Src: /src/sentencepiece/src/util.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 261
    functionName: sentencepiece::util::Swap32
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached:
    - absl::gbswap_32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Swap32(uint32_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/util.h:264,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/util.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: sentencepiece::util::JoinPath
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 75
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: std::string
    signature: std::string JoinPath(absl::string_view path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.h:270,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:270,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:270,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/util.h:272,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:272,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - first
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: sentencepiece::util::JoinPath
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 76
    functionsReached:
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    linkageType: ''
    returnType: std::string
    signature: std::string JoinPath(absl::string_view first, const T&... rest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: RET_CHECK_EQ
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_EQ(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: RET_CHECK_NE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_NE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: RET_CHECK_GE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_GE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: RET_CHECK_LE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_LE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: RET_CHECK_GT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: RET_CHECK_LT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_CHECK_LT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: RET_QCHECK_EQ
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_EQ(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: RET_QCHECK_NE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_NE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: RET_QCHECK_GE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_GE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: RET_QCHECK_LE
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_LE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: RET_QCHECK_GT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: RET_QCHECK_LT
    functionSourceFile: /src/sentencepiece/src/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RET_QCHECK_LT(a, b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/model_factory.cc:27,1
    - Dst: model_type
      Src: /src/sentencepiece/src/model_factory.cc:29,1
    - Dst: std::make_unique<unigram::Model>
      Src: /src/sentencepiece/src/model_factory.cc:31,1
    - Dst: std::make_unique<bpe::Model>
      Src: /src/sentencepiece/src/model_factory.cc:34,1
    - Dst: std::make_unique<word::Model>
      Src: /src/sentencepiece/src/model_factory.cc:37,1
    - Dst: std::make_unique<character::Model>
      Src: /src/sentencepiece/src/model_factory.cc:40,1
    - Dst: LOG
      Src: /src/sentencepiece/src/model_factory.cc:43,1
    - Dst: model_type
      Src: /src/sentencepiece/src/model_factory.cc:43,1
    - Dst: std::make_unique<unigram::Model>
      Src: /src/sentencepiece/src/model_factory.cc:48,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 49
    functionName: sentencepiece::ModelFactory::Create
    functionSourceFile: /src/sentencepiece/src/model_factory.cc
    functionUses: 4
    functionsReached:
    - LOG
    - std::make_unique<bpe::Model>
    - trainer_spec
    - std::make_unique<unigram::Model>
    - std::make_unique<character::Model>
    - std::make_unique<word::Model>
    - model_type
    linkageType: ''
    returnType: std::unique_ptr<ModelInterface>
    signature: "std::unique_ptr<ModelInterface> ModelFactory::Create(\n    const ModelProto&
      model_proto)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/model_factory.cc:27,1
    - Dst: model_type
      Src: /src/sentencepiece/src/model_factory.cc:29,1
    - Dst: std::make_unique<unigram::Model>
      Src: /src/sentencepiece/src/model_factory.cc:31,1
    - Dst: std::make_unique<bpe::Model>
      Src: /src/sentencepiece/src/model_factory.cc:34,1
    - Dst: std::make_unique<word::Model>
      Src: /src/sentencepiece/src/model_factory.cc:37,1
    - Dst: std::make_unique<character::Model>
      Src: /src/sentencepiece/src/model_factory.cc:40,1
    - Dst: LOG
      Src: /src/sentencepiece/src/model_factory.cc:43,1
    - Dst: model_type
      Src: /src/sentencepiece/src/model_factory.cc:43,1
    - Dst: std::make_unique<unigram::Model>
      Src: /src/sentencepiece/src/model_factory.cc:48,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 49
    functionName: sentencepiece::ModelFactory::Create
    functionSourceFile: /src/sentencepiece/src/model_factory.cc
    functionUses: 4
    functionsReached:
    - LOG
    - std::make_unique<bpe::Model>
    - trainer_spec
    - std::make_unique<unigram::Model>
    - std::make_unique<character::Model>
    - std::make_unique<word::Model>
    - model_type
    linkageType: ''
    returnType: std::unique_ptr<ModelInterface>
    signature: "std::unique_ptr<ModelInterface> ModelFactory::Create(\n    const ModelProto&
      model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:34,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:35,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:36,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:37,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:38,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:40,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:41,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:42,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:43,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:44,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - TrainerSpec::ModelType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: sentencepiece::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    - ModelProto::mutable_trainer_spec
    linkageType: ''
    returnType: ModelProto
    signature: "ModelProto MakeBaseModelProto(TrainerSpec::ModelType type,\n                              bool
      byte_fallback = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:52,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:53,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/model_interface_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: sentencepiece::AddPiece
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 12
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:58,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:59,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:59,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - byte
    argTypes:
    - ModelProto*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: sentencepiece::AddBytePiece
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto*::add_pieces
    - sentencepiece::ByteToPiece
    linkageType: ''
    returnType: void
    signature: void AddBytePiece(ModelProto *model_proto, unsigned char byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:66,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:67,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:68,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:69,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:69,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:73,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:74,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:76,1
    - Dst: auto::unk_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:77,1
    - Dst: auto::bos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:78,1
    - Dst: auto::eos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:79,1
    - Dst: auto::pad_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:79,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:83,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:84,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:85,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:86,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:87,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:88,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:90,1
    - Dst: auto::unk_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:91,1
    - Dst: auto::bos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:92,1
    - Dst: auto::eos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:93,1
    - Dst: auto::pad_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:93,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:97,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:98,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:99,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:100,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:101,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:102,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:104,1
    - Dst: auto::unk_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:105,1
    - Dst: auto::bos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:106,1
    - Dst: auto::eos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:107,1
    - Dst: auto::pad_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 109
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::eos_piece
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - sentencepiece::AddPiece
    - ModelProto::trainer_spec
    - auto::unk_piece
    - auto::bos_piece
    - auto::pad_piece
    - ModelProto::mutable_trainer_spec
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, GetDefaultPieceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:113,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:114,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:115,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:116,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:117,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:120,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/model_interface_test.cc:120,1
    - Dst: auto::model_proto
      Src: /src/sentencepiece/src/model_interface_test.cc:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - ModelProto::SerializeAsString
    - sentencepiece::AddPiece
    - auto::model_proto
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SetModelInterfaceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:127,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:129,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:130,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:131,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:132,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:133,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:134,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:135,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:140,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/model_interface_test.cc:140,1
    - Dst: auto::model_proto
      Src: /src/sentencepiece/src/model_interface_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:143,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:144,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:145,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:146,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:147,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:148,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:149,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:150,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:151,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:152,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:154,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:155,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:156,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:157,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:158,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:159,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:160,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:161,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:161,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:163,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:164,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:164,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:165,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:165,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:166,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:166,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:167,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:167,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:168,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:169,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:170,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:172,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:173,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:174,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:174,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:175,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:175,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:176,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:177,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:177,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:178,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:178,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:179,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:179,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:181,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:181,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:182,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:182,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:183,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:183,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:184,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:184,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:185,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:185,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:186,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:187,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:187,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:188,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:190,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:190,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:191,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:192,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:193,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:193,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:194,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:194,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:195,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:195,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:196,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:197,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:197,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:199,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:199,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:200,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:200,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:201,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:201,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:202,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:202,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:203,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:203,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:204,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:204,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:205,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:205,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:206,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 208
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::IsControl
    - EXPECT_NEAR
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - ModelProto::SerializeAsString
    - sentencepiece::AddPiece
    - auto::PieceToId
    - EXPECT_TRUE
    - auto::IsUnused
    - auto::IsUserDefined
    - auto::GetScore
    - auto::IdToPiece
    - auto::model_proto
    - ModelProto::mutable_pieces
    - auto::IsUnknown
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, PieceToIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:213,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:214,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:215,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:216,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:216,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:221,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:222,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:223,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:225,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:225,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:230,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:231,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:232,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:233,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:233,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:238,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:239,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:240,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:241,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 243
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::AddPiece
    - ModelProto::mutable_pieces
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, InvalidModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:247,1
    - Dst: sentencepiece::AddBytePiece
      Src: /src/sentencepiece/src/model_interface_test.cc:249,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:251,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:252,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:253,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:253,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:258,1
    - Dst: sentencepiece::AddBytePiece
      Src: /src/sentencepiece/src/model_interface_test.cc:260,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:262,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:263,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:264,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:264,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:269,1
    - Dst: sentencepiece::AddBytePiece
      Src: /src/sentencepiece/src/model_interface_test.cc:271,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:273,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:274,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:275,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 277
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::AddPiece
    - EXPECT_TRUE
    - sentencepiece::AddBytePiece
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, ByteFallbackModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/sentencepiece/src/model_interface_test.cc:286,1
    - Dst: rand
      Src: /src/sentencepiece/src/model_interface_test.cc:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 292
    functionName: sentencepiece::RandomString
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: std::string
    signature: std::string RandomString(int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:299,1
    - Dst: sentencepiece::RandomString
      Src: /src/sentencepiece/src/model_interface_test.cc:301,1
    - Dst: absl::flat_hash_map::find
      Src: /src/sentencepiece/src/model_interface_test.cc:302,1
    - Dst: absl::flat_hash_map::end
      Src: /src/sentencepiece/src/model_interface_test.cc:302,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/model_interface_test.cc:305,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/model_interface_test.cc:306,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:307,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:312,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:315,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 319
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::RandomString
    - absl::flat_hash_map::find
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - sentencepiece::AddPiece
    - auto::PieceToId
    - ModelProto::pieces_size
    - absl::flat_hash_map::end
    - auto::IdToPiece
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, PieceToIdStressTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:324,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:328,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:333,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:337,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:342,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:345,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:349,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:350,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/model_interface_test.cc:350,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:355,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 358
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SplitIntoWords
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SplitIntoWordsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:363,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:367,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:372,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:376,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:380,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:381,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:385,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:389,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:390,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/model_interface_test.cc:390,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:395,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:395,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:396,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:401,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:402,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:403,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:408,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:409,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 414
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SplitIntoWords
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SplitIntoWordsSuffixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:420,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:420,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:424,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:429,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:429,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:435,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:435,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:436,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:441,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:441,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:447,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:447,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:449,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:454,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 458
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SplitIntoWords
    - EXPECT_EQ
    - auto::size
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SplitIntoWordsWhiteSpaceOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:461,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:462,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:463,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:463,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:464,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:464,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:465,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::ByteToPiece
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, ByteToPieceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:470,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:470,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:471,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:471,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:472,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:472,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:473,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:474,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:477,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:478,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:479,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:480,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:481,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:482,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 483
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::PieceToByte
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, PieceToByteTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:487,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:488,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:489,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:490,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:493,1
    - Dst: auto::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/model_interface_test.cc:493,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:494,1
    - Dst: auto::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/model_interface_test.cc:494,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:497,1
    - Dst: auto::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/model_interface_test.cc:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 499
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::VerifyOutputsEquivalent
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::AddPiece
    - EXPECT_TRUE
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, VerifyOutputsEquivalent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:503,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:505,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:507,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 508
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto*::set_piece
    - EXPECT_FALSE
    - ModelProto::add_pieces
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, TooLongPieceModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:34,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:35,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:36,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:37,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:38,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:40,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:41,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:42,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:43,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:44,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - TrainerSpec::ModelType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: sentencepiece::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 7
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    - ModelProto::mutable_trainer_spec
    linkageType: ''
    returnType: ModelProto
    signature: "ModelProto MakeBaseModelProto(TrainerSpec::ModelType type,\n                              bool
      byte_fallback = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:52,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:53,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/model_interface_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: sentencepiece::AddPiece
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 19
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:58,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:59,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:59,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - byte
    argTypes:
    - ModelProto*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: sentencepiece::AddBytePiece
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 1
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto*::add_pieces
    - sentencepiece::ByteToPiece
    linkageType: ''
    returnType: void
    signature: void AddBytePiece(ModelProto *model_proto, unsigned char byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:66,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:67,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:68,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:69,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:69,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:73,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:74,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:76,1
    - Dst: auto::unk_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:77,1
    - Dst: auto::bos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:78,1
    - Dst: auto::eos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:79,1
    - Dst: auto::pad_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:79,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:83,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:84,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:85,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:86,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:87,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:88,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:90,1
    - Dst: auto::unk_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:91,1
    - Dst: auto::bos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:92,1
    - Dst: auto::eos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:93,1
    - Dst: auto::pad_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:93,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:97,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:98,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:99,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:100,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:101,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:102,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:104,1
    - Dst: auto::unk_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:105,1
    - Dst: auto::bos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:106,1
    - Dst: auto::eos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:107,1
    - Dst: auto::pad_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 109
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::eos_piece
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - sentencepiece::AddPiece
    - ModelProto::trainer_spec
    - auto::unk_piece
    - auto::bos_piece
    - auto::pad_piece
    - ModelProto::mutable_trainer_spec
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, GetDefaultPieceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:113,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:114,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:115,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:116,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:117,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:120,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/model_interface_test.cc:120,1
    - Dst: auto::model_proto
      Src: /src/sentencepiece/src/model_interface_test.cc:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - ModelProto::SerializeAsString
    - sentencepiece::AddPiece
    - auto::model_proto
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SetModelInterfaceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:127,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:129,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:130,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:131,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:132,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:133,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:134,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:135,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:140,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/model_interface_test.cc:140,1
    - Dst: auto::model_proto
      Src: /src/sentencepiece/src/model_interface_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:143,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:144,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:145,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:146,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:147,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:148,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:149,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:150,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:151,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:152,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:154,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:155,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:156,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:157,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:158,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:159,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:160,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:161,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:161,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:163,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:164,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:164,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:165,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:165,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:166,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:166,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:167,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:167,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:168,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:169,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:170,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:172,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:173,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:174,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:174,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:175,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:175,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:176,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:177,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:177,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:178,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:178,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:179,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:179,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:181,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:181,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:182,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:182,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:183,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:183,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:184,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:184,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:185,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:185,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:186,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:187,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:187,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:188,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:190,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:190,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:191,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:192,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:193,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:193,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:194,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:194,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:195,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:195,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:196,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:197,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:197,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:199,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:199,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:200,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:200,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:201,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:201,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:202,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:202,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:203,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:203,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:204,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:204,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:205,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:205,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:206,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 208
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::IsControl
    - EXPECT_NEAR
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - ModelProto::SerializeAsString
    - sentencepiece::AddPiece
    - auto::PieceToId
    - EXPECT_TRUE
    - auto::IsUnused
    - auto::IsUserDefined
    - auto::GetScore
    - auto::IdToPiece
    - auto::model_proto
    - ModelProto::mutable_pieces
    - auto::IsUnknown
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, PieceToIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:213,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:214,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:215,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:216,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:216,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:221,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:222,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:223,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:225,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:225,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:230,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:231,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:232,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:233,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:233,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:238,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:239,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:240,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:241,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 243
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::AddPiece
    - ModelProto::mutable_pieces
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, InvalidModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:247,1
    - Dst: sentencepiece::AddBytePiece
      Src: /src/sentencepiece/src/model_interface_test.cc:249,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:251,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:252,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:253,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:253,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:258,1
    - Dst: sentencepiece::AddBytePiece
      Src: /src/sentencepiece/src/model_interface_test.cc:260,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:262,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:263,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:264,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:264,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:269,1
    - Dst: sentencepiece::AddBytePiece
      Src: /src/sentencepiece/src/model_interface_test.cc:271,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:273,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:274,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:275,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 277
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::AddPiece
    - EXPECT_TRUE
    - sentencepiece::AddBytePiece
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, ByteFallbackModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/sentencepiece/src/model_interface_test.cc:286,1
    - Dst: rand
      Src: /src/sentencepiece/src/model_interface_test.cc:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 292
    functionName: sentencepiece::RandomString
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 1
    functionsReached:
    - rand
    linkageType: ''
    returnType: std::string
    signature: std::string RandomString(int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:299,1
    - Dst: sentencepiece::RandomString
      Src: /src/sentencepiece/src/model_interface_test.cc:301,1
    - Dst: absl::flat_hash_map::find
      Src: /src/sentencepiece/src/model_interface_test.cc:302,1
    - Dst: absl::flat_hash_map::end
      Src: /src/sentencepiece/src/model_interface_test.cc:302,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/model_interface_test.cc:305,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/model_interface_test.cc:306,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:307,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:312,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:315,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 319
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::RandomString
    - absl::flat_hash_map::find
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - sentencepiece::AddPiece
    - auto::PieceToId
    - ModelProto::pieces_size
    - absl::flat_hash_map::end
    - auto::IdToPiece
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, PieceToIdStressTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:324,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:328,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:333,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:337,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:342,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:345,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:349,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:350,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/model_interface_test.cc:350,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:355,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 358
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SplitIntoWords
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SplitIntoWordsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:363,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:367,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:372,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:376,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:380,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:381,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:385,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:389,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:390,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/model_interface_test.cc:390,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:395,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:395,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:396,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:401,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:402,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:403,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:408,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:409,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 414
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SplitIntoWords
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SplitIntoWordsSuffixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:420,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:420,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:424,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:429,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:429,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:435,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:435,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:436,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:441,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:441,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:447,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:447,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:449,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:454,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 458
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SplitIntoWords
    - EXPECT_EQ
    - auto::size
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SplitIntoWordsWhiteSpaceOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:461,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:462,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:463,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:463,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:464,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:464,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:465,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::ByteToPiece
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, ByteToPieceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:470,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:470,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:471,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:471,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:472,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:472,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:473,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:474,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:477,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:478,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:479,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:480,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:481,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:482,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 483
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::PieceToByte
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, PieceToByteTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:487,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:488,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:489,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:490,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:493,1
    - Dst: auto::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/model_interface_test.cc:493,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:494,1
    - Dst: auto::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/model_interface_test.cc:494,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:497,1
    - Dst: auto::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/model_interface_test.cc:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 499
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::VerifyOutputsEquivalent
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::AddPiece
    - EXPECT_TRUE
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, VerifyOutputsEquivalent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:503,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:505,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:507,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 508
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto*::set_piece
    - EXPECT_FALSE
    - ModelProto::add_pieces
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, TooLongPieceModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:34,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:35,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:36,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:37,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:38,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:40,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:41,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:42,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:43,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:44,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - TrainerSpec::ModelType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: sentencepiece::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 14
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    - ModelProto::mutable_trainer_spec
    linkageType: ''
    returnType: ModelProto
    signature: "ModelProto MakeBaseModelProto(TrainerSpec::ModelType type,\n                              bool
      byte_fallback = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:52,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:53,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/model_interface_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: sentencepiece::AddPiece
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 26
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:58,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:59,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:59,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - byte
    argTypes:
    - ModelProto*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: sentencepiece::AddBytePiece
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 2
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto*::add_pieces
    - sentencepiece::ByteToPiece
    linkageType: ''
    returnType: void
    signature: void AddBytePiece(ModelProto *model_proto, unsigned char byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:66,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:67,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:68,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:69,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:69,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:73,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:74,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:76,1
    - Dst: auto::unk_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:77,1
    - Dst: auto::bos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:78,1
    - Dst: auto::eos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:79,1
    - Dst: auto::pad_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:79,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:83,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:84,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:85,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:86,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:87,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:88,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:90,1
    - Dst: auto::unk_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:91,1
    - Dst: auto::bos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:92,1
    - Dst: auto::eos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:93,1
    - Dst: auto::pad_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:93,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:97,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:98,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:99,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:100,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:101,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:102,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:104,1
    - Dst: auto::unk_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:105,1
    - Dst: auto::bos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:106,1
    - Dst: auto::eos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:107,1
    - Dst: auto::pad_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 109
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::eos_piece
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - sentencepiece::AddPiece
    - ModelProto::trainer_spec
    - auto::unk_piece
    - auto::bos_piece
    - auto::pad_piece
    - ModelProto::mutable_trainer_spec
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, GetDefaultPieceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:113,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:114,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:115,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:116,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:117,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:120,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/model_interface_test.cc:120,1
    - Dst: auto::model_proto
      Src: /src/sentencepiece/src/model_interface_test.cc:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - ModelProto::SerializeAsString
    - sentencepiece::AddPiece
    - auto::model_proto
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SetModelInterfaceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:127,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:129,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:130,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:131,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:132,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:133,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:134,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:135,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:140,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/model_interface_test.cc:140,1
    - Dst: auto::model_proto
      Src: /src/sentencepiece/src/model_interface_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:143,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:144,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:145,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:146,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:147,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:148,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:149,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:150,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:151,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:152,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:154,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:155,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:156,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:157,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:158,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:159,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:160,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:161,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:161,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:163,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:164,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:164,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:165,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:165,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:166,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:166,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:167,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:167,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:168,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:169,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:170,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:172,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:173,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:174,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:174,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:175,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:175,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:176,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:177,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:177,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:178,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:178,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:179,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:179,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:181,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:181,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:182,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:182,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:183,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:183,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:184,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:184,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:185,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:185,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:186,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:187,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:187,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:188,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:190,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:190,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:191,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:192,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:193,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:193,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:194,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:194,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:195,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:195,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:196,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:197,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:197,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:199,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:199,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:200,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:200,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:201,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:201,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:202,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:202,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:203,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:203,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:204,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:204,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:205,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:205,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:206,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 208
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::IsControl
    - EXPECT_NEAR
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - ModelProto::SerializeAsString
    - sentencepiece::AddPiece
    - auto::PieceToId
    - EXPECT_TRUE
    - auto::IsUnused
    - auto::IsUserDefined
    - auto::GetScore
    - auto::IdToPiece
    - auto::model_proto
    - ModelProto::mutable_pieces
    - auto::IsUnknown
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, PieceToIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:213,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:214,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:215,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:216,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:216,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:221,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:222,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:223,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:225,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:225,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:230,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:231,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:232,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:233,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:233,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:238,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:239,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:240,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:241,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 243
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::AddPiece
    - ModelProto::mutable_pieces
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, InvalidModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:247,1
    - Dst: sentencepiece::AddBytePiece
      Src: /src/sentencepiece/src/model_interface_test.cc:249,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:251,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:252,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:253,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:253,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:258,1
    - Dst: sentencepiece::AddBytePiece
      Src: /src/sentencepiece/src/model_interface_test.cc:260,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:262,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:263,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:264,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:264,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:269,1
    - Dst: sentencepiece::AddBytePiece
      Src: /src/sentencepiece/src/model_interface_test.cc:271,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:273,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:274,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:275,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 277
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::AddPiece
    - EXPECT_TRUE
    - sentencepiece::AddBytePiece
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, ByteFallbackModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/sentencepiece/src/model_interface_test.cc:286,1
    - Dst: rand
      Src: /src/sentencepiece/src/model_interface_test.cc:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 292
    functionName: sentencepiece::RandomString
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 2
    functionsReached:
    - rand
    linkageType: ''
    returnType: std::string
    signature: std::string RandomString(int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:299,1
    - Dst: sentencepiece::RandomString
      Src: /src/sentencepiece/src/model_interface_test.cc:301,1
    - Dst: absl::flat_hash_map::find
      Src: /src/sentencepiece/src/model_interface_test.cc:302,1
    - Dst: absl::flat_hash_map::end
      Src: /src/sentencepiece/src/model_interface_test.cc:302,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/model_interface_test.cc:305,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/model_interface_test.cc:306,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:307,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:312,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:315,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 319
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::RandomString
    - absl::flat_hash_map::find
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - sentencepiece::AddPiece
    - auto::PieceToId
    - ModelProto::pieces_size
    - absl::flat_hash_map::end
    - auto::IdToPiece
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, PieceToIdStressTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:324,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:328,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:333,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:337,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:342,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:345,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:349,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:350,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/model_interface_test.cc:350,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:355,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 358
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SplitIntoWords
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SplitIntoWordsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:363,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:367,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:372,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:376,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:380,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:381,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:385,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:389,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:390,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/model_interface_test.cc:390,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:395,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:395,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:396,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:401,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:402,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:403,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:408,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:409,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 414
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SplitIntoWords
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SplitIntoWordsSuffixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:420,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:420,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:424,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:429,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:429,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:435,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:435,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:436,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:441,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:441,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:447,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:447,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:449,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:454,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 458
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SplitIntoWords
    - EXPECT_EQ
    - auto::size
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SplitIntoWordsWhiteSpaceOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:461,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:462,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:463,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:463,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:464,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:464,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:465,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::ByteToPiece
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, ByteToPieceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:470,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:470,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:471,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:471,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:472,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:472,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:473,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:474,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:477,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:478,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:479,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:480,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:481,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:482,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 483
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::PieceToByte
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, PieceToByteTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:487,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:488,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:489,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:490,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:493,1
    - Dst: auto::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/model_interface_test.cc:493,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:494,1
    - Dst: auto::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/model_interface_test.cc:494,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:497,1
    - Dst: auto::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/model_interface_test.cc:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 499
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::VerifyOutputsEquivalent
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::AddPiece
    - EXPECT_TRUE
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, VerifyOutputsEquivalent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:503,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:505,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:507,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 508
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto*::set_piece
    - EXPECT_FALSE
    - ModelProto::add_pieces
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, TooLongPieceModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:34,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:35,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:36,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:37,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:38,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:40,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:41,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:42,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:43,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:44,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - TrainerSpec::ModelType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: sentencepiece::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 21
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    - ModelProto::mutable_trainer_spec
    linkageType: ''
    returnType: ModelProto
    signature: "ModelProto MakeBaseModelProto(TrainerSpec::ModelType type,\n                              bool
      byte_fallback = false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:52,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:53,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/model_interface_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: sentencepiece::AddPiece
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 33
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:58,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:59,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:59,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/model_interface_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - byte
    argTypes:
    - ModelProto*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: sentencepiece::AddBytePiece
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 3
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto*::add_pieces
    - sentencepiece::ByteToPiece
    linkageType: ''
    returnType: void
    signature: void AddBytePiece(ModelProto *model_proto, unsigned char byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:66,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:67,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:68,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:69,1
    - Dst: ModelProto::trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:69,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:73,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:74,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:76,1
    - Dst: auto::unk_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:77,1
    - Dst: auto::bos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:78,1
    - Dst: auto::eos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:79,1
    - Dst: auto::pad_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:79,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:83,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:84,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:85,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:86,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:87,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:88,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:90,1
    - Dst: auto::unk_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:91,1
    - Dst: auto::bos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:92,1
    - Dst: auto::eos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:93,1
    - Dst: auto::pad_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:93,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:97,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:98,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:99,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:100,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:101,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/model_interface_test.cc:102,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:104,1
    - Dst: auto::unk_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:105,1
    - Dst: auto::bos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:106,1
    - Dst: auto::eos_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:107,1
    - Dst: auto::pad_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 109
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::eos_piece
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - sentencepiece::AddPiece
    - ModelProto::trainer_spec
    - auto::unk_piece
    - auto::bos_piece
    - auto::pad_piece
    - ModelProto::mutable_trainer_spec
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, GetDefaultPieceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:113,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:114,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:115,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:116,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:117,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:120,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/model_interface_test.cc:120,1
    - Dst: auto::model_proto
      Src: /src/sentencepiece/src/model_interface_test.cc:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - ModelProto::SerializeAsString
    - sentencepiece::AddPiece
    - auto::model_proto
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SetModelInterfaceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:127,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:129,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:130,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:131,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:132,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:133,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:134,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:135,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:140,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/model_interface_test.cc:140,1
    - Dst: auto::model_proto
      Src: /src/sentencepiece/src/model_interface_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:143,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:144,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:145,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:146,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:147,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:148,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:149,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:150,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:151,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:152,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:154,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:155,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:156,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:157,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:158,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:159,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:160,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:161,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:161,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:163,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:164,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:164,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:165,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:165,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:166,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:166,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:167,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:167,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:168,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:169,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:170,1
    - Dst: auto::IsUnknown
      Src: /src/sentencepiece/src/model_interface_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:172,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:173,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:174,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:174,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:175,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:175,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:176,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:177,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:177,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:178,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:178,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:179,1
    - Dst: auto::IsControl
      Src: /src/sentencepiece/src/model_interface_test.cc:179,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:181,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:181,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:182,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:182,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:183,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:183,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:184,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:184,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:185,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:185,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:186,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:187,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:187,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:188,1
    - Dst: auto::IsUnused
      Src: /src/sentencepiece/src/model_interface_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:190,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:190,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:191,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:191,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:192,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:193,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:193,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:194,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:194,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:195,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:195,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:196,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:197,1
    - Dst: auto::IsUserDefined
      Src: /src/sentencepiece/src/model_interface_test.cc:197,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:199,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:199,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:200,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:200,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:201,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:201,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:202,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:202,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:203,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:203,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:204,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:204,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:205,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:205,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/model_interface_test.cc:206,1
    - Dst: auto::GetScore
      Src: /src/sentencepiece/src/model_interface_test.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 208
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::IsControl
    - EXPECT_NEAR
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - ModelProto::SerializeAsString
    - sentencepiece::AddPiece
    - auto::PieceToId
    - EXPECT_TRUE
    - auto::IsUnused
    - auto::IsUserDefined
    - auto::GetScore
    - auto::IdToPiece
    - auto::model_proto
    - ModelProto::mutable_pieces
    - auto::IsUnknown
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, PieceToIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:213,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:214,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:215,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:216,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:216,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:221,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:222,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:223,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:225,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:225,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:230,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:231,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:232,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:233,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:233,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:238,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:239,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:240,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:241,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 243
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::AddPiece
    - ModelProto::mutable_pieces
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, InvalidModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:247,1
    - Dst: sentencepiece::AddBytePiece
      Src: /src/sentencepiece/src/model_interface_test.cc:249,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:251,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:252,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:253,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:253,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:258,1
    - Dst: sentencepiece::AddBytePiece
      Src: /src/sentencepiece/src/model_interface_test.cc:260,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:262,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:263,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:264,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:264,1
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:269,1
    - Dst: sentencepiece::AddBytePiece
      Src: /src/sentencepiece/src/model_interface_test.cc:271,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:273,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:274,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:275,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 277
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::AddPiece
    - EXPECT_TRUE
    - sentencepiece::AddBytePiece
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, ByteFallbackModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/sentencepiece/src/model_interface_test.cc:286,1
    - Dst: rand
      Src: /src/sentencepiece/src/model_interface_test.cc:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 292
    functionName: sentencepiece::RandomString
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 3
    functionsReached:
    - rand
    linkageType: ''
    returnType: std::string
    signature: std::string RandomString(int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:299,1
    - Dst: sentencepiece::RandomString
      Src: /src/sentencepiece/src/model_interface_test.cc:301,1
    - Dst: absl::flat_hash_map::find
      Src: /src/sentencepiece/src/model_interface_test.cc:302,1
    - Dst: absl::flat_hash_map::end
      Src: /src/sentencepiece/src/model_interface_test.cc:302,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/model_interface_test.cc:305,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/model_interface_test.cc:306,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:307,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:312,1
    - Dst: auto::PieceToId
      Src: /src/sentencepiece/src/model_interface_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:315,1
    - Dst: auto::IdToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 319
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::RandomString
    - absl::flat_hash_map::find
    - EXPECT_EQ
    - sentencepiece::MakeBaseModelProto
    - sentencepiece::AddPiece
    - auto::PieceToId
    - ModelProto::pieces_size
    - absl::flat_hash_map::end
    - auto::IdToPiece
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, PieceToIdStressTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:324,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:324,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:328,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:333,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:337,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:342,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:345,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:349,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:350,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/model_interface_test.cc:350,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:355,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 358
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SplitIntoWords
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SplitIntoWordsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:362,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:363,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:367,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:372,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:376,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:380,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:381,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:385,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:389,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:390,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/model_interface_test.cc:390,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:395,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:395,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:396,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:401,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:402,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:403,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:408,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:409,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 414
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SplitIntoWords
    - EXPECT_EQ
    - auto::size
    - auto::empty
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SplitIntoWordsSuffixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:420,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:420,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:424,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:428,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:429,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:429,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:435,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:435,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:436,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:441,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:441,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:447,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:447,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:449,1
    - Dst: sentencepiece::SplitIntoWords
      Src: /src/sentencepiece/src/model_interface_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:454,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/model_interface_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 458
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SplitIntoWords
    - EXPECT_EQ
    - auto::size
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, SplitIntoWordsWhiteSpaceOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:461,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:462,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:463,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:463,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:464,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:464,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:465,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::ByteToPiece
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, ByteToPieceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:470,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:470,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:471,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:471,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:472,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:472,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:473,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:474,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:477,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:478,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:479,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:480,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:481,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:481,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/model_interface_test.cc:482,1
    - Dst: sentencepiece::PieceToByte
      Src: /src/sentencepiece/src/model_interface_test.cc:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 483
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::PieceToByte
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, PieceToByteTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MakeBaseModelProto
      Src: /src/sentencepiece/src/model_interface_test.cc:487,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:488,1
    - Dst: sentencepiece::AddPiece
      Src: /src/sentencepiece/src/model_interface_test.cc:489,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:490,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:493,1
    - Dst: auto::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/model_interface_test.cc:493,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/model_interface_test.cc:494,1
    - Dst: auto::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/model_interface_test.cc:494,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:497,1
    - Dst: auto::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/model_interface_test.cc:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 499
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::VerifyOutputsEquivalent
    - sentencepiece::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::AddPiece
    - EXPECT_TRUE
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, VerifyOutputsEquivalent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/model_interface_test.cc:503,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/model_interface_test.cc:505,1
    - Dst: sentencepiece::ModelFactory::Create
      Src: /src/sentencepiece/src/model_interface_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/model_interface_test.cc:507,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/model_interface_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 508
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/model_interface_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto*::set_piece
    - EXPECT_FALSE
    - ModelProto::add_pieces
    - sentencepiece::ModelFactory::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ModelInterfaceTest, TooLongPieceModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unicode_script_test.cc:25,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:26,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unicode_script_test.cc:26,1
    - Dst: sentencepiece::unicode_script::GetScript
      Src: /src/sentencepiece/src/unicode_script_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: sentencepiece::unicode_script::GetScriptType
    functionSourceFile: /src/sentencepiece/src/unicode_script_test.cc
    functionUses: 0
    functionsReached:
    - CHECK_EQ
    - sentencepiece::string_util::UTF8ToUnicodeText
    - auto::size
    - sentencepiece::unicode_script::GetScript
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScriptType(absl::string_view s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:31,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:32,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:33,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:34,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:35,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:36,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:37,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:38,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:39,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:40,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:41,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: sentencepiece::unicode_script::TEST
    functionSourceFile: /src/sentencepiece/src/unicode_script_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unicode_script::GetScriptType
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnicodeScript, GetScriptTypeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unicode_script_test.cc:25,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:26,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unicode_script_test.cc:26,1
    - Dst: sentencepiece::unicode_script::GetScript
      Src: /src/sentencepiece/src/unicode_script_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: sentencepiece::unicode_script::GetScriptType
    functionSourceFile: /src/sentencepiece/src/unicode_script_test.cc
    functionUses: 1
    functionsReached:
    - CHECK_EQ
    - sentencepiece::string_util::UTF8ToUnicodeText
    - auto::size
    - sentencepiece::unicode_script::GetScript
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScriptType(absl::string_view s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:31,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:32,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:33,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:34,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:35,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:36,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:37,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:38,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:39,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:40,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:41,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: sentencepiece::unicode_script::TEST
    functionSourceFile: /src/sentencepiece/src/unicode_script_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unicode_script::GetScriptType
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnicodeScript, GetScriptTypeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unicode_script_test.cc:25,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:26,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unicode_script_test.cc:26,1
    - Dst: sentencepiece::unicode_script::GetScript
      Src: /src/sentencepiece/src/unicode_script_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: sentencepiece::unicode_script::GetScriptType
    functionSourceFile: /src/sentencepiece/src/unicode_script_test.cc
    functionUses: 2
    functionsReached:
    - CHECK_EQ
    - sentencepiece::string_util::UTF8ToUnicodeText
    - auto::size
    - sentencepiece::unicode_script::GetScript
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScriptType(absl::string_view s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:31,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:32,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:33,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:34,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:35,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:36,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:37,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:38,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:39,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:40,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:41,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: sentencepiece::unicode_script::TEST
    functionSourceFile: /src/sentencepiece/src/unicode_script_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unicode_script::GetScriptType
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnicodeScript, GetScriptTypeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/unicode_script_test.cc:25,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:26,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unicode_script_test.cc:26,1
    - Dst: sentencepiece::unicode_script::GetScript
      Src: /src/sentencepiece/src/unicode_script_test.cc:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: sentencepiece::unicode_script::GetScriptType
    functionSourceFile: /src/sentencepiece/src/unicode_script_test.cc
    functionUses: 3
    functionsReached:
    - CHECK_EQ
    - sentencepiece::string_util::UTF8ToUnicodeText
    - auto::size
    - sentencepiece::unicode_script::GetScript
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScriptType(absl::string_view s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:31,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:32,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:33,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:34,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:35,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:36,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:37,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:38,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:39,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:40,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unicode_script_test.cc:41,1
    - Dst: sentencepiece::unicode_script::GetScriptType
      Src: /src/sentencepiece/src/unicode_script_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: sentencepiece::unicode_script::TEST
    functionSourceFile: /src/sentencepiece/src/unicode_script_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unicode_script::GetScriptType
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnicodeScript, GetScriptTypeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1225
    EdgeCount: 1225
    ICount: 3148
    argCount: 1
    argNames:
    - smap
    argTypes:
    - absl::flat_hash_map<char32_t, ScriptType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 1960
    functionName: sentencepiece::unicode_script::InitTable
    functionSourceFile: /src/sentencepiece/src/unicode_script_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitTable(absl::flat_hash_map<char32_t, ScriptType> *smap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1225
    EdgeCount: 1225
    ICount: 3148
    argCount: 1
    argNames:
    - smap
    argTypes:
    - absl::flat_hash_map<char32_t, ScriptType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 1960
    functionName: sentencepiece::unicode_script::InitTable
    functionSourceFile: /src/sentencepiece/src/unicode_script_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitTable(absl::flat_hash_map<char32_t, ScriptType> *smap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1225
    EdgeCount: 1225
    ICount: 3148
    argCount: 1
    argNames:
    - smap
    argTypes:
    - absl::flat_hash_map<char32_t, ScriptType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 1960
    functionName: sentencepiece::unicode_script::InitTable
    functionSourceFile: /src/sentencepiece/src/unicode_script_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitTable(absl::flat_hash_map<char32_t, ScriptType> *smap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1225
    EdgeCount: 1225
    ICount: 3148
    argCount: 1
    argNames:
    - smap
    argTypes:
    - absl::flat_hash_map<char32_t, ScriptType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 1960
    functionName: sentencepiece::unicode_script::InitTable
    functionSourceFile: /src/sentencepiece/src/unicode_script_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitTable(absl::flat_hash_map<char32_t, ScriptType> *smap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1225
    EdgeCount: 1225
    ICount: 3148
    argCount: 1
    argNames:
    - smap
    argTypes:
    - absl::flat_hash_map<char32_t, ScriptType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 1960
    functionName: sentencepiece::unicode_script::InitTable
    functionSourceFile: /src/sentencepiece/src/unicode_script_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitTable(absl::flat_hash_map<char32_t, ScriptType> *smap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1225
    EdgeCount: 1225
    ICount: 3148
    argCount: 1
    argNames:
    - smap
    argTypes:
    - absl::flat_hash_map<char32_t, ScriptType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 1960
    functionName: sentencepiece::unicode_script::InitTable
    functionSourceFile: /src/sentencepiece/src/unicode_script_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitTable(absl::flat_hash_map<char32_t, ScriptType> *smap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1225
    EdgeCount: 1225
    ICount: 3148
    argCount: 1
    argNames:
    - smap
    argTypes:
    - absl::flat_hash_map<char32_t, ScriptType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 1960
    functionName: sentencepiece::unicode_script::InitTable
    functionSourceFile: /src/sentencepiece/src/unicode_script_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitTable(absl::flat_hash_map<char32_t, ScriptType> *smap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1225
    EdgeCount: 1225
    ICount: 3148
    argCount: 1
    argNames:
    - smap
    argTypes:
    - absl::flat_hash_map<char32_t, ScriptType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 1960
    functionName: sentencepiece::unicode_script::InitTable
    functionSourceFile: /src/sentencepiece/src/unicode_script_map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitTable(absl::flat_hash_map<char32_t, ScriptType> *smap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/sentencepiece/src/spm_encode_main.cc:56,1
    - Dst: std::string
      Src: /src/sentencepiece/src/spm_encode_main.cc:56,1
    - Dst: push_back
      Src: /src/sentencepiece/src/spm_encode_main.cc:59,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:59,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:62,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/sentencepiece/src/spm_encode_main.cc:63,1
    - Dst: sentencepiece::SetRandomGeneratorSeed
      Src: /src/sentencepiece/src/spm_encode_main.cc:64,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:64,1
    - Dst: empty
      Src: /src/sentencepiece/src/spm_encode_main.cc:67,1
    - Dst: push_back
      Src: /src/sentencepiece/src/spm_encode_main.cc:68,1
    - Dst: QCHECK
      Src: /src/sentencepiece/src/spm_encode_main.cc:70,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:70,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_encode_main.cc:73,1
    - Dst: Load
      Src: /src/sentencepiece/src/spm_encode_main.cc:73,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:73,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_encode_main.cc:74,1
    - Dst: SetEncodeExtraOptions
      Src: /src/sentencepiece/src/spm_encode_main.cc:74,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:74,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/spm_encode_main.cc:77,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:77,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_encode_main.cc:78,1
    - Dst: status
      Src: /src/sentencepiece/src/spm_encode_main.cc:78,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:90,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:91,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:93,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_encode_main.cc:95,1
    - Dst: Encode
      Src: /src/sentencepiece/src/spm_encode_main.cc:95,1
    - Dst: pieces
      Src: /src/sentencepiece/src/spm_encode_main.cc:96,1
    - Dst: IsUnknown
      Src: /src/sentencepiece/src/spm_encode_main.cc:97,1
    - Dst: id
      Src: /src/sentencepiece/src/spm_encode_main.cc:97,1
    - Dst: IsControl
      Src: /src/sentencepiece/src/spm_encode_main.cc:97,1
    - Dst: id
      Src: /src/sentencepiece/src/spm_encode_main.cc:97,1
    - Dst: piece
      Src: /src/sentencepiece/src/spm_encode_main.cc:98,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:101,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_encode_main.cc:103,1
    - Dst: Encode
      Src: /src/sentencepiece/src/spm_encode_main.cc:103,1
    - Dst: WriteLine
      Src: /src/sentencepiece/src/spm_encode_main.cc:104,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/spm_encode_main.cc:104,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:106,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_encode_main.cc:108,1
    - Dst: Encode
      Src: /src/sentencepiece/src/spm_encode_main.cc:108,1
    - Dst: WriteLine
      Src: /src/sentencepiece/src/spm_encode_main.cc:109,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/spm_encode_main.cc:109,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:111,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_encode_main.cc:112,1
    - Dst: Encode
      Src: /src/sentencepiece/src/spm_encode_main.cc:112,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:113,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_encode_main.cc:115,1
    - Dst: SampleEncode
      Src: /src/sentencepiece/src/spm_encode_main.cc:115,1
    - Dst: WriteLine
      Src: /src/sentencepiece/src/spm_encode_main.cc:116,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/spm_encode_main.cc:116,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:118,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_encode_main.cc:120,1
    - Dst: SampleEncode
      Src: /src/sentencepiece/src/spm_encode_main.cc:120,1
    - Dst: WriteLine
      Src: /src/sentencepiece/src/spm_encode_main.cc:121,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/spm_encode_main.cc:121,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:123,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_encode_main.cc:125,1
    - Dst: SampleEncode
      Src: /src/sentencepiece/src/spm_encode_main.cc:125,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:127,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_encode_main.cc:129,1
    - Dst: NBestEncode
      Src: /src/sentencepiece/src/spm_encode_main.cc:129,1
    - Dst: WriteLine
      Src: /src/sentencepiece/src/spm_encode_main.cc:131,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/spm_encode_main.cc:131,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:134,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_encode_main.cc:136,1
    - Dst: NBestEncode
      Src: /src/sentencepiece/src/spm_encode_main.cc:136,1
    - Dst: WriteLine
      Src: /src/sentencepiece/src/spm_encode_main.cc:138,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/spm_encode_main.cc:138,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_encode_main.cc:141,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_encode_main.cc:143,1
    - Dst: NBestEncode
      Src: /src/sentencepiece/src/spm_encode_main.cc:143,1
    - Dst: process
      Src: /src/sentencepiece/src/spm_encode_main.cc:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 155
    functionName: ABSL_FLAG
    functionSourceFile: /src/sentencepiece/src/spm_encode_main.cc
    functionUses: 0
    functionsReached:
    - process
    - id
    - absl::StrJoin
    - std::string
    - empty
    - QCHECK_OK
    - status
    - QCHECK
    - Load
    - piece
    - IsUnknown
    - SampleEncode
    - sentencepiece::SetRandomGeneratorSeed
    - IsControl
    - std::numeric_limits<uint32_t>::max
    - SetEncodeExtraOptions
    - sentencepiece::filesystem::NewWritableFile
    - WriteLine
    - NBestEncode
    - Encode
    - pieces
    - absl::GetFlag
    - push_back
    linkageType: ''
    returnType: void
    signature: "void ABSL_FLAG(int32_t, nbest_size, 10, \"NBest size\");\nABSL_FLAG(double,
      alpha, 0.5, \"Smoothing parameter for sampling mode.\");\nABSL_FLAG(uint32_t,
      random_seed, std::numeric_limits<uint32_t>::max(),\n          \"Seed value for
      random generator.\");\n\nABSL_FLAG(bool, generate_vocabulary, false,\n          \"Generates
      vocabulary file instead of segmentation\");\n\nint main(int argc, char* argv[])
      {\n  sentencepiece::ScopedResourceDestructor cleaner;\n  sentencepiece::ParseCommandLineFlags(argv[0],
      &argc, &argv, true);\n  std::vector<std::string> rest_args;\n\n  if (absl::GetFlag(FLAGS_input).empty())
      {\n    for (int i = 1; i < argc; ++i) {\n      rest_args.push_back(std::string(argv[i]));\n
      \   }\n  } else {\n    rest_args.push_back(absl::GetFlag(FLAGS_input));\n  }\n\n
      \ if (absl::GetFlag(FLAGS_random_seed) !=\n      std::numeric_limits<uint32_t>::max())
      {\n    sentencepiece::SetRandomGeneratorSeed(absl::GetFlag(FLAGS_random_seed));\n
      \ }\n\n  if (rest_args.empty())\n    rest_args.push_back(\"\");  // empty means
      that reading from stdin.\n\n  QCHECK(!absl::GetFlag(FLAGS_model).empty());\n\n
      \ sentencepiece::SentencePieceProcessor sp;\n  QCHECK_OK(sp.Load(absl::GetFlag(FLAGS_model)));\n
      \ QCHECK_OK(sp.SetEncodeExtraOptions(absl::GetFlag(FLAGS_extra_options)));\n\n
      \ auto output =\n      sentencepiece::filesystem::NewWritableFile(absl::GetFlag(FLAGS_output));\n
      \ QCHECK_OK(output->status());\n\n  std::string line;\n  std::vector<std::string>
      sps;\n  std::vector<int> ids;\n  std::vector<std::vector<std::string>> nbest_sps;\n
      \ std::vector<std::vector<int>> nbest_ids;\n  absl::flat_hash_map<std::string,
      int> vocab;\n  sentencepiece::SentencePieceText spt;\n  sentencepiece::NBestSentencePieceText
      nbest_spt;\n  std::function<void(absl::string_view line)> process;\n\n  const
      int nbest_size = absl::GetFlag(FLAGS_nbest_size);\n  const float alpha = absl::GetFlag(FLAGS_alpha);\n\n
      \ if (absl::GetFlag(FLAGS_generate_vocabulary)) {\n    process = [&](absl::string_view
      line) {\n      QCHECK_OK(sp.Encode(line, &spt));\n      for (const auto& piece
      : spt.pieces()) {\n        if (!sp.IsUnknown(piece.id()) && !sp.IsControl(piece.id()))\n
      \         vocab[piece.piece()]++;\n      }\n    };\n  } else if (absl::GetFlag(FLAGS_output_format)
      == \"piece\") {\n    process = [&](absl::string_view line) {\n      QCHECK_OK(sp.Encode(line,
      &sps));\n      output->WriteLine(absl::StrJoin(sps, \" \"));\n    };\n  } else
      if (absl::GetFlag(FLAGS_output_format) == \"id\") {\n    process = [&](absl::string_view
      line) {\n      QCHECK_OK(sp.Encode(line, &ids));\n      output->WriteLine(absl::StrJoin(ids,
      \" \"));\n    };\n  } else if (absl::GetFlag(FLAGS_output_format) == \"proto\")
      {\n    process = [&](absl::string_view line) { QCHECK_OK(sp.Encode(line, &spt));
      };\n  } else if (absl::GetFlag(FLAGS_output_format) == \"sample_piece\") {\n
      \   process = [&](absl::string_view line) {\n      QCHECK_OK(sp.SampleEncode(line,
      nbest_size, alpha, &sps));\n      output->WriteLine(absl::StrJoin(sps, \" \"));\n
      \   };\n  } else if (absl::GetFlag(FLAGS_output_format) == \"sample_id\") {\n
      \   process = [&](absl::string_view line) {\n      QCHECK_OK(sp.SampleEncode(line,
      nbest_size, alpha, &ids));\n      output->WriteLine(absl::StrJoin(ids, \" \"));\n
      \   };\n  } else if (absl::GetFlag(FLAGS_output_format) == \"sample_proto\")
      {\n    process = [&](absl::string_view line) {\n      QCHECK_OK(sp.SampleEncode(line,
      nbest_size, alpha, &spt));\n    };\n  } else if (absl::GetFlag(FLAGS_output_format)
      == \"nbest_piece\") {\n    process = [&](absl::string_view line) {\n      QCHECK_OK(sp.NBestEncode(line,
      nbest_size, &nbest_sps));\n      for (const auto& result : nbest_sps) {\n        output->WriteLine(absl::StrJoin(result,
      \" \"));\n      }\n    };\n  } else if (absl::GetFlag(FLAGS_output_format) ==
      \"nbest_id\") {\n    process = [&](absl::string_view line) {\n      QCHECK_OK(sp.NBestEncode(line,
      nbest_size, &nbest_ids));\n      for (const auto& result : nbest_ids) {\n        output->WriteLine(absl::StrJoin(result,
      \" \"));\n      }\n    };\n  } else if (absl::GetFlag(FLAGS_output_format) ==
      \"nbest_proto\") {\n    process = [&](absl::string_view line) {\n      QCHECK_OK(sp.NBestEncode(line,
      nbest_size, &nbest_spt));\n    };\n  } else {\n    LOG(FATAL) << \"Unknown output
      format: \"\n               << absl::GetFlag(FLAGS_output_format);\n  }\n\n  for
      (const auto& filename : rest_args) {\n    auto input = sentencepiece::filesystem::NewReadableFile(filename);\n
      \   QCHECK_OK(input->status());\n    while (input->ReadLine(&line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:33,1
    - Dst: Tokenize
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:33,1
    - Dst: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::PreTokenize
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
    - Tokenize
    - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> PretokenizerForTrainingInterface::PreTokenize(\n
      \   absl::string_view text) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.cc
    functionUses: 1
    functionsReached:
    - absl::StrReplaceAll
    linkageType: ''
    returnType: std::string
    signature: "std::string PretokenizerForTrainingInterface::Preprocess(\n    absl::string_view
      text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:51,1
    - Dst: begin
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:52,1
    - Dst: begin
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:53,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:54,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:56,1
    - Dst: begin
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:56,1
    - Dst: surface
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:58,1
    - Dst: end
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:59,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:62,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:62,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' spt'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.cc
    functionUses: 1
    functionsReached:
    - std::string::empty
    - std::string::clear
    - std::string::append
    - end
    - absl::StrReplaceAll
    - begin
    - surface
    - std::vector::push_back
    - pieces
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> PretokenizerForTrainingInterface::Postprocess(\n
      \   const SentencePieceText& spt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:33,1
    - Dst: Tokenize
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:33,1
    - Dst: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::PreTokenize
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
    - Tokenize
    - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> PretokenizerForTrainingInterface::PreTokenize(\n
      \   absl::string_view text) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.cc
    functionUses: 2
    functionsReached:
    - absl::StrReplaceAll
    linkageType: ''
    returnType: std::string
    signature: "std::string PretokenizerForTrainingInterface::Preprocess(\n    absl::string_view
      text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:51,1
    - Dst: begin
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:52,1
    - Dst: begin
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:53,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:54,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:56,1
    - Dst: begin
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:56,1
    - Dst: surface
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:58,1
    - Dst: end
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:59,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:62,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:62,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' spt'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.cc
    functionUses: 2
    functionsReached:
    - std::string::empty
    - std::string::clear
    - std::string::append
    - end
    - absl::StrReplaceAll
    - begin
    - surface
    - std::vector::push_back
    - pieces
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> PretokenizerForTrainingInterface::Postprocess(\n
      \   const SentencePieceText& spt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:33,1
    - Dst: Tokenize
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:33,1
    - Dst: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::PreTokenize
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
    - Tokenize
    - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> PretokenizerForTrainingInterface::PreTokenize(\n
      \   absl::string_view text) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.cc
    functionUses: 3
    functionsReached:
    - absl::StrReplaceAll
    linkageType: ''
    returnType: std::string
    signature: "std::string PretokenizerForTrainingInterface::Preprocess(\n    absl::string_view
      text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:51,1
    - Dst: begin
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:52,1
    - Dst: begin
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:53,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:54,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:56,1
    - Dst: begin
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:56,1
    - Dst: surface
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:58,1
    - Dst: end
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:59,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:62,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:62,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' spt'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.cc
    functionUses: 3
    functionsReached:
    - std::string::empty
    - std::string::clear
    - std::string::append
    - end
    - absl::StrReplaceAll
    - begin
    - surface
    - std::vector::push_back
    - pieces
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> PretokenizerForTrainingInterface::Postprocess(\n
      \   const SentencePieceText& spt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:33,1
    - Dst: Tokenize
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:33,1
    - Dst: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::PreTokenize
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
    - Tokenize
    - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> PretokenizerForTrainingInterface::PreTokenize(\n
      \   absl::string_view text) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - text
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.cc
    functionUses: 4
    functionsReached:
    - absl::StrReplaceAll
    linkageType: ''
    returnType: std::string
    signature: "std::string PretokenizerForTrainingInterface::Preprocess(\n    absl::string_view
      text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pieces
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:51,1
    - Dst: begin
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:52,1
    - Dst: begin
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:52,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:53,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:54,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:56,1
    - Dst: begin
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:56,1
    - Dst: surface
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:58,1
    - Dst: end
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:59,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:62,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:62,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/pretokenizer_for_training.cc:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' spt'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.cc
    functionUses: 4
    functionsReached:
    - std::string::empty
    - std::string::clear
    - std::string::append
    - end
    - absl::StrReplaceAll
    - begin
    - surface
    - std::vector::push_back
    - pieces
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> PretokenizerForTrainingInterface::Postprocess(\n
      \   const SentencePieceText& spt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:39,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:39,1
    - Dst: TrainerModel::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - TrainerModel::Encode
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, TrainerModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:48,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:48,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:50,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:50,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:52,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:54,1
    - Dst: TrainerSpec::set_input_format
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:59,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:60,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:61,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:62,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:63,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:66,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:67,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:75,1
    - Dst: Trainer::LoadSentences
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:75,1
    - Dst: Trainer::MakeSeedSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:76,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:79,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:87,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:87,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:90,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:90,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:92,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:95,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:96,1
    - Dst: pieces
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:96,1
    - Dst: std::sort
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:102,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:102,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:102,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' input'
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 105
    functionName: sentencepiece::unigram::RunTrainer
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_OK
    - NormalizerSpec::set_name
    - TrainerSpec::set_model_type
    - Trainer::Train
    - absl::StrJoin
    - pieces
    - TrainerSpec::set_input_format
    - SentencePieceProcessor::Load
    - Trainer::MakeSeedSentencePieces
    - auto::WriteLine
    - EXPECT_TRUE
    - TrainerSpec::set_vocab_size
    - Trainer::LoadSentences
    - std::vector::begin
    - std::sort
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::emplace_back
    - pieces_size
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::model_proto
    - std::vector::end
    linkageType: ''
    returnType: TrainerResult
    signature: TrainerResult RunTrainer(const std::vector<std::string>& input, int
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::RunTrainer
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:114,1
    - Dst: seed_pieces_and_probs::size
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::RunTrainer
    - seed_pieces_and_probs::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:130,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:131,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:132,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:141,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:145,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:165,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 172
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - LOG
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - EXPECT_TRUE
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:130,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:131,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:132,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:141,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:145,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:165,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 172
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - LOG
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - EXPECT_TRUE
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:39,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:39,1
    - Dst: TrainerModel::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - TrainerModel::Encode
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, TrainerModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:48,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:48,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:50,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:50,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:52,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:54,1
    - Dst: TrainerSpec::set_input_format
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:59,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:60,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:61,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:62,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:63,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:66,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:67,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:75,1
    - Dst: Trainer::LoadSentences
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:75,1
    - Dst: Trainer::MakeSeedSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:76,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:79,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:87,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:87,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:90,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:90,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:92,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:95,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:96,1
    - Dst: pieces
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:96,1
    - Dst: std::sort
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:102,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:102,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:102,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' input'
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 105
    functionName: sentencepiece::unigram::RunTrainer
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 1
    functionsReached:
    - EXPECT_OK
    - NormalizerSpec::set_name
    - TrainerSpec::set_model_type
    - Trainer::Train
    - absl::StrJoin
    - pieces
    - TrainerSpec::set_input_format
    - SentencePieceProcessor::Load
    - Trainer::MakeSeedSentencePieces
    - auto::WriteLine
    - EXPECT_TRUE
    - TrainerSpec::set_vocab_size
    - Trainer::LoadSentences
    - std::vector::begin
    - std::sort
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::emplace_back
    - pieces_size
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::model_proto
    - std::vector::end
    linkageType: ''
    returnType: TrainerResult
    signature: TrainerResult RunTrainer(const std::vector<std::string>& input, int
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::RunTrainer
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:114,1
    - Dst: seed_pieces_and_probs::size
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::RunTrainer
    - seed_pieces_and_probs::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:130,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:131,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:132,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:141,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:145,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:165,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 172
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - LOG
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - EXPECT_TRUE
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:130,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:131,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:132,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:141,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:145,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:165,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 172
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - LOG
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - EXPECT_TRUE
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:39,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:39,1
    - Dst: TrainerModel::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - TrainerModel::Encode
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, TrainerModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:48,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:48,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:50,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:50,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:52,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:54,1
    - Dst: TrainerSpec::set_input_format
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:59,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:60,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:61,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:62,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:63,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:66,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:67,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:75,1
    - Dst: Trainer::LoadSentences
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:75,1
    - Dst: Trainer::MakeSeedSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:76,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:79,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:87,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:87,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:90,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:90,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:92,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:95,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:96,1
    - Dst: pieces
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:96,1
    - Dst: std::sort
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:102,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:102,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:102,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' input'
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 105
    functionName: sentencepiece::unigram::RunTrainer
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 2
    functionsReached:
    - EXPECT_OK
    - NormalizerSpec::set_name
    - TrainerSpec::set_model_type
    - Trainer::Train
    - absl::StrJoin
    - pieces
    - TrainerSpec::set_input_format
    - SentencePieceProcessor::Load
    - Trainer::MakeSeedSentencePieces
    - auto::WriteLine
    - EXPECT_TRUE
    - TrainerSpec::set_vocab_size
    - Trainer::LoadSentences
    - std::vector::begin
    - std::sort
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::emplace_back
    - pieces_size
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::model_proto
    - std::vector::end
    linkageType: ''
    returnType: TrainerResult
    signature: TrainerResult RunTrainer(const std::vector<std::string>& input, int
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::RunTrainer
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:114,1
    - Dst: seed_pieces_and_probs::size
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::RunTrainer
    - seed_pieces_and_probs::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:130,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:131,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:132,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:141,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:145,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:165,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 172
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - LOG
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - EXPECT_TRUE
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:130,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:131,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:132,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:141,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:145,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:165,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 172
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - LOG
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - EXPECT_TRUE
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:39,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:39,1
    - Dst: TrainerModel::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - TrainerModel::Encode
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, TrainerModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:48,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:48,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:50,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:50,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:52,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:54,1
    - Dst: TrainerSpec::set_input_format
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:59,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:60,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:61,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:62,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:63,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:66,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:67,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:75,1
    - Dst: Trainer::LoadSentences
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:75,1
    - Dst: Trainer::MakeSeedSentencePieces
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:76,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:79,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:87,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:87,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:90,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:90,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:92,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:95,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:96,1
    - Dst: pieces
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:96,1
    - Dst: std::sort
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:102,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:102,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:102,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' input'
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 105
    functionName: sentencepiece::unigram::RunTrainer
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 3
    functionsReached:
    - EXPECT_OK
    - NormalizerSpec::set_name
    - TrainerSpec::set_model_type
    - Trainer::Train
    - absl::StrJoin
    - pieces
    - TrainerSpec::set_input_format
    - SentencePieceProcessor::Load
    - Trainer::MakeSeedSentencePieces
    - auto::WriteLine
    - EXPECT_TRUE
    - TrainerSpec::set_vocab_size
    - Trainer::LoadSentences
    - std::vector::begin
    - std::sort
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::emplace_back
    - pieces_size
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::model_proto
    - std::vector::end
    linkageType: ''
    returnType: TrainerResult
    signature: TrainerResult RunTrainer(const std::vector<std::string>& input, int
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::RunTrainer
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:114,1
    - Dst: seed_pieces_and_probs::size
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::RunTrainer
    - seed_pieces_and_probs::size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:130,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:131,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:132,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:141,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:145,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:165,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 172
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - LOG
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - EXPECT_TRUE
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:130,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:131,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:132,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:133,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:141,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:143,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:145,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:147,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:152,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:155,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:165,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_trainer_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 172
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - LOG
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - EXPECT_TRUE
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramTrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:37,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:38,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:38,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:41,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:42,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:42,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:43,1
    - Dst: Lattice::sentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:43,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:44,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:44,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:47,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:48,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:48,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:49,1
    - Dst: Lattice::sentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:49,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:50,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:50,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:51,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:51,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:52,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:52,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:53,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:53,1
    - Dst: Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:55,1
    - Dst: Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:60,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:61,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:61,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:64,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:65,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:65,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:66,1
    - Dst: Lattice::sentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:66,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:67,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:67,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:68,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:68,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:69,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:69,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:70,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:70,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:71,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:71,1
    - Dst: Lattice::Clear
      Src: /src/sentencepiece/src/unigram_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:74,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:75,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 76
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_STREQ
    - Lattice::surface
    - Lattice::sentence
    - Lattice::SetSentence
    - Lattice::eos_node
    - Lattice::utf8_size
    - Lattice::size
    - Lattice::end_nodes
    - Lattice::Clear
    - Lattice::bos_node
    - EXPECT_EQ
    - Lattice::begin_nodes
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, SetSentenceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:80,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:83,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:84,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:85,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:86,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:87,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:88,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:123,1
    - Dst: Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:124,1
    - Dst: Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:133,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:134,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:135,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:136,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:137,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:139,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:140,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:141,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:142,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:143,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:145,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:146,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:147,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:148,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:149,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:150,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:151,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:152,1
    - Dst: Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:152,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:154,1
    - Dst: Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:154,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:155,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:156,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:157,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:158,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:159,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:160,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:161,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 162
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - Lattice::eos_node
    - Lattice::SetSentence
    - Lattice::end_nodes
    - Lattice::bos_node
    - EXPECT_EQ
    - Lattice::begin_nodes
    - Lattice::Insert
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, InsertTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:166,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:167,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:167,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:167,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:171,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:171,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:171,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:173,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:174,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - Lattice::SetSentence
    - Lattice::Insert
    - empty
    - EXPECT_TRUE
    - Lattice::Viterbi
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, ViterbiFromIncompleteLatticeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_test.cc:181,1
    - Dst: std::string
      Src: /src/sentencepiece/src/unigram_model_test.cc:181,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_test.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' nodes'
    argTypes:
    - std::vector<Lattice::Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: sentencepiece::unigram::GetTokenized
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - absl::StrJoin
    - std::vector::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string GetTokenized(const std::vector<Lattice::Node*>& nodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lattice
    - pos
    - length
    - score
    argTypes:
    - Lattice*
    - int
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: sentencepiece::unigram::InsertWithScore
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - Lattice*::Insert
    linkageType: ''
    returnType: void
    signature: void InsertWithScore(Lattice* lattice, int pos, int length, float score)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - lattice
    - pos
    - length
    - score
    - id
    argTypes:
    - Lattice*
    - int
    - int
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: sentencepiece::unigram::InsertWithScoreAndId
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - Lattice*::Insert
    linkageType: ''
    returnType: void
    signature: "void InsertWithScoreAndId(Lattice* lattice, int pos, int length, float
      score,\n                          int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:199,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:201,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:202,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:204,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:204,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:204,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:207,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:207,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:207,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:210,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:210,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:210,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:213,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:213,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::SetSentence
    - EXPECT_EQ
    - sentencepiece::unigram::GetTokenized
    - Lattice::Viterbi
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, ViterbiTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:218,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:220,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:221,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:222,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:223,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:224,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:225,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:228,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:230,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:231,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:232,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:233,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:233,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:236,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:236,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:239,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 240
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::NBest
    - Lattice::SetSentence
    - EXPECT_EQ
    - auto::size
    - sentencepiece::unigram::GetTokenized
    - auto::empty
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, NBestTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:244,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:246,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:247,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:248,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:249,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:250,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:251,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:259,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:260,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:261,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:265,1
    - Dst: std::map::count
      Src: /src/sentencepiece/src/unigram_model_test.cc:265,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:276,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:280,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:289,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:292,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:304,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:310,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:310,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:310,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:316,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 321
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::NBest
    - EXPECT_NEAR
    - Lattice::SetSentence
    - std::map::count
    - std::make_pair
    - EXPECT_EQ
    - sentencepiece::unigram::GetTokenized
    - std::exp
    - std::map::size
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, NBestSampleTest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:325,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:327,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:328,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:329,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:330,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:331,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:332,1
    - Dst: Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:337,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:337,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:342,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_test.cc:344,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:344,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:345,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:346,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_test.cc:349,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:349,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:350,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:351,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 358
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::SetSentence
    - std::log
    - Lattice::ForwardAlgorithm
    - EXPECT_EQ
    - Lattice::begin_nodes
    - std::vector::size
    - std::exp
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, ForwardAlgorithmTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:362,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:364,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:365,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:366,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:367,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:368,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:369,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:378,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:379,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:380,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:381,1
    - Dst: Lattice::PopulateMarginal
      Src: /src/sentencepiece/src/unigram_model_test.cc:384,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:386,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:387,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:388,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:389,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:390,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:391,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:392,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_test.cc:392,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 393
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - EXPECT_NEAR
    - Lattice::SetSentence
    - std::log
    - sentencepiece::unigram::InsertWithScoreAndId
    - Lattice::PopulateMarginal
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, PopulateMarginalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:397,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:399,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:400,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:401,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:402,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:403,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:404,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:407,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:410,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:411,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:412,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:413,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:424,1
    - Dst: Lattice::Sample
      Src: /src/sentencepiece/src/unigram_model_test.cc:424,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:427,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:427,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:427,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 432
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - EXPECT_NEAR
    - Lattice::SetSentence
    - sentencepiece::unigram::InsertWithScoreAndId
    - sentencepiece::unigram::GetTokenized
    - EXPECT_EQ
    - std::vector::size
    - std::map::size
    - Lattice::Sample
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, SampleTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:436,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:437,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:438,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:440,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:441,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:442,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:443,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:444,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 448
    functionName: sentencepiece::unigram::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:452,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:453,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/unigram_model_test.cc:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - ' piece'
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 455
    functionName: sentencepiece::unigram::AddPiece
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto* model_proto, const std::string& piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:458,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:460,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:461,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:462,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:463,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:466,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/unigram_model_test.cc:466,1
    - Dst: Model::model_proto
      Src: /src/sentencepiece/src/unigram_model_test.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 468
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_EQ
    - ModelProto::SerializeAsString
    - sentencepiece::unigram::AddPiece
    - Model::model_proto
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, SetUnigramModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:471,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:473,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:474,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:475,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:480,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/unigram_model_test.cc:480,1
    - Dst: Model::model_proto
      Src: /src/sentencepiece/src/unigram_model_test.cc:481,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:483,1
    - Dst: Model::min_score
      Src: /src/sentencepiece/src/unigram_model_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:485,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:486,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:487,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:488,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:489,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:489,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/unigram_model_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:490,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:491,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:492,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:493,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:493,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:494,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:496,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:497,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:498,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:499,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:500,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:501,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:502,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:502,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:504,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:504,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:505,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:505,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:506,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:507,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:507,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:508,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:508,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:509,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:510,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:510,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:512,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:512,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:513,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:513,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:514,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:514,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:515,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:515,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:516,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:516,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:517,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:517,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:518,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:518,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:520,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:520,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:521,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:521,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:522,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:522,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:523,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:523,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:524,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:524,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:525,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:525,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:526,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:526,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:528,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 529
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_NEAR
    - Model::min_score
    - Model::PieceToId
    - Model::Encode
    - EXPECT_EQ
    - Model::IsControl
    - EXPECT_FALSE
    - ModelProto::SerializeAsString
    - sentencepiece::unigram::AddPiece
    - EXPECT_TRUE
    - Model::GetScore
    - Model::IsUnknown
    - google::protobuf::as_string_view
    - Model::IdToPiece
    - Model::model_proto
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PieceToIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:532,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:533,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:537,1
    - Dst: Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:540,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:541,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:542,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:544,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:545,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:546,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 547
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Lattice::SetSentence
    - Model::PopulateNodes
    - EXPECT_EQ
    - Lattice::begin_nodes
    - sentencepiece::unigram::AddPiece
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PopulateNodesAllUnknownsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:550,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:552,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:553,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:554,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:555,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:560,1
    - Dst: Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:564,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:565,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:566,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:568,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:569,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:570,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:570,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:571,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:572,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:572,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:574,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:574,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:575,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:575,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:576,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:576,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:577,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 578
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_NEAR
    - Lattice::SetSentence
    - Model::PopulateNodes
    - EXPECT_EQ
    - Lattice::begin_nodes
    - sentencepiece::unigram::AddPiece
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PopulateNodesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:581,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:583,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:584,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:585,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:586,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:588,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:589,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:594,1
    - Dst: Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:596,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:598,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:599,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:600,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:601,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:602,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:603,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 604
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Lattice::SetSentence
    - Model::PopulateNodes
    - EXPECT_EQ
    - Lattice::begin_nodes
    - sentencepiece::unigram::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PopulateNodesWithUnusedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:607,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:608,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:609,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:610,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:611,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:612,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:613,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:618,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:618,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:619,1
    - Dst: first::empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:620,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:623,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:623,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:625,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:626,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:626,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:627,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:628,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 629
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_EQ
    - auto::size
    - first::empty
    - EXPECT_FALSE
    - Model::SampleEncode
    - sentencepiece::unigram::AddPiece
    - EXPECT_TRUE
    - auto::empty
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ModelNBestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:632,1
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:633,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:634,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:635,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:636,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:637,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:638,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:639,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:645,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:645,1
    - Dst: sentencepiece::SetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:648,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:650,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:650,1
    - Dst: sentencepiece::SetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:659,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:661,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:661,1
    - Dst: sentencepiece::SetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 663
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - sentencepiece::GetNBestTimeout
    - EXPECT_EQ
    - auto::size
    - sentencepiece::unigram::AddPiece
    - sentencepiece::SetNBestTimeout
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ModelNBestTimeoutTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:666,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:667,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:668,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:669,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:670,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:671,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:672,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:673,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:674,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:675,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:676,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:677,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:678,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:680,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:682,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:684,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:691,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:692,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:693,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:695,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:696,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:698,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:701,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:703,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:706,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:708,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:710,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:711,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:711,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:712,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:713,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:715,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:716,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:717,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:718,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:721,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:722,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:722,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:723,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:725,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:726,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:727,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:730,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:731,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:731,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:732,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:734,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:735,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:735,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:736,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:737,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:738,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:741,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:742,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:742,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:744,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:745,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:747,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:748,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:748,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:749,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:751,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 753
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - EncodeResult::size
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:756,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:758,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:759,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:760,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:761,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:762,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:763,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:764,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:765,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:770,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:771,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:771,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:772,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:776,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:779,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:779,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:780,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:781,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:785,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:786,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:789,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:791,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:797,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:798,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:799,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:802,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:802,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:803,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 806
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - sentencepiece::unigram::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, EncodeWithUnusedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:809,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:812,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:813,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:814,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:815,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:818,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:819,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:820,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:821,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:822,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:828,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:828,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:829,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:830,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:834,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:835,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:835,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:836,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 839
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ControlSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:842,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:844,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:845,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:846,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:847,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:848,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:849,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:850,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:851,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:855,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:855,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:856,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:856,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:857,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:857,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:860,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:860,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:861,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 841
    functionDepth: 2
    functionLinenumber: 841
    functionLinenumberEnd: 862
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::unigram::AddPiece
    - EXPECT_TRUE
    - Model::VerifyOutputsEquivalent
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, VerifyOutputsEquivalent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:869,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:870,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/unigram_model_test.cc:871,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:872,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:875,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:877,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:879,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:881,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:882,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:883,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:884,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:891,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:893,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:894,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 896
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - AddPieceWithType
    - Model::Encode
    - EXPECT_EQ
    - auto*::set_piece
    - auto::size
    - add_pieces
    - auto*::set_score
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ControlTokenMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:899,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/unigram_model_test.cc:900,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:904,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:905,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:905,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:906,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:912,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:913,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:914,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:915,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:916,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:916,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:920,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:921,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:922,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:923,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:924,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:925,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:928,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:929,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:930,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:935,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:936,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:937,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:938,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:939,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:940,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:947,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:948,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:948,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:949,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:950,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:956,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/unigram_model_test.cc:957,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:957,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/unigram_model_test.cc:959,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:966,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:967,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:967,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:969,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:970,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:976,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:977,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/unigram_model_test.cc:978,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:978,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/unigram_model_test.cc:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 983
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_GT
    - Model::Encode
    - ASSERT_EQ
    - auto*::set_piece
    - auto::size
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - ModelProto::pieces_size
    - ModelProto::mutable_trainer_spec
    - ByteToPiece
    - EXPECT_NE
    - ModelProto::mutable_pieces
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, SpecialSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<float>::quiet_NaN
      Src: /src/sentencepiece/src/unigram_model_test.cc:986,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/sentencepiece/src/unigram_model_test.cc:987,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/sentencepiece/src/unigram_model_test.cc:988,1
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:989,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:990,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:992,1
    - Dst: Model::status
      Src: /src/sentencepiece/src/unigram_model_test.cc:992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - std::numeric_limits<float>::quiet_NaN
    - Model::status
    - EXPECT_FALSE
    - sentencepiece::unigram::AddPiece
    - std::numeric_limits<float>::infinity
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, RejectNaNAndInfScoresTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:997,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:998,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:999,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:1001,1
    - Dst: Model::status
      Src: /src/sentencepiece/src/unigram_model_test.cc:1001,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/src/unigram_model_test.cc:1007,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:1011,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:1012,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:1014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1016
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - ASSERT_TRUE
    - Model::Encode
    - Model::status
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - std::string::reserve
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, LongTextScoreRecenteringTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:37,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:38,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:38,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:41,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:42,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:42,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:43,1
    - Dst: Lattice::sentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:43,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:44,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:44,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:47,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:48,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:48,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:49,1
    - Dst: Lattice::sentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:49,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:50,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:50,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:51,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:51,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:52,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:52,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:53,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:53,1
    - Dst: Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:55,1
    - Dst: Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:60,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:61,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:61,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:64,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:65,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:65,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:66,1
    - Dst: Lattice::sentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:66,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:67,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:67,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:68,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:68,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:69,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:69,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:70,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:70,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:71,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:71,1
    - Dst: Lattice::Clear
      Src: /src/sentencepiece/src/unigram_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:74,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:75,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 76
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_STREQ
    - Lattice::surface
    - Lattice::sentence
    - Lattice::SetSentence
    - Lattice::eos_node
    - Lattice::utf8_size
    - Lattice::size
    - Lattice::end_nodes
    - Lattice::Clear
    - Lattice::bos_node
    - EXPECT_EQ
    - Lattice::begin_nodes
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, SetSentenceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:80,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:83,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:84,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:85,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:86,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:87,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:88,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:123,1
    - Dst: Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:124,1
    - Dst: Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:133,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:134,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:135,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:136,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:137,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:139,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:140,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:141,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:142,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:143,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:145,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:146,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:147,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:148,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:149,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:150,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:151,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:152,1
    - Dst: Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:152,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:154,1
    - Dst: Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:154,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:155,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:156,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:157,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:158,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:159,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:160,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:161,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 162
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - Lattice::eos_node
    - Lattice::SetSentence
    - Lattice::end_nodes
    - Lattice::bos_node
    - EXPECT_EQ
    - Lattice::begin_nodes
    - Lattice::Insert
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, InsertTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:166,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:167,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:167,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:167,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:171,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:171,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:171,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:173,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:174,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - Lattice::SetSentence
    - Lattice::Insert
    - empty
    - EXPECT_TRUE
    - Lattice::Viterbi
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, ViterbiFromIncompleteLatticeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_test.cc:181,1
    - Dst: std::string
      Src: /src/sentencepiece/src/unigram_model_test.cc:181,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_test.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' nodes'
    argTypes:
    - std::vector<Lattice::Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: sentencepiece::unigram::GetTokenized
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 4
    functionsReached:
    - std::string
    - absl::StrJoin
    - std::vector::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string GetTokenized(const std::vector<Lattice::Node*>& nodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lattice
    - pos
    - length
    - score
    argTypes:
    - Lattice*
    - int
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: sentencepiece::unigram::InsertWithScore
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 4
    functionsReached:
    - Lattice*::Insert
    linkageType: ''
    returnType: void
    signature: void InsertWithScore(Lattice* lattice, int pos, int length, float score)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - lattice
    - pos
    - length
    - score
    - id
    argTypes:
    - Lattice*
    - int
    - int
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: sentencepiece::unigram::InsertWithScoreAndId
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 2
    functionsReached:
    - Lattice*::Insert
    linkageType: ''
    returnType: void
    signature: "void InsertWithScoreAndId(Lattice* lattice, int pos, int length, float
      score,\n                          int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:199,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:201,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:202,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:204,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:204,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:204,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:207,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:207,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:207,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:210,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:210,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:210,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:213,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:213,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::SetSentence
    - EXPECT_EQ
    - sentencepiece::unigram::GetTokenized
    - Lattice::Viterbi
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, ViterbiTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:218,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:220,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:221,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:222,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:223,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:224,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:225,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:228,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:230,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:231,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:232,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:233,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:233,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:236,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:236,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:239,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 240
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::NBest
    - Lattice::SetSentence
    - EXPECT_EQ
    - auto::size
    - sentencepiece::unigram::GetTokenized
    - auto::empty
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, NBestTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:244,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:246,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:247,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:248,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:249,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:250,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:251,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:259,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:260,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:261,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:265,1
    - Dst: std::map::count
      Src: /src/sentencepiece/src/unigram_model_test.cc:265,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:276,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:280,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:289,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:292,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:304,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:310,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:310,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:310,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:316,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 321
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::NBest
    - EXPECT_NEAR
    - Lattice::SetSentence
    - std::map::count
    - std::make_pair
    - EXPECT_EQ
    - sentencepiece::unigram::GetTokenized
    - std::exp
    - std::map::size
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, NBestSampleTest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:325,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:327,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:328,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:329,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:330,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:331,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:332,1
    - Dst: Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:337,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:337,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:342,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_test.cc:344,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:344,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:345,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:346,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_test.cc:349,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:349,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:350,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:351,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 358
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::SetSentence
    - std::log
    - Lattice::ForwardAlgorithm
    - EXPECT_EQ
    - Lattice::begin_nodes
    - std::vector::size
    - std::exp
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, ForwardAlgorithmTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:362,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:364,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:365,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:366,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:367,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:368,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:369,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:378,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:379,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:380,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:381,1
    - Dst: Lattice::PopulateMarginal
      Src: /src/sentencepiece/src/unigram_model_test.cc:384,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:386,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:387,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:388,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:389,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:390,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:391,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:392,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_test.cc:392,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 393
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - EXPECT_NEAR
    - Lattice::SetSentence
    - std::log
    - sentencepiece::unigram::InsertWithScoreAndId
    - Lattice::PopulateMarginal
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, PopulateMarginalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:397,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:399,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:400,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:401,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:402,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:403,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:404,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:407,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:410,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:411,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:412,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:413,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:424,1
    - Dst: Lattice::Sample
      Src: /src/sentencepiece/src/unigram_model_test.cc:424,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:427,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:427,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:427,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 432
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - EXPECT_NEAR
    - Lattice::SetSentence
    - sentencepiece::unigram::InsertWithScoreAndId
    - sentencepiece::unigram::GetTokenized
    - EXPECT_EQ
    - std::vector::size
    - std::map::size
    - Lattice::Sample
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, SampleTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:436,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:437,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:438,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:440,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:441,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:442,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:443,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:444,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 448
    functionName: sentencepiece::unigram::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 14
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:452,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:453,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/unigram_model_test.cc:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - ' piece'
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 455
    functionName: sentencepiece::unigram::AddPiece
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 14
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto* model_proto, const std::string& piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:458,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:460,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:461,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:462,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:463,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:466,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/unigram_model_test.cc:466,1
    - Dst: Model::model_proto
      Src: /src/sentencepiece/src/unigram_model_test.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 468
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_EQ
    - ModelProto::SerializeAsString
    - sentencepiece::unigram::AddPiece
    - Model::model_proto
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, SetUnigramModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:471,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:473,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:474,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:475,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:480,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/unigram_model_test.cc:480,1
    - Dst: Model::model_proto
      Src: /src/sentencepiece/src/unigram_model_test.cc:481,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:483,1
    - Dst: Model::min_score
      Src: /src/sentencepiece/src/unigram_model_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:485,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:486,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:487,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:488,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:489,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:489,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/unigram_model_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:490,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:491,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:492,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:493,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:493,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:494,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:496,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:497,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:498,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:499,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:500,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:501,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:502,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:502,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:504,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:504,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:505,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:505,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:506,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:507,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:507,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:508,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:508,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:509,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:510,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:510,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:512,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:512,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:513,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:513,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:514,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:514,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:515,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:515,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:516,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:516,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:517,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:517,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:518,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:518,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:520,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:520,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:521,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:521,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:522,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:522,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:523,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:523,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:524,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:524,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:525,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:525,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:526,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:526,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:528,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 529
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_NEAR
    - Model::min_score
    - Model::PieceToId
    - Model::Encode
    - EXPECT_EQ
    - Model::IsControl
    - EXPECT_FALSE
    - ModelProto::SerializeAsString
    - sentencepiece::unigram::AddPiece
    - EXPECT_TRUE
    - Model::GetScore
    - Model::IsUnknown
    - google::protobuf::as_string_view
    - Model::IdToPiece
    - Model::model_proto
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PieceToIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:532,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:533,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:537,1
    - Dst: Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:540,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:541,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:542,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:544,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:545,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:546,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 547
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Lattice::SetSentence
    - Model::PopulateNodes
    - EXPECT_EQ
    - Lattice::begin_nodes
    - sentencepiece::unigram::AddPiece
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PopulateNodesAllUnknownsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:550,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:552,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:553,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:554,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:555,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:560,1
    - Dst: Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:564,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:565,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:566,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:568,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:569,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:570,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:570,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:571,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:572,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:572,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:574,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:574,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:575,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:575,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:576,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:576,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:577,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 578
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_NEAR
    - Lattice::SetSentence
    - Model::PopulateNodes
    - EXPECT_EQ
    - Lattice::begin_nodes
    - sentencepiece::unigram::AddPiece
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PopulateNodesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:581,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:583,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:584,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:585,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:586,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:588,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:589,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:594,1
    - Dst: Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:596,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:598,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:599,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:600,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:601,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:602,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:603,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 604
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Lattice::SetSentence
    - Model::PopulateNodes
    - EXPECT_EQ
    - Lattice::begin_nodes
    - sentencepiece::unigram::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PopulateNodesWithUnusedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:607,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:608,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:609,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:610,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:611,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:612,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:613,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:618,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:618,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:619,1
    - Dst: first::empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:620,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:623,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:623,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:625,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:626,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:626,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:627,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:628,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 629
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_EQ
    - auto::size
    - first::empty
    - EXPECT_FALSE
    - Model::SampleEncode
    - sentencepiece::unigram::AddPiece
    - EXPECT_TRUE
    - auto::empty
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ModelNBestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:632,1
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:633,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:634,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:635,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:636,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:637,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:638,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:639,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:645,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:645,1
    - Dst: sentencepiece::SetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:648,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:650,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:650,1
    - Dst: sentencepiece::SetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:659,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:661,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:661,1
    - Dst: sentencepiece::SetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 663
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - sentencepiece::GetNBestTimeout
    - EXPECT_EQ
    - auto::size
    - sentencepiece::unigram::AddPiece
    - sentencepiece::SetNBestTimeout
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ModelNBestTimeoutTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:666,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:667,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:668,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:669,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:670,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:671,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:672,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:673,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:674,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:675,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:676,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:677,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:678,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:680,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:682,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:684,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:691,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:692,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:693,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:695,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:696,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:698,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:701,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:703,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:706,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:708,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:710,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:711,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:711,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:712,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:713,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:715,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:716,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:717,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:718,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:721,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:722,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:722,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:723,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:725,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:726,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:727,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:730,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:731,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:731,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:732,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:734,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:735,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:735,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:736,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:737,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:738,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:741,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:742,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:742,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:744,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:745,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:747,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:748,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:748,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:749,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:751,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 753
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - EncodeResult::size
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:756,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:758,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:759,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:760,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:761,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:762,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:763,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:764,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:765,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:770,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:771,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:771,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:772,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:776,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:779,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:779,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:780,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:781,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:785,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:786,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:789,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:791,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:797,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:798,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:799,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:802,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:802,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:803,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 806
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - sentencepiece::unigram::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, EncodeWithUnusedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:809,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:812,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:813,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:814,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:815,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:818,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:819,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:820,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:821,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:822,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:828,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:828,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:829,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:830,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:834,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:835,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:835,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:836,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 839
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ControlSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:842,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:844,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:845,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:846,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:847,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:848,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:849,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:850,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:851,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:855,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:855,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:856,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:856,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:857,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:857,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:860,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:860,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:861,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 841
    functionDepth: 2
    functionLinenumber: 841
    functionLinenumberEnd: 862
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::unigram::AddPiece
    - EXPECT_TRUE
    - Model::VerifyOutputsEquivalent
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, VerifyOutputsEquivalent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:869,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:870,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/unigram_model_test.cc:871,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:872,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:875,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:877,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:879,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:881,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:882,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:883,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:884,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:891,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:893,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:894,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 896
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - AddPieceWithType
    - Model::Encode
    - EXPECT_EQ
    - auto*::set_piece
    - auto::size
    - add_pieces
    - auto*::set_score
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ControlTokenMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:899,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/unigram_model_test.cc:900,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:904,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:905,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:905,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:906,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:912,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:913,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:914,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:915,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:916,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:916,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:920,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:921,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:922,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:923,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:924,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:925,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:928,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:929,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:930,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:935,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:936,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:937,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:938,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:939,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:940,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:947,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:948,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:948,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:949,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:950,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:956,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/unigram_model_test.cc:957,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:957,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/unigram_model_test.cc:959,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:966,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:967,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:967,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:969,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:970,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:976,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:977,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/unigram_model_test.cc:978,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:978,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/unigram_model_test.cc:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 983
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_GT
    - Model::Encode
    - ASSERT_EQ
    - auto*::set_piece
    - auto::size
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - ModelProto::pieces_size
    - ModelProto::mutable_trainer_spec
    - ByteToPiece
    - EXPECT_NE
    - ModelProto::mutable_pieces
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, SpecialSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<float>::quiet_NaN
      Src: /src/sentencepiece/src/unigram_model_test.cc:986,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/sentencepiece/src/unigram_model_test.cc:987,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/sentencepiece/src/unigram_model_test.cc:988,1
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:989,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:990,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:992,1
    - Dst: Model::status
      Src: /src/sentencepiece/src/unigram_model_test.cc:992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - std::numeric_limits<float>::quiet_NaN
    - Model::status
    - EXPECT_FALSE
    - sentencepiece::unigram::AddPiece
    - std::numeric_limits<float>::infinity
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, RejectNaNAndInfScoresTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:997,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:998,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:999,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:1001,1
    - Dst: Model::status
      Src: /src/sentencepiece/src/unigram_model_test.cc:1001,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/src/unigram_model_test.cc:1007,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:1011,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:1012,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:1014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1016
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - ASSERT_TRUE
    - Model::Encode
    - Model::status
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - std::string::reserve
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, LongTextScoreRecenteringTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:37,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:38,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:38,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:41,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:42,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:42,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:43,1
    - Dst: Lattice::sentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:43,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:44,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:44,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:47,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:48,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:48,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:49,1
    - Dst: Lattice::sentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:49,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:50,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:50,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:51,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:51,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:52,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:52,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:53,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:53,1
    - Dst: Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:55,1
    - Dst: Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:60,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:61,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:61,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:64,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:65,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:65,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:66,1
    - Dst: Lattice::sentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:66,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:67,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:67,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:68,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:68,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:69,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:69,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:70,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:70,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:71,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:71,1
    - Dst: Lattice::Clear
      Src: /src/sentencepiece/src/unigram_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:74,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:75,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 76
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_STREQ
    - Lattice::surface
    - Lattice::sentence
    - Lattice::SetSentence
    - Lattice::eos_node
    - Lattice::utf8_size
    - Lattice::size
    - Lattice::end_nodes
    - Lattice::Clear
    - Lattice::bos_node
    - EXPECT_EQ
    - Lattice::begin_nodes
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, SetSentenceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:80,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:83,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:84,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:85,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:86,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:87,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:88,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:123,1
    - Dst: Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:124,1
    - Dst: Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:133,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:134,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:135,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:136,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:137,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:139,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:140,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:141,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:142,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:143,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:145,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:146,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:147,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:148,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:149,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:150,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:151,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:152,1
    - Dst: Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:152,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:154,1
    - Dst: Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:154,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:155,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:156,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:157,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:158,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:159,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:160,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:161,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 162
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - Lattice::eos_node
    - Lattice::SetSentence
    - Lattice::end_nodes
    - Lattice::bos_node
    - EXPECT_EQ
    - Lattice::begin_nodes
    - Lattice::Insert
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, InsertTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:166,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:167,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:167,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:167,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:171,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:171,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:171,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:173,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:174,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - Lattice::SetSentence
    - Lattice::Insert
    - empty
    - EXPECT_TRUE
    - Lattice::Viterbi
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, ViterbiFromIncompleteLatticeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_test.cc:181,1
    - Dst: std::string
      Src: /src/sentencepiece/src/unigram_model_test.cc:181,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_test.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' nodes'
    argTypes:
    - std::vector<Lattice::Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: sentencepiece::unigram::GetTokenized
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 8
    functionsReached:
    - std::string
    - absl::StrJoin
    - std::vector::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string GetTokenized(const std::vector<Lattice::Node*>& nodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lattice
    - pos
    - length
    - score
    argTypes:
    - Lattice*
    - int
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: sentencepiece::unigram::InsertWithScore
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 8
    functionsReached:
    - Lattice*::Insert
    linkageType: ''
    returnType: void
    signature: void InsertWithScore(Lattice* lattice, int pos, int length, float score)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - lattice
    - pos
    - length
    - score
    - id
    argTypes:
    - Lattice*
    - int
    - int
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: sentencepiece::unigram::InsertWithScoreAndId
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 4
    functionsReached:
    - Lattice*::Insert
    linkageType: ''
    returnType: void
    signature: "void InsertWithScoreAndId(Lattice* lattice, int pos, int length, float
      score,\n                          int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:199,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:201,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:202,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:204,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:204,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:204,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:207,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:207,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:207,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:210,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:210,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:210,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:213,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:213,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::SetSentence
    - EXPECT_EQ
    - sentencepiece::unigram::GetTokenized
    - Lattice::Viterbi
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, ViterbiTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:218,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:220,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:221,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:222,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:223,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:224,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:225,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:228,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:230,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:231,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:232,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:233,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:233,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:236,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:236,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:239,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 240
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::NBest
    - Lattice::SetSentence
    - EXPECT_EQ
    - auto::size
    - sentencepiece::unigram::GetTokenized
    - auto::empty
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, NBestTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:244,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:246,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:247,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:248,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:249,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:250,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:251,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:259,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:260,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:261,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:265,1
    - Dst: std::map::count
      Src: /src/sentencepiece/src/unigram_model_test.cc:265,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:276,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:280,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:289,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:292,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:304,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:310,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:310,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:310,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:316,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 321
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::NBest
    - EXPECT_NEAR
    - Lattice::SetSentence
    - std::map::count
    - std::make_pair
    - EXPECT_EQ
    - sentencepiece::unigram::GetTokenized
    - std::exp
    - std::map::size
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, NBestSampleTest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:325,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:327,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:328,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:329,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:330,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:331,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:332,1
    - Dst: Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:337,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:337,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:342,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_test.cc:344,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:344,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:345,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:346,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_test.cc:349,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:349,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:350,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:351,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 358
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::SetSentence
    - std::log
    - Lattice::ForwardAlgorithm
    - EXPECT_EQ
    - Lattice::begin_nodes
    - std::vector::size
    - std::exp
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, ForwardAlgorithmTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:362,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:364,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:365,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:366,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:367,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:368,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:369,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:378,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:379,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:380,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:381,1
    - Dst: Lattice::PopulateMarginal
      Src: /src/sentencepiece/src/unigram_model_test.cc:384,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:386,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:387,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:388,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:389,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:390,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:391,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:392,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_test.cc:392,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 393
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - EXPECT_NEAR
    - Lattice::SetSentence
    - std::log
    - sentencepiece::unigram::InsertWithScoreAndId
    - Lattice::PopulateMarginal
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, PopulateMarginalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:397,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:399,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:400,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:401,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:402,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:403,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:404,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:407,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:410,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:411,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:412,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:413,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:424,1
    - Dst: Lattice::Sample
      Src: /src/sentencepiece/src/unigram_model_test.cc:424,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:427,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:427,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:427,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 432
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - EXPECT_NEAR
    - Lattice::SetSentence
    - sentencepiece::unigram::InsertWithScoreAndId
    - sentencepiece::unigram::GetTokenized
    - EXPECT_EQ
    - std::vector::size
    - std::map::size
    - Lattice::Sample
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, SampleTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:436,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:437,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:438,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:440,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:441,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:442,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:443,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:444,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 448
    functionName: sentencepiece::unigram::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 28
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:452,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:453,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/unigram_model_test.cc:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - ' piece'
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 455
    functionName: sentencepiece::unigram::AddPiece
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 28
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto* model_proto, const std::string& piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:458,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:460,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:461,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:462,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:463,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:466,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/unigram_model_test.cc:466,1
    - Dst: Model::model_proto
      Src: /src/sentencepiece/src/unigram_model_test.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 468
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_EQ
    - ModelProto::SerializeAsString
    - sentencepiece::unigram::AddPiece
    - Model::model_proto
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, SetUnigramModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:471,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:473,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:474,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:475,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:480,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/unigram_model_test.cc:480,1
    - Dst: Model::model_proto
      Src: /src/sentencepiece/src/unigram_model_test.cc:481,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:483,1
    - Dst: Model::min_score
      Src: /src/sentencepiece/src/unigram_model_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:485,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:486,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:487,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:488,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:489,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:489,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/unigram_model_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:490,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:491,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:492,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:493,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:493,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:494,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:496,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:497,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:498,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:499,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:500,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:501,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:502,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:502,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:504,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:504,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:505,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:505,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:506,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:507,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:507,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:508,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:508,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:509,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:510,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:510,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:512,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:512,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:513,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:513,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:514,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:514,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:515,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:515,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:516,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:516,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:517,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:517,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:518,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:518,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:520,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:520,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:521,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:521,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:522,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:522,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:523,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:523,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:524,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:524,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:525,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:525,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:526,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:526,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:528,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 529
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_NEAR
    - Model::min_score
    - Model::PieceToId
    - Model::Encode
    - EXPECT_EQ
    - Model::IsControl
    - EXPECT_FALSE
    - ModelProto::SerializeAsString
    - sentencepiece::unigram::AddPiece
    - EXPECT_TRUE
    - Model::GetScore
    - Model::IsUnknown
    - google::protobuf::as_string_view
    - Model::IdToPiece
    - Model::model_proto
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PieceToIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:532,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:533,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:537,1
    - Dst: Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:540,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:541,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:542,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:544,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:545,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:546,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 547
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Lattice::SetSentence
    - Model::PopulateNodes
    - EXPECT_EQ
    - Lattice::begin_nodes
    - sentencepiece::unigram::AddPiece
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PopulateNodesAllUnknownsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:550,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:552,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:553,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:554,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:555,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:560,1
    - Dst: Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:564,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:565,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:566,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:568,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:569,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:570,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:570,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:571,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:572,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:572,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:574,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:574,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:575,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:575,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:576,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:576,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:577,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 578
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_NEAR
    - Lattice::SetSentence
    - Model::PopulateNodes
    - EXPECT_EQ
    - Lattice::begin_nodes
    - sentencepiece::unigram::AddPiece
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PopulateNodesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:581,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:583,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:584,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:585,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:586,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:588,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:589,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:594,1
    - Dst: Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:596,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:598,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:599,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:600,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:601,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:602,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:603,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 604
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Lattice::SetSentence
    - Model::PopulateNodes
    - EXPECT_EQ
    - Lattice::begin_nodes
    - sentencepiece::unigram::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PopulateNodesWithUnusedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:607,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:608,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:609,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:610,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:611,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:612,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:613,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:618,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:618,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:619,1
    - Dst: first::empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:620,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:623,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:623,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:625,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:626,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:626,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:627,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:628,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 629
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_EQ
    - auto::size
    - first::empty
    - EXPECT_FALSE
    - Model::SampleEncode
    - sentencepiece::unigram::AddPiece
    - EXPECT_TRUE
    - auto::empty
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ModelNBestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:632,1
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:633,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:634,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:635,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:636,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:637,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:638,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:639,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:645,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:645,1
    - Dst: sentencepiece::SetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:648,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:650,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:650,1
    - Dst: sentencepiece::SetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:659,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:661,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:661,1
    - Dst: sentencepiece::SetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 663
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - sentencepiece::GetNBestTimeout
    - EXPECT_EQ
    - auto::size
    - sentencepiece::unigram::AddPiece
    - sentencepiece::SetNBestTimeout
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ModelNBestTimeoutTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:666,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:667,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:668,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:669,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:670,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:671,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:672,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:673,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:674,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:675,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:676,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:677,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:678,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:680,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:682,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:684,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:691,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:692,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:693,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:695,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:696,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:698,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:701,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:703,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:706,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:708,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:710,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:711,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:711,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:712,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:713,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:715,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:716,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:717,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:718,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:721,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:722,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:722,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:723,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:725,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:726,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:727,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:730,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:731,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:731,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:732,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:734,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:735,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:735,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:736,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:737,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:738,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:741,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:742,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:742,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:744,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:745,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:747,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:748,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:748,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:749,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:751,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 753
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - EncodeResult::size
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:756,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:758,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:759,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:760,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:761,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:762,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:763,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:764,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:765,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:770,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:771,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:771,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:772,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:776,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:779,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:779,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:780,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:781,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:785,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:786,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:789,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:791,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:797,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:798,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:799,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:802,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:802,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:803,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 806
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - sentencepiece::unigram::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, EncodeWithUnusedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:809,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:812,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:813,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:814,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:815,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:818,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:819,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:820,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:821,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:822,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:828,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:828,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:829,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:830,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:834,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:835,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:835,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:836,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 839
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ControlSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:842,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:844,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:845,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:846,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:847,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:848,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:849,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:850,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:851,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:855,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:855,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:856,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:856,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:857,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:857,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:860,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:860,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:861,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 841
    functionDepth: 2
    functionLinenumber: 841
    functionLinenumberEnd: 862
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::unigram::AddPiece
    - EXPECT_TRUE
    - Model::VerifyOutputsEquivalent
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, VerifyOutputsEquivalent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:869,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:870,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/unigram_model_test.cc:871,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:872,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:875,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:877,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:879,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:881,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:882,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:883,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:884,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:891,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:893,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:894,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 896
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - AddPieceWithType
    - Model::Encode
    - EXPECT_EQ
    - auto*::set_piece
    - auto::size
    - add_pieces
    - auto*::set_score
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ControlTokenMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:899,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/unigram_model_test.cc:900,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:904,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:905,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:905,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:906,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:912,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:913,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:914,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:915,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:916,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:916,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:920,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:921,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:922,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:923,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:924,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:925,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:928,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:929,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:930,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:935,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:936,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:937,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:938,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:939,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:940,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:947,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:948,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:948,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:949,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:950,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:956,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/unigram_model_test.cc:957,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:957,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/unigram_model_test.cc:959,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:966,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:967,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:967,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:969,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:970,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:976,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:977,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/unigram_model_test.cc:978,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:978,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/unigram_model_test.cc:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 983
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_GT
    - Model::Encode
    - ASSERT_EQ
    - auto*::set_piece
    - auto::size
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - ModelProto::pieces_size
    - ModelProto::mutable_trainer_spec
    - ByteToPiece
    - EXPECT_NE
    - ModelProto::mutable_pieces
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, SpecialSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<float>::quiet_NaN
      Src: /src/sentencepiece/src/unigram_model_test.cc:986,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/sentencepiece/src/unigram_model_test.cc:987,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/sentencepiece/src/unigram_model_test.cc:988,1
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:989,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:990,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:992,1
    - Dst: Model::status
      Src: /src/sentencepiece/src/unigram_model_test.cc:992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - std::numeric_limits<float>::quiet_NaN
    - Model::status
    - EXPECT_FALSE
    - sentencepiece::unigram::AddPiece
    - std::numeric_limits<float>::infinity
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, RejectNaNAndInfScoresTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:997,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:998,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:999,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:1001,1
    - Dst: Model::status
      Src: /src/sentencepiece/src/unigram_model_test.cc:1001,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/src/unigram_model_test.cc:1007,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:1011,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:1012,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:1014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1016
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - ASSERT_TRUE
    - Model::Encode
    - Model::status
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - std::string::reserve
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, LongTextScoreRecenteringTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:37,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:38,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:38,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:41,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:42,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:42,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:43,1
    - Dst: Lattice::sentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:43,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:44,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:44,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:47,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:48,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:48,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:49,1
    - Dst: Lattice::sentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:49,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:50,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:50,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:51,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:51,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:52,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:52,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:53,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:53,1
    - Dst: Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:55,1
    - Dst: Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:60,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:61,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:61,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:64,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:65,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:65,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:66,1
    - Dst: Lattice::sentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:66,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:67,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:67,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:68,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:68,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:69,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:69,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:70,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:70,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:71,1
    - Dst: Lattice::surface
      Src: /src/sentencepiece/src/unigram_model_test.cc:71,1
    - Dst: Lattice::Clear
      Src: /src/sentencepiece/src/unigram_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:74,1
    - Dst: Lattice::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:75,1
    - Dst: Lattice::utf8_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 76
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_STREQ
    - Lattice::surface
    - Lattice::sentence
    - Lattice::SetSentence
    - Lattice::eos_node
    - Lattice::utf8_size
    - Lattice::size
    - Lattice::end_nodes
    - Lattice::Clear
    - Lattice::bos_node
    - EXPECT_EQ
    - Lattice::begin_nodes
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, SetSentenceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:80,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:83,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:84,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:85,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:86,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:87,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:88,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:123,1
    - Dst: Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:124,1
    - Dst: Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:133,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:134,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:135,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:136,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:137,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:139,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:140,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:141,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:142,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:143,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:145,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:146,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:147,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:148,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:149,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:150,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:151,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:152,1
    - Dst: Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:152,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:154,1
    - Dst: Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model_test.cc:154,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:155,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:156,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:157,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:158,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:159,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:160,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:161,1
    - Dst: Lattice::end_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 162
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - Lattice::eos_node
    - Lattice::SetSentence
    - Lattice::end_nodes
    - Lattice::bos_node
    - EXPECT_EQ
    - Lattice::begin_nodes
    - Lattice::Insert
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, InsertTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:166,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:167,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:167,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:167,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:171,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:171,1
    - Dst: empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:171,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:173,1
    - Dst: Lattice::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:174,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - Lattice::SetSentence
    - Lattice::Insert
    - empty
    - EXPECT_TRUE
    - Lattice::Viterbi
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, ViterbiFromIncompleteLatticeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model_test.cc:181,1
    - Dst: std::string
      Src: /src/sentencepiece/src/unigram_model_test.cc:181,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/unigram_model_test.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' nodes'
    argTypes:
    - std::vector<Lattice::Node*>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: sentencepiece::unigram::GetTokenized
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 12
    functionsReached:
    - std::string
    - absl::StrJoin
    - std::vector::push_back
    linkageType: ''
    returnType: std::string
    signature: std::string GetTokenized(const std::vector<Lattice::Node*>& nodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - lattice
    - pos
    - length
    - score
    argTypes:
    - Lattice*
    - int
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: sentencepiece::unigram::InsertWithScore
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 12
    functionsReached:
    - Lattice*::Insert
    linkageType: ''
    returnType: void
    signature: void InsertWithScore(Lattice* lattice, int pos, int length, float score)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - lattice
    - pos
    - length
    - score
    - id
    argTypes:
    - Lattice*
    - int
    - int
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: sentencepiece::unigram::InsertWithScoreAndId
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 6
    functionsReached:
    - Lattice*::Insert
    linkageType: ''
    returnType: void
    signature: "void InsertWithScoreAndId(Lattice* lattice, int pos, int length, float
      score,\n                          int id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:199,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:201,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:202,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:204,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:204,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:204,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:207,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:207,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:207,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:210,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:210,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:210,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:213,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:213,1
    - Dst: Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 214
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::SetSentence
    - EXPECT_EQ
    - sentencepiece::unigram::GetTokenized
    - Lattice::Viterbi
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, ViterbiTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:218,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:220,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:221,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:222,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:223,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:224,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:225,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:228,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:230,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:231,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:232,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:233,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:233,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:236,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:236,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:239,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 240
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::NBest
    - Lattice::SetSentence
    - EXPECT_EQ
    - auto::size
    - sentencepiece::unigram::GetTokenized
    - auto::empty
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, NBestTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:244,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:246,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:247,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:248,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:249,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:250,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:251,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:259,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:260,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:261,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:265,1
    - Dst: std::map::count
      Src: /src/sentencepiece/src/unigram_model_test.cc:265,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:276,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:280,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:289,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/unigram_model_test.cc:292,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model_test.cc:304,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:310,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:310,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:310,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:316,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 321
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::NBest
    - EXPECT_NEAR
    - Lattice::SetSentence
    - std::map::count
    - std::make_pair
    - EXPECT_EQ
    - sentencepiece::unigram::GetTokenized
    - std::exp
    - std::map::size
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, NBestSampleTest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:325,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:327,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:328,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:329,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:330,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:331,1
    - Dst: sentencepiece::unigram::InsertWithScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:332,1
    - Dst: Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:337,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:337,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:342,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_test.cc:344,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:344,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:345,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:346,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_test.cc:349,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:349,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:350,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:351,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:352,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 358
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::InsertWithScore
    - Lattice::SetSentence
    - std::log
    - Lattice::ForwardAlgorithm
    - EXPECT_EQ
    - Lattice::begin_nodes
    - std::vector::size
    - std::exp
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, ForwardAlgorithmTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:362,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:364,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:365,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:366,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:367,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:368,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:369,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:378,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:379,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:380,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:381,1
    - Dst: Lattice::PopulateMarginal
      Src: /src/sentencepiece/src/unigram_model_test.cc:384,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:386,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:387,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:388,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:389,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:390,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:391,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:392,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model_test.cc:392,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 393
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - EXPECT_NEAR
    - Lattice::SetSentence
    - std::log
    - sentencepiece::unigram::InsertWithScoreAndId
    - Lattice::PopulateMarginal
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, PopulateMarginalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:397,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:399,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:400,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:401,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:402,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:403,1
    - Dst: sentencepiece::unigram::InsertWithScoreAndId
      Src: /src/sentencepiece/src/unigram_model_test.cc:404,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:407,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:410,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:411,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:412,1
    - Dst: exp
      Src: /src/sentencepiece/src/unigram_model_test.cc:413,1
    - Dst: sentencepiece::unigram::GetTokenized
      Src: /src/sentencepiece/src/unigram_model_test.cc:424,1
    - Dst: Lattice::Sample
      Src: /src/sentencepiece/src/unigram_model_test.cc:424,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:427,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:427,1
    - Dst: std::map::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:427,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 432
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - exp
    - EXPECT_NEAR
    - Lattice::SetSentence
    - sentencepiece::unigram::InsertWithScoreAndId
    - sentencepiece::unigram::GetTokenized
    - EXPECT_EQ
    - std::vector::size
    - std::map::size
    - Lattice::Sample
    linkageType: ''
    returnType: void
    signature: void TEST(LatticeTest, SampleTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:436,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:437,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:438,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:440,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:441,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:442,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:443,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:444,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 448
    functionName: sentencepiece::unigram::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 42
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:452,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:453,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/unigram_model_test.cc:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - ' piece'
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 455
    functionName: sentencepiece::unigram::AddPiece
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 42
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto* model_proto, const std::string& piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:458,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:460,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:461,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:462,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:463,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:466,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/unigram_model_test.cc:466,1
    - Dst: Model::model_proto
      Src: /src/sentencepiece/src/unigram_model_test.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 468
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_EQ
    - ModelProto::SerializeAsString
    - sentencepiece::unigram::AddPiece
    - Model::model_proto
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, SetUnigramModelTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:471,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:473,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:474,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:475,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:480,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/unigram_model_test.cc:480,1
    - Dst: Model::model_proto
      Src: /src/sentencepiece/src/unigram_model_test.cc:481,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:483,1
    - Dst: Model::min_score
      Src: /src/sentencepiece/src/unigram_model_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:485,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:486,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:487,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:488,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:489,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:489,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/unigram_model_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:490,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:491,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:492,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:493,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:493,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:494,1
    - Dst: Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:496,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:497,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:498,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:499,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:500,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:501,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:502,1
    - Dst: Model::IdToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:502,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:504,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:504,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:505,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:505,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:506,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:506,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:507,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:507,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:508,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:508,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:509,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:510,1
    - Dst: Model::IsUnknown
      Src: /src/sentencepiece/src/unigram_model_test.cc:510,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:512,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:512,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:513,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:513,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:514,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:514,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:515,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:515,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:516,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:516,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:517,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:517,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:518,1
    - Dst: Model::IsControl
      Src: /src/sentencepiece/src/unigram_model_test.cc:518,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:520,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:520,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:521,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:521,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:522,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:522,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:523,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:523,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:524,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:524,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:525,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:525,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:526,1
    - Dst: Model::GetScore
      Src: /src/sentencepiece/src/unigram_model_test.cc:526,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:528,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 529
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_NEAR
    - Model::min_score
    - Model::PieceToId
    - Model::Encode
    - EXPECT_EQ
    - Model::IsControl
    - EXPECT_FALSE
    - ModelProto::SerializeAsString
    - sentencepiece::unigram::AddPiece
    - EXPECT_TRUE
    - Model::GetScore
    - Model::IsUnknown
    - google::protobuf::as_string_view
    - Model::IdToPiece
    - Model::model_proto
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PieceToIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:532,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:533,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:537,1
    - Dst: Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:540,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:541,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:542,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:544,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:545,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:546,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 547
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Lattice::SetSentence
    - Model::PopulateNodes
    - EXPECT_EQ
    - Lattice::begin_nodes
    - sentencepiece::unigram::AddPiece
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PopulateNodesAllUnknownsTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:550,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:552,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:553,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:554,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:555,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:560,1
    - Dst: Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:562,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:564,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:564,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:565,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:565,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:566,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:568,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:569,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:570,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:570,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:571,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:572,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:572,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:574,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:574,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:575,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:575,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:576,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:576,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/unigram_model_test.cc:577,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 578
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_NEAR
    - Lattice::SetSentence
    - Model::PopulateNodes
    - EXPECT_EQ
    - Lattice::begin_nodes
    - sentencepiece::unigram::AddPiece
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PopulateNodesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:581,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:583,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:584,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:585,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:586,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:588,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:589,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model_test.cc:594,1
    - Dst: Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:596,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:598,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:599,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:600,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:601,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:602,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:603,1
    - Dst: Lattice::begin_nodes
      Src: /src/sentencepiece/src/unigram_model_test.cc:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 604
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Lattice::SetSentence
    - Model::PopulateNodes
    - EXPECT_EQ
    - Lattice::begin_nodes
    - sentencepiece::unigram::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, PopulateNodesWithUnusedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:607,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:608,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:609,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:610,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:611,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:612,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:613,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:618,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:618,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:619,1
    - Dst: first::empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:620,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:623,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:623,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:625,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:626,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:626,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:627,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:628,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/unigram_model_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 629
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_EQ
    - auto::size
    - first::empty
    - EXPECT_FALSE
    - Model::SampleEncode
    - sentencepiece::unigram::AddPiece
    - EXPECT_TRUE
    - auto::empty
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ModelNBestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::GetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:632,1
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:633,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:634,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:635,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:636,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:637,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:638,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:639,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:645,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:645,1
    - Dst: sentencepiece::SetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:648,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:650,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:650,1
    - Dst: sentencepiece::SetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:659,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/unigram_model_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:661,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:661,1
    - Dst: sentencepiece::SetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model_test.cc:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 663
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - sentencepiece::GetNBestTimeout
    - EXPECT_EQ
    - auto::size
    - sentencepiece::unigram::AddPiece
    - sentencepiece::SetNBestTimeout
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ModelNBestTimeoutTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:666,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:667,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:668,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:669,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:670,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:671,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:672,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:673,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:674,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:675,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:676,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:677,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:678,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:680,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:682,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:684,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:691,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:692,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:692,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:693,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:695,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:696,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:696,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:698,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:701,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:703,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:706,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:708,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:710,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:711,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:711,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:712,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:713,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:715,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:716,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:717,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:718,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:721,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:722,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:722,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:723,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:724,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:725,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:726,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:727,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:730,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:731,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:731,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:732,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:734,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:735,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:735,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:736,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:737,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:738,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:741,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:742,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:742,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:744,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:745,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:747,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:748,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:748,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:749,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:751,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 753
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - EncodeResult::size
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:756,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:758,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:759,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:760,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:761,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:762,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:763,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:764,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:765,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:770,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:771,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:771,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:772,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:776,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:778,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:779,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:779,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:780,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:781,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:785,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:786,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:788,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:789,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:789,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:791,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:797,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:798,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:799,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:801,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:802,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:802,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:803,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 806
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - auto::size
    - sentencepiece::unigram::AddPiece
    - ModelProto::mutable_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, EncodeWithUnusedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:809,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:812,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:813,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:814,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:815,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:818,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:819,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:820,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:821,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:822,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:828,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:828,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:829,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:830,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:834,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:835,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:835,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:836,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 839
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ControlSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:842,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:844,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:845,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:846,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:847,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:848,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:849,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:850,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:851,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:855,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:855,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:856,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:856,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:857,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:857,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:860,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:860,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:861,1
    - Dst: Model::VerifyOutputsEquivalent
      Src: /src/sentencepiece/src/unigram_model_test.cc:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 841
    functionDepth: 2
    functionLinenumber: 841
    functionLinenumberEnd: 862
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_FALSE
    - sentencepiece::unigram::AddPiece
    - EXPECT_TRUE
    - Model::VerifyOutputsEquivalent
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, VerifyOutputsEquivalent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:869,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:870,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/unigram_model_test.cc:871,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:872,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:875,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:877,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:879,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:881,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:882,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:883,1
    - Dst: AddPieceWithType
      Src: /src/sentencepiece/src/unigram_model_test.cc:884,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:887,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:891,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:891,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:892,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:893,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:894,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 896
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - AddPieceWithType
    - Model::Encode
    - EXPECT_EQ
    - auto*::set_piece
    - auto::size
    - add_pieces
    - auto*::set_score
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, ControlTokenMergeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:899,1
    - Dst: ModelProto::mutable_trainer_spec
      Src: /src/sentencepiece/src/unigram_model_test.cc:900,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:904,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/unigram_model_test.cc:905,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:905,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/unigram_model_test.cc:906,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:912,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:913,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:914,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:915,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/unigram_model_test.cc:916,1
    - Dst: ModelProto::pieces_size
      Src: /src/sentencepiece/src/unigram_model_test.cc:916,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:920,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:921,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:922,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:923,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:924,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:925,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:928,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:929,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:930,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:935,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:936,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:937,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:938,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:939,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:940,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:947,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:948,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:948,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:949,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:950,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:956,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/unigram_model_test.cc:957,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:957,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/unigram_model_test.cc:959,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:966,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:967,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:967,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:968,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:969,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:970,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:976,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:977,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/unigram_model_test.cc:978,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:978,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/unigram_model_test.cc:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 983
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - sentencepiece::unigram::MakeBaseModelProto
    - EXPECT_GT
    - Model::Encode
    - ASSERT_EQ
    - auto*::set_piece
    - auto::size
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - ModelProto::pieces_size
    - ModelProto::mutable_trainer_spec
    - ByteToPiece
    - EXPECT_NE
    - ModelProto::mutable_pieces
    - ModelProto::add_pieces
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, SpecialSymbolsNoSegmentTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<float>::quiet_NaN
      Src: /src/sentencepiece/src/unigram_model_test.cc:986,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/sentencepiece/src/unigram_model_test.cc:987,1
    - Dst: std::numeric_limits<float>::infinity
      Src: /src/sentencepiece/src/unigram_model_test.cc:988,1
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:989,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:990,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/unigram_model_test.cc:992,1
    - Dst: Model::status
      Src: /src/sentencepiece/src/unigram_model_test.cc:992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - std::numeric_limits<float>::quiet_NaN
    - Model::status
    - EXPECT_FALSE
    - sentencepiece::unigram::AddPiece
    - std::numeric_limits<float>::infinity
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, RejectNaNAndInfScoresTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::MakeBaseModelProto
      Src: /src/sentencepiece/src/unigram_model_test.cc:997,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:998,1
    - Dst: sentencepiece::unigram::AddPiece
      Src: /src/sentencepiece/src/unigram_model_test.cc:999,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/unigram_model_test.cc:1001,1
    - Dst: Model::status
      Src: /src/sentencepiece/src/unigram_model_test.cc:1001,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/src/unigram_model_test.cc:1007,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/unigram_model_test.cc:1011,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:1012,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/unigram_model_test.cc:1012,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/unigram_model_test.cc:1014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1016
    functionName: sentencepiece::unigram::TEST
    functionSourceFile: /src/sentencepiece/src/unigram_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::MakeBaseModelProto
    - ASSERT_TRUE
    - Model::Encode
    - Model::status
    - EXPECT_EQ
    - sentencepiece::unigram::AddPiece
    - std::string::reserve
    - EncodeResult::size
    linkageType: ''
    returnType: void
    signature: void TEST(UnigramModelTest, LongTextScoreRecenteringTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - chunk_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList(size_t chunk_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~FreeList()
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList(const FreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const FreeList&)'
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FreeList
    signature: FreeList & operator=(const FreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FreeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList(FreeList&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FreeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(FreeList&& other) noexcept'
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FreeList
    signature: FreeList & operator=(FreeList&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/sentencepiece/src/freelist.h:47,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/src/freelist.h:47,1
    - Dst: get
      Src: /src/sentencepiece/src/freelist.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: sentencepiece::model::FreeList::Free
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached:
    - get
    - memset
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void Free()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: sentencepiece::model::FreeList::size
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::model::FreeList::size
      Src: /src/sentencepiece/src/freelist.h:63,1
    - Dst: std::make_unique<T[]>
      Src: /src/sentencepiece/src/freelist.h:64,1
    - Dst: memset
      Src: /src/sentencepiece/src/freelist.h:65,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/src/freelist.h:65,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/freelist.h:65,1
    - Dst: push_back
      Src: /src/sentencepiece/src/freelist.h:66,1
    - Dst: std::move
      Src: /src/sentencepiece/src/freelist.h:66,1
    - Dst: get
      Src: /src/sentencepiece/src/freelist.h:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: sentencepiece::model::FreeList::Allocate
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached:
    - sentencepiece::model::FreeList::size
    - push_back
    - auto::get
    - memset
    - get
    - std::make_unique<T[]>
    - std::move
    - static_cast<void*>
    linkageType: ''
    returnType: T
    signature: T * Allocate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - chunk_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList(size_t chunk_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~FreeList()
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList(const FreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const FreeList&)'
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FreeList
    signature: FreeList & operator=(const FreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FreeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList(FreeList&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FreeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(FreeList&& other) noexcept'
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FreeList
    signature: FreeList & operator=(FreeList&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/sentencepiece/src/freelist.h:47,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/src/freelist.h:47,1
    - Dst: get
      Src: /src/sentencepiece/src/freelist.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: sentencepiece::model::FreeList::Free
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached:
    - get
    - memset
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void Free()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: sentencepiece::model::FreeList::size
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::model::FreeList::size
      Src: /src/sentencepiece/src/freelist.h:63,1
    - Dst: std::make_unique<T[]>
      Src: /src/sentencepiece/src/freelist.h:64,1
    - Dst: memset
      Src: /src/sentencepiece/src/freelist.h:65,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/src/freelist.h:65,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/freelist.h:65,1
    - Dst: push_back
      Src: /src/sentencepiece/src/freelist.h:66,1
    - Dst: std::move
      Src: /src/sentencepiece/src/freelist.h:66,1
    - Dst: get
      Src: /src/sentencepiece/src/freelist.h:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: sentencepiece::model::FreeList::Allocate
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached:
    - sentencepiece::model::FreeList::size
    - push_back
    - auto::get
    - memset
    - get
    - std::make_unique<T[]>
    - std::move
    - static_cast<void*>
    linkageType: ''
    returnType: T
    signature: T * Allocate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - chunk_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList(size_t chunk_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~FreeList()
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList(const FreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const FreeList&)'
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FreeList
    signature: FreeList & operator=(const FreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FreeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList(FreeList&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FreeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(FreeList&& other) noexcept'
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FreeList
    signature: FreeList & operator=(FreeList&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/sentencepiece/src/freelist.h:47,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/src/freelist.h:47,1
    - Dst: get
      Src: /src/sentencepiece/src/freelist.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: sentencepiece::model::FreeList::Free
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached:
    - get
    - memset
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void Free()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: sentencepiece::model::FreeList::size
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::model::FreeList::size
      Src: /src/sentencepiece/src/freelist.h:63,1
    - Dst: std::make_unique<T[]>
      Src: /src/sentencepiece/src/freelist.h:64,1
    - Dst: memset
      Src: /src/sentencepiece/src/freelist.h:65,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/src/freelist.h:65,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/freelist.h:65,1
    - Dst: push_back
      Src: /src/sentencepiece/src/freelist.h:66,1
    - Dst: std::move
      Src: /src/sentencepiece/src/freelist.h:66,1
    - Dst: get
      Src: /src/sentencepiece/src/freelist.h:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: sentencepiece::model::FreeList::Allocate
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached:
    - sentencepiece::model::FreeList::size
    - push_back
    - auto::get
    - memset
    - get
    - std::make_unique<T[]>
    - std::move
    - static_cast<void*>
    linkageType: ''
    returnType: T
    signature: T * Allocate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - chunk_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList(size_t chunk_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: ~FreeList()
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FreeList()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList(const FreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const FreeList&)'
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FreeList
    signature: FreeList & operator=(const FreeList&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FreeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: sentencepiece::model::FreeList::FreeList
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FreeList(FreeList&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FreeList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(FreeList&& other) noexcept'
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FreeList
    signature: FreeList & operator=(FreeList&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/sentencepiece/src/freelist.h:47,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/src/freelist.h:47,1
    - Dst: get
      Src: /src/sentencepiece/src/freelist.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: sentencepiece::model::FreeList::Free
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached:
    - get
    - memset
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void Free()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: sentencepiece::model::FreeList::size
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::model::FreeList::size
      Src: /src/sentencepiece/src/freelist.h:63,1
    - Dst: std::make_unique<T[]>
      Src: /src/sentencepiece/src/freelist.h:64,1
    - Dst: memset
      Src: /src/sentencepiece/src/freelist.h:65,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/src/freelist.h:65,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/freelist.h:65,1
    - Dst: push_back
      Src: /src/sentencepiece/src/freelist.h:66,1
    - Dst: std::move
      Src: /src/sentencepiece/src/freelist.h:66,1
    - Dst: get
      Src: /src/sentencepiece/src/freelist.h:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: sentencepiece::model::FreeList::Allocate
    functionSourceFile: /src/sentencepiece/src/freelist.h
    functionUses: 0
    functionsReached:
    - sentencepiece::model::FreeList::size
    - push_back
    - auto::get
    - memset
    - get
    - std::make_unique<T[]>
    - std::move
    - static_cast<void*>
    linkageType: ''
    returnType: T
    signature: T * Allocate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:42,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:44,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:49,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:50,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:51,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:55,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:56,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:61,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:70,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 79
    functionName: sentencepiece::bpe::RunTrainer
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::set_name
    - auto::pieces
    - TrainerSpec::add_user_defined_symbols
    - TrainerSpec::set_model_type
    - Trainer::Train
    - absl::StrJoin
    - SentencePieceProcessor::Load
    - auto::WriteLine
    - EXPECT_TRUE
    - TrainerSpec::set_vocab_size
    - auto::pieces_size
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::emplace_back
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: std::string
    signature: "std::string RunTrainer(\n    const std::vector<std::string> &input,
      int size,\n    const std::vector<std::string> &user_defined_symbols = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:82,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:84,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:86,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:88,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:97,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:98,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:99,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:127,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 133
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::string
    - std::vector::empty
    - EXPECT_EQ
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - EXPECT_TRUE
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:42,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:44,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:49,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:50,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:51,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:55,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:56,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:61,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:70,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 79
    functionName: sentencepiece::bpe::RunTrainer
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 1
    functionsReached:
    - NormalizerSpec::set_name
    - auto::pieces
    - TrainerSpec::add_user_defined_symbols
    - TrainerSpec::set_model_type
    - Trainer::Train
    - absl::StrJoin
    - SentencePieceProcessor::Load
    - auto::WriteLine
    - EXPECT_TRUE
    - TrainerSpec::set_vocab_size
    - auto::pieces_size
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::emplace_back
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: std::string
    signature: "std::string RunTrainer(\n    const std::vector<std::string> &input,
      int size,\n    const std::vector<std::string> &user_defined_symbols = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:82,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:84,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:86,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:88,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:97,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:98,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:99,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:127,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 133
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::string
    - std::vector::empty
    - EXPECT_EQ
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - EXPECT_TRUE
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:42,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:44,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:49,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:50,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:51,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:55,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:56,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:61,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:70,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 79
    functionName: sentencepiece::bpe::RunTrainer
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 2
    functionsReached:
    - NormalizerSpec::set_name
    - auto::pieces
    - TrainerSpec::add_user_defined_symbols
    - TrainerSpec::set_model_type
    - Trainer::Train
    - absl::StrJoin
    - SentencePieceProcessor::Load
    - auto::WriteLine
    - EXPECT_TRUE
    - TrainerSpec::set_vocab_size
    - auto::pieces_size
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::emplace_back
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: std::string
    signature: "std::string RunTrainer(\n    const std::vector<std::string> &input,
      int size,\n    const std::vector<std::string> &user_defined_symbols = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:82,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:84,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:86,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:88,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:97,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:98,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:99,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:127,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 133
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::string
    - std::vector::empty
    - EXPECT_EQ
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - EXPECT_TRUE
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:42,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:44,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:49,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:50,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:51,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:55,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:56,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:61,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:70,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 79
    functionName: sentencepiece::bpe::RunTrainer
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 3
    functionsReached:
    - NormalizerSpec::set_name
    - auto::pieces
    - TrainerSpec::add_user_defined_symbols
    - TrainerSpec::set_model_type
    - Trainer::Train
    - absl::StrJoin
    - SentencePieceProcessor::Load
    - auto::WriteLine
    - EXPECT_TRUE
    - TrainerSpec::set_vocab_size
    - auto::pieces_size
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::emplace_back
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: std::string
    signature: "std::string RunTrainer(\n    const std::vector<std::string> &input,
      int size,\n    const std::vector<std::string> &user_defined_symbols = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:82,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:84,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:86,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:88,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:97,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:98,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:99,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:127,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 133
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::string
    - std::vector::empty
    - EXPECT_EQ
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - EXPECT_TRUE
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:42,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:44,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:49,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:50,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:51,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:55,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:56,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:61,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:70,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 79
    functionName: sentencepiece::bpe::RunTrainer
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 4
    functionsReached:
    - NormalizerSpec::set_name
    - auto::pieces
    - TrainerSpec::add_user_defined_symbols
    - TrainerSpec::set_model_type
    - Trainer::Train
    - absl::StrJoin
    - SentencePieceProcessor::Load
    - auto::WriteLine
    - EXPECT_TRUE
    - TrainerSpec::set_vocab_size
    - auto::pieces_size
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::emplace_back
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: std::string
    signature: "std::string RunTrainer(\n    const std::vector<std::string> &input,
      int size,\n    const std::vector<std::string> &user_defined_symbols = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:82,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:84,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:86,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:88,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:97,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:98,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:99,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:127,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 133
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::string
    - std::vector::empty
    - EXPECT_EQ
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - EXPECT_TRUE
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:42,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:44,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:49,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:50,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:51,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:55,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:56,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:61,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:70,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 79
    functionName: sentencepiece::bpe::RunTrainer
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 5
    functionsReached:
    - NormalizerSpec::set_name
    - auto::pieces
    - TrainerSpec::add_user_defined_symbols
    - TrainerSpec::set_model_type
    - Trainer::Train
    - absl::StrJoin
    - SentencePieceProcessor::Load
    - auto::WriteLine
    - EXPECT_TRUE
    - TrainerSpec::set_vocab_size
    - auto::pieces_size
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::emplace_back
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: std::string
    signature: "std::string RunTrainer(\n    const std::vector<std::string> &input,
      int size,\n    const std::vector<std::string> &user_defined_symbols = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:82,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:84,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:86,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:88,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:97,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:98,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:99,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:127,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 133
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::string
    - std::vector::empty
    - EXPECT_EQ
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - EXPECT_TRUE
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:42,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:44,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:49,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:50,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:51,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:55,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:56,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:61,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:70,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 79
    functionName: sentencepiece::bpe::RunTrainer
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 6
    functionsReached:
    - NormalizerSpec::set_name
    - auto::pieces
    - TrainerSpec::add_user_defined_symbols
    - TrainerSpec::set_model_type
    - Trainer::Train
    - absl::StrJoin
    - SentencePieceProcessor::Load
    - auto::WriteLine
    - EXPECT_TRUE
    - TrainerSpec::set_vocab_size
    - auto::pieces_size
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::emplace_back
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: std::string
    signature: "std::string RunTrainer(\n    const std::vector<std::string> &input,
      int size,\n    const std::vector<std::string> &user_defined_symbols = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:82,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:84,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:86,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:88,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:97,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:98,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:99,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:127,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 133
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::string
    - std::vector::empty
    - EXPECT_EQ
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - EXPECT_TRUE
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, EndToEndTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:38,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:40,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:42,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:44,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:49,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:50,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:51,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:55,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:56,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:61,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:65,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:68,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:70,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:74,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:75,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 79
    functionName: sentencepiece::bpe::RunTrainer
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 7
    functionsReached:
    - NormalizerSpec::set_name
    - auto::pieces
    - TrainerSpec::add_user_defined_symbols
    - TrainerSpec::set_model_type
    - Trainer::Train
    - absl::StrJoin
    - SentencePieceProcessor::Load
    - auto::WriteLine
    - EXPECT_TRUE
    - TrainerSpec::set_vocab_size
    - auto::pieces_size
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::emplace_back
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::model_proto
    linkageType: ''
    returnType: std::string
    signature: "std::string RunTrainer(\n    const std::vector<std::string> &input,
      int size,\n    const std::vector<std::string> &user_defined_symbols = {})"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:82,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:84,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:86,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:88,1
    - Dst: sentencepiece::bpe::RunTrainer
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:95,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:97,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:98,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:99,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: std::string
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::PieceToId
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:114,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:127,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 133
    functionName: sentencepiece::bpe::TEST
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - SentencePieceProcessor::Encode
    - std::string
    - std::vector::empty
    - EXPECT_EQ
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - EXPECT_TRUE
    - testing::SrcDir
    - absl::StrJoin
    - SentencePieceProcessor::PieceToId
    linkageType: ''
    returnType: void
    signature: void TEST(BPETrainerTest, EndToEndTest)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ScopedResourceDestructor::ScopedResourceDestructor
      Src: /src/sentencepiece/src/spm_decode_main.cc:38,1
    - Dst: sentencepiece::ParseCommandLineFlags
      Src: /src/sentencepiece/src/spm_decode_main.cc:39,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:42,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/spm_decode_main.cc:44,1
    - Dst: std::string
      Src: /src/sentencepiece/src/spm_decode_main.cc:44,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/spm_decode_main.cc:47,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:47,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/spm_decode_main.cc:50,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/spm_decode_main.cc:51,1
    - Dst: QCHECK
      Src: /src/sentencepiece/src/spm_decode_main.cc:53,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:53,1
    - Dst: sentencepiece::SentencePieceProcessor::SentencePieceProcessor
      Src: /src/sentencepiece/src/spm_decode_main.cc:55,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_decode_main.cc:56,1
    - Dst: sentencepiece::SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/spm_decode_main.cc:56,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:56,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_decode_main.cc:57,1
    - Dst: sentencepiece::SentencePieceProcessor::SetDecodeExtraOptions
      Src: /src/sentencepiece/src/spm_decode_main.cc:57,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:57,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/spm_decode_main.cc:60,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:60,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_decode_main.cc:61,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/spm_decode_main.cc:61,1
    - Dst: sentencepiece::SentencePieceText::SentencePieceText
      Src: /src/sentencepiece/src/spm_decode_main.cc:64,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/spm_decode_main.cc:69,1
    - Dst: size
      Src: /src/sentencepiece/src/spm_decode_main.cc:69,1
    - Dst: absl::SimpleAtoi
      Src: /src/sentencepiece/src/spm_decode_main.cc:72,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/spm_decode_main.cc:73,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:79,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:80,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_decode_main.cc:82,1
    - Dst: sentencepiece::SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/spm_decode_main.cc:82,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/spm_decode_main.cc:83,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:85,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_decode_main.cc:87,1
    - Dst: sentencepiece::SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/spm_decode_main.cc:87,1
    - Dst: LOG
      Src: /src/sentencepiece/src/spm_decode_main.cc:90,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:91,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:93,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:94,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_decode_main.cc:96,1
    - Dst: sentencepiece::SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/spm_decode_main.cc:96,1
    - Dst: ToIds
      Src: /src/sentencepiece/src/spm_decode_main.cc:96,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/spm_decode_main.cc:97,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:99,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_decode_main.cc:101,1
    - Dst: sentencepiece::SentencePieceProcessor::Decode
      Src: /src/sentencepiece/src/spm_decode_main.cc:101,1
    - Dst: ToIds
      Src: /src/sentencepiece/src/spm_decode_main.cc:101,1
    - Dst: LOG
      Src: /src/sentencepiece/src/spm_decode_main.cc:104,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:105,1
    - Dst: LOG
      Src: /src/sentencepiece/src/spm_decode_main.cc:108,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_decode_main.cc:108,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/spm_decode_main.cc:112,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_decode_main.cc:113,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/spm_decode_main.cc:113,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/spm_decode_main.cc:114,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/spm_decode_main.cc:115,1
    - Dst: process
      Src: /src/sentencepiece/src/spm_decode_main.cc:116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/sentencepiece/src/spm_decode_main.cc
    functionUses: 0
    functionsReached:
    - process
    - sentencepiece::SentencePieceProcessor::SentencePieceProcessor
    - sentencepiece::SentencePieceProcessor::Decode
    - ToIds
    - absl::SimpleAtoi
    - std::vector::reserve
    - LOG
    - sentencepiece::ScopedResourceDestructor::ScopedResourceDestructor
    - std::string
    - sentencepiece::SentencePieceProcessor::SetDecodeExtraOptions
    - sentencepiece::filesystem::NewReadableFile
    - sentencepiece::SentencePieceProcessor::Load
    - auto::WriteLine
    - QCHECK_OK
    - size
    - QCHECK
    - std::vector::empty
    - auto::ReadLine
    - auto::status
    - sentencepiece::ParseCommandLineFlags
    - absl::StrSplit
    - sentencepiece::SentencePieceText::SentencePieceText
    - sentencepiece::filesystem::NewWritableFile
    - std::vector::push_back
    - absl::GetFlag
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: sentencepiece::ThreadPool::ThreadPool
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThreadPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - FuncName
    - ','
    - OutType
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: DEFINE_SPP_DIRECT_FUNC_IMPL
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SPP_DIRECT_FUNC_IMPL(FuncName, OutType, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: sentencepiece::SentencePieceProcessor::EncodeAsPieces
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> EncodeAsPieces(\n      absl::string_view
      input) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: sentencepiece::SentencePieceProcessor::EncodeAsIds
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<int>
    signature: "std::vector<int> EncodeAsIds(\n      absl::string_view input) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - nbest_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: sentencepiece::SentencePieceProcessor::NBestEncodeAsPieces
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<std::vector<std::string>>
    signature: std::vector<std::vector<std::string>> NBestEncodeAsPieces(absl::string_view
      input, int nbest_size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - nbest_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: sentencepiece::SentencePieceProcessor::NBestEncodeAsIds
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<std::vector<int>>
    signature: "std::vector<std::vector<int>> NBestEncodeAsIds(\n      absl::string_view
      input, int nbest_size) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - nbest_size
    - alpha
    argTypes:
    - absl::string_view
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: sentencepiece::SentencePieceProcessor::SampleEncodeAsPieces
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> SampleEncodeAsPieces(\n      absl::string_view
      input, int nbest_size, float alpha) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - nbest_size
    - alpha
    argTypes:
    - absl::string_view
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: sentencepiece::SentencePieceProcessor::SampleEncodeAsIds
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<int>
    signature: "std::vector<int> SampleEncodeAsIds(\n      absl::string_view input,
      int nbest_size, float alpha) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - chunk_len
    - ' therad_pool'
    argTypes:
    - absl::string_view
    - int
    - ThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: sentencepiece::SentencePieceProcessor::ParallelEncodeAsPieces
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ParallelEncodeAsPieces(\n      absl::string_view
      input, int chunk_len, ThreadPool& therad_pool) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - chunk_len
    - ' therad_pool'
    argTypes:
    - absl::string_view
    - int
    - ThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: sentencepiece::SentencePieceProcessor::ParallelEncodeAsIds
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<int>
    signature: "std::vector<int> ParallelEncodeAsIds(absl::string_view input,\n                                               int
      chunk_len,\n                                               ThreadPool& therad_pool)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pieces'
    argTypes:
    - std::vector<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: sentencepiece::SentencePieceProcessor::DecodePieces
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::string
    signature: "std::string DecodePieces(\n      const std::vector<absl::string_view>&
      pieces) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ids'
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: sentencepiece::SentencePieceProcessor::DecodeIds
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::string
    signature: "std::string DecodeIds(\n      const std::vector<int>& ids) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: sentencepiece::ThreadPool::ThreadPool
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThreadPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - FuncName
    - ','
    - OutType
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: DEFINE_SPP_DIRECT_FUNC_IMPL
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_SPP_DIRECT_FUNC_IMPL(FuncName, OutType, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: sentencepiece::SentencePieceProcessor::EncodeAsPieces
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> EncodeAsPieces(\n      absl::string_view
      input) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: sentencepiece::SentencePieceProcessor::EncodeAsIds
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<int>
    signature: "std::vector<int> EncodeAsIds(\n      absl::string_view input) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - nbest_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: sentencepiece::SentencePieceProcessor::NBestEncodeAsPieces
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<std::vector<std::string>>
    signature: std::vector<std::vector<std::string>> NBestEncodeAsPieces(absl::string_view
      input, int nbest_size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - nbest_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: sentencepiece::SentencePieceProcessor::NBestEncodeAsIds
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<std::vector<int>>
    signature: "std::vector<std::vector<int>> NBestEncodeAsIds(\n      absl::string_view
      input, int nbest_size) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - nbest_size
    - alpha
    argTypes:
    - absl::string_view
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: sentencepiece::SentencePieceProcessor::SampleEncodeAsPieces
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> SampleEncodeAsPieces(\n      absl::string_view
      input, int nbest_size, float alpha) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - nbest_size
    - alpha
    argTypes:
    - absl::string_view
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: sentencepiece::SentencePieceProcessor::SampleEncodeAsIds
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<int>
    signature: "std::vector<int> SampleEncodeAsIds(\n      absl::string_view input,
      int nbest_size, float alpha) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - chunk_len
    - ' therad_pool'
    argTypes:
    - absl::string_view
    - int
    - ThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 337
    functionName: sentencepiece::SentencePieceProcessor::ParallelEncodeAsPieces
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ParallelEncodeAsPieces(\n      absl::string_view
      input, int chunk_len, ThreadPool& therad_pool) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - chunk_len
    - ' therad_pool'
    argTypes:
    - absl::string_view
    - int
    - ThreadPool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: sentencepiece::SentencePieceProcessor::ParallelEncodeAsIds
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::vector<int>
    signature: "std::vector<int> ParallelEncodeAsIds(absl::string_view input,\n                                               int
      chunk_len,\n                                               ThreadPool& therad_pool)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pieces'
    argTypes:
    - std::vector<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: sentencepiece::SentencePieceProcessor::DecodePieces
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::string
    signature: "std::string DecodePieces(\n      const std::vector<absl::string_view>&
      pieces) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_SPP_DIRECT_FUNC_IMPL
      Src: /src/sentencepiece/src/sentencepiece_processor.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ids'
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: sentencepiece::SentencePieceProcessor::DecodeIds
    functionSourceFile: /src/sentencepiece/src/sentencepiece_processor.h
    functionUses: 0
    functionsReached:
    - DEFINE_SPP_DIRECT_FUNC_IMPL
    linkageType: ''
    returnType: std::string
    signature: "std::string DecodeIds(\n      const std::vector<int>& ids) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: FRIEND_TEST
    functionSourceFile: /src/sentencepiece/src/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FRIEND_TEST(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: RETURN_IF_ERROR
    functionSourceFile: /src/sentencepiece/src/common.h
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN_IF_ERROR(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: sentencepiece::unigram::Model::Model
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: sentencepiece::unigram::Model::IsSampleEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSampleEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: sentencepiece::unigram::Model::IsNBestEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNBestEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: sentencepiece::unigram::Model::min_score
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float min_score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: sentencepiece::unigram::Model::Model
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: sentencepiece::unigram::Model::IsSampleEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSampleEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: sentencepiece::unigram::Model::IsNBestEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNBestEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: sentencepiece::unigram::Model::min_score
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float min_score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: sentencepiece::unigram::Model::Model
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: sentencepiece::unigram::Model::IsSampleEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSampleEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: sentencepiece::unigram::Model::IsNBestEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNBestEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: sentencepiece::unigram::Model::min_score
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float min_score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: sentencepiece::unigram::Model::Model
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: sentencepiece::unigram::Model::IsSampleEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSampleEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: sentencepiece::unigram::Model::IsNBestEncodeAvailable
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNBestEncodeAvailable() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: sentencepiece::unigram::Model::min_score
    functionSourceFile: /src/sentencepiece/src/unigram_model.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float min_score() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/word_model_trainer.cc:30,1
    - Dst: status
      Src: /src/sentencepiece/src/word_model_trainer.cc:30,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/word_model_trainer.cc:32,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/word_model_trainer.cc:32,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/word_model_trainer.cc:33,1
    - Dst: model_type
      Src: /src/sentencepiece/src/word_model_trainer.cc:33,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/word_model_trainer.cc:35,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/word_model_trainer.cc:35,1
    - Dst: SplitIntoWords
      Src: /src/sentencepiece/src/word_model_trainer.cc:39,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/word_model_trainer.cc:44,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:44,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/word_model_trainer.cc:45,1
    - Dst: std::log
      Src: /src/sentencepiece/src/word_model_trainer.cc:52,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/word_model_trainer.cc:52,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/word_model_trainer.cc:54,1
    - Dst: empty
      Src: /src/sentencepiece/src/word_model_trainer.cc:54,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/word_model_trainer.cc:55,1
    - Dst: first::find
      Src: /src/sentencepiece/src/word_model_trainer.cc:56,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/word_model_trainer.cc:59,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:60,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/word_model_trainer.cc:60,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/word_model_trainer.cc:63,1
    - Dst: std::log
      Src: /src/sentencepiece/src/word_model_trainer.cc:64,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/word_model_trainer.cc:64,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/word_model_trainer.cc:67,1
    - Dst: set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer.cc:68,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:68,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:68,1
    - Dst: Save
      Src: /src/sentencepiece/src/word_model_trainer.cc:71,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 72
    functionName: sentencepiece::word::Trainer::Train
    functionSourceFile: /src/sentencepiece/src/word_model_trainer.cc
    functionUses: 0
    functionsReached:
    - Save
    - static_cast<size_t>
    - vocab_size
    - first::find
    - empty
    - Sorted
    - RETURN_IF_ERROR
    - status
    - RET_CHECK
    - size
    - static_cast<float>
    - emplace_back
    - use_all_vocab
    - RET_CHECK_EQ
    - escape_whitespaces
    - std::log
    - set_vocab_size
    - LoadSentences
    - RET_CHECK_GE
    - SplitIntoWords
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::Train()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/word_model_trainer.cc:30,1
    - Dst: status
      Src: /src/sentencepiece/src/word_model_trainer.cc:30,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/word_model_trainer.cc:32,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/word_model_trainer.cc:32,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/word_model_trainer.cc:33,1
    - Dst: model_type
      Src: /src/sentencepiece/src/word_model_trainer.cc:33,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/word_model_trainer.cc:35,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/word_model_trainer.cc:35,1
    - Dst: SplitIntoWords
      Src: /src/sentencepiece/src/word_model_trainer.cc:39,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/word_model_trainer.cc:44,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:44,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/word_model_trainer.cc:45,1
    - Dst: std::log
      Src: /src/sentencepiece/src/word_model_trainer.cc:52,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/word_model_trainer.cc:52,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/word_model_trainer.cc:54,1
    - Dst: empty
      Src: /src/sentencepiece/src/word_model_trainer.cc:54,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/word_model_trainer.cc:55,1
    - Dst: first::find
      Src: /src/sentencepiece/src/word_model_trainer.cc:56,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/word_model_trainer.cc:59,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:60,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/word_model_trainer.cc:60,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/word_model_trainer.cc:63,1
    - Dst: std::log
      Src: /src/sentencepiece/src/word_model_trainer.cc:64,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/word_model_trainer.cc:64,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/word_model_trainer.cc:67,1
    - Dst: set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer.cc:68,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:68,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:68,1
    - Dst: Save
      Src: /src/sentencepiece/src/word_model_trainer.cc:71,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 72
    functionName: sentencepiece::word::Trainer::Train
    functionSourceFile: /src/sentencepiece/src/word_model_trainer.cc
    functionUses: 0
    functionsReached:
    - Save
    - static_cast<size_t>
    - vocab_size
    - first::find
    - empty
    - Sorted
    - RETURN_IF_ERROR
    - status
    - RET_CHECK
    - size
    - static_cast<float>
    - emplace_back
    - use_all_vocab
    - RET_CHECK_EQ
    - escape_whitespaces
    - std::log
    - set_vocab_size
    - LoadSentences
    - RET_CHECK_GE
    - SplitIntoWords
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::Train()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/word_model_trainer.cc:30,1
    - Dst: status
      Src: /src/sentencepiece/src/word_model_trainer.cc:30,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/word_model_trainer.cc:32,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/word_model_trainer.cc:32,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/word_model_trainer.cc:33,1
    - Dst: model_type
      Src: /src/sentencepiece/src/word_model_trainer.cc:33,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/word_model_trainer.cc:35,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/word_model_trainer.cc:35,1
    - Dst: SplitIntoWords
      Src: /src/sentencepiece/src/word_model_trainer.cc:39,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/word_model_trainer.cc:44,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:44,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/word_model_trainer.cc:45,1
    - Dst: std::log
      Src: /src/sentencepiece/src/word_model_trainer.cc:52,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/word_model_trainer.cc:52,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/word_model_trainer.cc:54,1
    - Dst: empty
      Src: /src/sentencepiece/src/word_model_trainer.cc:54,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/word_model_trainer.cc:55,1
    - Dst: first::find
      Src: /src/sentencepiece/src/word_model_trainer.cc:56,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/word_model_trainer.cc:59,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:60,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/word_model_trainer.cc:60,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/word_model_trainer.cc:63,1
    - Dst: std::log
      Src: /src/sentencepiece/src/word_model_trainer.cc:64,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/word_model_trainer.cc:64,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/word_model_trainer.cc:67,1
    - Dst: set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer.cc:68,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:68,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:68,1
    - Dst: Save
      Src: /src/sentencepiece/src/word_model_trainer.cc:71,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 72
    functionName: sentencepiece::word::Trainer::Train
    functionSourceFile: /src/sentencepiece/src/word_model_trainer.cc
    functionUses: 0
    functionsReached:
    - Save
    - static_cast<size_t>
    - vocab_size
    - first::find
    - empty
    - Sorted
    - RETURN_IF_ERROR
    - status
    - RET_CHECK
    - size
    - static_cast<float>
    - emplace_back
    - use_all_vocab
    - RET_CHECK_EQ
    - escape_whitespaces
    - std::log
    - set_vocab_size
    - LoadSentences
    - RET_CHECK_GE
    - SplitIntoWords
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::Train()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/word_model_trainer.cc:30,1
    - Dst: status
      Src: /src/sentencepiece/src/word_model_trainer.cc:30,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/word_model_trainer.cc:32,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/word_model_trainer.cc:32,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/word_model_trainer.cc:33,1
    - Dst: model_type
      Src: /src/sentencepiece/src/word_model_trainer.cc:33,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/word_model_trainer.cc:35,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/word_model_trainer.cc:35,1
    - Dst: SplitIntoWords
      Src: /src/sentencepiece/src/word_model_trainer.cc:39,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/word_model_trainer.cc:44,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:44,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/word_model_trainer.cc:45,1
    - Dst: std::log
      Src: /src/sentencepiece/src/word_model_trainer.cc:52,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/word_model_trainer.cc:52,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/word_model_trainer.cc:54,1
    - Dst: empty
      Src: /src/sentencepiece/src/word_model_trainer.cc:54,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/word_model_trainer.cc:55,1
    - Dst: first::find
      Src: /src/sentencepiece/src/word_model_trainer.cc:56,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/word_model_trainer.cc:59,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:60,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/word_model_trainer.cc:60,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/word_model_trainer.cc:63,1
    - Dst: std::log
      Src: /src/sentencepiece/src/word_model_trainer.cc:64,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/word_model_trainer.cc:64,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/word_model_trainer.cc:67,1
    - Dst: set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer.cc:68,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:68,1
    - Dst: size
      Src: /src/sentencepiece/src/word_model_trainer.cc:68,1
    - Dst: Save
      Src: /src/sentencepiece/src/word_model_trainer.cc:71,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 72
    functionName: sentencepiece::word::Trainer::Train
    functionSourceFile: /src/sentencepiece/src/word_model_trainer.cc
    functionUses: 0
    functionsReached:
    - Save
    - static_cast<size_t>
    - vocab_size
    - first::find
    - empty
    - Sorted
    - RETURN_IF_ERROR
    - status
    - RET_CHECK
    - size
    - static_cast<float>
    - emplace_back
    - use_all_vocab
    - RET_CHECK_EQ
    - escape_whitespaces
    - std::log
    - set_vocab_size
    - LoadSentences
    - RET_CHECK_GE
    - SplitIntoWords
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::Train()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model.cc:54,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:55,1
    - Dst: log
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - x
    - y
    - init_mode
    argTypes:
    - float
    - float
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: sentencepiece::unigram::LogSumExp
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    - std::exp
    - static_cast<double>
    - log
    linkageType: ''
    returnType: float
    signature: float LogSumExp(float x, float y, bool init_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: sentencepiece::unigram::GetUserDefinedScore
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetUserDefinedScore(int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/unigram_model.cc:82,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: absl::Uniform
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: sentencepiece::unigram::Gumbel
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::random::GetRandomGenerator
    - absl::Uniform
    - std::log
    linkageType: ''
    returnType: float
    signature: float Gumbel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model.cc:54,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:55,1
    - Dst: log
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - x
    - y
    - init_mode
    argTypes:
    - float
    - float
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: sentencepiece::unigram::LogSumExp
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    - std::exp
    - static_cast<double>
    - log
    linkageType: ''
    returnType: float
    signature: float LogSumExp(float x, float y, bool init_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: sentencepiece::unigram::GetUserDefinedScore
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetUserDefinedScore(int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/unigram_model.cc:82,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: absl::Uniform
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: sentencepiece::unigram::Gumbel
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::random::GetRandomGenerator
    - absl::Uniform
    - std::log
    linkageType: ''
    returnType: float
    signature: float Gumbel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: sentencepiece::unigram::Lattice::Lattice
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lattice::Lattice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Lattice::~Lattice()
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lattice::~Lattice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '&Lattice::begin_nodes(int pos) const'
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Lattice::Node *>
    signature: std::vector<Lattice::Node *> &Lattice::begin_nodes(int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '&Lattice::end_nodes(int pos) const'
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Lattice::Node *>
    signature: std::vector<Lattice::Node *> &Lattice::end_nodes(int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/unigram_model.cc:103,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: sentencepiece::unigram::Lattice::size
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 1
    functionsReached:
    - std::max<int>
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: int
    signature: int Lattice::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: sentencepiece::unigram::Lattice::utf8_size
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: int
    signature: int Lattice::utf8_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/sentencepiece/src/unigram_model.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: sentencepiece::unigram::Lattice::sentence
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: char
    signature: char *Lattice::sentence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: sentencepiece::unigram::Lattice::surface
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *Lattice::surface(int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: sentencepiece::unigram::Lattice::bos_node
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::bos_node() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: sentencepiece::unigram::Lattice::eos_node
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::eos_node() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:117,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: sentencepiece::unigram::Lattice::NewNode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - Allocate
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::NewNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:123,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:124,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/unigram_model.cc:125,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:126,1
    - Dst: Free
      Src: /src/sentencepiece/src/unigram_model.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: sentencepiece::unigram::Lattice::Clear
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::as_string_view
    - Free
    - clear
    linkageType: ''
    returnType: void
    signature: void Lattice::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/src/unigram_model.cc:131,1
    - Dst: reserve
      Src: /src/sentencepiece/src/unigram_model.cc:134,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:134,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:136,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/unigram_model.cc:137,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/unigram_model.cc:137,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:137,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:138,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:139,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:139,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/unigram_model.cc:140,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:142,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:142,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:144,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model.cc:145,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model.cc:146,1
    - Dst: reserve
      Src: /src/sentencepiece/src/unigram_model.cc:150,1
    - Dst: reserve
      Src: /src/sentencepiece/src/unigram_model.cc:151,1
    - Dst: sentencepiece::unigram::Lattice::NewNode
      Src: /src/sentencepiece/src/unigram_model.cc:154,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:157,1
    - Dst: sentencepiece::unigram::Lattice::NewNode
      Src: /src/sentencepiece/src/unigram_model.cc:159,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - sentence
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 163
    functionName: sentencepiece::unigram::Lattice::SetSentence
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - absl::string_view::remove_prefix
    - reserve
    - sentencepiece::unigram::Lattice::Clear
    - resize
    - sentencepiece::unigram::Lattice::NewNode
    - sentencepiece::unigram::Lattice::size
    - absl::string_view::data
    - std::min<int>
    - absl::string_view::size
    - sentencepiece::string_util::OneCharLen
    - push_back
    linkageType: ''
    returnType: void
    signature: void Lattice::SetSentence(absl::string_view sentence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::NewNode
      Src: /src/sentencepiece/src/unigram_model.cc:166,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/unigram_model.cc:170,1
    - Dst: sentencepiece::unigram::Lattice::surface
      Src: /src/sentencepiece/src/unigram_model.cc:170,1
    - Dst: sentencepiece::unigram::Lattice::surface
      Src: /src/sentencepiece/src/unigram_model.cc:170,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/unigram_model.cc:171,1
    - Dst: sentencepiece::unigram::Lattice::surface
      Src: /src/sentencepiece/src/unigram_model.cc:171,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:172,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pos
    - length
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: sentencepiece::unigram::Lattice::Insert
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::surface
    - static_cast<int>
    - google::protobuf::as_string_view
    - sentencepiece::unigram::Lattice::NewNode
    - push_back
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::Insert(int pos, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:179,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:194,1
    - Dst: begin_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:204,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model.cc:207,1
    - Dst: std::reverse
      Src: /src/sentencepiece/src/unigram_model.cc:210,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model.cc:210,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model.cc:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 215
    functionName: sentencepiece::unigram::Lattice::Viterbi
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - LOG
    - begin_nodes
    - std::reverse
    - sentencepiece::unigram::Lattice::size
    - std::vector::push_back
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: Lattice::LatticePathWithScore
    signature: Lattice::LatticePathWithScore Lattice::Viterbi()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:218,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:219,1
    - Dst: LogSumExp
      Src: /src/sentencepiece/src/unigram_model.cc:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - inv_theta
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: sentencepiece::unigram::Lattice::ForwardAlgorithm
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - LogSumExp
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: std::vector<float>
    signature: std::vector<float> Lattice::ForwardAlgorithm(float inv_theta) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:236,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:237,1
    - Dst: LogSumExp
      Src: /src/sentencepiece/src/unigram_model.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - inv_theta
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: sentencepiece::unigram::Lattice::BackwardAlgorithm
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - LogSumExp
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: std::vector<float>
    signature: std::vector<float> Lattice::BackwardAlgorithm(float inv_theta) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:256,1
    - Dst: sentencepiece::unigram::Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:261,1
    - Dst: sentencepiece::unigram::Lattice::BackwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:262,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:271,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - freq
    - expected
    argTypes:
    - float
    - std::vector<float>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 278
    functionName: sentencepiece::unigram::Lattice::PopulateMarginal
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::BackwardAlgorithm
    - sentencepiece::unigram::Lattice::size
    - sentencepiece::unigram::Lattice::ForwardAlgorithm
    - std::exp
    - static_cast<double>
    linkageType: ''
    returnType: float
    signature: "float Lattice::PopulateMarginal(float freq,\n                                std::vector<float>
      *expected) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
      Src: /src/sentencepiece/src/unigram_model.cc:311,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
      Src: /src/sentencepiece/src/unigram_model.cc:312,1
    - Dst: model::FreeList<Hypothesis>*::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:318,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
      Src: /src/sentencepiece/src/unigram_model.cc:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - to_clone
    - clone_map
    - allocator
    argTypes:
    - Hypothesis*
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*
    - model::FreeList<Hypothesis>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 328
    functionName: sentencepiece::unigram::CloneHypAndDependents
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
    - model::FreeList<Hypothesis>*::Allocate
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
    linkageType: ''
    returnType: Hypothesis
    signature: "Hypothesis *CloneHypAndDependents(\n    const Hypothesis *to_clone,\n
      \   absl::flat_hash_map<const Hypothesis *, Hypothesis *> *clone_map,\n    model::FreeList<Hypothesis>
      *allocator)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
      Src: /src/sentencepiece/src/unigram_model.cc:311,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
      Src: /src/sentencepiece/src/unigram_model.cc:312,1
    - Dst: model::FreeList<Hypothesis>*::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:318,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
      Src: /src/sentencepiece/src/unigram_model.cc:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - to_clone
    - clone_map
    - allocator
    argTypes:
    - Hypothesis*
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*
    - model::FreeList<Hypothesis>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 328
    functionName: sentencepiece::unigram::CloneHypAndDependents
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
    - model::FreeList<Hypothesis>*::Allocate
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
    linkageType: ''
    returnType: Hypothesis
    signature: "Hypothesis *CloneHypAndDependents(\n    const Hypothesis *to_clone,\n
      \   absl::flat_hash_map<const Hypothesis *, Hypothesis *> *clone_map,\n    model::FreeList<Hypothesis>
      *allocator)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:336,1
    - Dst: sentencepiece::unigram::Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model.cc:341,1
    - Dst: sentencepiece::GetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model.cc:344,1
    - Dst: absl::Now
      Src: /src/sentencepiece/src/unigram_model.cc:345,1
    - Dst: model::FreeList::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:374,1
    - Dst: sentencepiece::unigram::Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model.cc:375,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:379,1
    - Dst: sentencepiece::unigram::Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:383,1
    - Dst: Gumbel
      Src: /src/sentencepiece/src/unigram_model.cc:385,1
    - Dst: sentencepiece::unigram::Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model.cc:388,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/unigram_model.cc:391,1
    - Dst: Agenda::empty
      Src: /src/sentencepiece/src/unigram_model.cc:395,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/unigram_model.cc:396,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/unigram_model.cc:397,1
    - Dst: sentencepiece::unigram::Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model.cc:401,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model.cc:402,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:402,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/unigram_model.cc:404,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:404,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/unigram_model.cc:406,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:407,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:413,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:421,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:422,1
    - Dst: Gumbel
      Src: /src/sentencepiece/src/unigram_model.cc:426,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:432,1
    - Dst: std::log1p
      Src: /src/sentencepiece/src/unigram_model.cc:436,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:436,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:437,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/unigram_model.cc:437,1
    - Dst: std::log1p
      Src: /src/sentencepiece/src/unigram_model.cc:438,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:438,1
    - Dst: std::abs
      Src: /src/sentencepiece/src/unigram_model.cc:438,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:443,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:444,1
    - Dst: model::FreeList::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:445,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/unigram_model.cc:456,1
    - Dst: model::FreeList::size
      Src: /src/sentencepiece/src/unigram_model.cc:460,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:463,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:464,1
    - Dst: Agenda::size
      Src: /src/sentencepiece/src/unigram_model.cc:473,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/sentencepiece/src/unigram_model.cc:476,1
    - Dst: absl::Now
      Src: /src/sentencepiece/src/unigram_model.cc:476,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:478,1
    - Dst: sentencepiece::unigram::Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model.cc:480,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/unigram_model.cc:490,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:492,1
    - Dst: Agenda::size
      Src: /src/sentencepiece/src/unigram_model.cc:492,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/unigram_model.cc:496,1
    - Dst: CloneHypAndDependents
      Src: /src/sentencepiece/src/unigram_model.cc:498,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/unigram_model.cc:499,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/unigram_model.cc:500,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model.cc:502,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model.cc:503,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 3
    argNames:
    - nbest_size
    - sample
    - inv_theta
    argTypes:
    - size_t
    - bool
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 508
    functionName: sentencepiece::unigram::Lattice::NBest
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::log1p
    - std::vector::back
    - sentencepiece::GetNBestTimeout
    - sentencepiece::unigram::Lattice::bos_node
    - sentencepiece::unigram::Lattice::Viterbi
    - sentencepiece::unigram::Lattice::ForwardAlgorithm
    - Agenda::empty
    - sentencepiece::unigram::Lattice::eos_node
    - end_nodes
    - LOG
    - Gumbel
    - Agenda::push
    - std::vector::resize
    - model::FreeList::Allocate
    - Agenda::pop
    - sentencepiece::unigram::Lattice::size
    - model::FreeList::size
    - absl::Now
    - std::abs
    - CloneHypAndDependents
    - static_cast<float>
    - std::vector::size
    - std::min<size_t>
    - Agenda::size
    - absl::ToInt64Milliseconds
    - std::max
    - std::exp
    - std::move
    - Agenda::top
    - push_back
    linkageType: ''
    returnType: std::vector<Lattice::LatticePathWithScore>
    signature: "std::vector<Lattice::LatticePathWithScore> Lattice::NBest(size_t nbest_size,\n
      \                                                         bool sample,\n                                                          float
      inv_theta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h1
    - h2
    argTypes:
    - Hypothesis*
    - Hypothesis*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: operator()(Hypothesis *h1, Hypothesis *h2)
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Hypothesis *h1, Hypothesis *h2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:511,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:514,1
    - Dst: sentencepiece::unigram::Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:516,1
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/unigram_model.cc:518,1
    - Dst: sentencepiece::unigram::Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model.cc:523,1
    - Dst: sentencepiece::unigram::Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model.cc:524,1
    - Dst: std::vector::clear
      Src: /src/sentencepiece/src/unigram_model.cc:526,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model.cc:528,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:528,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:528,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model.cc:531,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model.cc:531,1
    - Dst: dist
      Src: /src/sentencepiece/src/unigram_model.cc:532,1
    - Dst: sentencepiece::unigram::Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model.cc:533,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model.cc:536,1
    - Dst: std::reverse
      Src: /src/sentencepiece/src/unigram_model.cc:539,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model.cc:539,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model.cc:539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - inv_theta
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 541
    functionName: sentencepiece::unigram::Lattice::Sample
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::reverse
    - sentencepiece::unigram::Lattice::bos_node
    - dist
    - std::vector::clear
    - sentencepiece::unigram::Lattice::size
    - sentencepiece::unigram::Lattice::ForwardAlgorithm
    - std::exp
    - static_cast<double>
    - std::vector::end
    - std::vector::push_back
    - sentencepiece::unigram::Lattice::eos_node
    - std::vector::begin
    - sentencepiece::random::GetRandomGenerator
    linkageType: ''
    returnType: std::vector<Lattice::Node *>
    signature: std::vector<Lattice::Node *> Lattice::Sample(float inv_theta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Lattice*::surface
      Src: /src/sentencepiece/src/unigram_model.cc:546,1
    - Dst: sentencepiece::unigram::Model::min_score
      Src: /src/sentencepiece/src/unigram_model.cc:550,1
    - Dst: Lattice*::size
      Src: /src/sentencepiece/src/unigram_model.cc:552,1
    - Dst: Lattice*::sentence
      Src: /src/sentencepiece/src/unigram_model.cc:553,1
    - Dst: Lattice*::utf8_size
      Src: /src/sentencepiece/src/unigram_model.cc:553,1
    - Dst: Lattice*::surface
      Src: /src/sentencepiece/src/unigram_model.cc:560,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/unigram_model.cc:563,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/unigram_model.cc:563,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:564,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/unigram_model.cc:565,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:566,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model.cc:567,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/unigram_model.cc:568,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/unigram_model.cc:568,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:569,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/unigram_model.cc:570,1
    - Dst: get_chars_length
      Src: /src/sentencepiece/src/unigram_model.cc:578,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:580,1
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model.cc:581,1
    - Dst: IsUserDefinedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:584,1
    - Dst: GetUserDefinedScore
      Src: /src/sentencepiece/src/unigram_model.cc:584,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/unigram_model.cc:585,1
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model.cc:592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - lattice
    argTypes:
    - Lattice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 597
    functionName: sentencepiece::unigram::Model::PopulateNodes
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - commonPrefixSearch
    - std::vector::resize
    - GetScoreInlined
    - Lattice*::surface
    - sentencepiece::unigram::Model::min_score
    - GetUserDefinedScore
    - IsUserDefinedInlined
    - IsUnusedInlined
    - Lattice*::utf8_size
    - std::vector::size
    - static_cast<int>
    - Lattice*::sentence
    - std::vector::data
    - get_chars_length
    - Lattice*::size
    - Lattice*::Insert
    linkageType: ''
    returnType: void
    signature: void Model::PopulateNodes(Lattice *lattice) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/unigram_model.cc:600,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model.cc:601,1
    - Dst: exactMatchSearch
      Src: /src/sentencepiece/src/unigram_model.cc:605,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:605,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 607
    functionName: sentencepiece::unigram::Model::PieceToId
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - find
    - exactMatchSearch
    - end
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: int
    signature: int Model::PieceToId(absl::string_view piece) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:610,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::empty
      Src: /src/sentencepiece/src/unigram_model.cc:612,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:613,1
    - Dst: sort
      Src: /src/sentencepiece/src/unigram_model.cc:619,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::begin
      Src: /src/sentencepiece/src/unigram_model.cc:619,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::end
      Src: /src/sentencepiece/src/unigram_model.cc:619,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:622,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:623,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:624,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:625,1
    - Dst: first::data
      Src: /src/sentencepiece/src/unigram_model.cc:626,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model.cc:627,1
    - Dst: std::make_unique<Darts::DoubleArray>
      Src: /src/sentencepiece/src/unigram_model.cc:631,1
    - Dst: build
      Src: /src/sentencepiece/src/unigram_model.cc:632,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:632,1
    - Dst: const_cast<char **>
      Src: /src/sentencepiece/src/unigram_model.cc:632,1
    - Dst: const_cast<size_t *>
      Src: /src/sentencepiece/src/unigram_model.cc:633,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:634,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/unigram_model.cc:644,1
    - Dst: first::data
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:646,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:649,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - pieces
    argTypes:
    - std::vector<std::pair<absl::string_view, int>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 653
    functionName: sentencepiece::unigram::Model::BuildTrie
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::vector<std::pair<absl::string_view, int>>*::end
    - first::data
    - const_cast<size_t *>
    - commonPrefixSearch
    - const_cast<char **>
    - sort
    - std::max
    - std::vector<std::pair<absl::string_view, int>>*::size
    - first::size
    - std::make_unique<Darts::DoubleArray>
    - build
    - std::vector::size
    - std::vector<std::pair<absl::string_view, int>>*::empty
    - clear
    - std::vector<std::pair<absl::string_view, int>>*::begin
    - status
    - std::vector::data
    - absl::InternalError
    linkageType: ''
    returnType: void
    signature: void Model::BuildTrie(std::vector<std::pair<absl::string_view, int>>
      *pieces)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/unigram_model.cc:658,1
    - Dst: pieces
      Src: /src/sentencepiece/src/unigram_model.cc:661,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: score
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: std::isinf
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: score
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:663,1
    - Dst: type
      Src: /src/sentencepiece/src/unigram_model.cc:666,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model.cc:667,1
    - Dst: score
      Src: /src/sentencepiece/src/unigram_model.cc:667,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:672,1
    - Dst: sentencepiece::unigram::Model::BuildTrie
      Src: /src/sentencepiece/src/unigram_model.cc:674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - model_proto
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 675
    functionName: sentencepiece::unigram::Model::Model
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - type
    - InitializePieces
    - score
    - std::min
    - std::isinf
    - std::isnan
    - pieces
    - std::vector::emplace_back
    - sentencepiece::unigram::Model::BuildTrie
    - absl::InternalError
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto &model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 677
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Model::EncodeOptimized
      Src: /src/sentencepiece/src/unigram_model.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 681
    functionName: sentencepiece::unigram::Model::Encode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Model::EncodeOptimized
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::Encode(absl::string_view normalized) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:685,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:685,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/unigram_model.cc:689,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/unigram_model.cc:689,1
    - Dst: std::pair<EncodeResult, float>
      Src: /src/sentencepiece/src/unigram_model.cc:692,1
    - Dst: sentencepiece::unigram::Model::Encode
      Src: /src/sentencepiece/src/unigram_model.cc:692,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model.cc:696,1
    - Dst: sentencepiece::unigram::Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model.cc:697,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model.cc:700,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:703,1
    - Dst: NBestEncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - normalized
    - nbest_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 709
    functionName: sentencepiece::unigram::Model::NBestEncode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - Lattice::NBest
    - Lattice::SetSentence
    - sentencepiece::unigram::Model::PopulateNodes
    - NBestEncodeResult::emplace_back
    - std::pair<EncodeResult, float>
    - std::max<int>
    - sentencepiece::unigram::Model::Encode
    - std::min<int>
    - status
    - EncodeResult::emplace_back
    linkageType: ''
    returnType: NBestEncodeResult
    signature: "NBestEncodeResult Model::NBestEncode(absl::string_view normalized,\n
      \                                    int nbest_size) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:713,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:713,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model.cc:718,1
    - Dst: sentencepiece::unigram::Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model.cc:719,1
    - Dst: Lattice::Sample
      Src: /src/sentencepiece/src/unigram_model.cc:722,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - normalized
    - inv_theta
    argTypes:
    - absl::string_view
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 727
    functionName: sentencepiece::unigram::Model::SampleEncode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - Lattice::SetSentence
    - sentencepiece::unigram::Model::PopulateNodes
    - status
    - EncodeResult::emplace_back
    - Lattice::Sample
    linkageType: ''
    returnType: EncodeResult
    signature: "EncodeResult Model::SampleEncode(absl::string_view normalized,\n                                 float
      inv_theta) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Model::min_score
      Src: /src/sentencepiece/src/unigram_model.cc:734,1
    - Dst: sentencepiece::unigram::Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model.cc:736,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model.cc:740,1
    - Dst: IsUserDefinedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:741,1
    - Dst: GetUserDefinedScore
      Src: /src/sentencepiece/src/unigram_model.cc:742,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/unigram_model.cc:743,1
    - Dst: compute_unigram_model_score
      Src: /src/sentencepiece/src/unigram_model.cc:749,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model.cc:749,1
    - Dst: compute_unigram_model_score
      Src: /src/sentencepiece/src/unigram_model.cc:751,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model.cc:751,1
    - Dst: std::abs
      Src: /src/sentencepiece/src/unigram_model.cc:752,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - expected
    - actual
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 759
    functionName: sentencepiece::unigram::Model::VerifyOutputsEquivalent
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::abs
    - LOG
    - GetScoreInlined
    - GetUserDefinedScore
    - sentencepiece::unigram::Model::min_score
    - IsUserDefinedInlined
    - sentencepiece::unigram::Model::PieceToId
    - compute_unigram_model_score
    - absl::StrSplit
    - size
    linkageType: ''
    returnType: bool
    signature: "bool Model::VerifyOutputsEquivalent(absl::string_view expected,\n
      \                                   absl::string_view actual) const"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:814,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:814,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:826,1
    - Dst: sentencepiece::unigram::Model::min_score
      Src: /src/sentencepiece/src/unigram_model.cc:827,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/unigram_model.cc:851,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/unigram_model.cc:851,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:851,1
    - Dst: traverse
      Src: /src/sentencepiece/src/unigram_model.cc:855,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:855,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/src/unigram_model.cc:857,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:858,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:859,1
    - Dst: IsUserDefinedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:864,1
    - Dst: GetUserDefinedScore
      Src: /src/sentencepiece/src/unigram_model.cc:865,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/unigram_model.cc:866,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model.cc:875,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:882,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model.cc:882,1
    - Dst: EncodeResult::reserve
      Src: /src/sentencepiece/src/unigram_model.cc:898,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:902,1
    - Dst: absl::string_view::substr
      Src: /src/sentencepiece/src/unigram_model.cc:903,1
    - Dst: std::reverse
      Src: /src/sentencepiece/src/unigram_model.cc:906,1
    - Dst: EncodeResult::begin
      Src: /src/sentencepiece/src/unigram_model.cc:906,1
    - Dst: EncodeResult::end
      Src: /src/sentencepiece/src/unigram_model.cc:906,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 908
    functionName: sentencepiece::unigram::Model::EncodeOptimized
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 1
    functionsReached:
    - GetScoreInlined
    - GetUserDefinedScore
    - static_cast<size_t>
    - EncodeResult::emplace_back
    - sentencepiece::unigram::Model::min_score
    - IsUserDefinedInlined
    - absl::string_view::data
    - GetPieceSize
    - EncodeResult::end
    - status
    - absl::string_view::size
    - sentencepiece::string_util::OneCharLen
    - absl::string_view::empty
    - std::reverse
    - IsUnusedInlined
    - EncodeResult::begin
    - traverse
    - std::max
    - std::min<int>
    - absl::string_view::substr
    - EncodeResult::reserve
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::EncodeOptimized(absl::string_view normalized) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model.cc:54,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:55,1
    - Dst: log
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - x
    - y
    - init_mode
    argTypes:
    - float
    - float
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: sentencepiece::unigram::LogSumExp
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    - std::exp
    - static_cast<double>
    - log
    linkageType: ''
    returnType: float
    signature: float LogSumExp(float x, float y, bool init_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: sentencepiece::unigram::GetUserDefinedScore
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetUserDefinedScore(int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/unigram_model.cc:82,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: absl::Uniform
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: sentencepiece::unigram::Gumbel
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::random::GetRandomGenerator
    - absl::Uniform
    - std::log
    linkageType: ''
    returnType: float
    signature: float Gumbel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model.cc:54,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:55,1
    - Dst: log
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - x
    - y
    - init_mode
    argTypes:
    - float
    - float
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: sentencepiece::unigram::LogSumExp
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    - std::exp
    - static_cast<double>
    - log
    linkageType: ''
    returnType: float
    signature: float LogSumExp(float x, float y, bool init_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: sentencepiece::unigram::GetUserDefinedScore
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetUserDefinedScore(int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/unigram_model.cc:82,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: absl::Uniform
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: sentencepiece::unigram::Gumbel
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::random::GetRandomGenerator
    - absl::Uniform
    - std::log
    linkageType: ''
    returnType: float
    signature: float Gumbel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: sentencepiece::unigram::Lattice::Lattice
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lattice::Lattice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Lattice::~Lattice()
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lattice::~Lattice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '&Lattice::begin_nodes(int pos) const'
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Lattice::Node *>
    signature: std::vector<Lattice::Node *> &Lattice::begin_nodes(int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '&Lattice::end_nodes(int pos) const'
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Lattice::Node *>
    signature: std::vector<Lattice::Node *> &Lattice::end_nodes(int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/unigram_model.cc:103,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: sentencepiece::unigram::Lattice::size
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 12
    functionsReached:
    - std::max<int>
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: int
    signature: int Lattice::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: sentencepiece::unigram::Lattice::utf8_size
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: int
    signature: int Lattice::utf8_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/sentencepiece/src/unigram_model.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: sentencepiece::unigram::Lattice::sentence
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: char
    signature: char *Lattice::sentence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: sentencepiece::unigram::Lattice::surface
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *Lattice::surface(int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: sentencepiece::unigram::Lattice::bos_node
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::bos_node() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: sentencepiece::unigram::Lattice::eos_node
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::eos_node() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:117,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: sentencepiece::unigram::Lattice::NewNode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 2
    functionsReached:
    - Allocate
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::NewNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:123,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:124,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/unigram_model.cc:125,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:126,1
    - Dst: Free
      Src: /src/sentencepiece/src/unigram_model.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: sentencepiece::unigram::Lattice::Clear
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::as_string_view
    - Free
    - clear
    linkageType: ''
    returnType: void
    signature: void Lattice::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/src/unigram_model.cc:131,1
    - Dst: reserve
      Src: /src/sentencepiece/src/unigram_model.cc:134,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:134,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:136,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/unigram_model.cc:137,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/unigram_model.cc:137,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:137,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:138,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:139,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:139,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/unigram_model.cc:140,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:142,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:142,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:144,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model.cc:145,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model.cc:146,1
    - Dst: reserve
      Src: /src/sentencepiece/src/unigram_model.cc:150,1
    - Dst: reserve
      Src: /src/sentencepiece/src/unigram_model.cc:151,1
    - Dst: sentencepiece::unigram::Lattice::NewNode
      Src: /src/sentencepiece/src/unigram_model.cc:154,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:157,1
    - Dst: sentencepiece::unigram::Lattice::NewNode
      Src: /src/sentencepiece/src/unigram_model.cc:159,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - sentence
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 163
    functionName: sentencepiece::unigram::Lattice::SetSentence
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - absl::string_view::remove_prefix
    - reserve
    - sentencepiece::unigram::Lattice::Clear
    - resize
    - sentencepiece::unigram::Lattice::NewNode
    - sentencepiece::unigram::Lattice::size
    - absl::string_view::data
    - std::min<int>
    - absl::string_view::size
    - sentencepiece::string_util::OneCharLen
    - push_back
    linkageType: ''
    returnType: void
    signature: void Lattice::SetSentence(absl::string_view sentence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::NewNode
      Src: /src/sentencepiece/src/unigram_model.cc:166,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/unigram_model.cc:170,1
    - Dst: sentencepiece::unigram::Lattice::surface
      Src: /src/sentencepiece/src/unigram_model.cc:170,1
    - Dst: sentencepiece::unigram::Lattice::surface
      Src: /src/sentencepiece/src/unigram_model.cc:170,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/unigram_model.cc:171,1
    - Dst: sentencepiece::unigram::Lattice::surface
      Src: /src/sentencepiece/src/unigram_model.cc:171,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:172,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pos
    - length
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: sentencepiece::unigram::Lattice::Insert
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::surface
    - static_cast<int>
    - google::protobuf::as_string_view
    - sentencepiece::unigram::Lattice::NewNode
    - push_back
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::Insert(int pos, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:179,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:194,1
    - Dst: begin_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:204,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model.cc:207,1
    - Dst: std::reverse
      Src: /src/sentencepiece/src/unigram_model.cc:210,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model.cc:210,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model.cc:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 215
    functionName: sentencepiece::unigram::Lattice::Viterbi
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 1
    functionsReached:
    - LOG
    - begin_nodes
    - std::reverse
    - sentencepiece::unigram::Lattice::size
    - std::vector::push_back
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: Lattice::LatticePathWithScore
    signature: Lattice::LatticePathWithScore Lattice::Viterbi()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:218,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:219,1
    - Dst: LogSumExp
      Src: /src/sentencepiece/src/unigram_model.cc:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - inv_theta
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: sentencepiece::unigram::Lattice::ForwardAlgorithm
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 3
    functionsReached:
    - LogSumExp
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: std::vector<float>
    signature: std::vector<float> Lattice::ForwardAlgorithm(float inv_theta) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:236,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:237,1
    - Dst: LogSumExp
      Src: /src/sentencepiece/src/unigram_model.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - inv_theta
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: sentencepiece::unigram::Lattice::BackwardAlgorithm
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 1
    functionsReached:
    - LogSumExp
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: std::vector<float>
    signature: std::vector<float> Lattice::BackwardAlgorithm(float inv_theta) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:256,1
    - Dst: sentencepiece::unigram::Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:261,1
    - Dst: sentencepiece::unigram::Lattice::BackwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:262,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:271,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - freq
    - expected
    argTypes:
    - float
    - std::vector<float>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 278
    functionName: sentencepiece::unigram::Lattice::PopulateMarginal
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::BackwardAlgorithm
    - sentencepiece::unigram::Lattice::size
    - sentencepiece::unigram::Lattice::ForwardAlgorithm
    - std::exp
    - static_cast<double>
    linkageType: ''
    returnType: float
    signature: "float Lattice::PopulateMarginal(float freq,\n                                std::vector<float>
      *expected) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
      Src: /src/sentencepiece/src/unigram_model.cc:311,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
      Src: /src/sentencepiece/src/unigram_model.cc:312,1
    - Dst: model::FreeList<Hypothesis>*::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:318,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
      Src: /src/sentencepiece/src/unigram_model.cc:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - to_clone
    - clone_map
    - allocator
    argTypes:
    - Hypothesis*
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*
    - model::FreeList<Hypothesis>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 328
    functionName: sentencepiece::unigram::CloneHypAndDependents
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
    - model::FreeList<Hypothesis>*::Allocate
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
    linkageType: ''
    returnType: Hypothesis
    signature: "Hypothesis *CloneHypAndDependents(\n    const Hypothesis *to_clone,\n
      \   absl::flat_hash_map<const Hypothesis *, Hypothesis *> *clone_map,\n    model::FreeList<Hypothesis>
      *allocator)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
      Src: /src/sentencepiece/src/unigram_model.cc:311,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
      Src: /src/sentencepiece/src/unigram_model.cc:312,1
    - Dst: model::FreeList<Hypothesis>*::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:318,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
      Src: /src/sentencepiece/src/unigram_model.cc:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - to_clone
    - clone_map
    - allocator
    argTypes:
    - Hypothesis*
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*
    - model::FreeList<Hypothesis>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 328
    functionName: sentencepiece::unigram::CloneHypAndDependents
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
    - model::FreeList<Hypothesis>*::Allocate
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
    linkageType: ''
    returnType: Hypothesis
    signature: "Hypothesis *CloneHypAndDependents(\n    const Hypothesis *to_clone,\n
      \   absl::flat_hash_map<const Hypothesis *, Hypothesis *> *clone_map,\n    model::FreeList<Hypothesis>
      *allocator)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:336,1
    - Dst: sentencepiece::unigram::Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model.cc:341,1
    - Dst: sentencepiece::GetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model.cc:344,1
    - Dst: absl::Now
      Src: /src/sentencepiece/src/unigram_model.cc:345,1
    - Dst: model::FreeList::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:374,1
    - Dst: sentencepiece::unigram::Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model.cc:375,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:379,1
    - Dst: sentencepiece::unigram::Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:383,1
    - Dst: Gumbel
      Src: /src/sentencepiece/src/unigram_model.cc:385,1
    - Dst: sentencepiece::unigram::Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model.cc:388,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/unigram_model.cc:391,1
    - Dst: Agenda::empty
      Src: /src/sentencepiece/src/unigram_model.cc:395,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/unigram_model.cc:396,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/unigram_model.cc:397,1
    - Dst: sentencepiece::unigram::Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model.cc:401,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model.cc:402,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:402,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/unigram_model.cc:404,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:404,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/unigram_model.cc:406,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:407,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:413,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:421,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:422,1
    - Dst: Gumbel
      Src: /src/sentencepiece/src/unigram_model.cc:426,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:432,1
    - Dst: std::log1p
      Src: /src/sentencepiece/src/unigram_model.cc:436,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:436,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:437,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/unigram_model.cc:437,1
    - Dst: std::log1p
      Src: /src/sentencepiece/src/unigram_model.cc:438,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:438,1
    - Dst: std::abs
      Src: /src/sentencepiece/src/unigram_model.cc:438,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:443,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:444,1
    - Dst: model::FreeList::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:445,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/unigram_model.cc:456,1
    - Dst: model::FreeList::size
      Src: /src/sentencepiece/src/unigram_model.cc:460,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:463,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:464,1
    - Dst: Agenda::size
      Src: /src/sentencepiece/src/unigram_model.cc:473,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/sentencepiece/src/unigram_model.cc:476,1
    - Dst: absl::Now
      Src: /src/sentencepiece/src/unigram_model.cc:476,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:478,1
    - Dst: sentencepiece::unigram::Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model.cc:480,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/unigram_model.cc:490,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:492,1
    - Dst: Agenda::size
      Src: /src/sentencepiece/src/unigram_model.cc:492,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/unigram_model.cc:496,1
    - Dst: CloneHypAndDependents
      Src: /src/sentencepiece/src/unigram_model.cc:498,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/unigram_model.cc:499,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/unigram_model.cc:500,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model.cc:502,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model.cc:503,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 3
    argNames:
    - nbest_size
    - sample
    - inv_theta
    argTypes:
    - size_t
    - bool
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 508
    functionName: sentencepiece::unigram::Lattice::NBest
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::log1p
    - std::vector::back
    - sentencepiece::GetNBestTimeout
    - sentencepiece::unigram::Lattice::bos_node
    - sentencepiece::unigram::Lattice::Viterbi
    - sentencepiece::unigram::Lattice::ForwardAlgorithm
    - Agenda::empty
    - sentencepiece::unigram::Lattice::eos_node
    - end_nodes
    - LOG
    - Gumbel
    - Agenda::push
    - std::vector::resize
    - model::FreeList::Allocate
    - Agenda::pop
    - sentencepiece::unigram::Lattice::size
    - model::FreeList::size
    - absl::Now
    - std::abs
    - CloneHypAndDependents
    - static_cast<float>
    - std::vector::size
    - std::min<size_t>
    - Agenda::size
    - absl::ToInt64Milliseconds
    - std::max
    - std::exp
    - std::move
    - Agenda::top
    - push_back
    linkageType: ''
    returnType: std::vector<Lattice::LatticePathWithScore>
    signature: "std::vector<Lattice::LatticePathWithScore> Lattice::NBest(size_t nbest_size,\n
      \                                                         bool sample,\n                                                          float
      inv_theta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h1
    - h2
    argTypes:
    - Hypothesis*
    - Hypothesis*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: operator()(Hypothesis *h1, Hypothesis *h2)
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Hypothesis *h1, Hypothesis *h2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:511,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:514,1
    - Dst: sentencepiece::unigram::Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:516,1
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/unigram_model.cc:518,1
    - Dst: sentencepiece::unigram::Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model.cc:523,1
    - Dst: sentencepiece::unigram::Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model.cc:524,1
    - Dst: std::vector::clear
      Src: /src/sentencepiece/src/unigram_model.cc:526,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model.cc:528,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:528,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:528,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model.cc:531,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model.cc:531,1
    - Dst: dist
      Src: /src/sentencepiece/src/unigram_model.cc:532,1
    - Dst: sentencepiece::unigram::Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model.cc:533,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model.cc:536,1
    - Dst: std::reverse
      Src: /src/sentencepiece/src/unigram_model.cc:539,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model.cc:539,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model.cc:539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - inv_theta
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 541
    functionName: sentencepiece::unigram::Lattice::Sample
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::reverse
    - sentencepiece::unigram::Lattice::bos_node
    - dist
    - std::vector::clear
    - sentencepiece::unigram::Lattice::size
    - sentencepiece::unigram::Lattice::ForwardAlgorithm
    - std::exp
    - static_cast<double>
    - std::vector::end
    - std::vector::push_back
    - sentencepiece::unigram::Lattice::eos_node
    - std::vector::begin
    - sentencepiece::random::GetRandomGenerator
    linkageType: ''
    returnType: std::vector<Lattice::Node *>
    signature: std::vector<Lattice::Node *> Lattice::Sample(float inv_theta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Lattice*::surface
      Src: /src/sentencepiece/src/unigram_model.cc:546,1
    - Dst: sentencepiece::unigram::Model::min_score
      Src: /src/sentencepiece/src/unigram_model.cc:550,1
    - Dst: Lattice*::size
      Src: /src/sentencepiece/src/unigram_model.cc:552,1
    - Dst: Lattice*::sentence
      Src: /src/sentencepiece/src/unigram_model.cc:553,1
    - Dst: Lattice*::utf8_size
      Src: /src/sentencepiece/src/unigram_model.cc:553,1
    - Dst: Lattice*::surface
      Src: /src/sentencepiece/src/unigram_model.cc:560,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/unigram_model.cc:563,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/unigram_model.cc:563,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:564,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/unigram_model.cc:565,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:566,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model.cc:567,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/unigram_model.cc:568,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/unigram_model.cc:568,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:569,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/unigram_model.cc:570,1
    - Dst: get_chars_length
      Src: /src/sentencepiece/src/unigram_model.cc:578,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:580,1
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model.cc:581,1
    - Dst: IsUserDefinedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:584,1
    - Dst: GetUserDefinedScore
      Src: /src/sentencepiece/src/unigram_model.cc:584,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/unigram_model.cc:585,1
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model.cc:592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - lattice
    argTypes:
    - Lattice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 597
    functionName: sentencepiece::unigram::Model::PopulateNodes
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 2
    functionsReached:
    - commonPrefixSearch
    - std::vector::resize
    - GetScoreInlined
    - Lattice*::surface
    - sentencepiece::unigram::Model::min_score
    - GetUserDefinedScore
    - IsUserDefinedInlined
    - IsUnusedInlined
    - Lattice*::utf8_size
    - std::vector::size
    - static_cast<int>
    - Lattice*::sentence
    - std::vector::data
    - get_chars_length
    - Lattice*::size
    - Lattice*::Insert
    linkageType: ''
    returnType: void
    signature: void Model::PopulateNodes(Lattice *lattice) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/unigram_model.cc:600,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model.cc:601,1
    - Dst: exactMatchSearch
      Src: /src/sentencepiece/src/unigram_model.cc:605,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:605,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 607
    functionName: sentencepiece::unigram::Model::PieceToId
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 1
    functionsReached:
    - find
    - exactMatchSearch
    - end
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: int
    signature: int Model::PieceToId(absl::string_view piece) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:610,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::empty
      Src: /src/sentencepiece/src/unigram_model.cc:612,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:613,1
    - Dst: sort
      Src: /src/sentencepiece/src/unigram_model.cc:619,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::begin
      Src: /src/sentencepiece/src/unigram_model.cc:619,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::end
      Src: /src/sentencepiece/src/unigram_model.cc:619,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:622,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:623,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:624,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:625,1
    - Dst: first::data
      Src: /src/sentencepiece/src/unigram_model.cc:626,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model.cc:627,1
    - Dst: std::make_unique<Darts::DoubleArray>
      Src: /src/sentencepiece/src/unigram_model.cc:631,1
    - Dst: build
      Src: /src/sentencepiece/src/unigram_model.cc:632,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:632,1
    - Dst: const_cast<char **>
      Src: /src/sentencepiece/src/unigram_model.cc:632,1
    - Dst: const_cast<size_t *>
      Src: /src/sentencepiece/src/unigram_model.cc:633,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:634,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/unigram_model.cc:644,1
    - Dst: first::data
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:646,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:649,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - pieces
    argTypes:
    - std::vector<std::pair<absl::string_view, int>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 653
    functionName: sentencepiece::unigram::Model::BuildTrie
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 1
    functionsReached:
    - std::vector<std::pair<absl::string_view, int>>*::end
    - first::data
    - const_cast<size_t *>
    - commonPrefixSearch
    - const_cast<char **>
    - sort
    - std::max
    - std::vector<std::pair<absl::string_view, int>>*::size
    - first::size
    - std::make_unique<Darts::DoubleArray>
    - build
    - std::vector::size
    - std::vector<std::pair<absl::string_view, int>>*::empty
    - clear
    - std::vector<std::pair<absl::string_view, int>>*::begin
    - status
    - std::vector::data
    - absl::InternalError
    linkageType: ''
    returnType: void
    signature: void Model::BuildTrie(std::vector<std::pair<absl::string_view, int>>
      *pieces)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/unigram_model.cc:658,1
    - Dst: pieces
      Src: /src/sentencepiece/src/unigram_model.cc:661,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: score
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: std::isinf
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: score
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:663,1
    - Dst: type
      Src: /src/sentencepiece/src/unigram_model.cc:666,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model.cc:667,1
    - Dst: score
      Src: /src/sentencepiece/src/unigram_model.cc:667,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:672,1
    - Dst: sentencepiece::unigram::Model::BuildTrie
      Src: /src/sentencepiece/src/unigram_model.cc:674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - model_proto
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 675
    functionName: sentencepiece::unigram::Model::Model
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - type
    - InitializePieces
    - score
    - std::min
    - std::isinf
    - std::isnan
    - pieces
    - std::vector::emplace_back
    - sentencepiece::unigram::Model::BuildTrie
    - absl::InternalError
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto &model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 677
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Model::EncodeOptimized
      Src: /src/sentencepiece/src/unigram_model.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 679
    functionDepth: 2
    functionLinenumber: 679
    functionLinenumberEnd: 681
    functionName: sentencepiece::unigram::Model::Encode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::unigram::Model::EncodeOptimized
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::Encode(absl::string_view normalized) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:685,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:685,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/unigram_model.cc:689,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/unigram_model.cc:689,1
    - Dst: std::pair<EncodeResult, float>
      Src: /src/sentencepiece/src/unigram_model.cc:692,1
    - Dst: sentencepiece::unigram::Model::Encode
      Src: /src/sentencepiece/src/unigram_model.cc:692,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model.cc:696,1
    - Dst: sentencepiece::unigram::Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model.cc:697,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model.cc:700,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:703,1
    - Dst: NBestEncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - normalized
    - nbest_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 709
    functionName: sentencepiece::unigram::Model::NBestEncode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - Lattice::NBest
    - Lattice::SetSentence
    - sentencepiece::unigram::Model::PopulateNodes
    - NBestEncodeResult::emplace_back
    - std::pair<EncodeResult, float>
    - std::max<int>
    - sentencepiece::unigram::Model::Encode
    - std::min<int>
    - status
    - EncodeResult::emplace_back
    linkageType: ''
    returnType: NBestEncodeResult
    signature: "NBestEncodeResult Model::NBestEncode(absl::string_view normalized,\n
      \                                    int nbest_size) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:713,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:713,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model.cc:718,1
    - Dst: sentencepiece::unigram::Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model.cc:719,1
    - Dst: Lattice::Sample
      Src: /src/sentencepiece/src/unigram_model.cc:722,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - normalized
    - inv_theta
    argTypes:
    - absl::string_view
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 727
    functionName: sentencepiece::unigram::Model::SampleEncode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - Lattice::SetSentence
    - sentencepiece::unigram::Model::PopulateNodes
    - status
    - EncodeResult::emplace_back
    - Lattice::Sample
    linkageType: ''
    returnType: EncodeResult
    signature: "EncodeResult Model::SampleEncode(absl::string_view normalized,\n                                 float
      inv_theta) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Model::min_score
      Src: /src/sentencepiece/src/unigram_model.cc:734,1
    - Dst: sentencepiece::unigram::Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model.cc:736,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model.cc:740,1
    - Dst: IsUserDefinedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:741,1
    - Dst: GetUserDefinedScore
      Src: /src/sentencepiece/src/unigram_model.cc:742,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/unigram_model.cc:743,1
    - Dst: compute_unigram_model_score
      Src: /src/sentencepiece/src/unigram_model.cc:749,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model.cc:749,1
    - Dst: compute_unigram_model_score
      Src: /src/sentencepiece/src/unigram_model.cc:751,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model.cc:751,1
    - Dst: std::abs
      Src: /src/sentencepiece/src/unigram_model.cc:752,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - expected
    - actual
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 759
    functionName: sentencepiece::unigram::Model::VerifyOutputsEquivalent
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::abs
    - LOG
    - GetScoreInlined
    - GetUserDefinedScore
    - sentencepiece::unigram::Model::min_score
    - IsUserDefinedInlined
    - sentencepiece::unigram::Model::PieceToId
    - compute_unigram_model_score
    - absl::StrSplit
    - size
    linkageType: ''
    returnType: bool
    signature: "bool Model::VerifyOutputsEquivalent(absl::string_view expected,\n
      \                                   absl::string_view actual) const"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:814,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:814,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:826,1
    - Dst: sentencepiece::unigram::Model::min_score
      Src: /src/sentencepiece/src/unigram_model.cc:827,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/unigram_model.cc:851,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/unigram_model.cc:851,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:851,1
    - Dst: traverse
      Src: /src/sentencepiece/src/unigram_model.cc:855,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:855,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/src/unigram_model.cc:857,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:858,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:859,1
    - Dst: IsUserDefinedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:864,1
    - Dst: GetUserDefinedScore
      Src: /src/sentencepiece/src/unigram_model.cc:865,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/unigram_model.cc:866,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model.cc:875,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:882,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model.cc:882,1
    - Dst: EncodeResult::reserve
      Src: /src/sentencepiece/src/unigram_model.cc:898,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:902,1
    - Dst: absl::string_view::substr
      Src: /src/sentencepiece/src/unigram_model.cc:903,1
    - Dst: std::reverse
      Src: /src/sentencepiece/src/unigram_model.cc:906,1
    - Dst: EncodeResult::begin
      Src: /src/sentencepiece/src/unigram_model.cc:906,1
    - Dst: EncodeResult::end
      Src: /src/sentencepiece/src/unigram_model.cc:906,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 908
    functionName: sentencepiece::unigram::Model::EncodeOptimized
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 2
    functionsReached:
    - GetScoreInlined
    - GetUserDefinedScore
    - static_cast<size_t>
    - EncodeResult::emplace_back
    - sentencepiece::unigram::Model::min_score
    - IsUserDefinedInlined
    - absl::string_view::data
    - GetPieceSize
    - EncodeResult::end
    - status
    - absl::string_view::size
    - sentencepiece::string_util::OneCharLen
    - absl::string_view::empty
    - std::reverse
    - IsUnusedInlined
    - EncodeResult::begin
    - traverse
    - std::max
    - std::min<int>
    - absl::string_view::substr
    - EncodeResult::reserve
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::EncodeOptimized(absl::string_view normalized) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model.cc:54,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:55,1
    - Dst: log
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - x
    - y
    - init_mode
    argTypes:
    - float
    - float
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: sentencepiece::unigram::LogSumExp
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    - std::exp
    - static_cast<double>
    - log
    linkageType: ''
    returnType: float
    signature: float LogSumExp(float x, float y, bool init_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: sentencepiece::unigram::GetUserDefinedScore
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetUserDefinedScore(int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/unigram_model.cc:82,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: absl::Uniform
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: sentencepiece::unigram::Gumbel
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::random::GetRandomGenerator
    - absl::Uniform
    - std::log
    linkageType: ''
    returnType: float
    signature: float Gumbel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model.cc:54,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:55,1
    - Dst: log
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - x
    - y
    - init_mode
    argTypes:
    - float
    - float
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: sentencepiece::unigram::LogSumExp
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    - std::exp
    - static_cast<double>
    - log
    linkageType: ''
    returnType: float
    signature: float LogSumExp(float x, float y, bool init_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: sentencepiece::unigram::GetUserDefinedScore
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetUserDefinedScore(int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/unigram_model.cc:82,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: absl::Uniform
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: sentencepiece::unigram::Gumbel
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::random::GetRandomGenerator
    - absl::Uniform
    - std::log
    linkageType: ''
    returnType: float
    signature: float Gumbel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: sentencepiece::unigram::Lattice::Lattice
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lattice::Lattice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Lattice::~Lattice()
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lattice::~Lattice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '&Lattice::begin_nodes(int pos) const'
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Lattice::Node *>
    signature: std::vector<Lattice::Node *> &Lattice::begin_nodes(int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '&Lattice::end_nodes(int pos) const'
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Lattice::Node *>
    signature: std::vector<Lattice::Node *> &Lattice::end_nodes(int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/unigram_model.cc:103,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: sentencepiece::unigram::Lattice::size
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 23
    functionsReached:
    - std::max<int>
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: int
    signature: int Lattice::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: sentencepiece::unigram::Lattice::utf8_size
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: int
    signature: int Lattice::utf8_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/sentencepiece/src/unigram_model.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: sentencepiece::unigram::Lattice::sentence
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: char
    signature: char *Lattice::sentence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: sentencepiece::unigram::Lattice::surface
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *Lattice::surface(int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: sentencepiece::unigram::Lattice::bos_node
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::bos_node() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: sentencepiece::unigram::Lattice::eos_node
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 4
    functionsReached:
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::eos_node() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:117,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: sentencepiece::unigram::Lattice::NewNode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 4
    functionsReached:
    - Allocate
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::NewNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:123,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:124,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/unigram_model.cc:125,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:126,1
    - Dst: Free
      Src: /src/sentencepiece/src/unigram_model.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: sentencepiece::unigram::Lattice::Clear
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::as_string_view
    - Free
    - clear
    linkageType: ''
    returnType: void
    signature: void Lattice::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/src/unigram_model.cc:131,1
    - Dst: reserve
      Src: /src/sentencepiece/src/unigram_model.cc:134,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:134,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:136,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/unigram_model.cc:137,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/unigram_model.cc:137,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:137,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:138,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:139,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:139,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/unigram_model.cc:140,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:142,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:142,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:144,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model.cc:145,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model.cc:146,1
    - Dst: reserve
      Src: /src/sentencepiece/src/unigram_model.cc:150,1
    - Dst: reserve
      Src: /src/sentencepiece/src/unigram_model.cc:151,1
    - Dst: sentencepiece::unigram::Lattice::NewNode
      Src: /src/sentencepiece/src/unigram_model.cc:154,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:157,1
    - Dst: sentencepiece::unigram::Lattice::NewNode
      Src: /src/sentencepiece/src/unigram_model.cc:159,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - sentence
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 163
    functionName: sentencepiece::unigram::Lattice::SetSentence
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - absl::string_view::remove_prefix
    - reserve
    - sentencepiece::unigram::Lattice::Clear
    - resize
    - sentencepiece::unigram::Lattice::NewNode
    - sentencepiece::unigram::Lattice::size
    - absl::string_view::data
    - std::min<int>
    - absl::string_view::size
    - sentencepiece::string_util::OneCharLen
    - push_back
    linkageType: ''
    returnType: void
    signature: void Lattice::SetSentence(absl::string_view sentence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::NewNode
      Src: /src/sentencepiece/src/unigram_model.cc:166,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/unigram_model.cc:170,1
    - Dst: sentencepiece::unigram::Lattice::surface
      Src: /src/sentencepiece/src/unigram_model.cc:170,1
    - Dst: sentencepiece::unigram::Lattice::surface
      Src: /src/sentencepiece/src/unigram_model.cc:170,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/unigram_model.cc:171,1
    - Dst: sentencepiece::unigram::Lattice::surface
      Src: /src/sentencepiece/src/unigram_model.cc:171,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:172,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pos
    - length
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: sentencepiece::unigram::Lattice::Insert
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::surface
    - static_cast<int>
    - google::protobuf::as_string_view
    - sentencepiece::unigram::Lattice::NewNode
    - push_back
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::Insert(int pos, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:179,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:194,1
    - Dst: begin_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:204,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model.cc:207,1
    - Dst: std::reverse
      Src: /src/sentencepiece/src/unigram_model.cc:210,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model.cc:210,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model.cc:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 215
    functionName: sentencepiece::unigram::Lattice::Viterbi
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 2
    functionsReached:
    - LOG
    - begin_nodes
    - std::reverse
    - sentencepiece::unigram::Lattice::size
    - std::vector::push_back
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: Lattice::LatticePathWithScore
    signature: Lattice::LatticePathWithScore Lattice::Viterbi()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:218,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:219,1
    - Dst: LogSumExp
      Src: /src/sentencepiece/src/unigram_model.cc:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - inv_theta
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: sentencepiece::unigram::Lattice::ForwardAlgorithm
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 6
    functionsReached:
    - LogSumExp
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: std::vector<float>
    signature: std::vector<float> Lattice::ForwardAlgorithm(float inv_theta) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:236,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:237,1
    - Dst: LogSumExp
      Src: /src/sentencepiece/src/unigram_model.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - inv_theta
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: sentencepiece::unigram::Lattice::BackwardAlgorithm
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 2
    functionsReached:
    - LogSumExp
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: std::vector<float>
    signature: std::vector<float> Lattice::BackwardAlgorithm(float inv_theta) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:256,1
    - Dst: sentencepiece::unigram::Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:261,1
    - Dst: sentencepiece::unigram::Lattice::BackwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:262,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:271,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - freq
    - expected
    argTypes:
    - float
    - std::vector<float>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 278
    functionName: sentencepiece::unigram::Lattice::PopulateMarginal
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::BackwardAlgorithm
    - sentencepiece::unigram::Lattice::size
    - sentencepiece::unigram::Lattice::ForwardAlgorithm
    - std::exp
    - static_cast<double>
    linkageType: ''
    returnType: float
    signature: "float Lattice::PopulateMarginal(float freq,\n                                std::vector<float>
      *expected) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
      Src: /src/sentencepiece/src/unigram_model.cc:311,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
      Src: /src/sentencepiece/src/unigram_model.cc:312,1
    - Dst: model::FreeList<Hypothesis>*::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:318,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
      Src: /src/sentencepiece/src/unigram_model.cc:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - to_clone
    - clone_map
    - allocator
    argTypes:
    - Hypothesis*
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*
    - model::FreeList<Hypothesis>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 328
    functionName: sentencepiece::unigram::CloneHypAndDependents
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
    - model::FreeList<Hypothesis>*::Allocate
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
    linkageType: ''
    returnType: Hypothesis
    signature: "Hypothesis *CloneHypAndDependents(\n    const Hypothesis *to_clone,\n
      \   absl::flat_hash_map<const Hypothesis *, Hypothesis *> *clone_map,\n    model::FreeList<Hypothesis>
      *allocator)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
      Src: /src/sentencepiece/src/unigram_model.cc:311,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
      Src: /src/sentencepiece/src/unigram_model.cc:312,1
    - Dst: model::FreeList<Hypothesis>*::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:318,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
      Src: /src/sentencepiece/src/unigram_model.cc:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - to_clone
    - clone_map
    - allocator
    argTypes:
    - Hypothesis*
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*
    - model::FreeList<Hypothesis>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 328
    functionName: sentencepiece::unigram::CloneHypAndDependents
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
    - model::FreeList<Hypothesis>*::Allocate
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
    linkageType: ''
    returnType: Hypothesis
    signature: "Hypothesis *CloneHypAndDependents(\n    const Hypothesis *to_clone,\n
      \   absl::flat_hash_map<const Hypothesis *, Hypothesis *> *clone_map,\n    model::FreeList<Hypothesis>
      *allocator)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:336,1
    - Dst: sentencepiece::unigram::Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model.cc:341,1
    - Dst: sentencepiece::GetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model.cc:344,1
    - Dst: absl::Now
      Src: /src/sentencepiece/src/unigram_model.cc:345,1
    - Dst: model::FreeList::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:374,1
    - Dst: sentencepiece::unigram::Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model.cc:375,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:379,1
    - Dst: sentencepiece::unigram::Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:383,1
    - Dst: Gumbel
      Src: /src/sentencepiece/src/unigram_model.cc:385,1
    - Dst: sentencepiece::unigram::Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model.cc:388,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/unigram_model.cc:391,1
    - Dst: Agenda::empty
      Src: /src/sentencepiece/src/unigram_model.cc:395,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/unigram_model.cc:396,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/unigram_model.cc:397,1
    - Dst: sentencepiece::unigram::Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model.cc:401,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model.cc:402,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:402,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/unigram_model.cc:404,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:404,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/unigram_model.cc:406,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:407,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:413,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:421,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:422,1
    - Dst: Gumbel
      Src: /src/sentencepiece/src/unigram_model.cc:426,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:432,1
    - Dst: std::log1p
      Src: /src/sentencepiece/src/unigram_model.cc:436,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:436,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:437,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/unigram_model.cc:437,1
    - Dst: std::log1p
      Src: /src/sentencepiece/src/unigram_model.cc:438,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:438,1
    - Dst: std::abs
      Src: /src/sentencepiece/src/unigram_model.cc:438,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:443,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:444,1
    - Dst: model::FreeList::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:445,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/unigram_model.cc:456,1
    - Dst: model::FreeList::size
      Src: /src/sentencepiece/src/unigram_model.cc:460,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:463,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:464,1
    - Dst: Agenda::size
      Src: /src/sentencepiece/src/unigram_model.cc:473,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/sentencepiece/src/unigram_model.cc:476,1
    - Dst: absl::Now
      Src: /src/sentencepiece/src/unigram_model.cc:476,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:478,1
    - Dst: sentencepiece::unigram::Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model.cc:480,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/unigram_model.cc:490,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:492,1
    - Dst: Agenda::size
      Src: /src/sentencepiece/src/unigram_model.cc:492,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/unigram_model.cc:496,1
    - Dst: CloneHypAndDependents
      Src: /src/sentencepiece/src/unigram_model.cc:498,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/unigram_model.cc:499,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/unigram_model.cc:500,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model.cc:502,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model.cc:503,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 3
    argNames:
    - nbest_size
    - sample
    - inv_theta
    argTypes:
    - size_t
    - bool
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 508
    functionName: sentencepiece::unigram::Lattice::NBest
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::log1p
    - std::vector::back
    - sentencepiece::GetNBestTimeout
    - sentencepiece::unigram::Lattice::bos_node
    - sentencepiece::unigram::Lattice::Viterbi
    - sentencepiece::unigram::Lattice::ForwardAlgorithm
    - Agenda::empty
    - sentencepiece::unigram::Lattice::eos_node
    - end_nodes
    - LOG
    - Gumbel
    - Agenda::push
    - std::vector::resize
    - model::FreeList::Allocate
    - Agenda::pop
    - sentencepiece::unigram::Lattice::size
    - model::FreeList::size
    - absl::Now
    - std::abs
    - CloneHypAndDependents
    - static_cast<float>
    - std::vector::size
    - std::min<size_t>
    - Agenda::size
    - absl::ToInt64Milliseconds
    - std::max
    - std::exp
    - std::move
    - Agenda::top
    - push_back
    linkageType: ''
    returnType: std::vector<Lattice::LatticePathWithScore>
    signature: "std::vector<Lattice::LatticePathWithScore> Lattice::NBest(size_t nbest_size,\n
      \                                                         bool sample,\n                                                          float
      inv_theta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h1
    - h2
    argTypes:
    - Hypothesis*
    - Hypothesis*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: operator()(Hypothesis *h1, Hypothesis *h2)
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Hypothesis *h1, Hypothesis *h2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:511,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:514,1
    - Dst: sentencepiece::unigram::Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:516,1
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/unigram_model.cc:518,1
    - Dst: sentencepiece::unigram::Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model.cc:523,1
    - Dst: sentencepiece::unigram::Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model.cc:524,1
    - Dst: std::vector::clear
      Src: /src/sentencepiece/src/unigram_model.cc:526,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model.cc:528,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:528,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:528,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model.cc:531,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model.cc:531,1
    - Dst: dist
      Src: /src/sentencepiece/src/unigram_model.cc:532,1
    - Dst: sentencepiece::unigram::Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model.cc:533,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model.cc:536,1
    - Dst: std::reverse
      Src: /src/sentencepiece/src/unigram_model.cc:539,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model.cc:539,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model.cc:539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - inv_theta
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 541
    functionName: sentencepiece::unigram::Lattice::Sample
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::reverse
    - sentencepiece::unigram::Lattice::bos_node
    - dist
    - std::vector::clear
    - sentencepiece::unigram::Lattice::size
    - sentencepiece::unigram::Lattice::ForwardAlgorithm
    - std::exp
    - static_cast<double>
    - std::vector::end
    - std::vector::push_back
    - sentencepiece::unigram::Lattice::eos_node
    - std::vector::begin
    - sentencepiece::random::GetRandomGenerator
    linkageType: ''
    returnType: std::vector<Lattice::Node *>
    signature: std::vector<Lattice::Node *> Lattice::Sample(float inv_theta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Lattice*::surface
      Src: /src/sentencepiece/src/unigram_model.cc:546,1
    - Dst: sentencepiece::unigram::Model::min_score
      Src: /src/sentencepiece/src/unigram_model.cc:550,1
    - Dst: Lattice*::size
      Src: /src/sentencepiece/src/unigram_model.cc:552,1
    - Dst: Lattice*::sentence
      Src: /src/sentencepiece/src/unigram_model.cc:553,1
    - Dst: Lattice*::utf8_size
      Src: /src/sentencepiece/src/unigram_model.cc:553,1
    - Dst: Lattice*::surface
      Src: /src/sentencepiece/src/unigram_model.cc:560,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/unigram_model.cc:563,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/unigram_model.cc:563,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:564,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/unigram_model.cc:565,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:566,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model.cc:567,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/unigram_model.cc:568,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/unigram_model.cc:568,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:569,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/unigram_model.cc:570,1
    - Dst: get_chars_length
      Src: /src/sentencepiece/src/unigram_model.cc:578,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:580,1
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model.cc:581,1
    - Dst: IsUserDefinedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:584,1
    - Dst: GetUserDefinedScore
      Src: /src/sentencepiece/src/unigram_model.cc:584,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/unigram_model.cc:585,1
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model.cc:592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - lattice
    argTypes:
    - Lattice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 597
    functionName: sentencepiece::unigram::Model::PopulateNodes
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 4
    functionsReached:
    - commonPrefixSearch
    - std::vector::resize
    - GetScoreInlined
    - Lattice*::surface
    - sentencepiece::unigram::Model::min_score
    - GetUserDefinedScore
    - IsUserDefinedInlined
    - IsUnusedInlined
    - Lattice*::utf8_size
    - std::vector::size
    - static_cast<int>
    - Lattice*::sentence
    - std::vector::data
    - get_chars_length
    - Lattice*::size
    - Lattice*::Insert
    linkageType: ''
    returnType: void
    signature: void Model::PopulateNodes(Lattice *lattice) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/unigram_model.cc:600,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model.cc:601,1
    - Dst: exactMatchSearch
      Src: /src/sentencepiece/src/unigram_model.cc:605,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:605,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 607
    functionName: sentencepiece::unigram::Model::PieceToId
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 2
    functionsReached:
    - find
    - exactMatchSearch
    - end
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: int
    signature: int Model::PieceToId(absl::string_view piece) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:610,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::empty
      Src: /src/sentencepiece/src/unigram_model.cc:612,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:613,1
    - Dst: sort
      Src: /src/sentencepiece/src/unigram_model.cc:619,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::begin
      Src: /src/sentencepiece/src/unigram_model.cc:619,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::end
      Src: /src/sentencepiece/src/unigram_model.cc:619,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:622,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:623,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:624,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:625,1
    - Dst: first::data
      Src: /src/sentencepiece/src/unigram_model.cc:626,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model.cc:627,1
    - Dst: std::make_unique<Darts::DoubleArray>
      Src: /src/sentencepiece/src/unigram_model.cc:631,1
    - Dst: build
      Src: /src/sentencepiece/src/unigram_model.cc:632,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:632,1
    - Dst: const_cast<char **>
      Src: /src/sentencepiece/src/unigram_model.cc:632,1
    - Dst: const_cast<size_t *>
      Src: /src/sentencepiece/src/unigram_model.cc:633,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:634,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/unigram_model.cc:644,1
    - Dst: first::data
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:646,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:649,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - pieces
    argTypes:
    - std::vector<std::pair<absl::string_view, int>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 653
    functionName: sentencepiece::unigram::Model::BuildTrie
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 2
    functionsReached:
    - std::vector<std::pair<absl::string_view, int>>*::end
    - first::data
    - const_cast<size_t *>
    - commonPrefixSearch
    - const_cast<char **>
    - sort
    - std::max
    - std::vector<std::pair<absl::string_view, int>>*::size
    - first::size
    - std::make_unique<Darts::DoubleArray>
    - build
    - std::vector::size
    - std::vector<std::pair<absl::string_view, int>>*::empty
    - clear
    - std::vector<std::pair<absl::string_view, int>>*::begin
    - status
    - std::vector::data
    - absl::InternalError
    linkageType: ''
    returnType: void
    signature: void Model::BuildTrie(std::vector<std::pair<absl::string_view, int>>
      *pieces)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/unigram_model.cc:658,1
    - Dst: pieces
      Src: /src/sentencepiece/src/unigram_model.cc:661,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: score
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: std::isinf
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: score
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:663,1
    - Dst: type
      Src: /src/sentencepiece/src/unigram_model.cc:666,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model.cc:667,1
    - Dst: score
      Src: /src/sentencepiece/src/unigram_model.cc:667,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:672,1
    - Dst: sentencepiece::unigram::Model::BuildTrie
      Src: /src/sentencepiece/src/unigram_model.cc:674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - model_proto
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 675
    functionName: sentencepiece::unigram::Model::Model
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - type
    - InitializePieces
    - score
    - std::min
    - std::isinf
    - std::isnan
    - pieces
    - std::vector::emplace_back
    - sentencepiece::unigram::Model::BuildTrie
    - absl::InternalError
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto &model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 677
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Model::EncodeOptimized
      Src: /src/sentencepiece/src/unigram_model.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 679
    functionDepth: 2
    functionLinenumber: 679
    functionLinenumberEnd: 681
    functionName: sentencepiece::unigram::Model::Encode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::unigram::Model::EncodeOptimized
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::Encode(absl::string_view normalized) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:685,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:685,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/unigram_model.cc:689,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/unigram_model.cc:689,1
    - Dst: std::pair<EncodeResult, float>
      Src: /src/sentencepiece/src/unigram_model.cc:692,1
    - Dst: sentencepiece::unigram::Model::Encode
      Src: /src/sentencepiece/src/unigram_model.cc:692,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model.cc:696,1
    - Dst: sentencepiece::unigram::Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model.cc:697,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model.cc:700,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:703,1
    - Dst: NBestEncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - normalized
    - nbest_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 709
    functionName: sentencepiece::unigram::Model::NBestEncode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - Lattice::NBest
    - Lattice::SetSentence
    - sentencepiece::unigram::Model::PopulateNodes
    - NBestEncodeResult::emplace_back
    - std::pair<EncodeResult, float>
    - std::max<int>
    - sentencepiece::unigram::Model::Encode
    - std::min<int>
    - status
    - EncodeResult::emplace_back
    linkageType: ''
    returnType: NBestEncodeResult
    signature: "NBestEncodeResult Model::NBestEncode(absl::string_view normalized,\n
      \                                    int nbest_size) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:713,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:713,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model.cc:718,1
    - Dst: sentencepiece::unigram::Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model.cc:719,1
    - Dst: Lattice::Sample
      Src: /src/sentencepiece/src/unigram_model.cc:722,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - normalized
    - inv_theta
    argTypes:
    - absl::string_view
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 727
    functionName: sentencepiece::unigram::Model::SampleEncode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - Lattice::SetSentence
    - sentencepiece::unigram::Model::PopulateNodes
    - status
    - EncodeResult::emplace_back
    - Lattice::Sample
    linkageType: ''
    returnType: EncodeResult
    signature: "EncodeResult Model::SampleEncode(absl::string_view normalized,\n                                 float
      inv_theta) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Model::min_score
      Src: /src/sentencepiece/src/unigram_model.cc:734,1
    - Dst: sentencepiece::unigram::Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model.cc:736,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model.cc:740,1
    - Dst: IsUserDefinedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:741,1
    - Dst: GetUserDefinedScore
      Src: /src/sentencepiece/src/unigram_model.cc:742,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/unigram_model.cc:743,1
    - Dst: compute_unigram_model_score
      Src: /src/sentencepiece/src/unigram_model.cc:749,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model.cc:749,1
    - Dst: compute_unigram_model_score
      Src: /src/sentencepiece/src/unigram_model.cc:751,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model.cc:751,1
    - Dst: std::abs
      Src: /src/sentencepiece/src/unigram_model.cc:752,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - expected
    - actual
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 759
    functionName: sentencepiece::unigram::Model::VerifyOutputsEquivalent
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::abs
    - LOG
    - GetScoreInlined
    - GetUserDefinedScore
    - sentencepiece::unigram::Model::min_score
    - IsUserDefinedInlined
    - sentencepiece::unigram::Model::PieceToId
    - compute_unigram_model_score
    - absl::StrSplit
    - size
    linkageType: ''
    returnType: bool
    signature: "bool Model::VerifyOutputsEquivalent(absl::string_view expected,\n
      \                                   absl::string_view actual) const"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:814,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:814,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:826,1
    - Dst: sentencepiece::unigram::Model::min_score
      Src: /src/sentencepiece/src/unigram_model.cc:827,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/unigram_model.cc:851,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/unigram_model.cc:851,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:851,1
    - Dst: traverse
      Src: /src/sentencepiece/src/unigram_model.cc:855,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:855,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/src/unigram_model.cc:857,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:858,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:859,1
    - Dst: IsUserDefinedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:864,1
    - Dst: GetUserDefinedScore
      Src: /src/sentencepiece/src/unigram_model.cc:865,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/unigram_model.cc:866,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model.cc:875,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:882,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model.cc:882,1
    - Dst: EncodeResult::reserve
      Src: /src/sentencepiece/src/unigram_model.cc:898,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:902,1
    - Dst: absl::string_view::substr
      Src: /src/sentencepiece/src/unigram_model.cc:903,1
    - Dst: std::reverse
      Src: /src/sentencepiece/src/unigram_model.cc:906,1
    - Dst: EncodeResult::begin
      Src: /src/sentencepiece/src/unigram_model.cc:906,1
    - Dst: EncodeResult::end
      Src: /src/sentencepiece/src/unigram_model.cc:906,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 908
    functionName: sentencepiece::unigram::Model::EncodeOptimized
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 3
    functionsReached:
    - GetScoreInlined
    - GetUserDefinedScore
    - static_cast<size_t>
    - EncodeResult::emplace_back
    - sentencepiece::unigram::Model::min_score
    - IsUserDefinedInlined
    - absl::string_view::data
    - GetPieceSize
    - EncodeResult::end
    - status
    - absl::string_view::size
    - sentencepiece::string_util::OneCharLen
    - absl::string_view::empty
    - std::reverse
    - IsUnusedInlined
    - EncodeResult::begin
    - traverse
    - std::max
    - std::min<int>
    - absl::string_view::substr
    - EncodeResult::reserve
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::EncodeOptimized(absl::string_view normalized) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model.cc:54,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:55,1
    - Dst: log
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - x
    - y
    - init_mode
    argTypes:
    - float
    - float
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: sentencepiece::unigram::LogSumExp
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    - std::exp
    - static_cast<double>
    - log
    linkageType: ''
    returnType: float
    signature: float LogSumExp(float x, float y, bool init_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: sentencepiece::unigram::GetUserDefinedScore
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetUserDefinedScore(int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/unigram_model.cc:82,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: absl::Uniform
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: sentencepiece::unigram::Gumbel
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::random::GetRandomGenerator
    - absl::Uniform
    - std::log
    linkageType: ''
    returnType: float
    signature: float Gumbel()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model.cc:54,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:55,1
    - Dst: log
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - x
    - y
    - init_mode
    argTypes:
    - float
    - float
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: sentencepiece::unigram::LogSumExp
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    - std::exp
    - static_cast<double>
    - log
    linkageType: ''
    returnType: float
    signature: float LogSumExp(float x, float y, bool init_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: sentencepiece::unigram::GetUserDefinedScore
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float GetUserDefinedScore(int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/unigram_model.cc:82,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: std::log
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    - Dst: absl::Uniform
      Src: /src/sentencepiece/src/unigram_model.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: sentencepiece::unigram::Gumbel
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::random::GetRandomGenerator
    - absl::Uniform
    - std::log
    linkageType: ''
    returnType: float
    signature: float Gumbel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: sentencepiece::unigram::Lattice::Lattice
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lattice::Lattice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Lattice::~Lattice()
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Lattice::~Lattice()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: '&Lattice::begin_nodes(int pos) const'
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Lattice::Node *>
    signature: std::vector<Lattice::Node *> &Lattice::begin_nodes(int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: '&Lattice::end_nodes(int pos) const'
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Lattice::Node *>
    signature: std::vector<Lattice::Node *> &Lattice::end_nodes(int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/unigram_model.cc:103,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: sentencepiece::unigram::Lattice::size
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 34
    functionsReached:
    - std::max<int>
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: int
    signature: int Lattice::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: sentencepiece::unigram::Lattice::utf8_size
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: int
    signature: int Lattice::utf8_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/sentencepiece/src/unigram_model.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: sentencepiece::unigram::Lattice::sentence
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - data
    linkageType: ''
    returnType: char
    signature: char *Lattice::sentence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: sentencepiece::unigram::Lattice::surface
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *Lattice::surface(int pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: sentencepiece::unigram::Lattice::bos_node
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::bos_node() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: sentencepiece::unigram::Lattice::eos_node
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 6
    functionsReached:
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::eos_node() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:117,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: sentencepiece::unigram::Lattice::NewNode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 6
    functionsReached:
    - Allocate
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::NewNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:123,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:124,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/unigram_model.cc:125,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:126,1
    - Dst: Free
      Src: /src/sentencepiece/src/unigram_model.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: sentencepiece::unigram::Lattice::Clear
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::as_string_view
    - Free
    - clear
    linkageType: ''
    returnType: void
    signature: void Lattice::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/src/unigram_model.cc:131,1
    - Dst: reserve
      Src: /src/sentencepiece/src/unigram_model.cc:134,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:134,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:136,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/unigram_model.cc:137,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/unigram_model.cc:137,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:137,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:138,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:139,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:139,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/unigram_model.cc:140,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:142,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:142,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:144,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model.cc:145,1
    - Dst: resize
      Src: /src/sentencepiece/src/unigram_model.cc:146,1
    - Dst: reserve
      Src: /src/sentencepiece/src/unigram_model.cc:150,1
    - Dst: reserve
      Src: /src/sentencepiece/src/unigram_model.cc:151,1
    - Dst: sentencepiece::unigram::Lattice::NewNode
      Src: /src/sentencepiece/src/unigram_model.cc:154,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:157,1
    - Dst: sentencepiece::unigram::Lattice::NewNode
      Src: /src/sentencepiece/src/unigram_model.cc:159,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - sentence
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 163
    functionName: sentencepiece::unigram::Lattice::SetSentence
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - absl::string_view::remove_prefix
    - reserve
    - sentencepiece::unigram::Lattice::Clear
    - resize
    - sentencepiece::unigram::Lattice::NewNode
    - sentencepiece::unigram::Lattice::size
    - absl::string_view::data
    - std::min<int>
    - absl::string_view::size
    - sentencepiece::string_util::OneCharLen
    - push_back
    linkageType: ''
    returnType: void
    signature: void Lattice::SetSentence(absl::string_view sentence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::NewNode
      Src: /src/sentencepiece/src/unigram_model.cc:166,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/unigram_model.cc:170,1
    - Dst: sentencepiece::unigram::Lattice::surface
      Src: /src/sentencepiece/src/unigram_model.cc:170,1
    - Dst: sentencepiece::unigram::Lattice::surface
      Src: /src/sentencepiece/src/unigram_model.cc:170,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/unigram_model.cc:171,1
    - Dst: sentencepiece::unigram::Lattice::surface
      Src: /src/sentencepiece/src/unigram_model.cc:171,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:172,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pos
    - length
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: sentencepiece::unigram::Lattice::Insert
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::surface
    - static_cast<int>
    - google::protobuf::as_string_view
    - sentencepiece::unigram::Lattice::NewNode
    - push_back
    linkageType: ''
    returnType: Lattice::Node
    signature: Lattice::Node *Lattice::Insert(int pos, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:179,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:194,1
    - Dst: begin_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:204,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model.cc:207,1
    - Dst: std::reverse
      Src: /src/sentencepiece/src/unigram_model.cc:210,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model.cc:210,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model.cc:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 215
    functionName: sentencepiece::unigram::Lattice::Viterbi
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 3
    functionsReached:
    - LOG
    - begin_nodes
    - std::reverse
    - sentencepiece::unigram::Lattice::size
    - std::vector::push_back
    - std::vector::begin
    - std::vector::end
    linkageType: ''
    returnType: Lattice::LatticePathWithScore
    signature: Lattice::LatticePathWithScore Lattice::Viterbi()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:218,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:219,1
    - Dst: LogSumExp
      Src: /src/sentencepiece/src/unigram_model.cc:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - inv_theta
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: sentencepiece::unigram::Lattice::ForwardAlgorithm
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 9
    functionsReached:
    - LogSumExp
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: std::vector<float>
    signature: std::vector<float> Lattice::ForwardAlgorithm(float inv_theta) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:236,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:237,1
    - Dst: LogSumExp
      Src: /src/sentencepiece/src/unigram_model.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - inv_theta
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: sentencepiece::unigram::Lattice::BackwardAlgorithm
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 3
    functionsReached:
    - LogSumExp
    - sentencepiece::unigram::Lattice::size
    linkageType: ''
    returnType: std::vector<float>
    signature: std::vector<float> Lattice::BackwardAlgorithm(float inv_theta) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:256,1
    - Dst: sentencepiece::unigram::Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:261,1
    - Dst: sentencepiece::unigram::Lattice::BackwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:262,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:271,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - freq
    - expected
    argTypes:
    - float
    - std::vector<float>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 278
    functionName: sentencepiece::unigram::Lattice::PopulateMarginal
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::BackwardAlgorithm
    - sentencepiece::unigram::Lattice::size
    - sentencepiece::unigram::Lattice::ForwardAlgorithm
    - std::exp
    - static_cast<double>
    linkageType: ''
    returnType: float
    signature: "float Lattice::PopulateMarginal(float freq,\n                                std::vector<float>
      *expected) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
      Src: /src/sentencepiece/src/unigram_model.cc:311,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
      Src: /src/sentencepiece/src/unigram_model.cc:312,1
    - Dst: model::FreeList<Hypothesis>*::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:318,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
      Src: /src/sentencepiece/src/unigram_model.cc:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - to_clone
    - clone_map
    - allocator
    argTypes:
    - Hypothesis*
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*
    - model::FreeList<Hypothesis>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 328
    functionName: sentencepiece::unigram::CloneHypAndDependents
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
    - model::FreeList<Hypothesis>*::Allocate
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
    linkageType: ''
    returnType: Hypothesis
    signature: "Hypothesis *CloneHypAndDependents(\n    const Hypothesis *to_clone,\n
      \   absl::flat_hash_map<const Hypothesis *, Hypothesis *> *clone_map,\n    model::FreeList<Hypothesis>
      *allocator)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
      Src: /src/sentencepiece/src/unigram_model.cc:311,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
      Src: /src/sentencepiece/src/unigram_model.cc:312,1
    - Dst: model::FreeList<Hypothesis>*::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:318,1
    - Dst: absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
      Src: /src/sentencepiece/src/unigram_model.cc:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - to_clone
    - clone_map
    - allocator
    argTypes:
    - Hypothesis*
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*
    - model::FreeList<Hypothesis>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 328
    functionName: sentencepiece::unigram::CloneHypAndDependents
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::find
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::end
    - model::FreeList<Hypothesis>*::Allocate
    - absl::flat_hash_map<const Hypothesis *, Hypothesis *>*::insert
    linkageType: ''
    returnType: Hypothesis
    signature: "Hypothesis *CloneHypAndDependents(\n    const Hypothesis *to_clone,\n
      \   absl::flat_hash_map<const Hypothesis *, Hypothesis *> *clone_map,\n    model::FreeList<Hypothesis>
      *allocator)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:336,1
    - Dst: sentencepiece::unigram::Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model.cc:341,1
    - Dst: sentencepiece::GetNBestTimeout
      Src: /src/sentencepiece/src/unigram_model.cc:344,1
    - Dst: absl::Now
      Src: /src/sentencepiece/src/unigram_model.cc:345,1
    - Dst: model::FreeList::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:374,1
    - Dst: sentencepiece::unigram::Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model.cc:375,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:379,1
    - Dst: sentencepiece::unigram::Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:383,1
    - Dst: Gumbel
      Src: /src/sentencepiece/src/unigram_model.cc:385,1
    - Dst: sentencepiece::unigram::Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model.cc:388,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/unigram_model.cc:391,1
    - Dst: Agenda::empty
      Src: /src/sentencepiece/src/unigram_model.cc:395,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/unigram_model.cc:396,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/unigram_model.cc:397,1
    - Dst: sentencepiece::unigram::Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model.cc:401,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model.cc:402,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:402,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/unigram_model.cc:404,1
    - Dst: push_back
      Src: /src/sentencepiece/src/unigram_model.cc:404,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/unigram_model.cc:406,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:407,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:413,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:421,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:422,1
    - Dst: Gumbel
      Src: /src/sentencepiece/src/unigram_model.cc:426,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:432,1
    - Dst: std::log1p
      Src: /src/sentencepiece/src/unigram_model.cc:436,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:436,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:437,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/unigram_model.cc:437,1
    - Dst: std::log1p
      Src: /src/sentencepiece/src/unigram_model.cc:438,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:438,1
    - Dst: std::abs
      Src: /src/sentencepiece/src/unigram_model.cc:438,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:443,1
    - Dst: end_nodes
      Src: /src/sentencepiece/src/unigram_model.cc:444,1
    - Dst: model::FreeList::Allocate
      Src: /src/sentencepiece/src/unigram_model.cc:445,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/unigram_model.cc:456,1
    - Dst: model::FreeList::size
      Src: /src/sentencepiece/src/unigram_model.cc:460,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:463,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:464,1
    - Dst: Agenda::size
      Src: /src/sentencepiece/src/unigram_model.cc:473,1
    - Dst: absl::ToInt64Milliseconds
      Src: /src/sentencepiece/src/unigram_model.cc:476,1
    - Dst: absl::Now
      Src: /src/sentencepiece/src/unigram_model.cc:476,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:478,1
    - Dst: sentencepiece::unigram::Lattice::Viterbi
      Src: /src/sentencepiece/src/unigram_model.cc:480,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/unigram_model.cc:490,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:492,1
    - Dst: Agenda::size
      Src: /src/sentencepiece/src/unigram_model.cc:492,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/unigram_model.cc:496,1
    - Dst: CloneHypAndDependents
      Src: /src/sentencepiece/src/unigram_model.cc:498,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/unigram_model.cc:499,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/unigram_model.cc:500,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model.cc:502,1
    - Dst: std::move
      Src: /src/sentencepiece/src/unigram_model.cc:503,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 3
    argNames:
    - nbest_size
    - sample
    - inv_theta
    argTypes:
    - size_t
    - bool
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 508
    functionName: sentencepiece::unigram::Lattice::NBest
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::log1p
    - std::vector::back
    - sentencepiece::GetNBestTimeout
    - sentencepiece::unigram::Lattice::bos_node
    - sentencepiece::unigram::Lattice::Viterbi
    - sentencepiece::unigram::Lattice::ForwardAlgorithm
    - Agenda::empty
    - sentencepiece::unigram::Lattice::eos_node
    - end_nodes
    - LOG
    - Gumbel
    - Agenda::push
    - std::vector::resize
    - model::FreeList::Allocate
    - Agenda::pop
    - sentencepiece::unigram::Lattice::size
    - model::FreeList::size
    - absl::Now
    - std::abs
    - CloneHypAndDependents
    - static_cast<float>
    - std::vector::size
    - std::min<size_t>
    - Agenda::size
    - absl::ToInt64Milliseconds
    - std::max
    - std::exp
    - std::move
    - Agenda::top
    - push_back
    linkageType: ''
    returnType: std::vector<Lattice::LatticePathWithScore>
    signature: "std::vector<Lattice::LatticePathWithScore> Lattice::NBest(size_t nbest_size,\n
      \                                                         bool sample,\n                                                          float
      inv_theta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h1
    - h2
    argTypes:
    - Hypothesis*
    - Hypothesis*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: operator()(Hypothesis *h1, Hypothesis *h2)
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(Hypothesis *h1, Hypothesis *h2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:511,1
    - Dst: sentencepiece::unigram::Lattice::size
      Src: /src/sentencepiece/src/unigram_model.cc:514,1
    - Dst: sentencepiece::unigram::Lattice::ForwardAlgorithm
      Src: /src/sentencepiece/src/unigram_model.cc:516,1
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/unigram_model.cc:518,1
    - Dst: sentencepiece::unigram::Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model.cc:523,1
    - Dst: sentencepiece::unigram::Lattice::eos_node
      Src: /src/sentencepiece/src/unigram_model.cc:524,1
    - Dst: std::vector::clear
      Src: /src/sentencepiece/src/unigram_model.cc:526,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model.cc:528,1
    - Dst: std::exp
      Src: /src/sentencepiece/src/unigram_model.cc:528,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/src/unigram_model.cc:528,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model.cc:531,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model.cc:531,1
    - Dst: dist
      Src: /src/sentencepiece/src/unigram_model.cc:532,1
    - Dst: sentencepiece::unigram::Lattice::bos_node
      Src: /src/sentencepiece/src/unigram_model.cc:533,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/unigram_model.cc:536,1
    - Dst: std::reverse
      Src: /src/sentencepiece/src/unigram_model.cc:539,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/unigram_model.cc:539,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/unigram_model.cc:539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - inv_theta
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 541
    functionName: sentencepiece::unigram::Lattice::Sample
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::reverse
    - sentencepiece::unigram::Lattice::bos_node
    - dist
    - std::vector::clear
    - sentencepiece::unigram::Lattice::size
    - sentencepiece::unigram::Lattice::ForwardAlgorithm
    - std::exp
    - static_cast<double>
    - std::vector::end
    - std::vector::push_back
    - sentencepiece::unigram::Lattice::eos_node
    - std::vector::begin
    - sentencepiece::random::GetRandomGenerator
    linkageType: ''
    returnType: std::vector<Lattice::Node *>
    signature: std::vector<Lattice::Node *> Lattice::Sample(float inv_theta)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Lattice*::surface
      Src: /src/sentencepiece/src/unigram_model.cc:546,1
    - Dst: sentencepiece::unigram::Model::min_score
      Src: /src/sentencepiece/src/unigram_model.cc:550,1
    - Dst: Lattice*::size
      Src: /src/sentencepiece/src/unigram_model.cc:552,1
    - Dst: Lattice*::sentence
      Src: /src/sentencepiece/src/unigram_model.cc:553,1
    - Dst: Lattice*::utf8_size
      Src: /src/sentencepiece/src/unigram_model.cc:553,1
    - Dst: Lattice*::surface
      Src: /src/sentencepiece/src/unigram_model.cc:560,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/unigram_model.cc:563,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/unigram_model.cc:563,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:564,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/unigram_model.cc:565,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:566,1
    - Dst: std::vector::resize
      Src: /src/sentencepiece/src/unigram_model.cc:567,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/unigram_model.cc:568,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/unigram_model.cc:568,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:569,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/unigram_model.cc:570,1
    - Dst: get_chars_length
      Src: /src/sentencepiece/src/unigram_model.cc:578,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:580,1
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model.cc:581,1
    - Dst: IsUserDefinedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:584,1
    - Dst: GetUserDefinedScore
      Src: /src/sentencepiece/src/unigram_model.cc:584,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/unigram_model.cc:585,1
    - Dst: Lattice*::Insert
      Src: /src/sentencepiece/src/unigram_model.cc:592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - lattice
    argTypes:
    - Lattice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 597
    functionName: sentencepiece::unigram::Model::PopulateNodes
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 6
    functionsReached:
    - commonPrefixSearch
    - std::vector::resize
    - GetScoreInlined
    - Lattice*::surface
    - sentencepiece::unigram::Model::min_score
    - GetUserDefinedScore
    - IsUserDefinedInlined
    - IsUnusedInlined
    - Lattice*::utf8_size
    - std::vector::size
    - static_cast<int>
    - Lattice*::sentence
    - std::vector::data
    - get_chars_length
    - Lattice*::size
    - Lattice*::Insert
    linkageType: ''
    returnType: void
    signature: void Model::PopulateNodes(Lattice *lattice) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/unigram_model.cc:600,1
    - Dst: end
      Src: /src/sentencepiece/src/unigram_model.cc:601,1
    - Dst: exactMatchSearch
      Src: /src/sentencepiece/src/unigram_model.cc:605,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:605,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 607
    functionName: sentencepiece::unigram::Model::PieceToId
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 3
    functionsReached:
    - find
    - exactMatchSearch
    - end
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: int
    signature: int Model::PieceToId(absl::string_view piece) const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:610,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::empty
      Src: /src/sentencepiece/src/unigram_model.cc:612,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:613,1
    - Dst: sort
      Src: /src/sentencepiece/src/unigram_model.cc:619,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::begin
      Src: /src/sentencepiece/src/unigram_model.cc:619,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::end
      Src: /src/sentencepiece/src/unigram_model.cc:619,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:622,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:623,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:624,1
    - Dst: std::vector<std::pair<absl::string_view, int>>*::size
      Src: /src/sentencepiece/src/unigram_model.cc:625,1
    - Dst: first::data
      Src: /src/sentencepiece/src/unigram_model.cc:626,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model.cc:627,1
    - Dst: std::make_unique<Darts::DoubleArray>
      Src: /src/sentencepiece/src/unigram_model.cc:631,1
    - Dst: build
      Src: /src/sentencepiece/src/unigram_model.cc:632,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:632,1
    - Dst: const_cast<char **>
      Src: /src/sentencepiece/src/unigram_model.cc:632,1
    - Dst: const_cast<size_t *>
      Src: /src/sentencepiece/src/unigram_model.cc:633,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:634,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/unigram_model.cc:644,1
    - Dst: first::data
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: first::size
      Src: /src/sentencepiece/src/unigram_model.cc:645,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:646,1
    - Dst: clear
      Src: /src/sentencepiece/src/unigram_model.cc:649,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - pieces
    argTypes:
    - std::vector<std::pair<absl::string_view, int>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 653
    functionName: sentencepiece::unigram::Model::BuildTrie
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 3
    functionsReached:
    - std::vector<std::pair<absl::string_view, int>>*::end
    - first::data
    - const_cast<size_t *>
    - commonPrefixSearch
    - const_cast<char **>
    - sort
    - std::max
    - std::vector<std::pair<absl::string_view, int>>*::size
    - first::size
    - std::make_unique<Darts::DoubleArray>
    - build
    - std::vector::size
    - std::vector<std::pair<absl::string_view, int>>*::empty
    - clear
    - std::vector<std::pair<absl::string_view, int>>*::begin
    - status
    - std::vector::data
    - absl::InternalError
    linkageType: ''
    returnType: void
    signature: void Model::BuildTrie(std::vector<std::pair<absl::string_view, int>>
      *pieces)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/unigram_model.cc:658,1
    - Dst: pieces
      Src: /src/sentencepiece/src/unigram_model.cc:661,1
    - Dst: std::isnan
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: score
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: std::isinf
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: score
      Src: /src/sentencepiece/src/unigram_model.cc:662,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/unigram_model.cc:663,1
    - Dst: type
      Src: /src/sentencepiece/src/unigram_model.cc:666,1
    - Dst: std::min
      Src: /src/sentencepiece/src/unigram_model.cc:667,1
    - Dst: score
      Src: /src/sentencepiece/src/unigram_model.cc:667,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:672,1
    - Dst: sentencepiece::unigram::Model::BuildTrie
      Src: /src/sentencepiece/src/unigram_model.cc:674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - model_proto
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 675
    functionName: sentencepiece::unigram::Model::Model
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - type
    - InitializePieces
    - score
    - std::min
    - std::isinf
    - std::isnan
    - pieces
    - std::vector::emplace_back
    - sentencepiece::unigram::Model::BuildTrie
    - absl::InternalError
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto &model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 677
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Model::EncodeOptimized
      Src: /src/sentencepiece/src/unigram_model.cc:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 679
    functionDepth: 2
    functionLinenumber: 679
    functionLinenumberEnd: 681
    functionName: sentencepiece::unigram::Model::Encode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::unigram::Model::EncodeOptimized
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::Encode(absl::string_view normalized) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:685,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:685,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/unigram_model.cc:689,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/unigram_model.cc:689,1
    - Dst: std::pair<EncodeResult, float>
      Src: /src/sentencepiece/src/unigram_model.cc:692,1
    - Dst: sentencepiece::unigram::Model::Encode
      Src: /src/sentencepiece/src/unigram_model.cc:692,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model.cc:696,1
    - Dst: sentencepiece::unigram::Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model.cc:697,1
    - Dst: Lattice::NBest
      Src: /src/sentencepiece/src/unigram_model.cc:700,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:703,1
    - Dst: NBestEncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - normalized
    - nbest_size
    argTypes:
    - absl::string_view
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 709
    functionName: sentencepiece::unigram::Model::NBestEncode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - Lattice::NBest
    - Lattice::SetSentence
    - sentencepiece::unigram::Model::PopulateNodes
    - NBestEncodeResult::emplace_back
    - std::pair<EncodeResult, float>
    - std::max<int>
    - sentencepiece::unigram::Model::Encode
    - std::min<int>
    - status
    - EncodeResult::emplace_back
    linkageType: ''
    returnType: NBestEncodeResult
    signature: "NBestEncodeResult Model::NBestEncode(absl::string_view normalized,\n
      \                                    int nbest_size) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:713,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:713,1
    - Dst: Lattice::SetSentence
      Src: /src/sentencepiece/src/unigram_model.cc:718,1
    - Dst: sentencepiece::unigram::Model::PopulateNodes
      Src: /src/sentencepiece/src/unigram_model.cc:719,1
    - Dst: Lattice::Sample
      Src: /src/sentencepiece/src/unigram_model.cc:722,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - normalized
    - inv_theta
    argTypes:
    - absl::string_view
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 727
    functionName: sentencepiece::unigram::Model::SampleEncode
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - Lattice::SetSentence
    - sentencepiece::unigram::Model::PopulateNodes
    - status
    - EncodeResult::emplace_back
    - Lattice::Sample
    linkageType: ''
    returnType: EncodeResult
    signature: "EncodeResult Model::SampleEncode(absl::string_view normalized,\n                                 float
      inv_theta) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Model::min_score
      Src: /src/sentencepiece/src/unigram_model.cc:734,1
    - Dst: sentencepiece::unigram::Model::PieceToId
      Src: /src/sentencepiece/src/unigram_model.cc:736,1
    - Dst: size
      Src: /src/sentencepiece/src/unigram_model.cc:740,1
    - Dst: IsUserDefinedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:741,1
    - Dst: GetUserDefinedScore
      Src: /src/sentencepiece/src/unigram_model.cc:742,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/unigram_model.cc:743,1
    - Dst: compute_unigram_model_score
      Src: /src/sentencepiece/src/unigram_model.cc:749,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model.cc:749,1
    - Dst: compute_unigram_model_score
      Src: /src/sentencepiece/src/unigram_model.cc:751,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/unigram_model.cc:751,1
    - Dst: std::abs
      Src: /src/sentencepiece/src/unigram_model.cc:752,1
    - Dst: LOG
      Src: /src/sentencepiece/src/unigram_model.cc:753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - expected
    - actual
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 759
    functionName: sentencepiece::unigram::Model::VerifyOutputsEquivalent
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 0
    functionsReached:
    - std::abs
    - LOG
    - GetScoreInlined
    - GetUserDefinedScore
    - sentencepiece::unigram::Model::min_score
    - IsUserDefinedInlined
    - sentencepiece::unigram::Model::PieceToId
    - compute_unigram_model_score
    - absl::StrSplit
    - size
    linkageType: ''
    returnType: bool
    signature: "bool Model::VerifyOutputsEquivalent(absl::string_view expected,\n
      \                                   absl::string_view actual) const"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/unigram_model.cc:814,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/unigram_model.cc:814,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/unigram_model.cc:826,1
    - Dst: sentencepiece::unigram::Model::min_score
      Src: /src/sentencepiece/src/unigram_model.cc:827,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/unigram_model.cc:851,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/unigram_model.cc:851,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:851,1
    - Dst: traverse
      Src: /src/sentencepiece/src/unigram_model.cc:855,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/unigram_model.cc:855,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/src/unigram_model.cc:857,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:858,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:859,1
    - Dst: IsUserDefinedInlined
      Src: /src/sentencepiece/src/unigram_model.cc:864,1
    - Dst: GetUserDefinedScore
      Src: /src/sentencepiece/src/unigram_model.cc:865,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/unigram_model.cc:866,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model.cc:875,1
    - Dst: std::max
      Src: /src/sentencepiece/src/unigram_model.cc:882,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/unigram_model.cc:882,1
    - Dst: EncodeResult::reserve
      Src: /src/sentencepiece/src/unigram_model.cc:898,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/unigram_model.cc:902,1
    - Dst: absl::string_view::substr
      Src: /src/sentencepiece/src/unigram_model.cc:903,1
    - Dst: std::reverse
      Src: /src/sentencepiece/src/unigram_model.cc:906,1
    - Dst: EncodeResult::begin
      Src: /src/sentencepiece/src/unigram_model.cc:906,1
    - Dst: EncodeResult::end
      Src: /src/sentencepiece/src/unigram_model.cc:906,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 908
    functionName: sentencepiece::unigram::Model::EncodeOptimized
    functionSourceFile: /src/sentencepiece/src/unigram_model.cc
    functionUses: 4
    functionsReached:
    - GetScoreInlined
    - GetUserDefinedScore
    - static_cast<size_t>
    - EncodeResult::emplace_back
    - sentencepiece::unigram::Model::min_score
    - IsUserDefinedInlined
    - absl::string_view::data
    - GetPieceSize
    - EncodeResult::end
    - status
    - absl::string_view::size
    - sentencepiece::string_util::OneCharLen
    - absl::string_view::empty
    - std::reverse
    - IsUnusedInlined
    - EncodeResult::begin
    - traverse
    - std::max
    - std::min<int>
    - absl::string_view::substr
    - EncodeResult::reserve
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::EncodeOptimized(absl::string_view normalized) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: sentencepiece::normalizer::Builder::Builder
    functionSourceFile: /src/sentencepiece/src/builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~Builder()
    functionSourceFile: /src/sentencepiece/src/builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: sentencepiece::normalizer::Builder::Builder
    functionSourceFile: /src/sentencepiece/src/builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~Builder()
    functionSourceFile: /src/sentencepiece/src/builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: sentencepiece::character::Trainer::Trainer
    functionSourceFile: /src/sentencepiece/src/char_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Trainer(const TrainerSpec& trainer_spec,\n          const NormalizerSpec&
      normalizer_spec,\n          const NormalizerSpec& denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: sentencepiece::character::Trainer::Trainer
    functionSourceFile: /src/sentencepiece/src/char_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Trainer(const TrainerSpec& trainer_spec,\n          const NormalizerSpec&
      normalizer_spec,\n          const NormalizerSpec& denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: sentencepiece::character::Trainer::Trainer
    functionSourceFile: /src/sentencepiece/src/char_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Trainer(const TrainerSpec& trainer_spec,\n          const NormalizerSpec&
      normalizer_spec,\n          const NormalizerSpec& denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: sentencepiece::character::Trainer::Trainer
    functionSourceFile: /src/sentencepiece/src/char_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Trainer(const TrainerSpec& trainer_spec,\n          const NormalizerSpec&
      normalizer_spec,\n          const NormalizerSpec& denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:41,1
    - Dst: sentencepiece::normalizer::Builder::RemoveRedundantMap
      Src: /src/sentencepiece/src/builder_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:42,1
    - Dst: Builder::CharsMap::size
      Src: /src/sentencepiece/src/builder_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:43,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:43,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:43,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/builder_test.cc:44,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:44,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:44,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/builder_test.cc:45,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:45,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:45,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/builder_test.cc:46,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:46,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - Builder::CharsMap::end
    - Builder::CharsMap::find
    - EXPECT_EQ
    - EXPECT_TRUE
    - Builder::CharsMap::size
    - sentencepiece::normalizer::Builder::RemoveRedundantMap
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, RemoveRedundantMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:51,1
    - Dst: sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:51,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:52,1
    - Dst: sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, GetPrecompiledCharsMapWithInvalidNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:58,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder_test.cc:58,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:59,1
    - Dst: Builder::CharsMap::empty
      Src: /src/sentencepiece/src/builder_test.cc:59,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:61,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Builder::CharsMap::empty
    - sentencepiece::normalizer::Builder::BuildNFKCMap
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, BuildNFKCMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetDataDir
      Src: /src/sentencepiece/src/builder_test.cc:66,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/builder_test.cc:66,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:72,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:73,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:74,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:74,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:81,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:82,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:82,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:89,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:90,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:90,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:96,1
    - Dst: NormalizerSpec::precompiled_charsmap
      Src: /src/sentencepiece/src/builder_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:98,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:99,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:100,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 102
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::precompiled_charsmap
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    - EXPECT_EQ
    - EXPECT_TRUE
    - Normalizer::Normalize
    - testing::SrcDir
    - SetDataDir
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, GetPrecompiledCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:108,1
    - Dst: static_cast<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:121,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:122,1
    - Dst: NormalizerSpec::mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/builder_test.cc:122,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:125,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:125,1
    - Dst: NormalizerSpec::precompiled_charsmap
      Src: /src/sentencepiece/src/builder_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:128,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/builder_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:133,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:134,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:135,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:137,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:138,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:139,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:140,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:141,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 142
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::precompiled_charsmap
    - static_cast<char32_t>
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - NormalizerSpec::set_add_dummy_prefix
    - EXPECT_EQ
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - NormalizerSpec::mutable_precompiled_charsmap
    - EXPECT_TRUE
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, CompileCharsMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_util::EncodePOD<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:151,1
    - Dst: string_util::EncodePOD<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:152,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:153,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/builder_test.cc:153,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/builder_test.cc:155,1
    - Dst: data
      Src: /src/sentencepiece/src/builder_test.cc:155,1
    - Dst: size
      Src: /src/sentencepiece/src/builder_test.cc:155,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:166,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/builder_test.cc:166,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:168,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:169,1
    - Dst: make_blob
      Src: /src/sentencepiece/src/builder_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:179,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:179,1
    - Dst: make_blob
      Src: /src/sentencepiece/src/builder_test.cc:180,1
    - Dst: std::string
      Src: /src/sentencepiece/src/builder_test.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 183
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - string_util::EncodePOD<uint32_t>
    - make_blob
    - static_cast<uint32_t>
    - std::string::append
    - std::string
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - data
    - EXPECT_FALSE
    - std::string::size
    - size
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, DecompileMalformedCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:189,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:190,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:190,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/builder_test.cc:190,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:195,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:195,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:199,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:201,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:203,1
    - Dst: sentencepiece::normalizer::Builder::SaveCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:203,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:204,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:204,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:208,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:209,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:209,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:212,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:216,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder_test.cc:216,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:217,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 219
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::SaveCharsMap
    - sentencepiece::normalizer::Builder::LoadCharsMap
    - ASSERT_TRUE
    - testing::TempDir
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_EQ
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    - sentencepiece::normalizer::Builder::BuildNFKCMap
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, LoadCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/builder_test.cc:223,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:224,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:224,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/builder_test.cc:225,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/builder_test.cc:226,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/builder_test.cc:227,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:231,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:231,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:232,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:235,1
    - Dst: Builder::CharsMap::size
      Src: /src/sentencepiece/src/builder_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:236,1
    - Dst: std::vector<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:237,1
    - Dst: std::vector<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:238,1
    - Dst: std::vector<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:240,1
    - Dst: sentencepiece::normalizer::Builder::SaveCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:241,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:242,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:242,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:246,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:247,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:248,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 251
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - std::vector<char32_t>
    - sentencepiece::normalizer::Builder::SaveCharsMap
    - testing::TempDir
    - sentencepiece::normalizer::Builder::LoadCharsMap
    - sentencepiece::filesystem::NewWritableFile
    - EXPECT_EQ
    - auto::WriteLine
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - Builder::CharsMap::size
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, LoadCharsMapWithEmptyeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:262,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 263
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_FALSE
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, ContainsTooManySharedPrefixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:271,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:271,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:274,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:275,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/builder_test.cc:275,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:276,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/builder_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - ASSERT_TRUE
    - absl::Status::message
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_EQ
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, DecompileDeepCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:41,1
    - Dst: sentencepiece::normalizer::Builder::RemoveRedundantMap
      Src: /src/sentencepiece/src/builder_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:42,1
    - Dst: Builder::CharsMap::size
      Src: /src/sentencepiece/src/builder_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:43,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:43,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:43,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/builder_test.cc:44,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:44,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:44,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/builder_test.cc:45,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:45,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:45,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/builder_test.cc:46,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:46,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - Builder::CharsMap::end
    - Builder::CharsMap::find
    - EXPECT_EQ
    - EXPECT_TRUE
    - Builder::CharsMap::size
    - sentencepiece::normalizer::Builder::RemoveRedundantMap
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, RemoveRedundantMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:51,1
    - Dst: sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:51,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:52,1
    - Dst: sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, GetPrecompiledCharsMapWithInvalidNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:58,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder_test.cc:58,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:59,1
    - Dst: Builder::CharsMap::empty
      Src: /src/sentencepiece/src/builder_test.cc:59,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:61,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Builder::CharsMap::empty
    - sentencepiece::normalizer::Builder::BuildNFKCMap
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, BuildNFKCMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetDataDir
      Src: /src/sentencepiece/src/builder_test.cc:66,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/builder_test.cc:66,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:72,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:73,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:74,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:74,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:81,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:82,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:82,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:89,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:90,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:90,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:96,1
    - Dst: NormalizerSpec::precompiled_charsmap
      Src: /src/sentencepiece/src/builder_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:98,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:99,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:100,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 102
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::precompiled_charsmap
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    - EXPECT_EQ
    - EXPECT_TRUE
    - Normalizer::Normalize
    - testing::SrcDir
    - SetDataDir
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, GetPrecompiledCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:108,1
    - Dst: static_cast<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:121,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:122,1
    - Dst: NormalizerSpec::mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/builder_test.cc:122,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:125,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:125,1
    - Dst: NormalizerSpec::precompiled_charsmap
      Src: /src/sentencepiece/src/builder_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:128,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/builder_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:133,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:134,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:135,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:137,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:138,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:139,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:140,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:141,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 142
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::precompiled_charsmap
    - static_cast<char32_t>
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - NormalizerSpec::set_add_dummy_prefix
    - EXPECT_EQ
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - NormalizerSpec::mutable_precompiled_charsmap
    - EXPECT_TRUE
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, CompileCharsMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_util::EncodePOD<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:151,1
    - Dst: string_util::EncodePOD<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:152,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:153,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/builder_test.cc:153,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/builder_test.cc:155,1
    - Dst: data
      Src: /src/sentencepiece/src/builder_test.cc:155,1
    - Dst: size
      Src: /src/sentencepiece/src/builder_test.cc:155,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:166,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/builder_test.cc:166,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:168,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:169,1
    - Dst: make_blob
      Src: /src/sentencepiece/src/builder_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:179,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:179,1
    - Dst: make_blob
      Src: /src/sentencepiece/src/builder_test.cc:180,1
    - Dst: std::string
      Src: /src/sentencepiece/src/builder_test.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 183
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - string_util::EncodePOD<uint32_t>
    - make_blob
    - static_cast<uint32_t>
    - std::string::append
    - std::string
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - data
    - EXPECT_FALSE
    - std::string::size
    - size
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, DecompileMalformedCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:189,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:190,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:190,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/builder_test.cc:190,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:195,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:195,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:199,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:201,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:203,1
    - Dst: sentencepiece::normalizer::Builder::SaveCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:203,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:204,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:204,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:208,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:209,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:209,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:212,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:216,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder_test.cc:216,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:217,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 219
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::SaveCharsMap
    - sentencepiece::normalizer::Builder::LoadCharsMap
    - ASSERT_TRUE
    - testing::TempDir
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_EQ
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    - sentencepiece::normalizer::Builder::BuildNFKCMap
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, LoadCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/builder_test.cc:223,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:224,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:224,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/builder_test.cc:225,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/builder_test.cc:226,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/builder_test.cc:227,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:231,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:231,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:232,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:235,1
    - Dst: Builder::CharsMap::size
      Src: /src/sentencepiece/src/builder_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:236,1
    - Dst: std::vector<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:237,1
    - Dst: std::vector<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:238,1
    - Dst: std::vector<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:240,1
    - Dst: sentencepiece::normalizer::Builder::SaveCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:241,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:242,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:242,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:246,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:247,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:248,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 251
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - std::vector<char32_t>
    - sentencepiece::normalizer::Builder::SaveCharsMap
    - testing::TempDir
    - sentencepiece::normalizer::Builder::LoadCharsMap
    - sentencepiece::filesystem::NewWritableFile
    - EXPECT_EQ
    - auto::WriteLine
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - Builder::CharsMap::size
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, LoadCharsMapWithEmptyeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:262,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 263
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_FALSE
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, ContainsTooManySharedPrefixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:271,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:271,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:274,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:275,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/builder_test.cc:275,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:276,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/builder_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - ASSERT_TRUE
    - absl::Status::message
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_EQ
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, DecompileDeepCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:41,1
    - Dst: sentencepiece::normalizer::Builder::RemoveRedundantMap
      Src: /src/sentencepiece/src/builder_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:42,1
    - Dst: Builder::CharsMap::size
      Src: /src/sentencepiece/src/builder_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:43,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:43,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:43,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/builder_test.cc:44,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:44,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:44,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/builder_test.cc:45,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:45,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:45,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/builder_test.cc:46,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:46,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - Builder::CharsMap::end
    - Builder::CharsMap::find
    - EXPECT_EQ
    - EXPECT_TRUE
    - Builder::CharsMap::size
    - sentencepiece::normalizer::Builder::RemoveRedundantMap
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, RemoveRedundantMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:51,1
    - Dst: sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:51,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:52,1
    - Dst: sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, GetPrecompiledCharsMapWithInvalidNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:58,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder_test.cc:58,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:59,1
    - Dst: Builder::CharsMap::empty
      Src: /src/sentencepiece/src/builder_test.cc:59,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:61,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Builder::CharsMap::empty
    - sentencepiece::normalizer::Builder::BuildNFKCMap
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, BuildNFKCMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetDataDir
      Src: /src/sentencepiece/src/builder_test.cc:66,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/builder_test.cc:66,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:72,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:73,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:74,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:74,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:81,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:82,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:82,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:89,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:90,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:90,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:96,1
    - Dst: NormalizerSpec::precompiled_charsmap
      Src: /src/sentencepiece/src/builder_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:98,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:99,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:100,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 102
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::precompiled_charsmap
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    - EXPECT_EQ
    - EXPECT_TRUE
    - Normalizer::Normalize
    - testing::SrcDir
    - SetDataDir
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, GetPrecompiledCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:108,1
    - Dst: static_cast<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:121,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:122,1
    - Dst: NormalizerSpec::mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/builder_test.cc:122,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:125,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:125,1
    - Dst: NormalizerSpec::precompiled_charsmap
      Src: /src/sentencepiece/src/builder_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:128,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/builder_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:133,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:134,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:135,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:137,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:138,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:139,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:140,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:141,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 142
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::precompiled_charsmap
    - static_cast<char32_t>
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - NormalizerSpec::set_add_dummy_prefix
    - EXPECT_EQ
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - NormalizerSpec::mutable_precompiled_charsmap
    - EXPECT_TRUE
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, CompileCharsMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_util::EncodePOD<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:151,1
    - Dst: string_util::EncodePOD<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:152,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:153,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/builder_test.cc:153,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/builder_test.cc:155,1
    - Dst: data
      Src: /src/sentencepiece/src/builder_test.cc:155,1
    - Dst: size
      Src: /src/sentencepiece/src/builder_test.cc:155,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:166,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/builder_test.cc:166,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:168,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:169,1
    - Dst: make_blob
      Src: /src/sentencepiece/src/builder_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:179,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:179,1
    - Dst: make_blob
      Src: /src/sentencepiece/src/builder_test.cc:180,1
    - Dst: std::string
      Src: /src/sentencepiece/src/builder_test.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 183
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - string_util::EncodePOD<uint32_t>
    - make_blob
    - static_cast<uint32_t>
    - std::string::append
    - std::string
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - data
    - EXPECT_FALSE
    - std::string::size
    - size
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, DecompileMalformedCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:189,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:190,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:190,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/builder_test.cc:190,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:195,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:195,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:199,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:201,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:203,1
    - Dst: sentencepiece::normalizer::Builder::SaveCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:203,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:204,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:204,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:208,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:209,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:209,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:212,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:216,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder_test.cc:216,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:217,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 219
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::SaveCharsMap
    - sentencepiece::normalizer::Builder::LoadCharsMap
    - ASSERT_TRUE
    - testing::TempDir
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_EQ
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    - sentencepiece::normalizer::Builder::BuildNFKCMap
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, LoadCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/builder_test.cc:223,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:224,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:224,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/builder_test.cc:225,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/builder_test.cc:226,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/builder_test.cc:227,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:231,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:231,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:232,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:235,1
    - Dst: Builder::CharsMap::size
      Src: /src/sentencepiece/src/builder_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:236,1
    - Dst: std::vector<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:237,1
    - Dst: std::vector<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:238,1
    - Dst: std::vector<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:240,1
    - Dst: sentencepiece::normalizer::Builder::SaveCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:241,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:242,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:242,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:246,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:247,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:248,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 251
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - std::vector<char32_t>
    - sentencepiece::normalizer::Builder::SaveCharsMap
    - testing::TempDir
    - sentencepiece::normalizer::Builder::LoadCharsMap
    - sentencepiece::filesystem::NewWritableFile
    - EXPECT_EQ
    - auto::WriteLine
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - Builder::CharsMap::size
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, LoadCharsMapWithEmptyeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:262,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 263
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_FALSE
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, ContainsTooManySharedPrefixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:271,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:271,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:274,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:275,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/builder_test.cc:275,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:276,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/builder_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - ASSERT_TRUE
    - absl::Status::message
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_EQ
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, DecompileDeepCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:41,1
    - Dst: sentencepiece::normalizer::Builder::RemoveRedundantMap
      Src: /src/sentencepiece/src/builder_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:42,1
    - Dst: Builder::CharsMap::size
      Src: /src/sentencepiece/src/builder_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:43,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:43,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:43,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/builder_test.cc:44,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:44,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:44,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/builder_test.cc:45,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:45,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:45,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/builder_test.cc:46,1
    - Dst: Builder::CharsMap::end
      Src: /src/sentencepiece/src/builder_test.cc:46,1
    - Dst: Builder::CharsMap::find
      Src: /src/sentencepiece/src/builder_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - Builder::CharsMap::end
    - Builder::CharsMap::find
    - EXPECT_EQ
    - EXPECT_TRUE
    - Builder::CharsMap::size
    - sentencepiece::normalizer::Builder::RemoveRedundantMap
    - EXPECT_NE
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, RemoveRedundantMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:51,1
    - Dst: sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:51,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:52,1
    - Dst: sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, GetPrecompiledCharsMapWithInvalidNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:58,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder_test.cc:58,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:59,1
    - Dst: Builder::CharsMap::empty
      Src: /src/sentencepiece/src/builder_test.cc:59,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:61,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Builder::CharsMap::empty
    - sentencepiece::normalizer::Builder::BuildNFKCMap
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, BuildNFKCMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetDataDir
      Src: /src/sentencepiece/src/builder_test.cc:66,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/builder_test.cc:66,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:72,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:73,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:74,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:74,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:81,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:82,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:82,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:89,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:90,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:90,1
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/builder_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:96,1
    - Dst: NormalizerSpec::precompiled_charsmap
      Src: /src/sentencepiece/src/builder_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:98,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:99,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:100,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 102
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::precompiled_charsmap
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    - EXPECT_EQ
    - EXPECT_TRUE
    - Normalizer::Normalize
    - testing::SrcDir
    - SetDataDir
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, GetPrecompiledCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:108,1
    - Dst: static_cast<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:121,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:122,1
    - Dst: NormalizerSpec::mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/builder_test.cc:122,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:125,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:125,1
    - Dst: NormalizerSpec::precompiled_charsmap
      Src: /src/sentencepiece/src/builder_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:128,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/builder_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:133,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:134,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:135,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:137,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:138,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:139,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:140,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:141,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/builder_test.cc:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 142
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::precompiled_charsmap
    - static_cast<char32_t>
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - NormalizerSpec::set_add_dummy_prefix
    - EXPECT_EQ
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - NormalizerSpec::mutable_precompiled_charsmap
    - EXPECT_TRUE
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, CompileCharsMap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_util::EncodePOD<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:151,1
    - Dst: string_util::EncodePOD<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:152,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:153,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/builder_test.cc:153,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/builder_test.cc:155,1
    - Dst: data
      Src: /src/sentencepiece/src/builder_test.cc:155,1
    - Dst: size
      Src: /src/sentencepiece/src/builder_test.cc:155,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/src/builder_test.cc:166,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/builder_test.cc:166,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:168,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:169,1
    - Dst: make_blob
      Src: /src/sentencepiece/src/builder_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:179,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:179,1
    - Dst: make_blob
      Src: /src/sentencepiece/src/builder_test.cc:180,1
    - Dst: std::string
      Src: /src/sentencepiece/src/builder_test.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 183
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - string_util::EncodePOD<uint32_t>
    - make_blob
    - static_cast<uint32_t>
    - std::string::append
    - std::string
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - data
    - EXPECT_FALSE
    - std::string::size
    - size
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, DecompileMalformedCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:189,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:190,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:190,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/src/builder_test.cc:190,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:195,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:195,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:199,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:201,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:203,1
    - Dst: sentencepiece::normalizer::Builder::SaveCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:203,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:204,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:204,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:208,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:209,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:209,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:212,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:216,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder_test.cc:216,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:217,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 219
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::SaveCharsMap
    - sentencepiece::normalizer::Builder::LoadCharsMap
    - ASSERT_TRUE
    - testing::TempDir
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_EQ
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    - sentencepiece::normalizer::Builder::BuildNFKCMap
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, LoadCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/builder_test.cc:223,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:224,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:224,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/builder_test.cc:225,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/builder_test.cc:226,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/builder_test.cc:227,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:231,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:231,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:232,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:235,1
    - Dst: Builder::CharsMap::size
      Src: /src/sentencepiece/src/builder_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:236,1
    - Dst: std::vector<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:237,1
    - Dst: std::vector<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:238,1
    - Dst: std::vector<char32_t>
      Src: /src/sentencepiece/src/builder_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:240,1
    - Dst: sentencepiece::normalizer::Builder::SaveCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:241,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:242,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:242,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:246,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:247,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder_test.cc:248,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/builder_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 251
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - std::vector<char32_t>
    - sentencepiece::normalizer::Builder::SaveCharsMap
    - testing::TempDir
    - sentencepiece::normalizer::Builder::LoadCharsMap
    - sentencepiece::filesystem::NewWritableFile
    - EXPECT_EQ
    - auto::WriteLine
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - Builder::CharsMap::size
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, LoadCharsMapWithEmptyeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:262,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 263
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_FALSE
    - std::vector::push_back
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, ContainsTooManySharedPrefixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/builder_test.cc:271,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:271,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/builder_test.cc:274,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/builder_test.cc:275,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/builder_test.cc:275,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/builder_test.cc:276,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/builder_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - ASSERT_TRUE
    - absl::Status::message
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_EQ
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(BuilderTest, DecompileDeepCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sentencepiece::ScopedResourceDestructor::ScopedResourceDestructor
    functionSourceFile: /src/sentencepiece/src/init.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedResourceDestructor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownLibrary
      Src: /src/sentencepiece/src/init.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~ScopedResourceDestructor()
    functionSourceFile: /src/sentencepiece/src/init.h
    functionUses: 0
    functionsReached:
    - ShutdownLibrary
    linkageType: ''
    returnType: void
    signature: void ~ScopedResourceDestructor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sentencepiece::ScopedResourceDestructor::ScopedResourceDestructor
    functionSourceFile: /src/sentencepiece/src/init.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScopedResourceDestructor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownLibrary
      Src: /src/sentencepiece/src/init.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: ~ScopedResourceDestructor()
    functionSourceFile: /src/sentencepiece/src/init.h
    functionUses: 0
    functionsReached:
    - ShutdownLibrary
    linkageType: ''
    returnType: void
    signature: void ~ScopedResourceDestructor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: sentencepiece::unigram::TrainerModel::TrainerModel
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: sentencepiece::unigram::TrainerModel::TrainerModel
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerModel(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: sentencepiece::unigram::TrainerModel::Encode
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: sentencepiece::unigram::Trainer::Trainer
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Trainer(const TrainerSpec& trainer_spec,\n          const NormalizerSpec&
      normalizer_spec,\n          const NormalizerSpec& denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: sentencepiece::unigram::TrainerModel::TrainerModel
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: sentencepiece::unigram::TrainerModel::TrainerModel
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerModel(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: sentencepiece::unigram::TrainerModel::Encode
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: sentencepiece::unigram::Trainer::Trainer
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Trainer(const TrainerSpec& trainer_spec,\n          const NormalizerSpec&
      normalizer_spec,\n          const NormalizerSpec& denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: sentencepiece::unigram::TrainerModel::TrainerModel
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: sentencepiece::unigram::TrainerModel::TrainerModel
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerModel(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: sentencepiece::unigram::TrainerModel::Encode
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: sentencepiece::unigram::Trainer::Trainer
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Trainer(const TrainerSpec& trainer_spec,\n          const NormalizerSpec&
      normalizer_spec,\n          const NormalizerSpec& denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: sentencepiece::unigram::TrainerModel::TrainerModel
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerModel()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: sentencepiece::unigram::TrainerModel::TrainerModel
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerModel(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: sentencepiece::unigram::TrainerModel::Encode
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Encode(absl::string_view normalized) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: sentencepiece::unigram::Trainer::Trainer
    functionSourceFile: /src/sentencepiece/src/unigram_model_trainer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Trainer(const TrainerSpec& trainer_spec,\n          const NormalizerSpec&
      normalizer_spec,\n          const NormalizerSpec& denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:31,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:33,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:38,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:39,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: sentencepiece::character::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:47,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:48,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/char_model_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: sentencepiece::character::AddPiece
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:53,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:55,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:56,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:57,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:58,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:59,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:60,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:61,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:91,1
    - Dst: std::string
      Src: /src/sentencepiece/src/char_model_test.cc:94,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 108
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::character::AddPiece
    - sentencepiece::character::MakeBaseModelProto
    - EXPECT_TRUE
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - EXPECT_EQ
    - sentencepiece::character::MakeBaseModelProto
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(CharModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:31,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:33,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:38,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:39,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: sentencepiece::character::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 2
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:47,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:48,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/char_model_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: sentencepiece::character::AddPiece
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 1
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:53,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:55,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:56,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:57,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:58,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:59,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:60,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:61,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:91,1
    - Dst: std::string
      Src: /src/sentencepiece/src/char_model_test.cc:94,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 108
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::character::AddPiece
    - sentencepiece::character::MakeBaseModelProto
    - EXPECT_TRUE
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - EXPECT_EQ
    - sentencepiece::character::MakeBaseModelProto
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(CharModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:31,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:33,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:38,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:39,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: sentencepiece::character::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 4
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:47,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:48,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/char_model_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: sentencepiece::character::AddPiece
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 2
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:53,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:55,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:56,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:57,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:58,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:59,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:60,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:61,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:91,1
    - Dst: std::string
      Src: /src/sentencepiece/src/char_model_test.cc:94,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 108
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::character::AddPiece
    - sentencepiece::character::MakeBaseModelProto
    - EXPECT_TRUE
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - EXPECT_EQ
    - sentencepiece::character::MakeBaseModelProto
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(CharModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:31,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:33,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:38,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:39,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: sentencepiece::character::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 6
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:47,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:48,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/char_model_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: sentencepiece::character::AddPiece
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 3
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:53,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:55,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:56,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:57,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:58,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:59,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:60,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:61,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:91,1
    - Dst: std::string
      Src: /src/sentencepiece/src/char_model_test.cc:94,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 108
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::character::AddPiece
    - sentencepiece::character::MakeBaseModelProto
    - EXPECT_TRUE
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - EXPECT_EQ
    - sentencepiece::character::MakeBaseModelProto
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(CharModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:31,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:33,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:38,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:39,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: sentencepiece::character::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 8
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:47,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:48,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/char_model_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: sentencepiece::character::AddPiece
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 4
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:53,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:55,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:56,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:57,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:58,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:59,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:60,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:61,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:91,1
    - Dst: std::string
      Src: /src/sentencepiece/src/char_model_test.cc:94,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 108
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::character::AddPiece
    - sentencepiece::character::MakeBaseModelProto
    - EXPECT_TRUE
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - EXPECT_EQ
    - sentencepiece::character::MakeBaseModelProto
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(CharModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:31,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:33,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:38,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:39,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: sentencepiece::character::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 10
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:47,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:48,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/char_model_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: sentencepiece::character::AddPiece
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 5
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:53,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:55,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:56,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:57,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:58,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:59,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:60,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:61,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:91,1
    - Dst: std::string
      Src: /src/sentencepiece/src/char_model_test.cc:94,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 108
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::character::AddPiece
    - sentencepiece::character::MakeBaseModelProto
    - EXPECT_TRUE
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - EXPECT_EQ
    - sentencepiece::character::MakeBaseModelProto
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(CharModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:31,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:33,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:38,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:39,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: sentencepiece::character::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 12
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:47,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:48,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/char_model_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: sentencepiece::character::AddPiece
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 6
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:53,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:55,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:56,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:57,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:58,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:59,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:60,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:61,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:91,1
    - Dst: std::string
      Src: /src/sentencepiece/src/char_model_test.cc:94,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 108
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::character::AddPiece
    - sentencepiece::character::MakeBaseModelProto
    - EXPECT_TRUE
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - EXPECT_EQ
    - sentencepiece::character::MakeBaseModelProto
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(CharModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:31,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:33,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:35,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:36,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:37,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:38,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/char_model_test.cc:39,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 43
    functionName: sentencepiece::character::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 14
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:47,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/char_model_test.cc:48,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/char_model_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: sentencepiece::character::AddPiece
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 7
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:53,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:55,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:56,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:57,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:58,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:59,1
    - Dst: sentencepiece::character::AddPiece
      Src: /src/sentencepiece/src/char_model_test.cc:60,1
    - Dst: ModelProto::mutable_pieces
      Src: /src/sentencepiece/src/char_model_test.cc:61,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/char_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:78,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:91,1
    - Dst: std::string
      Src: /src/sentencepiece/src/char_model_test.cc:94,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:97,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/char_model_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/char_model_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 108
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::character::AddPiece
    - sentencepiece::character::MakeBaseModelProto
    - EXPECT_TRUE
    - EncodeResult::size
    - ModelProto::mutable_pieces
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::character::MakeBaseModelProto
      Src: /src/sentencepiece/src/char_model_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/char_model_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/char_model_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: sentencepiece::character::TEST
    functionSourceFile: /src/sentencepiece/src/char_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - EXPECT_EQ
    - sentencepiece::character::MakeBaseModelProto
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(CharModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/word_model.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: sentencepiece::word::Model::Model
    functionSourceFile: /src/sentencepiece/src/word_model.cc
    functionUses: 0
    functionsReached:
    - InitializePieces
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/word_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/word_model.cc:31,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/word_model.cc:31,1
    - Dst: SplitIntoWords
      Src: /src/sentencepiece/src/word_model.cc:36,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/word_model.cc:37,1
    - Dst: PieceToId
      Src: /src/sentencepiece/src/word_model.cc:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: sentencepiece::word::Model::Encode
    functionSourceFile: /src/sentencepiece/src/word_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - SplitIntoWords
    - status
    - PieceToId
    - EncodeResult::emplace_back
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::Encode(absl::string_view normalized) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/word_model.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: sentencepiece::word::Model::Model
    functionSourceFile: /src/sentencepiece/src/word_model.cc
    functionUses: 0
    functionsReached:
    - InitializePieces
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/word_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/word_model.cc:31,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/word_model.cc:31,1
    - Dst: SplitIntoWords
      Src: /src/sentencepiece/src/word_model.cc:36,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/word_model.cc:37,1
    - Dst: PieceToId
      Src: /src/sentencepiece/src/word_model.cc:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: sentencepiece::word::Model::Encode
    functionSourceFile: /src/sentencepiece/src/word_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - SplitIntoWords
    - status
    - PieceToId
    - EncodeResult::emplace_back
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::Encode(absl::string_view normalized) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/word_model.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: sentencepiece::word::Model::Model
    functionSourceFile: /src/sentencepiece/src/word_model.cc
    functionUses: 0
    functionsReached:
    - InitializePieces
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/word_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/word_model.cc:31,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/word_model.cc:31,1
    - Dst: SplitIntoWords
      Src: /src/sentencepiece/src/word_model.cc:36,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/word_model.cc:37,1
    - Dst: PieceToId
      Src: /src/sentencepiece/src/word_model.cc:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: sentencepiece::word::Model::Encode
    functionSourceFile: /src/sentencepiece/src/word_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - SplitIntoWords
    - status
    - PieceToId
    - EncodeResult::emplace_back
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::Encode(absl::string_view normalized) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/word_model.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: sentencepiece::word::Model::Model
    functionSourceFile: /src/sentencepiece/src/word_model.cc
    functionUses: 0
    functionsReached:
    - InitializePieces
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/word_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/word_model.cc:31,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/word_model.cc:31,1
    - Dst: SplitIntoWords
      Src: /src/sentencepiece/src/word_model.cc:36,1
    - Dst: EncodeResult::emplace_back
      Src: /src/sentencepiece/src/word_model.cc:37,1
    - Dst: PieceToId
      Src: /src/sentencepiece/src/word_model.cc:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - normalized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: sentencepiece::word::Model::Encode
    functionSourceFile: /src/sentencepiece/src/word_model.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - SplitIntoWords
    - status
    - PieceToId
    - EncodeResult::emplace_back
    linkageType: ''
    returnType: EncodeResult
    signature: EncodeResult Model::Encode(absl::string_view normalized) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/model_interface.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: sentencepiece::ModelInterface::ModelInterface
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: void
    signature: void ModelInterface::ModelInterface(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ModelInterface::~ModelInterface()
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelInterface::~ModelInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - default_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: RETURN_PIECE
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN_PIECE(name, default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_PIECE
      Src: /src/sentencepiece/src/model_interface.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: sentencepiece::ModelInterface::unk_piece
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached:
    - RETURN_PIECE
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ModelInterface::unk_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_PIECE
      Src: /src/sentencepiece/src/model_interface.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: sentencepiece::ModelInterface::bos_piece
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached:
    - RETURN_PIECE
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ModelInterface::bos_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_PIECE
      Src: /src/sentencepiece/src/model_interface.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: sentencepiece::ModelInterface::eos_piece
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached:
    - RETURN_PIECE
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ModelInterface::eos_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_PIECE
      Src: /src/sentencepiece/src/model_interface.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: sentencepiece::ModelInterface::pad_piece
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached:
    - RETURN_PIECE
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ModelInterface::pad_piece() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/model_interface.cc:54,1
    - Dst: end
      Src: /src/sentencepiece/src/model_interface.cc:54,1
    - Dst: sentencepiece::ModelInterface::PieceToIdNoReserved
      Src: /src/sentencepiece/src/model_interface.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: sentencepiece::ModelInterface::PieceToId
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached:
    - end
    - sentencepiece::ModelInterface::PieceToIdNoReserved
    - find
    linkageType: ''
    returnType: int
    signature: int ModelInterface::PieceToId(absl::string_view piece) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/model_interface.cc:61,1
    - Dst: end
      Src: /src/sentencepiece/src/model_interface.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: sentencepiece::ModelInterface::PieceToIdNoReserved
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 1
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: int
    signature: int ModelInterface::PieceToIdNoReserved(absl::string_view piece) const
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/src/model_interface.cc:68,1
    - Dst: clear
      Src: /src/sentencepiece/src/model_interface.cc:69,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.cc:77,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.cc:78,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:80,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:81,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:85,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:86,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:87,1
    - Dst: reserve
      Src: /src/sentencepiece/src/model_interface.cc:94,1
    - Dst: reserve
      Src: /src/sentencepiece/src/model_interface.cc:95,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.cc:97,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.cc:98,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:99,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:100,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:103,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:104,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:109,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:110,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:111,1
    - Dst: sentencepiece::port::InsertIfNotPresent
      Src: /src/sentencepiece/src/model_interface.cc:112,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:113,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:114,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/model_interface.cc:115,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:115,1
    - Dst: sentencepiece::port::InsertIfNotPresent
      Src: /src/sentencepiece/src/model_interface.cc:118,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:118,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:120,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/model_interface.cc:120,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:120,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:124,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/src/model_interface.cc:125,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:125,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:128,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:130,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:136,1
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/model_interface.cc:137,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:138,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/model_interface.cc:139,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:139,1
    - Dst: PieceToByte
      Src: /src/sentencepiece/src/model_interface.cc:143,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:143,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:147,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/model_interface.cc:148,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:148,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:155,1
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/model_interface.cc:159,1
    - Dst: std::find
      Src: /src/sentencepiece/src/model_interface.cc:161,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/model_interface.cc:161,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/model_interface.cc:161,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/model_interface.cc:162,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:163,1
    - Dst: std::make_unique<normalizer::PrefixMatcher>
      Src: /src/sentencepiece/src/model_interface.cc:169,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 1
    argNames:
    - use_reserved_id_map
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 170
    functionName: sentencepiece::ModelInterface::InitializePieces
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached:
    - type
    - reserve
    - std::set::insert
    - trainer_spec
    - piece
    - PieceToByte
    - google::protobuf::StrCat
    - std::make_unique<normalizer::PrefixMatcher>
    - sentencepiece::port::InsertIfNotPresent
    - std::find
    - clear
    - std::vector::end
    - pieces
    - std::vector::begin
    - pieces_size
    - absl::InternalError
    linkageType: ''
    returnType: void
    signature: void ModelInterface::InitializePieces(bool use_reserved_id_map)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/model_interface.cc:175,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/model_interface.cc:176,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/model_interface.cc:176,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/model_interface.cc:185,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/model_interface.cc:189,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/model_interface.cc:189,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/model_interface.cc:190,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/model_interface.cc:196,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/model_interface.cc:202,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/model_interface.cc:203,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/model_interface.cc:203,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/model_interface.cc:203,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/model_interface.cc:207,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/model_interface.cc:213,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/model_interface.cc:213,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/model_interface.cc:214,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/model_interface.cc:217,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/model_interface.cc:219,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/model_interface.cc:227,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/model_interface.cc:228,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/model_interface.cc:228,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/model_interface.cc:228,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 3
    argNames:
    - text
    - treat_ws_as_suffix
    - allow_ws_only_pieces
    argTypes:
    - absl::string_view
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 234
    functionName: sentencepiece::SplitIntoWords
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 12
    functionsReached:
    - std::vector::back
    - absl::string_view::data
    - std::min<int>
    - std::vector::emplace_back
    - google::protobuf::as_string_view
    - absl::string_view::size
    - sentencepiece::string_util::OneCharLen
    linkageType: ''
    returnType: std::vector<absl::string_view>
    signature: "std::vector<absl::string_view> SplitIntoWords(absl::string_view text,\n
      \                                             bool treat_ws_as_suffix,\n                                              bool
      allow_ws_only_pieces)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>::string>
      Src: /src/sentencepiece/src/model_interface.cc:238,1
    - Dst: absl::StrFormat
      Src: /src/sentencepiece/src/model_interface.cc:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: sentencepiece::ByteToPiece
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 11
    functionsReached:
    - absl::StrFormat
    - std::vector<std::string>::string>
    linkageType: ''
    returnType: std::string
    signature: std::string & ByteToPiece(unsigned char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PieceToByteMap::PieceToByteMap
      Src: /src/sentencepiece/src/model_interface.cc:250,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface.cc:252,1
    - Dst: auto*::find
      Src: /src/sentencepiece/src/model_interface.cc:257,1
    - Dst: auto*::end
      Src: /src/sentencepiece/src/model_interface.cc:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 262
    functionName: sentencepiece::PieceToByte
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 4
    functionsReached:
    - auto*::end
    - PieceToByteMap::PieceToByteMap
    - auto*::find
    - sentencepiece::ByteToPiece
    linkageType: ''
    returnType: int
    signature: int PieceToByte(absl::string_view piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/model_interface.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: sentencepiece::ModelInterface::ModelInterface
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: void
    signature: void ModelInterface::ModelInterface(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ModelInterface::~ModelInterface()
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelInterface::~ModelInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - default_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: RETURN_PIECE
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN_PIECE(name, default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_PIECE
      Src: /src/sentencepiece/src/model_interface.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: sentencepiece::ModelInterface::unk_piece
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached:
    - RETURN_PIECE
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ModelInterface::unk_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_PIECE
      Src: /src/sentencepiece/src/model_interface.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: sentencepiece::ModelInterface::bos_piece
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached:
    - RETURN_PIECE
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ModelInterface::bos_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_PIECE
      Src: /src/sentencepiece/src/model_interface.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: sentencepiece::ModelInterface::eos_piece
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached:
    - RETURN_PIECE
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ModelInterface::eos_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_PIECE
      Src: /src/sentencepiece/src/model_interface.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: sentencepiece::ModelInterface::pad_piece
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached:
    - RETURN_PIECE
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ModelInterface::pad_piece() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/model_interface.cc:54,1
    - Dst: end
      Src: /src/sentencepiece/src/model_interface.cc:54,1
    - Dst: sentencepiece::ModelInterface::PieceToIdNoReserved
      Src: /src/sentencepiece/src/model_interface.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: sentencepiece::ModelInterface::PieceToId
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached:
    - end
    - sentencepiece::ModelInterface::PieceToIdNoReserved
    - find
    linkageType: ''
    returnType: int
    signature: int ModelInterface::PieceToId(absl::string_view piece) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/model_interface.cc:61,1
    - Dst: end
      Src: /src/sentencepiece/src/model_interface.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: sentencepiece::ModelInterface::PieceToIdNoReserved
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 2
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: int
    signature: int ModelInterface::PieceToIdNoReserved(absl::string_view piece) const
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/src/model_interface.cc:68,1
    - Dst: clear
      Src: /src/sentencepiece/src/model_interface.cc:69,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.cc:77,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.cc:78,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:80,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:81,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:85,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:86,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:87,1
    - Dst: reserve
      Src: /src/sentencepiece/src/model_interface.cc:94,1
    - Dst: reserve
      Src: /src/sentencepiece/src/model_interface.cc:95,1
    - Dst: pieces_size
      Src: /src/sentencepiece/src/model_interface.cc:97,1
    - Dst: pieces
      Src: /src/sentencepiece/src/model_interface.cc:98,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:99,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:100,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:103,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:104,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:109,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:110,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:111,1
    - Dst: sentencepiece::port::InsertIfNotPresent
      Src: /src/sentencepiece/src/model_interface.cc:112,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:113,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:114,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/model_interface.cc:115,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:115,1
    - Dst: sentencepiece::port::InsertIfNotPresent
      Src: /src/sentencepiece/src/model_interface.cc:118,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:118,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:120,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/model_interface.cc:120,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:120,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:124,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/src/model_interface.cc:125,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:125,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:128,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:130,1
    - Dst: type
      Src: /src/sentencepiece/src/model_interface.cc:136,1
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/model_interface.cc:137,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:138,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/model_interface.cc:139,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:139,1
    - Dst: PieceToByte
      Src: /src/sentencepiece/src/model_interface.cc:143,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:143,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:147,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/model_interface.cc:148,1
    - Dst: piece
      Src: /src/sentencepiece/src/model_interface.cc:148,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:155,1
    - Dst: trainer_spec
      Src: /src/sentencepiece/src/model_interface.cc:159,1
    - Dst: std::find
      Src: /src/sentencepiece/src/model_interface.cc:161,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/model_interface.cc:161,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/model_interface.cc:161,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/model_interface.cc:162,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/model_interface.cc:163,1
    - Dst: std::make_unique<normalizer::PrefixMatcher>
      Src: /src/sentencepiece/src/model_interface.cc:169,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 1
    argNames:
    - use_reserved_id_map
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 170
    functionName: sentencepiece::ModelInterface::InitializePieces
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 0
    functionsReached:
    - type
    - reserve
    - std::set::insert
    - trainer_spec
    - piece
    - PieceToByte
    - google::protobuf::StrCat
    - std::make_unique<normalizer::PrefixMatcher>
    - sentencepiece::port::InsertIfNotPresent
    - std::find
    - clear
    - std::vector::end
    - pieces
    - std::vector::begin
    - pieces_size
    - absl::InternalError
    linkageType: ''
    returnType: void
    signature: void ModelInterface::InitializePieces(bool use_reserved_id_map)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/model_interface.cc:175,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/model_interface.cc:176,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/model_interface.cc:176,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/model_interface.cc:185,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/model_interface.cc:189,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/model_interface.cc:189,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/model_interface.cc:190,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/model_interface.cc:196,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/model_interface.cc:202,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/model_interface.cc:203,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/model_interface.cc:203,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/model_interface.cc:203,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/model_interface.cc:207,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/model_interface.cc:213,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/model_interface.cc:213,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/model_interface.cc:214,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/model_interface.cc:217,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/model_interface.cc:219,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/model_interface.cc:227,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/model_interface.cc:228,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/model_interface.cc:228,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/model_interface.cc:228,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 3
    argNames:
    - text
    - treat_ws_as_suffix
    - allow_ws_only_pieces
    argTypes:
    - absl::string_view
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 234
    functionName: sentencepiece::SplitIntoWords
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 12
    functionsReached:
    - std::vector::back
    - absl::string_view::data
    - std::min<int>
    - std::vector::emplace_back
    - google::protobuf::as_string_view
    - absl::string_view::size
    - sentencepiece::string_util::OneCharLen
    linkageType: ''
    returnType: std::vector<absl::string_view>
    signature: "std::vector<absl::string_view> SplitIntoWords(absl::string_view text,\n
      \                                             bool treat_ws_as_suffix,\n                                              bool
      allow_ws_only_pieces)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<std::string>::string>
      Src: /src/sentencepiece/src/model_interface.cc:238,1
    - Dst: absl::StrFormat
      Src: /src/sentencepiece/src/model_interface.cc:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: sentencepiece::ByteToPiece
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 12
    functionsReached:
    - absl::StrFormat
    - std::vector<std::string>::string>
    linkageType: ''
    returnType: std::string
    signature: std::string & ByteToPiece(unsigned char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PieceToByteMap::PieceToByteMap
      Src: /src/sentencepiece/src/model_interface.cc:250,1
    - Dst: sentencepiece::ByteToPiece
      Src: /src/sentencepiece/src/model_interface.cc:252,1
    - Dst: auto*::find
      Src: /src/sentencepiece/src/model_interface.cc:257,1
    - Dst: auto*::end
      Src: /src/sentencepiece/src/model_interface.cc:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - piece
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 262
    functionName: sentencepiece::PieceToByte
    functionSourceFile: /src/sentencepiece/src/model_interface.cc
    functionUses: 4
    functionsReached:
    - auto*::end
    - PieceToByteMap::PieceToByteMap
    - auto*::find
    - sentencepiece::ByteToPiece
    linkageType: ''
    returnType: int
    signature: int PieceToByte(absl::string_view piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/testharness.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: testing::TempDir
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 84
    functionsReached:
    - absl::GetFlag
    linkageType: ''
    returnType: std::string
    signature: std::string TempDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/testharness.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: testing::SrcDir
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 76
    functionsReached:
    - absl::GetFlag
    linkageType: ''
    returnType: std::string
    signature: std::string SrcDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/testharness.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: testing::TempDir
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 84
    functionsReached:
    - absl::GetFlag
    linkageType: ''
    returnType: std::string
    signature: std::string TempDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/testharness.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: testing::SrcDir
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 76
    functionsReached:
    - absl::GetFlag
    linkageType: ''
    returnType: std::string
    signature: std::string SrcDir()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fname
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: sentencepiece::test::Tester::Tester
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tester(const char* fname, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/sentencepiece/src/testharness.h:54,1
    - Dst: exit
      Src: /src/sentencepiece/src/testharness.h:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: ~Tester()
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - exit
    - str
    linkageType: ''
    returnType: void
    signature: void ~Tester()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - b
    - msg
    argTypes:
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: '& Is(bool b, const char* msg)'
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Tester
    signature: Tester & Is(bool b, const char* msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/sentencepiece/src/testharness.h:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - val1
    - val2
    - abs_error
    - msg1
    - msg2
    argTypes:
    - double
    - double
    - double
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: "& IsNear(double val1, double val2, double abs_error, const char*
      msg1,\n                 const char* msg2)"
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - std::fabs
    linkageType: ''
    returnType: Tester
    signature: "Tester & IsNear(double val1, double val2, double abs_error, const
      char* msg1,\n                 const char* msg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: BINARY_OP
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BINARY_OP(name, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: 'std::stringstream ss_;

        };


        #define EXPECT_TRUE'
      Src: /src/sentencepiece/src/testharness.h:112,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:116,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/testharness.h:117,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:118,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/testharness.h:119,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:120,1
    - Dst: std::string
      Src: /src/sentencepiece/src/testharness.h:121,1
    - Dst: std::string
      Src: /src/sentencepiece/src/testharness.h:121,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/testharness.h:122,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:123,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/testharness.h:124,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:125,1
    - Dst: EXPECT_GE
      Src: /src/sentencepiece/src/testharness.h:126,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:127,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/testharness.h:128,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:129,1
    - Dst: EXPECT_LE
      Src: /src/sentencepiece/src/testharness.h:130,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:131,1
    - Dst: EXPECT_LT
      Src: /src/sentencepiece/src/testharness.h:132,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:133,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/testharness.h:134,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:135,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/testharness.h:136,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/testharness.h:136,1
    - Dst: ok
      Src: /src/sentencepiece/src/testharness.h:136,1
    - Dst: EXPECT_NOT_OK
      Src: /src/sentencepiece/src/testharness.h:137,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/testharness.h:137,1
    - Dst: ok
      Src: /src/sentencepiece/src/testharness.h:137,1
    - Dst: ASSERT_OK
      Src: /src/sentencepiece/src/testharness.h:138,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/testharness.h:138,1
    - Dst: ok
      Src: /src/sentencepiece/src/testharness.h:138,1
    - Dst: ParamType
      Src: /src/sentencepiece/src/testharness.h:159,1
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:171,1
    - Dst: TEST
      Src: /src/sentencepiece/src/testharness.h:175,1
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:176,1
    - Dst: _Run
      Src: /src/sentencepiece/src/testharness.h:178,1
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 198
    functionName: sentencepiece::test::Tester::BINARY_OP
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - EXPECT_STREQ
    - EXPECT_OK
    - TEST
    - EXPECT_EQ
    - _Run
    - EXPECT_GE
    - ASSERT_OK
    - EXPECT_NE
    - EXPECT_LT
    - TCONCAT
    - ASSERT_TRUE
    - EXPECT_GT
    - std::string
    - EXPECT_TRUE
    - 'std::stringstream ss_;

      };


      #define EXPECT_TRUE'
    - ParamType
    - ok
    - EXPECT_LE
    - sentencepiece::test::Tester::Tester
    - EXPECT_NEAR
    - EXPECT_FALSE
    - EXPECT_NOT_OK
    linkageType: ''
    returnType: void
    signature: "void BINARY_OP(IsEq, ==)\n  BINARY_OP(IsNe, !=)\n  BINARY_OP(IsGe,
      >=)\n  BINARY_OP(IsGt, >)\n  BINARY_OP(IsLe, <=)\n  BINARY_OP(IsLt, <)\n#undef
      BINARY_OP\n\n  // Attach the specified value to the error message if an error
      has occurred\n  template <class V>\n  Tester& operator<<(const V& value) {\n
      \   if (!ok_) {\n      ss_ << \" \" << value;\n    }\n    return *this;\n  }\n\n
      private:\n  bool ok_;\n  const char* fname_;\n  int line_;\n  std::stringstream
      ss_;\n};\n\n#define EXPECT_TRUE(c) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).Is((c), #c)\n#define EXPECT_FALSE(c) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).Is((!(c)), #c)\n#define EXPECT_STREQ(a, b)                        \\\n
      \ sentencepiece::test::Tester(__FILE__, __LINE__) \\\n      .IsEq(std::string(a),
      std::string(b), #a, #b)\n#define EXPECT_EQ(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsEq((a), (b), #a, #b)\n#define EXPECT_NE(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsNe((a), (b), #a, #b)\n#define EXPECT_GE(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsGe((a), (b), #a, #b)\n#define EXPECT_GT(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsGt((a), (b), #a, #b)\n#define EXPECT_LE(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsLe((a), (b), #a, #b)\n#define EXPECT_LT(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsLt((a), (b), #a, #b)\n#define EXPECT_NEAR(a, b, c) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsNear((a), (b), (c), #a, #b)\n#define EXPECT_OK(c) EXPECT_TRUE((c).ok())\n#define
      EXPECT_NOT_OK(c) EXPECT_FALSE((c).ok())\n#define ASSERT_OK(c) ASSERT_TRUE((c).ok())\n\n#define
      ASSERT_TRUE EXPECT_TRUE\n#define ASSERT_FALSE EXPECT_FALSE\n#define ASSERT_STREQ
      EXPECT_STREQ\n#define ASSERT_EQ EXPECT_EQ\n#define ASSERT_NE EXPECT_NE\n#define
      ASSERT_GE EXPECT_GE\n#define ASSERT_GT EXPECT_GT\n#define ASSERT_LE EXPECT_LE\n#define
      ASSERT_LT EXPECT_LT\n#define ASSERT_NEAR EXPECT_NEAR\n#define ASSERT_NOT_OK
      EXPECT_NOT_OK\n\ntemplate <typename T>\nclass TestWithParam {\n public:\n  using
      ParamType = T;\n  virtual void SetUp() {}\n  virtual void TearDown() {}\n  virtual
      ~TestWithParam() {}\n  virtual ParamType GetParam() const { return ParamType();
      }\n};\n\ntemplate <typename T>\nstd::vector<T> ValuesIn(const std::vector<T>&
      v) {\n  return v;\n}\n\n#define TCONCAT(a, b, c) TCONCAT1(a, b, c)\n#define
      TCONCAT1(a, b, c) a##b##c\n\n#define INSTANTIATE_TEST_SUITE_P(suite_base, base,
      params)           \\\n  std::vector<base::ParamType> TCONCAT(base, _get_params_,
      base)() { \\\n    return params;                                                   \\\n
      \ }\n\n#define TEST(base, name)                                                       \\\n
      \ class TCONCAT(base, _Test_, name) {                                          \\\n
      \  public:                                                                     \\\n
      \   void _Run();                                                               \\\n
      \   static void _RunIt() {                                                     \\\n
      \     TCONCAT(base, _Test_, name) t;                                           \\\n
      \     t._Run();                                                                \\\n
      \   }                                                                          \\\n
      \ };                                                                           \\\n
      \ bool TCONCAT(base, _Test_ignored_, name) =                                   \\\n
      \     sentencepiece::test::RegisterTest(#base, #name,                          \\\n
      \                                       &TCONCAT(base, _Test_, name)::_RunIt);
      \\\n  void TCONCAT(base, _Test_, name)::_Run()\n\n#define TEST_P(base, name)
      \                                         \\\n  std::vector<base::ParamType>
      TCONCAT(base, _get_params_, base)(); \\\n  class TCONCAT(base, _Test_p_, name)
      : public base {               \\\n   public:                                                          \\\n
      \   std::vector<ParamType> GetParams() const {                      \\\n      return
      TCONCAT(base, _get_params_, base)();                   \\\n    }                                                               \\\n
      \   ParamType param_;                                               \\\n    void
      SetParam(const ParamType& param) { param_ = param; }       \\\n    ParamType
      GetParam() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: sentencepiece::test::Tester::SetUp
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: sentencepiece::test::Tester::TearDown
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: ~TestWithParam()
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TestWithParam()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParamType
      Src: /src/sentencepiece/src/testharness.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: sentencepiece::test::Tester::GetParam
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - ParamType
    linkageType: ''
    returnType: ParamType
    signature: ParamType GetParam() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:201,1
    - Dst: GetParams
      Src: /src/sentencepiece/src/testharness.h:202,1
    - Dst: SetParam
      Src: /src/sentencepiece/src/testharness.h:203,1
    - Dst: sentencepiece::test::Tester::SetUp
      Src: /src/sentencepiece/src/testharness.h:204,1
    - Dst: _Run
      Src: /src/sentencepiece/src/testharness.h:205,1
    - Dst: sentencepiece::test::Tester::TearDown
      Src: /src/sentencepiece/src/testharness.h:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: sentencepiece::test::Tester::_RunIt
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - sentencepiece::test::Tester::SetUp
    - TCONCAT
    - _Run
    - SetParam
    - GetParams
    - sentencepiece::test::Tester::TearDown
    linkageType: ''
    returnType: void
    signature: void _RunIt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fname
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: sentencepiece::test::Tester::Tester
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tester(const char* fname, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/sentencepiece/src/testharness.h:54,1
    - Dst: exit
      Src: /src/sentencepiece/src/testharness.h:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: ~Tester()
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - exit
    - str
    linkageType: ''
    returnType: void
    signature: void ~Tester()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - b
    - msg
    argTypes:
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: '& Is(bool b, const char* msg)'
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Tester
    signature: Tester & Is(bool b, const char* msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/sentencepiece/src/testharness.h:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - val1
    - val2
    - abs_error
    - msg1
    - msg2
    argTypes:
    - double
    - double
    - double
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: "& IsNear(double val1, double val2, double abs_error, const char*
      msg1,\n                 const char* msg2)"
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - std::fabs
    linkageType: ''
    returnType: Tester
    signature: "Tester & IsNear(double val1, double val2, double abs_error, const
      char* msg1,\n                 const char* msg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: BINARY_OP
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BINARY_OP(name, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: 'std::stringstream ss_;

        };


        #define EXPECT_TRUE'
      Src: /src/sentencepiece/src/testharness.h:112,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:116,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/testharness.h:117,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:118,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/testharness.h:119,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:120,1
    - Dst: std::string
      Src: /src/sentencepiece/src/testharness.h:121,1
    - Dst: std::string
      Src: /src/sentencepiece/src/testharness.h:121,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/testharness.h:122,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:123,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/testharness.h:124,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:125,1
    - Dst: EXPECT_GE
      Src: /src/sentencepiece/src/testharness.h:126,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:127,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/testharness.h:128,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:129,1
    - Dst: EXPECT_LE
      Src: /src/sentencepiece/src/testharness.h:130,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:131,1
    - Dst: EXPECT_LT
      Src: /src/sentencepiece/src/testharness.h:132,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:133,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/testharness.h:134,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:135,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/testharness.h:136,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/testharness.h:136,1
    - Dst: ok
      Src: /src/sentencepiece/src/testharness.h:136,1
    - Dst: EXPECT_NOT_OK
      Src: /src/sentencepiece/src/testharness.h:137,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/testharness.h:137,1
    - Dst: ok
      Src: /src/sentencepiece/src/testharness.h:137,1
    - Dst: ASSERT_OK
      Src: /src/sentencepiece/src/testharness.h:138,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/testharness.h:138,1
    - Dst: ok
      Src: /src/sentencepiece/src/testharness.h:138,1
    - Dst: ParamType
      Src: /src/sentencepiece/src/testharness.h:159,1
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:171,1
    - Dst: TEST
      Src: /src/sentencepiece/src/testharness.h:175,1
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:176,1
    - Dst: _Run
      Src: /src/sentencepiece/src/testharness.h:178,1
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 198
    functionName: sentencepiece::test::Tester::BINARY_OP
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - EXPECT_STREQ
    - EXPECT_OK
    - TEST
    - EXPECT_EQ
    - _Run
    - EXPECT_GE
    - ASSERT_OK
    - EXPECT_NE
    - EXPECT_LT
    - TCONCAT
    - ASSERT_TRUE
    - EXPECT_GT
    - std::string
    - EXPECT_TRUE
    - 'std::stringstream ss_;

      };


      #define EXPECT_TRUE'
    - ParamType
    - ok
    - EXPECT_LE
    - sentencepiece::test::Tester::Tester
    - EXPECT_NEAR
    - EXPECT_FALSE
    - EXPECT_NOT_OK
    linkageType: ''
    returnType: void
    signature: "void BINARY_OP(IsEq, ==)\n  BINARY_OP(IsNe, !=)\n  BINARY_OP(IsGe,
      >=)\n  BINARY_OP(IsGt, >)\n  BINARY_OP(IsLe, <=)\n  BINARY_OP(IsLt, <)\n#undef
      BINARY_OP\n\n  // Attach the specified value to the error message if an error
      has occurred\n  template <class V>\n  Tester& operator<<(const V& value) {\n
      \   if (!ok_) {\n      ss_ << \" \" << value;\n    }\n    return *this;\n  }\n\n
      private:\n  bool ok_;\n  const char* fname_;\n  int line_;\n  std::stringstream
      ss_;\n};\n\n#define EXPECT_TRUE(c) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).Is((c), #c)\n#define EXPECT_FALSE(c) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).Is((!(c)), #c)\n#define EXPECT_STREQ(a, b)                        \\\n
      \ sentencepiece::test::Tester(__FILE__, __LINE__) \\\n      .IsEq(std::string(a),
      std::string(b), #a, #b)\n#define EXPECT_EQ(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsEq((a), (b), #a, #b)\n#define EXPECT_NE(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsNe((a), (b), #a, #b)\n#define EXPECT_GE(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsGe((a), (b), #a, #b)\n#define EXPECT_GT(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsGt((a), (b), #a, #b)\n#define EXPECT_LE(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsLe((a), (b), #a, #b)\n#define EXPECT_LT(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsLt((a), (b), #a, #b)\n#define EXPECT_NEAR(a, b, c) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsNear((a), (b), (c), #a, #b)\n#define EXPECT_OK(c) EXPECT_TRUE((c).ok())\n#define
      EXPECT_NOT_OK(c) EXPECT_FALSE((c).ok())\n#define ASSERT_OK(c) ASSERT_TRUE((c).ok())\n\n#define
      ASSERT_TRUE EXPECT_TRUE\n#define ASSERT_FALSE EXPECT_FALSE\n#define ASSERT_STREQ
      EXPECT_STREQ\n#define ASSERT_EQ EXPECT_EQ\n#define ASSERT_NE EXPECT_NE\n#define
      ASSERT_GE EXPECT_GE\n#define ASSERT_GT EXPECT_GT\n#define ASSERT_LE EXPECT_LE\n#define
      ASSERT_LT EXPECT_LT\n#define ASSERT_NEAR EXPECT_NEAR\n#define ASSERT_NOT_OK
      EXPECT_NOT_OK\n\ntemplate <typename T>\nclass TestWithParam {\n public:\n  using
      ParamType = T;\n  virtual void SetUp() {}\n  virtual void TearDown() {}\n  virtual
      ~TestWithParam() {}\n  virtual ParamType GetParam() const { return ParamType();
      }\n};\n\ntemplate <typename T>\nstd::vector<T> ValuesIn(const std::vector<T>&
      v) {\n  return v;\n}\n\n#define TCONCAT(a, b, c) TCONCAT1(a, b, c)\n#define
      TCONCAT1(a, b, c) a##b##c\n\n#define INSTANTIATE_TEST_SUITE_P(suite_base, base,
      params)           \\\n  std::vector<base::ParamType> TCONCAT(base, _get_params_,
      base)() { \\\n    return params;                                                   \\\n
      \ }\n\n#define TEST(base, name)                                                       \\\n
      \ class TCONCAT(base, _Test_, name) {                                          \\\n
      \  public:                                                                     \\\n
      \   void _Run();                                                               \\\n
      \   static void _RunIt() {                                                     \\\n
      \     TCONCAT(base, _Test_, name) t;                                           \\\n
      \     t._Run();                                                                \\\n
      \   }                                                                          \\\n
      \ };                                                                           \\\n
      \ bool TCONCAT(base, _Test_ignored_, name) =                                   \\\n
      \     sentencepiece::test::RegisterTest(#base, #name,                          \\\n
      \                                       &TCONCAT(base, _Test_, name)::_RunIt);
      \\\n  void TCONCAT(base, _Test_, name)::_Run()\n\n#define TEST_P(base, name)
      \                                         \\\n  std::vector<base::ParamType>
      TCONCAT(base, _get_params_, base)(); \\\n  class TCONCAT(base, _Test_p_, name)
      : public base {               \\\n   public:                                                          \\\n
      \   std::vector<ParamType> GetParams() const {                      \\\n      return
      TCONCAT(base, _get_params_, base)();                   \\\n    }                                                               \\\n
      \   ParamType param_;                                               \\\n    void
      SetParam(const ParamType& param) { param_ = param; }       \\\n    ParamType
      GetParam() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: sentencepiece::test::Tester::SetUp
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: sentencepiece::test::Tester::TearDown
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: ~TestWithParam()
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TestWithParam()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParamType
      Src: /src/sentencepiece/src/testharness.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: sentencepiece::test::Tester::GetParam
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - ParamType
    linkageType: ''
    returnType: ParamType
    signature: ParamType GetParam() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:201,1
    - Dst: GetParams
      Src: /src/sentencepiece/src/testharness.h:202,1
    - Dst: SetParam
      Src: /src/sentencepiece/src/testharness.h:203,1
    - Dst: sentencepiece::test::Tester::SetUp
      Src: /src/sentencepiece/src/testharness.h:204,1
    - Dst: _Run
      Src: /src/sentencepiece/src/testharness.h:205,1
    - Dst: sentencepiece::test::Tester::TearDown
      Src: /src/sentencepiece/src/testharness.h:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: sentencepiece::test::Tester::_RunIt
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - sentencepiece::test::Tester::SetUp
    - TCONCAT
    - _Run
    - SetParam
    - GetParams
    - sentencepiece::test::Tester::TearDown
    linkageType: ''
    returnType: void
    signature: void _RunIt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fname
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: sentencepiece::test::Tester::Tester
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tester(const char* fname, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/sentencepiece/src/testharness.h:54,1
    - Dst: exit
      Src: /src/sentencepiece/src/testharness.h:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: ~Tester()
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - exit
    - str
    linkageType: ''
    returnType: void
    signature: void ~Tester()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - b
    - msg
    argTypes:
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: '& Is(bool b, const char* msg)'
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Tester
    signature: Tester & Is(bool b, const char* msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/sentencepiece/src/testharness.h:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - val1
    - val2
    - abs_error
    - msg1
    - msg2
    argTypes:
    - double
    - double
    - double
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: "& IsNear(double val1, double val2, double abs_error, const char*
      msg1,\n                 const char* msg2)"
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - std::fabs
    linkageType: ''
    returnType: Tester
    signature: "Tester & IsNear(double val1, double val2, double abs_error, const
      char* msg1,\n                 const char* msg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: BINARY_OP
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BINARY_OP(name, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: 'std::stringstream ss_;

        };


        #define EXPECT_TRUE'
      Src: /src/sentencepiece/src/testharness.h:112,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:116,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/testharness.h:117,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:118,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/testharness.h:119,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:120,1
    - Dst: std::string
      Src: /src/sentencepiece/src/testharness.h:121,1
    - Dst: std::string
      Src: /src/sentencepiece/src/testharness.h:121,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/testharness.h:122,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:123,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/testharness.h:124,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:125,1
    - Dst: EXPECT_GE
      Src: /src/sentencepiece/src/testharness.h:126,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:127,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/testharness.h:128,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:129,1
    - Dst: EXPECT_LE
      Src: /src/sentencepiece/src/testharness.h:130,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:131,1
    - Dst: EXPECT_LT
      Src: /src/sentencepiece/src/testharness.h:132,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:133,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/testharness.h:134,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:135,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/testharness.h:136,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/testharness.h:136,1
    - Dst: ok
      Src: /src/sentencepiece/src/testharness.h:136,1
    - Dst: EXPECT_NOT_OK
      Src: /src/sentencepiece/src/testharness.h:137,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/testharness.h:137,1
    - Dst: ok
      Src: /src/sentencepiece/src/testharness.h:137,1
    - Dst: ASSERT_OK
      Src: /src/sentencepiece/src/testharness.h:138,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/testharness.h:138,1
    - Dst: ok
      Src: /src/sentencepiece/src/testharness.h:138,1
    - Dst: ParamType
      Src: /src/sentencepiece/src/testharness.h:159,1
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:171,1
    - Dst: TEST
      Src: /src/sentencepiece/src/testharness.h:175,1
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:176,1
    - Dst: _Run
      Src: /src/sentencepiece/src/testharness.h:178,1
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 198
    functionName: sentencepiece::test::Tester::BINARY_OP
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - EXPECT_STREQ
    - EXPECT_OK
    - TEST
    - EXPECT_EQ
    - _Run
    - EXPECT_GE
    - ASSERT_OK
    - EXPECT_NE
    - EXPECT_LT
    - TCONCAT
    - ASSERT_TRUE
    - EXPECT_GT
    - std::string
    - EXPECT_TRUE
    - 'std::stringstream ss_;

      };


      #define EXPECT_TRUE'
    - ParamType
    - ok
    - EXPECT_LE
    - sentencepiece::test::Tester::Tester
    - EXPECT_NEAR
    - EXPECT_FALSE
    - EXPECT_NOT_OK
    linkageType: ''
    returnType: void
    signature: "void BINARY_OP(IsEq, ==)\n  BINARY_OP(IsNe, !=)\n  BINARY_OP(IsGe,
      >=)\n  BINARY_OP(IsGt, >)\n  BINARY_OP(IsLe, <=)\n  BINARY_OP(IsLt, <)\n#undef
      BINARY_OP\n\n  // Attach the specified value to the error message if an error
      has occurred\n  template <class V>\n  Tester& operator<<(const V& value) {\n
      \   if (!ok_) {\n      ss_ << \" \" << value;\n    }\n    return *this;\n  }\n\n
      private:\n  bool ok_;\n  const char* fname_;\n  int line_;\n  std::stringstream
      ss_;\n};\n\n#define EXPECT_TRUE(c) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).Is((c), #c)\n#define EXPECT_FALSE(c) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).Is((!(c)), #c)\n#define EXPECT_STREQ(a, b)                        \\\n
      \ sentencepiece::test::Tester(__FILE__, __LINE__) \\\n      .IsEq(std::string(a),
      std::string(b), #a, #b)\n#define EXPECT_EQ(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsEq((a), (b), #a, #b)\n#define EXPECT_NE(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsNe((a), (b), #a, #b)\n#define EXPECT_GE(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsGe((a), (b), #a, #b)\n#define EXPECT_GT(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsGt((a), (b), #a, #b)\n#define EXPECT_LE(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsLe((a), (b), #a, #b)\n#define EXPECT_LT(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsLt((a), (b), #a, #b)\n#define EXPECT_NEAR(a, b, c) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsNear((a), (b), (c), #a, #b)\n#define EXPECT_OK(c) EXPECT_TRUE((c).ok())\n#define
      EXPECT_NOT_OK(c) EXPECT_FALSE((c).ok())\n#define ASSERT_OK(c) ASSERT_TRUE((c).ok())\n\n#define
      ASSERT_TRUE EXPECT_TRUE\n#define ASSERT_FALSE EXPECT_FALSE\n#define ASSERT_STREQ
      EXPECT_STREQ\n#define ASSERT_EQ EXPECT_EQ\n#define ASSERT_NE EXPECT_NE\n#define
      ASSERT_GE EXPECT_GE\n#define ASSERT_GT EXPECT_GT\n#define ASSERT_LE EXPECT_LE\n#define
      ASSERT_LT EXPECT_LT\n#define ASSERT_NEAR EXPECT_NEAR\n#define ASSERT_NOT_OK
      EXPECT_NOT_OK\n\ntemplate <typename T>\nclass TestWithParam {\n public:\n  using
      ParamType = T;\n  virtual void SetUp() {}\n  virtual void TearDown() {}\n  virtual
      ~TestWithParam() {}\n  virtual ParamType GetParam() const { return ParamType();
      }\n};\n\ntemplate <typename T>\nstd::vector<T> ValuesIn(const std::vector<T>&
      v) {\n  return v;\n}\n\n#define TCONCAT(a, b, c) TCONCAT1(a, b, c)\n#define
      TCONCAT1(a, b, c) a##b##c\n\n#define INSTANTIATE_TEST_SUITE_P(suite_base, base,
      params)           \\\n  std::vector<base::ParamType> TCONCAT(base, _get_params_,
      base)() { \\\n    return params;                                                   \\\n
      \ }\n\n#define TEST(base, name)                                                       \\\n
      \ class TCONCAT(base, _Test_, name) {                                          \\\n
      \  public:                                                                     \\\n
      \   void _Run();                                                               \\\n
      \   static void _RunIt() {                                                     \\\n
      \     TCONCAT(base, _Test_, name) t;                                           \\\n
      \     t._Run();                                                                \\\n
      \   }                                                                          \\\n
      \ };                                                                           \\\n
      \ bool TCONCAT(base, _Test_ignored_, name) =                                   \\\n
      \     sentencepiece::test::RegisterTest(#base, #name,                          \\\n
      \                                       &TCONCAT(base, _Test_, name)::_RunIt);
      \\\n  void TCONCAT(base, _Test_, name)::_Run()\n\n#define TEST_P(base, name)
      \                                         \\\n  std::vector<base::ParamType>
      TCONCAT(base, _get_params_, base)(); \\\n  class TCONCAT(base, _Test_p_, name)
      : public base {               \\\n   public:                                                          \\\n
      \   std::vector<ParamType> GetParams() const {                      \\\n      return
      TCONCAT(base, _get_params_, base)();                   \\\n    }                                                               \\\n
      \   ParamType param_;                                               \\\n    void
      SetParam(const ParamType& param) { param_ = param; }       \\\n    ParamType
      GetParam() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: sentencepiece::test::Tester::SetUp
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: sentencepiece::test::Tester::TearDown
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: ~TestWithParam()
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TestWithParam()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParamType
      Src: /src/sentencepiece/src/testharness.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: sentencepiece::test::Tester::GetParam
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - ParamType
    linkageType: ''
    returnType: ParamType
    signature: ParamType GetParam() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:201,1
    - Dst: GetParams
      Src: /src/sentencepiece/src/testharness.h:202,1
    - Dst: SetParam
      Src: /src/sentencepiece/src/testharness.h:203,1
    - Dst: sentencepiece::test::Tester::SetUp
      Src: /src/sentencepiece/src/testharness.h:204,1
    - Dst: _Run
      Src: /src/sentencepiece/src/testharness.h:205,1
    - Dst: sentencepiece::test::Tester::TearDown
      Src: /src/sentencepiece/src/testharness.h:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: sentencepiece::test::Tester::_RunIt
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - sentencepiece::test::Tester::SetUp
    - TCONCAT
    - _Run
    - SetParam
    - GetParams
    - sentencepiece::test::Tester::TearDown
    linkageType: ''
    returnType: void
    signature: void _RunIt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - fname
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: sentencepiece::test::Tester::Tester
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Tester(const char* fname, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/sentencepiece/src/testharness.h:54,1
    - Dst: exit
      Src: /src/sentencepiece/src/testharness.h:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: ~Tester()
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - exit
    - str
    linkageType: ''
    returnType: void
    signature: void ~Tester()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - b
    - msg
    argTypes:
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: '& Is(bool b, const char* msg)'
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Tester
    signature: Tester & Is(bool b, const char* msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::fabs
      Src: /src/sentencepiece/src/testharness.h:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - val1
    - val2
    - abs_error
    - msg1
    - msg2
    argTypes:
    - double
    - double
    - double
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: "& IsNear(double val1, double val2, double abs_error, const char*
      msg1,\n                 const char* msg2)"
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - std::fabs
    linkageType: ''
    returnType: Tester
    signature: "Tester & IsNear(double val1, double val2, double abs_error, const
      char* msg1,\n                 const char* msg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: BINARY_OP
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BINARY_OP(name, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: 'std::stringstream ss_;

        };


        #define EXPECT_TRUE'
      Src: /src/sentencepiece/src/testharness.h:112,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:116,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/testharness.h:117,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:118,1
    - Dst: EXPECT_STREQ
      Src: /src/sentencepiece/src/testharness.h:119,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:120,1
    - Dst: std::string
      Src: /src/sentencepiece/src/testharness.h:121,1
    - Dst: std::string
      Src: /src/sentencepiece/src/testharness.h:121,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/testharness.h:122,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:123,1
    - Dst: EXPECT_NE
      Src: /src/sentencepiece/src/testharness.h:124,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:125,1
    - Dst: EXPECT_GE
      Src: /src/sentencepiece/src/testharness.h:126,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:127,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/testharness.h:128,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:129,1
    - Dst: EXPECT_LE
      Src: /src/sentencepiece/src/testharness.h:130,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:131,1
    - Dst: EXPECT_LT
      Src: /src/sentencepiece/src/testharness.h:132,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:133,1
    - Dst: EXPECT_NEAR
      Src: /src/sentencepiece/src/testharness.h:134,1
    - Dst: sentencepiece::test::Tester::Tester
      Src: /src/sentencepiece/src/testharness.h:135,1
    - Dst: EXPECT_OK
      Src: /src/sentencepiece/src/testharness.h:136,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/testharness.h:136,1
    - Dst: ok
      Src: /src/sentencepiece/src/testharness.h:136,1
    - Dst: EXPECT_NOT_OK
      Src: /src/sentencepiece/src/testharness.h:137,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/testharness.h:137,1
    - Dst: ok
      Src: /src/sentencepiece/src/testharness.h:137,1
    - Dst: ASSERT_OK
      Src: /src/sentencepiece/src/testharness.h:138,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/testharness.h:138,1
    - Dst: ok
      Src: /src/sentencepiece/src/testharness.h:138,1
    - Dst: ParamType
      Src: /src/sentencepiece/src/testharness.h:159,1
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:171,1
    - Dst: TEST
      Src: /src/sentencepiece/src/testharness.h:175,1
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:176,1
    - Dst: _Run
      Src: /src/sentencepiece/src/testharness.h:178,1
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 198
    functionName: sentencepiece::test::Tester::BINARY_OP
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - EXPECT_STREQ
    - EXPECT_OK
    - TEST
    - EXPECT_EQ
    - _Run
    - EXPECT_GE
    - ASSERT_OK
    - EXPECT_NE
    - EXPECT_LT
    - TCONCAT
    - ASSERT_TRUE
    - EXPECT_GT
    - std::string
    - EXPECT_TRUE
    - 'std::stringstream ss_;

      };


      #define EXPECT_TRUE'
    - ParamType
    - ok
    - EXPECT_LE
    - sentencepiece::test::Tester::Tester
    - EXPECT_NEAR
    - EXPECT_FALSE
    - EXPECT_NOT_OK
    linkageType: ''
    returnType: void
    signature: "void BINARY_OP(IsEq, ==)\n  BINARY_OP(IsNe, !=)\n  BINARY_OP(IsGe,
      >=)\n  BINARY_OP(IsGt, >)\n  BINARY_OP(IsLe, <=)\n  BINARY_OP(IsLt, <)\n#undef
      BINARY_OP\n\n  // Attach the specified value to the error message if an error
      has occurred\n  template <class V>\n  Tester& operator<<(const V& value) {\n
      \   if (!ok_) {\n      ss_ << \" \" << value;\n    }\n    return *this;\n  }\n\n
      private:\n  bool ok_;\n  const char* fname_;\n  int line_;\n  std::stringstream
      ss_;\n};\n\n#define EXPECT_TRUE(c) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).Is((c), #c)\n#define EXPECT_FALSE(c) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).Is((!(c)), #c)\n#define EXPECT_STREQ(a, b)                        \\\n
      \ sentencepiece::test::Tester(__FILE__, __LINE__) \\\n      .IsEq(std::string(a),
      std::string(b), #a, #b)\n#define EXPECT_EQ(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsEq((a), (b), #a, #b)\n#define EXPECT_NE(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsNe((a), (b), #a, #b)\n#define EXPECT_GE(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsGe((a), (b), #a, #b)\n#define EXPECT_GT(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsGt((a), (b), #a, #b)\n#define EXPECT_LE(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsLe((a), (b), #a, #b)\n#define EXPECT_LT(a, b) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsLt((a), (b), #a, #b)\n#define EXPECT_NEAR(a, b, c) \\\n  sentencepiece::test::Tester(__FILE__,
      __LINE__).IsNear((a), (b), (c), #a, #b)\n#define EXPECT_OK(c) EXPECT_TRUE((c).ok())\n#define
      EXPECT_NOT_OK(c) EXPECT_FALSE((c).ok())\n#define ASSERT_OK(c) ASSERT_TRUE((c).ok())\n\n#define
      ASSERT_TRUE EXPECT_TRUE\n#define ASSERT_FALSE EXPECT_FALSE\n#define ASSERT_STREQ
      EXPECT_STREQ\n#define ASSERT_EQ EXPECT_EQ\n#define ASSERT_NE EXPECT_NE\n#define
      ASSERT_GE EXPECT_GE\n#define ASSERT_GT EXPECT_GT\n#define ASSERT_LE EXPECT_LE\n#define
      ASSERT_LT EXPECT_LT\n#define ASSERT_NEAR EXPECT_NEAR\n#define ASSERT_NOT_OK
      EXPECT_NOT_OK\n\ntemplate <typename T>\nclass TestWithParam {\n public:\n  using
      ParamType = T;\n  virtual void SetUp() {}\n  virtual void TearDown() {}\n  virtual
      ~TestWithParam() {}\n  virtual ParamType GetParam() const { return ParamType();
      }\n};\n\ntemplate <typename T>\nstd::vector<T> ValuesIn(const std::vector<T>&
      v) {\n  return v;\n}\n\n#define TCONCAT(a, b, c) TCONCAT1(a, b, c)\n#define
      TCONCAT1(a, b, c) a##b##c\n\n#define INSTANTIATE_TEST_SUITE_P(suite_base, base,
      params)           \\\n  std::vector<base::ParamType> TCONCAT(base, _get_params_,
      base)() { \\\n    return params;                                                   \\\n
      \ }\n\n#define TEST(base, name)                                                       \\\n
      \ class TCONCAT(base, _Test_, name) {                                          \\\n
      \  public:                                                                     \\\n
      \   void _Run();                                                               \\\n
      \   static void _RunIt() {                                                     \\\n
      \     TCONCAT(base, _Test_, name) t;                                           \\\n
      \     t._Run();                                                                \\\n
      \   }                                                                          \\\n
      \ };                                                                           \\\n
      \ bool TCONCAT(base, _Test_ignored_, name) =                                   \\\n
      \     sentencepiece::test::RegisterTest(#base, #name,                          \\\n
      \                                       &TCONCAT(base, _Test_, name)::_RunIt);
      \\\n  void TCONCAT(base, _Test_, name)::_Run()\n\n#define TEST_P(base, name)
      \                                         \\\n  std::vector<base::ParamType>
      TCONCAT(base, _get_params_, base)(); \\\n  class TCONCAT(base, _Test_p_, name)
      : public base {               \\\n   public:                                                          \\\n
      \   std::vector<ParamType> GetParams() const {                      \\\n      return
      TCONCAT(base, _get_params_, base)();                   \\\n    }                                                               \\\n
      \   ParamType param_;                                               \\\n    void
      SetParam(const ParamType& param) { param_ = param; }       \\\n    ParamType
      GetParam() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: sentencepiece::test::Tester::SetUp
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    functionName: sentencepiece::test::Tester::TearDown
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: ~TestWithParam()
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TestWithParam()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParamType
      Src: /src/sentencepiece/src/testharness.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: sentencepiece::test::Tester::GetParam
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - ParamType
    linkageType: ''
    returnType: ParamType
    signature: ParamType GetParam() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCONCAT
      Src: /src/sentencepiece/src/testharness.h:201,1
    - Dst: GetParams
      Src: /src/sentencepiece/src/testharness.h:202,1
    - Dst: SetParam
      Src: /src/sentencepiece/src/testharness.h:203,1
    - Dst: sentencepiece::test::Tester::SetUp
      Src: /src/sentencepiece/src/testharness.h:204,1
    - Dst: _Run
      Src: /src/sentencepiece/src/testharness.h:205,1
    - Dst: sentencepiece::test::Tester::TearDown
      Src: /src/sentencepiece/src/testharness.h:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: sentencepiece::test::Tester::_RunIt
    functionSourceFile: /src/sentencepiece/src/testharness.h
    functionUses: 0
    functionsReached:
    - sentencepiece::test::Tester::SetUp
    - TCONCAT
    - _Run
    - SetParam
    - GetParams
    - sentencepiece::test::Tester::TearDown
    linkageType: ''
    returnType: void
    signature: void _RunIt()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ScopedResourceDestructor::ScopedResourceDestructor
      Src: /src/sentencepiece/src/spm_normalize_main.cc:49,1
    - Dst: sentencepiece::ParseCommandLineFlags
      Src: /src/sentencepiece/src/spm_normalize_main.cc:50,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_normalize_main.cc:53,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/spm_normalize_main.cc:55,1
    - Dst: std::string
      Src: /src/sentencepiece/src/spm_normalize_main.cc:55,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/spm_normalize_main.cc:58,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_normalize_main.cc:58,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_normalize_main.cc:63,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_normalize_main.cc:66,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/spm_normalize_main.cc:66,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_normalize_main.cc:66,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/spm_normalize_main.cc:67,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_normalize_main.cc:68,1
    - Dst: NormalizerSpec::set_normalization_rule_tsv
      Src: /src/sentencepiece/src/spm_normalize_main.cc:69,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_normalize_main.cc:70,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_normalize_main.cc:71,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
      Src: /src/sentencepiece/src/spm_normalize_main.cc:71,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_normalize_main.cc:72,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/spm_normalize_main.cc:73,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_normalize_main.cc:73,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_normalize_main.cc:74,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
      Src: /src/sentencepiece/src/spm_normalize_main.cc:74,1
    - Dst: LOG
      Src: /src/sentencepiece/src/spm_normalize_main.cc:76,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_normalize_main.cc:81,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/spm_normalize_main.cc:82,1
    - Dst: NormalizerSpec::set_escape_whitespaces
      Src: /src/sentencepiece/src/spm_normalize_main.cc:83,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/spm_normalize_main.cc:84,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_normalize_main.cc:85,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_normalize_main.cc:88,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_normalize_main.cc:90,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/spm_normalize_main.cc:91,1
    - Dst: NormalizerSpec::precompiled_charsmap
      Src: /src/sentencepiece/src/spm_normalize_main.cc:91,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_normalize_main.cc:92,1
    - Dst: sentencepiece::normalizer::Builder::SaveCharsMap
      Src: /src/sentencepiece/src/spm_normalize_main.cc:92,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_normalize_main.cc:92,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/spm_normalize_main.cc:96,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_normalize_main.cc:96,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_normalize_main.cc:97,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/spm_normalize_main.cc:97,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/spm_normalize_main.cc:99,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/spm_normalize_main.cc:100,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/spm_normalize_main.cc:105,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_normalize_main.cc:106,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/spm_normalize_main.cc:106,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/spm_normalize_main.cc:107,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/spm_normalize_main.cc:108,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/spm_normalize_main.cc:108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 114
    functionName: main
    functionSourceFile: /src/sentencepiece/src/spm_normalize_main.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::precompiled_charsmap
    - NormalizerSpec::set_name
    - NormalizerSpec::set_normalization_rule_tsv
    - LOG
    - SentencePieceProcessor::Load
    - sentencepiece::ScopedResourceDestructor::ScopedResourceDestructor
    - std::string
    - sentencepiece::filesystem::NewReadableFile
    - auto::WriteLine
    - Normalizer::Normalize
    - QCHECK_OK
    - std::vector::empty
    - sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
    - auto::ReadLine
    - auto::status
    - sentencepiece::ParseCommandLineFlags
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - NormalizerSpec::set_escape_whitespaces
    - sentencepiece::normalizer::Builder::SaveCharsMap
    - NormalizerSpec::set_add_dummy_prefix
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_remove_extra_whitespaces
    - std::vector::push_back
    - SentencePieceProcessor::model_proto
    - absl::GetFlag
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/trainer_factory.cc:28,1
    - Dst: std::make_unique<unigram::Trainer>
      Src: /src/sentencepiece/src/trainer_factory.cc:30,1
    - Dst: std::make_unique<bpe::Trainer>
      Src: /src/sentencepiece/src/trainer_factory.cc:34,1
    - Dst: std::make_unique<word::Trainer>
      Src: /src/sentencepiece/src/trainer_factory.cc:38,1
    - Dst: std::make_unique<character::Trainer>
      Src: /src/sentencepiece/src/trainer_factory.cc:42,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_factory.cc:46,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/trainer_factory.cc:46,1
    - Dst: std::make_unique<unigram::Trainer>
      Src: /src/sentencepiece/src/trainer_factory.cc:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - trainer_spec
    - normalizer_spec
    - denormalizer_spec
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 52
    functionName: sentencepiece::TrainerFactory::Create
    functionSourceFile: /src/sentencepiece/src/trainer_factory.cc
    functionUses: 2
    functionsReached:
    - LOG
    - std::make_unique<unigram::Trainer>
    - std::make_unique<word::Trainer>
    - std::make_unique<bpe::Trainer>
    - std::make_unique<character::Trainer>
    - TrainerSpec::model_type
    linkageType: ''
    returnType: std::unique_ptr<TrainerInterface>
    signature: "std::unique_ptr<TrainerInterface> TrainerFactory::Create(\n    const
      TrainerSpec &trainer_spec, const NormalizerSpec &normalizer_spec,\n    const
      NormalizerSpec &denormalizer_spec)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/trainer_factory.cc:28,1
    - Dst: std::make_unique<unigram::Trainer>
      Src: /src/sentencepiece/src/trainer_factory.cc:30,1
    - Dst: std::make_unique<bpe::Trainer>
      Src: /src/sentencepiece/src/trainer_factory.cc:34,1
    - Dst: std::make_unique<word::Trainer>
      Src: /src/sentencepiece/src/trainer_factory.cc:38,1
    - Dst: std::make_unique<character::Trainer>
      Src: /src/sentencepiece/src/trainer_factory.cc:42,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_factory.cc:46,1
    - Dst: TrainerSpec::model_type
      Src: /src/sentencepiece/src/trainer_factory.cc:46,1
    - Dst: std::make_unique<unigram::Trainer>
      Src: /src/sentencepiece/src/trainer_factory.cc:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - trainer_spec
    - normalizer_spec
    - denormalizer_spec
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 52
    functionName: sentencepiece::TrainerFactory::Create
    functionSourceFile: /src/sentencepiece/src/trainer_factory.cc
    functionUses: 2
    functionsReached:
    - LOG
    - std::make_unique<unigram::Trainer>
    - std::make_unique<word::Trainer>
    - std::make_unique<bpe::Trainer>
    - std::make_unique<character::Trainer>
    - TrainerSpec::model_type
    linkageType: ''
    returnType: std::unique_ptr<TrainerInterface>
    signature: "std::unique_ptr<TrainerInterface> TrainerFactory::Create(\n    const
      TrainerSpec &trainer_spec, const NormalizerSpec &normalizer_spec,\n    const
      NormalizerSpec &denormalizer_spec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' h1'
    - ' h2'
    argTypes:
    - SymbolPair
    - SymbolPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 91
    functionName: "operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' h1'
    - ' h2'
    argTypes:
    - SymbolPair
    - SymbolPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 91
    functionName: "operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/bpe_model.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: sentencepiece::bpe::Model::Model
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached:
    - InitializePieces
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/bpe_model.cc:115,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/bpe_model.cc:115,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/bpe_model.cc:120,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/bpe_model.cc:120,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/bpe_model.cc:126,1
    - Dst: PrefixMatch
      Src: /src/sentencepiece/src/bpe_model.cc:128,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/bpe_model.cc:129,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/bpe_model.cc:129,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/bpe_model.cc:131,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/bpe_model.cc:132,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:134,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/bpe_model.cc:137,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/bpe_model.cc:142,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:142,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:151,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:156,1
    - Dst: Symbol*::piece::data
      Src: /src/sentencepiece/src/bpe_model.cc:160,1
    - Dst: Symbol*::piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:161,1
    - Dst: Symbol*::piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:161,1
    - Dst: PieceToIdNoReserved
      Src: /src/sentencepiece/src/bpe_model.cc:166,1
    - Dst: IsReservedId
      Src: /src/sentencepiece/src/bpe_model.cc:171,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:172,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/bpe_model.cc:175,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/bpe_model.cc:176,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/bpe_model.cc:179,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/bpe_model.cc:181,1
    - Dst: piece::data
      Src: /src/sentencepiece/src/bpe_model.cc:199,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:200,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:200,1
    - Dst: PieceToIdNoReserved
      Src: /src/sentencepiece/src/bpe_model.cc:205,1
    - Dst: IsReservedId
      Src: /src/sentencepiece/src/bpe_model.cc:208,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/bpe_model.cc:214,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/bpe_model.cc:215,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/bpe_model.cc:216,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/bpe_model.cc:219,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/bpe_model.cc:221,1
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/bpe_model.cc:226,1
    - Dst: Agenda::empty
      Src: /src/sentencepiece/src/bpe_model.cc:229,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/bpe_model.cc:231,1
    - Dst: piece::empty
      Src: /src/sentencepiece/src/bpe_model.cc:232,1
    - Dst: piece::empty
      Src: /src/sentencepiece/src/bpe_model.cc:233,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:234,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:235,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/bpe_model.cc:237,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/bpe_model.cc:241,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/bpe_model.cc:242,1
    - Dst: absl::Bernoulli
      Src: /src/sentencepiece/src/bpe_model.cc:248,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/bpe_model.cc:254,1
    - Dst: piece::data
      Src: /src/sentencepiece/src/bpe_model.cc:255,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:256,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:256,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/bpe_model.cc:263,1
    - Dst: MaybeAddNewSymbolPair
      Src: /src/sentencepiece/src/bpe_model.cc:266,1
    - Dst: MaybeAddNewSymbolPair
      Src: /src/sentencepiece/src/bpe_model.cc:267,1
    - Dst: PieceToIdNoReserved
      Src: /src/sentencepiece/src/bpe_model.cc:276,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:280,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/bpe_model.cc:283,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:284,1
    - Dst: absl::flat_hash_map::find
      Src: /src/sentencepiece/src/bpe_model.cc:287,1
    - Dst: absl::flat_hash_map::end
      Src: /src/sentencepiece/src/bpe_model.cc:288,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:289,1
    - Dst: self
      Src: /src/sentencepiece/src/bpe_model.cc:293,1
    - Dst: self
      Src: /src/sentencepiece/src/bpe_model.cc:294,1
    - Dst: EncodeResult::reserve
      Src: /src/sentencepiece/src/bpe_model.cc:298,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:298,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/bpe_model.cc:300,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:300,1
    - Dst: resegment
      Src: /src/sentencepiece/src/bpe_model.cc:301,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 87
    argCount: 2
    argNames:
    - normalized
    - alpha
    argTypes:
    - absl::string_view
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 306
    functionName: sentencepiece::bpe::Model::SampleEncode
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 4
    functionsReached:
    - piece::data
    - GetScoreInlined
    - std::make_pair
    - IsReservedId
    - google::protobuf::as_string_view
    - Agenda::empty
    - std::vector::reserve
    - absl::flat_hash_map::find
    - self
    - Agenda::push
    - Agenda::pop
    - absl::string_view::data
    - Symbol*::piece::size
    - PrefixMatch
    - status
    - absl::string_view::size
    - sentencepiece::random::GetRandomGenerator
    - absl::string_view::empty
    - std::vector::empty
    - MaybeAddNewSymbolPair
    - emplace_back
    - piece::empty
    - IsUnusedInlined
    - std::vector::size
    - static_cast<int>
    - std::vector::emplace_back
    - absl::flat_hash_map::end
    - Symbol*::piece::data
    - resegment
    - PieceToIdNoReserved
    - absl::string_view::remove_prefix
    - piece::size
    - absl::Bernoulli
    - Agenda::top
    - EncodeResult::reserve
    linkageType: ''
    returnType: std::vector<std::pair<absl::string_view, int>>
    signature: "std::vector<std::pair<absl::string_view, int>> Model::SampleEncode(\n
      \   absl::string_view normalized, float alpha) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' h1'
    - ' h2'
    argTypes:
    - SymbolPair
    - SymbolPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 91
    functionName: "operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' h1'
    - ' h2'
    argTypes:
    - SymbolPair
    - SymbolPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 91
    functionName: "operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/bpe_model.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: sentencepiece::bpe::Model::Model
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached:
    - InitializePieces
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/bpe_model.cc:115,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/bpe_model.cc:115,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/bpe_model.cc:120,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/bpe_model.cc:120,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/bpe_model.cc:126,1
    - Dst: PrefixMatch
      Src: /src/sentencepiece/src/bpe_model.cc:128,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/bpe_model.cc:129,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/bpe_model.cc:129,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/bpe_model.cc:131,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/bpe_model.cc:132,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:134,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/bpe_model.cc:137,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/bpe_model.cc:142,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:142,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:151,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:156,1
    - Dst: Symbol*::piece::data
      Src: /src/sentencepiece/src/bpe_model.cc:160,1
    - Dst: Symbol*::piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:161,1
    - Dst: Symbol*::piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:161,1
    - Dst: PieceToIdNoReserved
      Src: /src/sentencepiece/src/bpe_model.cc:166,1
    - Dst: IsReservedId
      Src: /src/sentencepiece/src/bpe_model.cc:171,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:172,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/bpe_model.cc:175,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/bpe_model.cc:176,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/bpe_model.cc:179,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/bpe_model.cc:181,1
    - Dst: piece::data
      Src: /src/sentencepiece/src/bpe_model.cc:199,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:200,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:200,1
    - Dst: PieceToIdNoReserved
      Src: /src/sentencepiece/src/bpe_model.cc:205,1
    - Dst: IsReservedId
      Src: /src/sentencepiece/src/bpe_model.cc:208,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/bpe_model.cc:214,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/bpe_model.cc:215,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/bpe_model.cc:216,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/bpe_model.cc:219,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/bpe_model.cc:221,1
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/bpe_model.cc:226,1
    - Dst: Agenda::empty
      Src: /src/sentencepiece/src/bpe_model.cc:229,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/bpe_model.cc:231,1
    - Dst: piece::empty
      Src: /src/sentencepiece/src/bpe_model.cc:232,1
    - Dst: piece::empty
      Src: /src/sentencepiece/src/bpe_model.cc:233,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:234,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:235,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/bpe_model.cc:237,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/bpe_model.cc:241,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/bpe_model.cc:242,1
    - Dst: absl::Bernoulli
      Src: /src/sentencepiece/src/bpe_model.cc:248,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/bpe_model.cc:254,1
    - Dst: piece::data
      Src: /src/sentencepiece/src/bpe_model.cc:255,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:256,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:256,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/bpe_model.cc:263,1
    - Dst: MaybeAddNewSymbolPair
      Src: /src/sentencepiece/src/bpe_model.cc:266,1
    - Dst: MaybeAddNewSymbolPair
      Src: /src/sentencepiece/src/bpe_model.cc:267,1
    - Dst: PieceToIdNoReserved
      Src: /src/sentencepiece/src/bpe_model.cc:276,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:280,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/bpe_model.cc:283,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:284,1
    - Dst: absl::flat_hash_map::find
      Src: /src/sentencepiece/src/bpe_model.cc:287,1
    - Dst: absl::flat_hash_map::end
      Src: /src/sentencepiece/src/bpe_model.cc:288,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:289,1
    - Dst: self
      Src: /src/sentencepiece/src/bpe_model.cc:293,1
    - Dst: self
      Src: /src/sentencepiece/src/bpe_model.cc:294,1
    - Dst: EncodeResult::reserve
      Src: /src/sentencepiece/src/bpe_model.cc:298,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:298,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/bpe_model.cc:300,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:300,1
    - Dst: resegment
      Src: /src/sentencepiece/src/bpe_model.cc:301,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 87
    argCount: 2
    argNames:
    - normalized
    - alpha
    argTypes:
    - absl::string_view
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 306
    functionName: sentencepiece::bpe::Model::SampleEncode
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 4
    functionsReached:
    - piece::data
    - GetScoreInlined
    - std::make_pair
    - IsReservedId
    - google::protobuf::as_string_view
    - Agenda::empty
    - std::vector::reserve
    - absl::flat_hash_map::find
    - self
    - Agenda::push
    - Agenda::pop
    - absl::string_view::data
    - Symbol*::piece::size
    - PrefixMatch
    - status
    - absl::string_view::size
    - sentencepiece::random::GetRandomGenerator
    - absl::string_view::empty
    - std::vector::empty
    - MaybeAddNewSymbolPair
    - emplace_back
    - piece::empty
    - IsUnusedInlined
    - std::vector::size
    - static_cast<int>
    - std::vector::emplace_back
    - absl::flat_hash_map::end
    - Symbol*::piece::data
    - resegment
    - PieceToIdNoReserved
    - absl::string_view::remove_prefix
    - piece::size
    - absl::Bernoulli
    - Agenda::top
    - EncodeResult::reserve
    linkageType: ''
    returnType: std::vector<std::pair<absl::string_view, int>>
    signature: "std::vector<std::pair<absl::string_view, int>> Model::SampleEncode(\n
      \   absl::string_view normalized, float alpha) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' h1'
    - ' h2'
    argTypes:
    - SymbolPair
    - SymbolPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 91
    functionName: "operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' h1'
    - ' h2'
    argTypes:
    - SymbolPair
    - SymbolPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 91
    functionName: "operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/bpe_model.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: sentencepiece::bpe::Model::Model
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached:
    - InitializePieces
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/bpe_model.cc:115,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/bpe_model.cc:115,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/bpe_model.cc:120,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/bpe_model.cc:120,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/bpe_model.cc:126,1
    - Dst: PrefixMatch
      Src: /src/sentencepiece/src/bpe_model.cc:128,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/bpe_model.cc:129,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/bpe_model.cc:129,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/bpe_model.cc:131,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/bpe_model.cc:132,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:134,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/bpe_model.cc:137,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/bpe_model.cc:142,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:142,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:151,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:156,1
    - Dst: Symbol*::piece::data
      Src: /src/sentencepiece/src/bpe_model.cc:160,1
    - Dst: Symbol*::piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:161,1
    - Dst: Symbol*::piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:161,1
    - Dst: PieceToIdNoReserved
      Src: /src/sentencepiece/src/bpe_model.cc:166,1
    - Dst: IsReservedId
      Src: /src/sentencepiece/src/bpe_model.cc:171,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:172,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/bpe_model.cc:175,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/bpe_model.cc:176,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/bpe_model.cc:179,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/bpe_model.cc:181,1
    - Dst: piece::data
      Src: /src/sentencepiece/src/bpe_model.cc:199,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:200,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:200,1
    - Dst: PieceToIdNoReserved
      Src: /src/sentencepiece/src/bpe_model.cc:205,1
    - Dst: IsReservedId
      Src: /src/sentencepiece/src/bpe_model.cc:208,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/bpe_model.cc:214,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/bpe_model.cc:215,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/bpe_model.cc:216,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/bpe_model.cc:219,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/bpe_model.cc:221,1
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/bpe_model.cc:226,1
    - Dst: Agenda::empty
      Src: /src/sentencepiece/src/bpe_model.cc:229,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/bpe_model.cc:231,1
    - Dst: piece::empty
      Src: /src/sentencepiece/src/bpe_model.cc:232,1
    - Dst: piece::empty
      Src: /src/sentencepiece/src/bpe_model.cc:233,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:234,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:235,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/bpe_model.cc:237,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/bpe_model.cc:241,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/bpe_model.cc:242,1
    - Dst: absl::Bernoulli
      Src: /src/sentencepiece/src/bpe_model.cc:248,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/bpe_model.cc:254,1
    - Dst: piece::data
      Src: /src/sentencepiece/src/bpe_model.cc:255,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:256,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:256,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/bpe_model.cc:263,1
    - Dst: MaybeAddNewSymbolPair
      Src: /src/sentencepiece/src/bpe_model.cc:266,1
    - Dst: MaybeAddNewSymbolPair
      Src: /src/sentencepiece/src/bpe_model.cc:267,1
    - Dst: PieceToIdNoReserved
      Src: /src/sentencepiece/src/bpe_model.cc:276,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:280,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/bpe_model.cc:283,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:284,1
    - Dst: absl::flat_hash_map::find
      Src: /src/sentencepiece/src/bpe_model.cc:287,1
    - Dst: absl::flat_hash_map::end
      Src: /src/sentencepiece/src/bpe_model.cc:288,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:289,1
    - Dst: self
      Src: /src/sentencepiece/src/bpe_model.cc:293,1
    - Dst: self
      Src: /src/sentencepiece/src/bpe_model.cc:294,1
    - Dst: EncodeResult::reserve
      Src: /src/sentencepiece/src/bpe_model.cc:298,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:298,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/bpe_model.cc:300,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:300,1
    - Dst: resegment
      Src: /src/sentencepiece/src/bpe_model.cc:301,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 87
    argCount: 2
    argNames:
    - normalized
    - alpha
    argTypes:
    - absl::string_view
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 306
    functionName: sentencepiece::bpe::Model::SampleEncode
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 4
    functionsReached:
    - piece::data
    - GetScoreInlined
    - std::make_pair
    - IsReservedId
    - google::protobuf::as_string_view
    - Agenda::empty
    - std::vector::reserve
    - absl::flat_hash_map::find
    - self
    - Agenda::push
    - Agenda::pop
    - absl::string_view::data
    - Symbol*::piece::size
    - PrefixMatch
    - status
    - absl::string_view::size
    - sentencepiece::random::GetRandomGenerator
    - absl::string_view::empty
    - std::vector::empty
    - MaybeAddNewSymbolPair
    - emplace_back
    - piece::empty
    - IsUnusedInlined
    - std::vector::size
    - static_cast<int>
    - std::vector::emplace_back
    - absl::flat_hash_map::end
    - Symbol*::piece::data
    - resegment
    - PieceToIdNoReserved
    - absl::string_view::remove_prefix
    - piece::size
    - absl::Bernoulli
    - Agenda::top
    - EncodeResult::reserve
    linkageType: ''
    returnType: std::vector<std::pair<absl::string_view, int>>
    signature: "std::vector<std::pair<absl::string_view, int>> Model::SampleEncode(\n
      \   absl::string_view normalized, float alpha) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' h1'
    - ' h2'
    argTypes:
    - SymbolPair
    - SymbolPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 91
    functionName: "operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ' h1'
    - ' h2'
    argTypes:
    - SymbolPair
    - SymbolPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 91
    functionName: "operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ABSL_ATTRIBUTE_ALWAYS_INLINE
    signature: "ABSL_ATTRIBUTE_ALWAYS_INLINE operator()(const SymbolPair& h1,\n                                                      const
      SymbolPair& h2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializePieces
      Src: /src/sentencepiece/src/bpe_model.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' model_proto'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: sentencepiece::bpe::Model::Model
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached:
    - InitializePieces
    linkageType: ''
    returnType: void
    signature: void Model::Model(const ModelProto& model_proto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: Model::~Model()
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Model::~Model()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/src/bpe_model.cc:115,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/bpe_model.cc:115,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/bpe_model.cc:120,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/bpe_model.cc:120,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/bpe_model.cc:126,1
    - Dst: PrefixMatch
      Src: /src/sentencepiece/src/bpe_model.cc:128,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/bpe_model.cc:129,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/bpe_model.cc:129,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/bpe_model.cc:131,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/bpe_model.cc:132,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:134,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/bpe_model.cc:137,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/bpe_model.cc:142,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:142,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:151,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:156,1
    - Dst: Symbol*::piece::data
      Src: /src/sentencepiece/src/bpe_model.cc:160,1
    - Dst: Symbol*::piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:161,1
    - Dst: Symbol*::piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:161,1
    - Dst: PieceToIdNoReserved
      Src: /src/sentencepiece/src/bpe_model.cc:166,1
    - Dst: IsReservedId
      Src: /src/sentencepiece/src/bpe_model.cc:171,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:172,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/bpe_model.cc:175,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/bpe_model.cc:176,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/bpe_model.cc:179,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/bpe_model.cc:181,1
    - Dst: piece::data
      Src: /src/sentencepiece/src/bpe_model.cc:199,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:200,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:200,1
    - Dst: PieceToIdNoReserved
      Src: /src/sentencepiece/src/bpe_model.cc:205,1
    - Dst: IsReservedId
      Src: /src/sentencepiece/src/bpe_model.cc:208,1
    - Dst: GetScoreInlined
      Src: /src/sentencepiece/src/bpe_model.cc:214,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/bpe_model.cc:215,1
    - Dst: Agenda::push
      Src: /src/sentencepiece/src/bpe_model.cc:216,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/bpe_model.cc:219,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/bpe_model.cc:221,1
    - Dst: sentencepiece::random::GetRandomGenerator
      Src: /src/sentencepiece/src/bpe_model.cc:226,1
    - Dst: Agenda::empty
      Src: /src/sentencepiece/src/bpe_model.cc:229,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/bpe_model.cc:231,1
    - Dst: piece::empty
      Src: /src/sentencepiece/src/bpe_model.cc:232,1
    - Dst: piece::empty
      Src: /src/sentencepiece/src/bpe_model.cc:233,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:234,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:235,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/bpe_model.cc:237,1
    - Dst: Agenda::top
      Src: /src/sentencepiece/src/bpe_model.cc:241,1
    - Dst: Agenda::pop
      Src: /src/sentencepiece/src/bpe_model.cc:242,1
    - Dst: absl::Bernoulli
      Src: /src/sentencepiece/src/bpe_model.cc:248,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/bpe_model.cc:254,1
    - Dst: piece::data
      Src: /src/sentencepiece/src/bpe_model.cc:255,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:256,1
    - Dst: piece::size
      Src: /src/sentencepiece/src/bpe_model.cc:256,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/bpe_model.cc:263,1
    - Dst: MaybeAddNewSymbolPair
      Src: /src/sentencepiece/src/bpe_model.cc:266,1
    - Dst: MaybeAddNewSymbolPair
      Src: /src/sentencepiece/src/bpe_model.cc:267,1
    - Dst: PieceToIdNoReserved
      Src: /src/sentencepiece/src/bpe_model.cc:276,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:280,1
    - Dst: IsUnusedInlined
      Src: /src/sentencepiece/src/bpe_model.cc:283,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:284,1
    - Dst: absl::flat_hash_map::find
      Src: /src/sentencepiece/src/bpe_model.cc:287,1
    - Dst: absl::flat_hash_map::end
      Src: /src/sentencepiece/src/bpe_model.cc:288,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model.cc:289,1
    - Dst: self
      Src: /src/sentencepiece/src/bpe_model.cc:293,1
    - Dst: self
      Src: /src/sentencepiece/src/bpe_model.cc:294,1
    - Dst: EncodeResult::reserve
      Src: /src/sentencepiece/src/bpe_model.cc:298,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:298,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/bpe_model.cc:300,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/bpe_model.cc:300,1
    - Dst: resegment
      Src: /src/sentencepiece/src/bpe_model.cc:301,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 87
    argCount: 2
    argNames:
    - normalized
    - alpha
    argTypes:
    - absl::string_view
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 306
    functionName: sentencepiece::bpe::Model::SampleEncode
    functionSourceFile: /src/sentencepiece/src/bpe_model.cc
    functionUses: 4
    functionsReached:
    - piece::data
    - GetScoreInlined
    - std::make_pair
    - IsReservedId
    - google::protobuf::as_string_view
    - Agenda::empty
    - std::vector::reserve
    - absl::flat_hash_map::find
    - self
    - Agenda::push
    - Agenda::pop
    - absl::string_view::data
    - Symbol*::piece::size
    - PrefixMatch
    - status
    - absl::string_view::size
    - sentencepiece::random::GetRandomGenerator
    - absl::string_view::empty
    - std::vector::empty
    - MaybeAddNewSymbolPair
    - emplace_back
    - piece::empty
    - IsUnusedInlined
    - std::vector::size
    - static_cast<int>
    - std::vector::emplace_back
    - absl::flat_hash_map::end
    - Symbol*::piece::data
    - resegment
    - PieceToIdNoReserved
    - absl::string_view::remove_prefix
    - piece::size
    - absl::Bernoulli
    - Agenda::top
    - EncodeResult::reserve
    linkageType: ''
    returnType: std::vector<std::pair<absl::string_view, int>>
    signature: "std::vector<std::pair<absl::string_view, int>> Model::SampleEncode(\n
      \   absl::string_view normalized, float alpha) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/builder.cc:71,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/builder.cc:72,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/builder.cc:72,1
    - Dst: icu::UnicodeString::fromUTF8
      Src: /src/sentencepiece/src/builder.cc:74,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/src/builder.cc:74,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/src/builder.cc:78,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/builder.cc:79,1
    - Dst: U_SUCCESS
      Src: /src/sentencepiece/src/builder.cc:79,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/src/builder.cc:81,1
    - Dst: icu::UnicodeString::length
      Src: /src/sentencepiece/src/builder.cc:81,1
    - Dst: icu::UnicodeString::toUTF8String
      Src: /src/sentencepiece/src/builder.cc:82,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/builder.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mode
    - ' input'
    argTypes:
    - UNormalizationMode
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: sentencepiece::normalizer::UnicodeNormalize
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    - CHECK
    - sentencepiece::string_util::UnicodeTextToUTF8
    - icu::UnicodeString::toUTF8String
    - U_SUCCESS
    - std::string::c_str
    - icu::UnicodeString::fromUTF8
    - std::string::reserve
    - icu::UnicodeString::length
    - google::protobuf::io::win32::normalize
    - sentencepiece::string_util::UTF8ToUnicodeText
    linkageType: ''
    returnType: Builder::Chars
    signature: "Builder::Chars UnicodeNormalize(UNormalizationMode mode,\n                                const
      Builder::Chars& input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: sentencepiece::normalizer::ToNFKD
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFKD(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: sentencepiece::normalizer::ToNFKC
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFKC(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: sentencepiece::normalizer::ToNFC
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFC(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: sentencepiece::normalizer::ToNFD
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFD(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/sentencepiece/src/builder.cc:109,1
    - Dst: empty
      Src: /src/sentencepiece/src/builder.cc:109,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/builder.cc:111,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder.cc:112,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:114,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/builder.cc:115,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/builder.cc:119,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/builder.cc:120,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:123,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/builder.cc:125,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:125,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' nfkd'
    - "\n        norm2orig"
    argTypes:
    - Builder::Chars
    - absl::flat_hash_map<char32_t, absl::flat_hash_set<char32_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: sentencepiece::normalizer::ExpandUnnormalized
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::back
    - CHECK
    - CHECK_EQ
    - sentencepiece::port::FindOrDie
    - empty
    - std::move
    - std::vector::emplace_back
    - std::vector::push_back
    - size
    linkageType: ''
    returnType: std::vector<Builder::Chars>
    signature: "std::vector<Builder::Chars> ExpandUnnormalized(\n    const Builder::Chars&
      nfkd,\n    const absl::flat_hash_map<char32_t, absl::flat_hash_set<char32_t>>&\n
      \       norm2orig)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_GE
      Src: /src/sentencepiece/src/builder.cc:134,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:137,1
    - Dst: end
      Src: /src/sentencepiece/src/builder.cc:138,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/builder.cc:139,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:139,1
    - Dst: begin
      Src: /src/sentencepiece/src/builder.cc:141,1
    - Dst: begin
      Src: /src/sentencepiece/src/builder.cc:141,1
    - Dst: Builder::Chars::empty
      Src: /src/sentencepiece/src/builder.cc:142,1
    - Dst: find
      Src: /src/sentencepiece/src/builder.cc:143,1
    - Dst: end
      Src: /src/sentencepiece/src/builder.cc:144,1
    - Dst: Builder::Chars::pop_back
      Src: /src/sentencepiece/src/builder.cc:147,1
    - Dst: end
      Src: /src/sentencepiece/src/builder.cc:151,1
    - Dst: Builder::Chars::push_back
      Src: /src/sentencepiece/src/builder.cc:152,1
    - Dst: std::copy
      Src: /src/sentencepiece/src/builder.cc:155,1
    - Dst: auto::second::begin
      Src: /src/sentencepiece/src/builder.cc:155,1
    - Dst: auto::second::end
      Src: /src/sentencepiece/src/builder.cc:155,1
    - Dst: std::back_inserter
      Src: /src/sentencepiece/src/builder.cc:156,1
    - Dst: auto::first::size
      Src: /src/sentencepiece/src/builder.cc:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' chars_map'
    - ' src'
    - max_len
    argTypes:
    - Builder::CharsMap
    - Builder::Chars
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 162
    functionName: sentencepiece::normalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - Builder::Chars::empty
    - size
    - auto::second::end
    - find
    - end
    - auto::first::size
    - begin
    - std::copy
    - std::back_inserter
    - auto::second::begin
    - Builder::Chars::pop_back
    - CHECK_GE
    - Builder::Chars::push_back
    - std::min<size_t>
    linkageType: ''
    returnType: Builder::Chars
    signature: "Builder::Chars Normalize(const Builder::CharsMap& chars_map,\n                         const
      Builder::Chars& src, int max_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/builder.cc:166,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/builder.cc:166,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/builder.cc:166,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/builder.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - blob_data
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: sentencepiece::normalizer::IsValidNormalizerData
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - NormalizerSpec::set_precompiled_charsmap
    - Normalizer::status
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status IsValidNormalizerData(absl::string_view blob_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/builder.cc:71,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/builder.cc:72,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/builder.cc:72,1
    - Dst: icu::UnicodeString::fromUTF8
      Src: /src/sentencepiece/src/builder.cc:74,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/src/builder.cc:74,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/src/builder.cc:78,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/builder.cc:79,1
    - Dst: U_SUCCESS
      Src: /src/sentencepiece/src/builder.cc:79,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/src/builder.cc:81,1
    - Dst: icu::UnicodeString::length
      Src: /src/sentencepiece/src/builder.cc:81,1
    - Dst: icu::UnicodeString::toUTF8String
      Src: /src/sentencepiece/src/builder.cc:82,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/builder.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mode
    - ' input'
    argTypes:
    - UNormalizationMode
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: sentencepiece::normalizer::UnicodeNormalize
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 4
    functionsReached:
    - std::string::empty
    - CHECK
    - sentencepiece::string_util::UnicodeTextToUTF8
    - icu::UnicodeString::toUTF8String
    - U_SUCCESS
    - std::string::c_str
    - icu::UnicodeString::fromUTF8
    - std::string::reserve
    - icu::UnicodeString::length
    - google::protobuf::io::win32::normalize
    - sentencepiece::string_util::UTF8ToUnicodeText
    linkageType: ''
    returnType: Builder::Chars
    signature: "Builder::Chars UnicodeNormalize(UNormalizationMode mode,\n                                const
      Builder::Chars& input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: sentencepiece::normalizer::ToNFKD
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFKD(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: sentencepiece::normalizer::ToNFKC
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFKC(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: sentencepiece::normalizer::ToNFC
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFC(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: sentencepiece::normalizer::ToNFD
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFD(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/sentencepiece/src/builder.cc:109,1
    - Dst: empty
      Src: /src/sentencepiece/src/builder.cc:109,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/builder.cc:111,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder.cc:112,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:114,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/builder.cc:115,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/builder.cc:119,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/builder.cc:120,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:123,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/builder.cc:125,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:125,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' nfkd'
    - "\n        norm2orig"
    argTypes:
    - Builder::Chars
    - absl::flat_hash_map<char32_t, absl::flat_hash_set<char32_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: sentencepiece::normalizer::ExpandUnnormalized
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::back
    - CHECK
    - CHECK_EQ
    - sentencepiece::port::FindOrDie
    - empty
    - std::move
    - std::vector::emplace_back
    - std::vector::push_back
    - size
    linkageType: ''
    returnType: std::vector<Builder::Chars>
    signature: "std::vector<Builder::Chars> ExpandUnnormalized(\n    const Builder::Chars&
      nfkd,\n    const absl::flat_hash_map<char32_t, absl::flat_hash_set<char32_t>>&\n
      \       norm2orig)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_GE
      Src: /src/sentencepiece/src/builder.cc:134,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:137,1
    - Dst: end
      Src: /src/sentencepiece/src/builder.cc:138,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/builder.cc:139,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:139,1
    - Dst: begin
      Src: /src/sentencepiece/src/builder.cc:141,1
    - Dst: begin
      Src: /src/sentencepiece/src/builder.cc:141,1
    - Dst: Builder::Chars::empty
      Src: /src/sentencepiece/src/builder.cc:142,1
    - Dst: find
      Src: /src/sentencepiece/src/builder.cc:143,1
    - Dst: end
      Src: /src/sentencepiece/src/builder.cc:144,1
    - Dst: Builder::Chars::pop_back
      Src: /src/sentencepiece/src/builder.cc:147,1
    - Dst: end
      Src: /src/sentencepiece/src/builder.cc:151,1
    - Dst: Builder::Chars::push_back
      Src: /src/sentencepiece/src/builder.cc:152,1
    - Dst: std::copy
      Src: /src/sentencepiece/src/builder.cc:155,1
    - Dst: auto::second::begin
      Src: /src/sentencepiece/src/builder.cc:155,1
    - Dst: auto::second::end
      Src: /src/sentencepiece/src/builder.cc:155,1
    - Dst: std::back_inserter
      Src: /src/sentencepiece/src/builder.cc:156,1
    - Dst: auto::first::size
      Src: /src/sentencepiece/src/builder.cc:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' chars_map'
    - ' src'
    - max_len
    argTypes:
    - Builder::CharsMap
    - Builder::Chars
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 162
    functionName: sentencepiece::normalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - Builder::Chars::empty
    - size
    - auto::second::end
    - find
    - end
    - auto::first::size
    - begin
    - std::copy
    - std::back_inserter
    - auto::second::begin
    - Builder::Chars::pop_back
    - CHECK_GE
    - Builder::Chars::push_back
    - std::min<size_t>
    linkageType: ''
    returnType: Builder::Chars
    signature: "Builder::Chars Normalize(const Builder::CharsMap& chars_map,\n                         const
      Builder::Chars& src, int max_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/builder.cc:166,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/builder.cc:166,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/builder.cc:166,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/builder.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - blob_data
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: sentencepiece::normalizer::IsValidNormalizerData
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - NormalizerSpec::set_precompiled_charsmap
    - Normalizer::status
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status IsValidNormalizerData(absl::string_view blob_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:176,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:177,1
    - Dst: empty
      Src: /src/sentencepiece/src/builder.cc:177,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:179,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:179,1
    - Dst: first::empty
      Src: /src/sentencepiece/src/builder.cc:182,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/src/builder.cc:183,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/src/builder.cc:186,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/builder.cc:198,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/builder.cc:199,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:200,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/builder.cc:200,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/builder.cc:208,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:209,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/builder.cc:209,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:210,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/builder.cc:210,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/builder.cc:211,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/builder.cc:211,1
    - Dst: std::sort
      Src: /src/sentencepiece/src/builder.cc:214,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/builder.cc:214,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/builder.cc:214,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/builder.cc:215,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/builder.cc:216,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/builder.cc:217,1
    - Dst: first::c_str
      Src: /src/sentencepiece/src/builder.cc:218,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/builder.cc:223,1
    - Dst: Darts::DoubleArray::build
      Src: /src/sentencepiece/src/builder.cc:223,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/builder.cc:223,1
    - Dst: const_cast<char**>
      Src: /src/sentencepiece/src/builder.cc:223,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/builder.cc:223,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/builder.cc:224,1
    - Dst: Darts::DoubleArray::commonPrefixSearch
      Src: /src/sentencepiece/src/builder.cc:231,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/builder.cc:231,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/builder.cc:232,1
    - Dst: strlen
      Src: /src/sentencepiece/src/builder.cc:232,1
    - Dst: std::max
      Src: /src/sentencepiece/src/builder.cc:233,1
    - Dst: RET_CHECK_LT
      Src: /src/sentencepiece/src/builder.cc:235,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/src/builder.cc:240,1
    - Dst: Darts::DoubleArray::array
      Src: /src/sentencepiece/src/builder.cc:240,1
    - Dst: Darts::DoubleArray::size
      Src: /src/sentencepiece/src/builder.cc:241,1
    - Dst: Darts::DoubleArray::unit_size
      Src: /src/sentencepiece/src/builder.cc:241,1
    - Dst: sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
      Src: /src/sentencepiece/src/builder.cc:242,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:243,1
    - Dst: IsValidNormalizerData
      Src: /src/sentencepiece/src/builder.cc:243,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:245,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/builder.cc:245,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - ' chars_map'
    - output
    argTypes:
    - CharsMap
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 248
    functionName: sentencepiece::normalizer::Builder::CompileCharsMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 17
    functionsReached:
    - IsValidNormalizerData
    - LOG
    - Darts::DoubleArray::array
    - sentencepiece::string_util::UnicodeTextToUTF8
    - Darts::DoubleArray::commonPrefixSearch
    - std::string*::size
    - empty
    - sentencepiece::string_util::IsStructurallyValid
    - RETURN_IF_ERROR
    - RET_CHECK_LT
    - std::vector::begin
    - first::c_str
    - RET_CHECK
    - size
    - std::sort
    - Darts::DoubleArray::unit_size
    - static_cast<const char*>
    - first::empty
    - sentencepiece::port::FindOrDie
    - absl::OkStatus
    - std::vector::size
    - Darts::DoubleArray::build
    - std::vector::emplace_back
    - Darts::DoubleArray::size
    - RET_CHECK_EQ
    - std::vector::data
    - std::string::size
    - absl::InvalidArgumentError
    - std::string::empty
    - std::max
    - strlen
    - sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
    - const_cast<char**>
    - std::vector::end
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Builder::CompileCharsMap(const CharsMap& chars_map,\n
      \                                     std::string* output)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:253,1
    - Dst: Builder::CharsMap*::clear
      Src: /src/sentencepiece/src/builder.cc:254,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:259,1
    - Dst: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
      Src: /src/sentencepiece/src/builder.cc:259,1
    - Dst: Darts::DoubleArray::copy_array
      Src: /src/sentencepiece/src/builder.cc:264,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builder.cc:264,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/builder.cc:264,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/builder.cc:265,1
    - Dst: Darts::DoubleArray::validate
      Src: /src/sentencepiece/src/builder.cc:267,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/builder.cc:268,1
    - Dst: std::string::push_back
      Src: /src/sentencepiece/src/builder.cc:286,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/builder.cc:286,1
    - Dst: Darts::DoubleArray::traverse
      Src: /src/sentencepiece/src/builder.cc:291,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/builder.cc:292,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/builder.cc:292,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builder.cc:298,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/builder.cc:298,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/builder.cc:301,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/builder.cc:304,1
    - Dst: Chars::reserve
      Src: /src/sentencepiece/src/builder.cc:305,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:305,1
    - Dst: Chars::push_back
      Src: /src/sentencepiece/src/builder.cc:307,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/builder.cc:309,1
    - Dst: Chars::reserve
      Src: /src/sentencepiece/src/builder.cc:310,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:310,1
    - Dst: Chars::push_back
      Src: /src/sentencepiece/src/builder.cc:312,1
    - Dst: traverse
      Src: /src/sentencepiece/src/builder.cc:318,1
    - Dst: std::string::pop_back
      Src: /src/sentencepiece/src/builder.cc:320,1
    - Dst: traverse
      Src: /src/sentencepiece/src/builder.cc:324,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/builder.cc:327,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/builder.cc:332,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:335,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - blob
    - chars_map
    argTypes:
    - absl::string_view
    - Builder::CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 336
    functionName: sentencepiece::normalizer::Builder::DecompileCharsMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 17
    functionsReached:
    - static_cast<size_t>
    - Chars::push_back
    - static_cast<char>
    - Darts::DoubleArray::traverse
    - Darts::DoubleArray::validate
    - absl::string_view::data
    - RETURN_IF_ERROR
    - absl::string_view::size
    - sentencepiece::string_util::UTF8ToUnicodeText
    - RET_CHECK
    - std::string::pop_back
    - Chars::reserve
    - std::string::data
    - absl::OkStatus
    - reinterpret_cast<const char*>
    - std::string::size
    - std::string::push_back
    - traverse
    - sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
    - auto::size
    - Darts::DoubleArray::copy_array
    - Builder::CharsMap*::clear
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Builder::DecompileCharsMap(absl::string_view blob,\n
      \                                       Builder::CharsMap* chars_map)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:341,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/src/builder.cc:344,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:345,1
    - Dst: std::all_of
      Src: /src/sentencepiece/src/builder.cc:348,1
    - Dst: absl::string_view::begin
      Src: /src/sentencepiece/src/builder.cc:348,1
    - Dst: absl::string_view::end
      Src: /src/sentencepiece/src/builder.cc:348,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/builder.cc:351,1
    - Dst: std::string*::assign
      Src: /src/sentencepiece/src/builder.cc:361,1
    - Dst: IsValidNormalizerData
      Src: /src/sentencepiece/src/builder.cc:362,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/builder.cc:368,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder.cc:368,1
    - Dst: GetDataDir
      Src: /src/sentencepiece/src/builder.cc:368,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/builder.cc:369,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/builder.cc:370,1
    - Dst: auto::ReadAll
      Src: /src/sentencepiece/src/builder.cc:371,1
    - Dst: IsValidNormalizerData
      Src: /src/sentencepiece/src/builder.cc:372,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/builder.cc:377,1
    - Dst: GetDataDir
      Src: /src/sentencepiece/src/builder.cc:379,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - name
    - output
    argTypes:
    - absl::string_view
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 380
    functionName: sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 4
    functionsReached:
    - absl::string_view::end
    - absl::string_view::begin
    - GetDataDir
    - IsValidNormalizerData
    - auto::status
    - sentencepiece::filesystem::NewReadableFile
    - auto::ReadAll
    - std::string*::assign
    - std::all_of
    - absl::OkStatus
    - absl::StatusBuilder
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - std::string*::clear
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Builder::GetPrecompiledCharsMap(absl::string_view name,\n
      \                                            std::string* output)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: U_IS_UNICODE_CHAR
      Src: /src/sentencepiece/src/builder.cc:399,1
    - Dst: composer
      Src: /src/sentencepiece/src/builder.cc:403,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:404,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:404,1
    - Dst: decomposer
      Src: /src/sentencepiece/src/builder.cc:407,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:408,1
    - Dst: insert
      Src: /src/sentencepiece/src/builder.cc:410,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/src/builder.cc:413,1
    - Dst: composer
      Src: /src/sentencepiece/src/builder.cc:418,1
    - Dst: sentencepiece::normalizer::ExpandUnnormalized
      Src: /src/sentencepiece/src/builder.cc:425,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:432,1
    - Dst: sentencepiece::normalizer::Builder::RemoveRedundantMap
      Src: /src/sentencepiece/src/builder.cc:432,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:433,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:435,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - chars_map
    - composer
    - decomposer
    argTypes:
    - Builder::CharsMap*
    - std::function<Builder::Chars(const Builder::Chars&)>
    - std::function<Builder::Chars(const Builder::Chars&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 436
    functionName: sentencepiece::normalizer::BuildMapInternal
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - U_IS_UNICODE_CHAR
    - decomposer
    - RETURN_IF_ERROR
    - auto::size
    - insert
    - absl::OkStatus
    - sentencepiece::normalizer::Builder::RemoveRedundantMap
    - std::move
    - sentencepiece::normalizer::ExpandUnnormalized
    - composer
    - std::set::insert
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status BuildMapInternal(\n    Builder::CharsMap* chars_map,\n
      \   std::function<Builder::Chars(const Builder::Chars&)> composer,\n    std::function<Builder::Chars(const
      Builder::Chars&)> decomposer)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: U_IS_UNICODE_CHAR
      Src: /src/sentencepiece/src/builder.cc:399,1
    - Dst: composer
      Src: /src/sentencepiece/src/builder.cc:403,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:404,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:404,1
    - Dst: decomposer
      Src: /src/sentencepiece/src/builder.cc:407,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:408,1
    - Dst: insert
      Src: /src/sentencepiece/src/builder.cc:410,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/src/builder.cc:413,1
    - Dst: composer
      Src: /src/sentencepiece/src/builder.cc:418,1
    - Dst: sentencepiece::normalizer::ExpandUnnormalized
      Src: /src/sentencepiece/src/builder.cc:425,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:432,1
    - Dst: sentencepiece::normalizer::Builder::RemoveRedundantMap
      Src: /src/sentencepiece/src/builder.cc:432,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:433,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:435,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - chars_map
    - composer
    - decomposer
    argTypes:
    - Builder::CharsMap*
    - std::function<Builder::Chars(const Builder::Chars&)>
    - std::function<Builder::Chars(const Builder::Chars&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 436
    functionName: sentencepiece::normalizer::BuildMapInternal
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - U_IS_UNICODE_CHAR
    - decomposer
    - RETURN_IF_ERROR
    - auto::size
    - insert
    - absl::OkStatus
    - sentencepiece::normalizer::Builder::RemoveRedundantMap
    - std::move
    - sentencepiece::normalizer::ExpandUnnormalized
    - composer
    - std::set::insert
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status BuildMapInternal(\n    Builder::CharsMap* chars_map,\n
      \   std::function<Builder::Chars(const Builder::Chars&)> composer,\n    std::function<Builder::Chars(const
      Builder::Chars&)> decomposer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:443,1
    - Dst: BuildMapInternal
      Src: /src/sentencepiece/src/builder.cc:444,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:446,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: sentencepiece::normalizer::Builder::BuildNFKCMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 8
    functionsReached:
    - BuildMapInternal
    - LOG
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFKCMap(CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:455,1
    - Dst: BuildMapInternal
      Src: /src/sentencepiece/src/builder.cc:456,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:458,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 461
    functionName: sentencepiece::normalizer::Builder::BuildNFCMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - BuildMapInternal
    - LOG
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFCMap(CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:465,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:468,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder.cc:468,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:469,1
    - Dst: sentencepiece::normalizer::Builder::MergeNmtMap
      Src: /src/sentencepiece/src/builder.cc:469,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:470,1
    - Dst: sentencepiece::normalizer::Builder::RemoveRedundantMap
      Src: /src/sentencepiece/src/builder.cc:470,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:472,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:474,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 478
    functionName: sentencepiece::normalizer::Builder::BuildNmtNFKCMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - LOG
    - absl::OkStatus
    - sentencepiece::normalizer::Builder::RemoveRedundantMap
    - std::move
    - RETURN_IF_ERROR
    - sentencepiece::normalizer::Builder::MergeNmtMap
    - sentencepiece::normalizer::Builder::BuildNFKCMap
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNmtNFKCMap(CharsMap* chars_map)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/builder.cc:485,1
    - Dst: second::size
      Src: /src/sentencepiece/src/builder.cc:485,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder.cc:487,1
    - Dst: u_foldCase
      Src: /src/sentencepiece/src/builder.cc:487,1
    - Dst: U_IS_UNICODE_CHAR
      Src: /src/sentencepiece/src/builder.cc:494,1
    - Dst: Builder::CharsMap*::find
      Src: /src/sentencepiece/src/builder.cc:497,1
    - Dst: Builder::CharsMap*::end
      Src: /src/sentencepiece/src/builder.cc:497,1
    - Dst: u_foldCase
      Src: /src/sentencepiece/src/builder.cc:498,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:502,1
    - Dst: sentencepiece::normalizer::Builder::RemoveRedundantMap
      Src: /src/sentencepiece/src/builder.cc:502,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - Builder::CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 506
    functionName: sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - Builder::CharsMap*::find
    - U_IS_UNICODE_CHAR
    - u_foldCase
    - Builder::CharsMap*::end
    - RETURN_IF_ERROR
    - absl::OkStatus
    - second::size
    - sentencepiece::normalizer::Builder::RemoveRedundantMap
    - std::vector::push_back
    - std::vector::reserve
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::MergeUnicodeCaseFoldMap(Builder::CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/sentencepiece/src/builder.cc:563,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - Builder::CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 566
    functionName: sentencepiece::normalizer::Builder::MergeNmtMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 1
    functionsReached:
    - erase
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::MergeNmtMap(Builder::CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:572,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder.cc:572,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:573,1
    - Dst: sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
      Src: /src/sentencepiece/src/builder.cc:573,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:574,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:576,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 580
    functionName: sentencepiece::normalizer::Builder::BuildNFKC_CFMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
    - LOG
    - absl::OkStatus
    - std::move
    - RETURN_IF_ERROR
    - sentencepiece::normalizer::Builder::BuildNFKCMap
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFKC_CFMap(CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:586,1
    - Dst: sentencepiece::normalizer::Builder::BuildNmtNFKCMap
      Src: /src/sentencepiece/src/builder.cc:586,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:587,1
    - Dst: sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
      Src: /src/sentencepiece/src/builder.cc:587,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:588,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:590,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 594
    functionName: sentencepiece::normalizer::Builder::BuildNmtNFKC_CFMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
    - LOG
    - absl::OkStatus
    - std::move
    - RETURN_IF_ERROR
    - sentencepiece::normalizer::Builder::BuildNmtNFKCMap
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNmtNFKC_CFMap(CharsMap* chars_map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: U_IS_UNICODE_CHAR
      Src: /src/sentencepiece/src/builder.cc:601,1
    - Dst: ToNFKD
      Src: /src/sentencepiece/src/builder.cc:604,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:605,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:605,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:610,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 613
    functionName: sentencepiece::normalizer::Builder::BuildNFKDMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - LOG
    - U_IS_UNICODE_CHAR
    - auto::size
    - absl::OkStatus
    - ToNFKD
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFKDMap(CharsMap* chars_map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: U_IS_UNICODE_CHAR
      Src: /src/sentencepiece/src/builder.cc:620,1
    - Dst: ToNFD
      Src: /src/sentencepiece/src/builder.cc:623,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:624,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:624,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:630,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:632,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 633
    functionName: sentencepiece::normalizer::Builder::BuildNFDMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - LOG
    - U_IS_UNICODE_CHAR
    - auto::size
    - absl::OkStatus
    - ToNFD
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFDMap(CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:639,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKDMap
      Src: /src/sentencepiece/src/builder.cc:639,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:640,1
    - Dst: sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
      Src: /src/sentencepiece/src/builder.cc:640,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:641,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:643,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 646
    functionName: sentencepiece::normalizer::Builder::BuildNFKD_CFMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
    - LOG
    - absl::OkStatus
    - std::move
    - RETURN_IF_ERROR
    - sentencepiece::normalizer::Builder::BuildNFKDMap
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFKD_CFMap(CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:652,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKDMap
      Src: /src/sentencepiece/src/builder.cc:652,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:653,1
    - Dst: sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
      Src: /src/sentencepiece/src/builder.cc:653,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:654,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:656,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 659
    functionName: sentencepiece::normalizer::Builder::BuildNFC_CFMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
    - LOG
    - absl::OkStatus
    - std::move
    - RETURN_IF_ERROR
    - sentencepiece::normalizer::Builder::BuildNFKDMap
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFC_CFMap(CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:665,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFDMap
      Src: /src/sentencepiece/src/builder.cc:665,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:666,1
    - Dst: sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
      Src: /src/sentencepiece/src/builder.cc:666,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:667,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:669,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 672
    functionName: sentencepiece::normalizer::Builder::BuildNFD_CFMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
    - LOG
    - sentencepiece::normalizer::Builder::BuildNFDMap
    - absl::OkStatus
    - std::move
    - RETURN_IF_ERROR
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFD_CFMap(CharsMap* chars_map)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:677,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/builder.cc:677,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:678,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/builder.cc:680,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:682,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/builder.cc:682,1
    - Dst: CharsMap*::clear
      Src: /src/sentencepiece/src/builder.cc:685,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/builder.cc:686,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/builder.cc:688,1
    - Dst: google::protobuf::SplitStringToIteratorAllowEmpty
      Src: /src/sentencepiece/src/builder.cc:688,1
    - Dst: CHECK_GE
      Src: /src/sentencepiece/src/builder.cc:689,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/builder.cc:689,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/builder.cc:690,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/builder.cc:691,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/builder.cc:695,1
    - Dst: empty
      Src: /src/sentencepiece/src/builder.cc:696,1
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/builder.cc:699,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder.cc:700,1
    - Dst: string_util::HexToInt<char32_t>
      Src: /src/sentencepiece/src/builder.cc:700,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/builder.cc:702,1
    - Dst: empty
      Src: /src/sentencepiece/src/builder.cc:703,1
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/builder.cc:706,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder.cc:707,1
    - Dst: string_util::HexToInt<char32_t>
      Src: /src/sentencepiece/src/builder.cc:707,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:709,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/builder.cc:709,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:713,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - filename
    - chars_map
    argTypes:
    - absl::string_view
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 714
    functionName: sentencepiece::normalizer::Builder::LoadCharsMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 8
    functionsReached:
    - LOG
    - google::protobuf::SplitStringToIteratorAllowEmpty
    - sentencepiece::filesystem::NewReadableFile
    - absl::string_view::data
    - empty
    - RETURN_IF_ERROR
    - RET_CHECK
    - std::vector::empty
    - auto::ReadLine
    - auto::status
    - CharsMap*::clear
    - absl::OkStatus
    - std::vector::size
    - absl::StrSplit
    - std::vector::emplace_back
    - CHECK_GE
    - absl::ConsumePrefix
    - string_util::HexToInt<char32_t>
    - std::vector::push_back
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Builder::LoadCharsMap(absl::string_view filename,\n                                   CharsMap*
      chars_map)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/builder.cc:719,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:720,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/builder.cc:720,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder.cc:728,1
    - Dst: sentencepiece::string_util::IntToHex
      Src: /src/sentencepiece/src/builder.cc:728,1
    - Dst: string_util::UnicodeText::push_back
      Src: /src/sentencepiece/src/builder.cc:729,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder.cc:732,1
    - Dst: sentencepiece::string_util::IntToHex
      Src: /src/sentencepiece/src/builder.cc:732,1
    - Dst: string_util::UnicodeText::push_back
      Src: /src/sentencepiece/src/builder.cc:733,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/builder.cc:735,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/builder.cc:736,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/builder.cc:737,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/builder.cc:738,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/builder.cc:739,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/builder.cc:742,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filename
    - ' chars_map'
    argTypes:
    - absl::string_view
    - Builder::CharsMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 746
    functionName: sentencepiece::normalizer::Builder::SaveCharsMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 10
    functionsReached:
    - sentencepiece::filesystem::NewWritableFile
    - sentencepiece::string_util::IntToHex
    - auto::status
    - RETURN_IF_ERROR
    - string_util::UnicodeText::push_back
    - sentencepiece::string_util::UnicodeTextToUTF8
    - absl::StrReplaceAll
    - auto::WriteLine
    - absl::OkStatus
    - std::vector::push_back
    - absl::StrJoin
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Builder::SaveCharsMap(absl::string_view filename,\n                                   const
      Builder::CharsMap& chars_map)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:750,1
    - Dst: std::max
      Src: /src/sentencepiece/src/builder.cc:755,1
    - Dst: first::size
      Src: /src/sentencepiece/src/builder.cc:755,1
    - Dst: first::size
      Src: /src/sentencepiece/src/builder.cc:756,1
    - Dst: CharsMap::insert
      Src: /src/sentencepiece/src/builder.cc:757,1
    - Dst: RET_CHECK_GT
      Src: /src/sentencepiece/src/builder.cc:760,1
    - Dst: first::size
      Src: /src/sentencepiece/src/builder.cc:766,1
    - Dst: Normalize
      Src: /src/sentencepiece/src/builder.cc:767,1
    - Dst: CharsMap::insert
      Src: /src/sentencepiece/src/builder.cc:768,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/builder.cc:775,1
    - Dst: Normalize
      Src: /src/sentencepiece/src/builder.cc:775,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:778,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:780,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 781
    functionName: sentencepiece::normalizer::Builder::RemoveRedundantMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 8
    functionsReached:
    - CharsMap::insert
    - RET_CHECK_EQ
    - std::max
    - absl::OkStatus
    - first::size
    - std::move
    - Normalize
    - RET_CHECK_GT
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::RemoveRedundantMap(CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/builder.cc:71,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/builder.cc:72,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/builder.cc:72,1
    - Dst: icu::UnicodeString::fromUTF8
      Src: /src/sentencepiece/src/builder.cc:74,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/src/builder.cc:74,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/src/builder.cc:78,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/builder.cc:79,1
    - Dst: U_SUCCESS
      Src: /src/sentencepiece/src/builder.cc:79,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/src/builder.cc:81,1
    - Dst: icu::UnicodeString::length
      Src: /src/sentencepiece/src/builder.cc:81,1
    - Dst: icu::UnicodeString::toUTF8String
      Src: /src/sentencepiece/src/builder.cc:82,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/builder.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mode
    - ' input'
    argTypes:
    - UNormalizationMode
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: sentencepiece::normalizer::UnicodeNormalize
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 8
    functionsReached:
    - std::string::empty
    - CHECK
    - sentencepiece::string_util::UnicodeTextToUTF8
    - icu::UnicodeString::toUTF8String
    - U_SUCCESS
    - std::string::c_str
    - icu::UnicodeString::fromUTF8
    - std::string::reserve
    - icu::UnicodeString::length
    - google::protobuf::io::win32::normalize
    - sentencepiece::string_util::UTF8ToUnicodeText
    linkageType: ''
    returnType: Builder::Chars
    signature: "Builder::Chars UnicodeNormalize(UNormalizationMode mode,\n                                const
      Builder::Chars& input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: sentencepiece::normalizer::ToNFKD
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFKD(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: sentencepiece::normalizer::ToNFKC
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFKC(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: sentencepiece::normalizer::ToNFC
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFC(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: sentencepiece::normalizer::ToNFD
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFD(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/sentencepiece/src/builder.cc:109,1
    - Dst: empty
      Src: /src/sentencepiece/src/builder.cc:109,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/builder.cc:111,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder.cc:112,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:114,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/builder.cc:115,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/builder.cc:119,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/builder.cc:120,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:123,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/builder.cc:125,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:125,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' nfkd'
    - "\n        norm2orig"
    argTypes:
    - Builder::Chars
    - absl::flat_hash_map<char32_t, absl::flat_hash_set<char32_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: sentencepiece::normalizer::ExpandUnnormalized
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 2
    functionsReached:
    - std::vector::back
    - CHECK
    - CHECK_EQ
    - sentencepiece::port::FindOrDie
    - empty
    - std::move
    - std::vector::emplace_back
    - std::vector::push_back
    - size
    linkageType: ''
    returnType: std::vector<Builder::Chars>
    signature: "std::vector<Builder::Chars> ExpandUnnormalized(\n    const Builder::Chars&
      nfkd,\n    const absl::flat_hash_map<char32_t, absl::flat_hash_set<char32_t>>&\n
      \       norm2orig)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_GE
      Src: /src/sentencepiece/src/builder.cc:134,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:137,1
    - Dst: end
      Src: /src/sentencepiece/src/builder.cc:138,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/builder.cc:139,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:139,1
    - Dst: begin
      Src: /src/sentencepiece/src/builder.cc:141,1
    - Dst: begin
      Src: /src/sentencepiece/src/builder.cc:141,1
    - Dst: Builder::Chars::empty
      Src: /src/sentencepiece/src/builder.cc:142,1
    - Dst: find
      Src: /src/sentencepiece/src/builder.cc:143,1
    - Dst: end
      Src: /src/sentencepiece/src/builder.cc:144,1
    - Dst: Builder::Chars::pop_back
      Src: /src/sentencepiece/src/builder.cc:147,1
    - Dst: end
      Src: /src/sentencepiece/src/builder.cc:151,1
    - Dst: Builder::Chars::push_back
      Src: /src/sentencepiece/src/builder.cc:152,1
    - Dst: std::copy
      Src: /src/sentencepiece/src/builder.cc:155,1
    - Dst: auto::second::begin
      Src: /src/sentencepiece/src/builder.cc:155,1
    - Dst: auto::second::end
      Src: /src/sentencepiece/src/builder.cc:155,1
    - Dst: std::back_inserter
      Src: /src/sentencepiece/src/builder.cc:156,1
    - Dst: auto::first::size
      Src: /src/sentencepiece/src/builder.cc:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' chars_map'
    - ' src'
    - max_len
    argTypes:
    - Builder::CharsMap
    - Builder::Chars
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 162
    functionName: sentencepiece::normalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - Builder::Chars::empty
    - size
    - auto::second::end
    - find
    - end
    - auto::first::size
    - begin
    - std::copy
    - std::back_inserter
    - auto::second::begin
    - Builder::Chars::pop_back
    - CHECK_GE
    - Builder::Chars::push_back
    - std::min<size_t>
    linkageType: ''
    returnType: Builder::Chars
    signature: "Builder::Chars Normalize(const Builder::CharsMap& chars_map,\n                         const
      Builder::Chars& src, int max_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/builder.cc:166,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/builder.cc:166,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/builder.cc:166,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/builder.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - blob_data
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: sentencepiece::normalizer::IsValidNormalizerData
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - NormalizerSpec::set_precompiled_charsmap
    - Normalizer::status
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status IsValidNormalizerData(absl::string_view blob_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/builder.cc:71,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/builder.cc:72,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/builder.cc:72,1
    - Dst: icu::UnicodeString::fromUTF8
      Src: /src/sentencepiece/src/builder.cc:74,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/src/builder.cc:74,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/src/builder.cc:78,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/builder.cc:79,1
    - Dst: U_SUCCESS
      Src: /src/sentencepiece/src/builder.cc:79,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/src/builder.cc:81,1
    - Dst: icu::UnicodeString::length
      Src: /src/sentencepiece/src/builder.cc:81,1
    - Dst: icu::UnicodeString::toUTF8String
      Src: /src/sentencepiece/src/builder.cc:82,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/builder.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mode
    - ' input'
    argTypes:
    - UNormalizationMode
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: sentencepiece::normalizer::UnicodeNormalize
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 12
    functionsReached:
    - std::string::empty
    - CHECK
    - sentencepiece::string_util::UnicodeTextToUTF8
    - icu::UnicodeString::toUTF8String
    - U_SUCCESS
    - std::string::c_str
    - icu::UnicodeString::fromUTF8
    - std::string::reserve
    - icu::UnicodeString::length
    - google::protobuf::io::win32::normalize
    - sentencepiece::string_util::UTF8ToUnicodeText
    linkageType: ''
    returnType: Builder::Chars
    signature: "Builder::Chars UnicodeNormalize(UNormalizationMode mode,\n                                const
      Builder::Chars& input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: sentencepiece::normalizer::ToNFKD
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFKD(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: sentencepiece::normalizer::ToNFKC
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFKC(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: sentencepiece::normalizer::ToNFC
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFC(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::UnicodeNormalize
      Src: /src/sentencepiece/src/builder.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - Builder::Chars
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: sentencepiece::normalizer::ToNFD
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::UnicodeNormalize
    linkageType: ''
    returnType: Builder::Chars
    signature: Builder::Chars ToNFD(const Builder::Chars& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/sentencepiece/src/builder.cc:109,1
    - Dst: empty
      Src: /src/sentencepiece/src/builder.cc:109,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/builder.cc:111,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder.cc:112,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:114,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/builder.cc:115,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/builder.cc:119,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/src/builder.cc:120,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:123,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/builder.cc:125,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:125,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ' nfkd'
    - "\n        norm2orig"
    argTypes:
    - Builder::Chars
    - absl::flat_hash_map<char32_t, absl::flat_hash_set<char32_t>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: sentencepiece::normalizer::ExpandUnnormalized
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 2
    functionsReached:
    - std::vector::back
    - CHECK
    - CHECK_EQ
    - sentencepiece::port::FindOrDie
    - empty
    - std::move
    - std::vector::emplace_back
    - std::vector::push_back
    - size
    linkageType: ''
    returnType: std::vector<Builder::Chars>
    signature: "std::vector<Builder::Chars> ExpandUnnormalized(\n    const Builder::Chars&
      nfkd,\n    const absl::flat_hash_map<char32_t, absl::flat_hash_set<char32_t>>&\n
      \       norm2orig)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_GE
      Src: /src/sentencepiece/src/builder.cc:134,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:137,1
    - Dst: end
      Src: /src/sentencepiece/src/builder.cc:138,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/builder.cc:139,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:139,1
    - Dst: begin
      Src: /src/sentencepiece/src/builder.cc:141,1
    - Dst: begin
      Src: /src/sentencepiece/src/builder.cc:141,1
    - Dst: Builder::Chars::empty
      Src: /src/sentencepiece/src/builder.cc:142,1
    - Dst: find
      Src: /src/sentencepiece/src/builder.cc:143,1
    - Dst: end
      Src: /src/sentencepiece/src/builder.cc:144,1
    - Dst: Builder::Chars::pop_back
      Src: /src/sentencepiece/src/builder.cc:147,1
    - Dst: end
      Src: /src/sentencepiece/src/builder.cc:151,1
    - Dst: Builder::Chars::push_back
      Src: /src/sentencepiece/src/builder.cc:152,1
    - Dst: std::copy
      Src: /src/sentencepiece/src/builder.cc:155,1
    - Dst: auto::second::begin
      Src: /src/sentencepiece/src/builder.cc:155,1
    - Dst: auto::second::end
      Src: /src/sentencepiece/src/builder.cc:155,1
    - Dst: std::back_inserter
      Src: /src/sentencepiece/src/builder.cc:156,1
    - Dst: auto::first::size
      Src: /src/sentencepiece/src/builder.cc:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' chars_map'
    - ' src'
    - max_len
    argTypes:
    - Builder::CharsMap
    - Builder::Chars
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 162
    functionName: sentencepiece::normalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - Builder::Chars::empty
    - size
    - auto::second::end
    - find
    - end
    - auto::first::size
    - begin
    - std::copy
    - std::back_inserter
    - auto::second::begin
    - Builder::Chars::pop_back
    - CHECK_GE
    - Builder::Chars::push_back
    - std::min<size_t>
    linkageType: ''
    returnType: Builder::Chars
    signature: "Builder::Chars Normalize(const Builder::CharsMap& chars_map,\n                         const
      Builder::Chars& src, int max_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/builder.cc:166,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/builder.cc:166,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/builder.cc:166,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/builder.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - blob_data
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: sentencepiece::normalizer::IsValidNormalizerData
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    - NormalizerSpec::set_precompiled_charsmap
    - Normalizer::status
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status IsValidNormalizerData(absl::string_view blob_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:176,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:177,1
    - Dst: empty
      Src: /src/sentencepiece/src/builder.cc:177,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:179,1
    - Dst: size
      Src: /src/sentencepiece/src/builder.cc:179,1
    - Dst: first::empty
      Src: /src/sentencepiece/src/builder.cc:182,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/src/builder.cc:183,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/src/builder.cc:186,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/builder.cc:198,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/builder.cc:199,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:200,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/builder.cc:200,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/builder.cc:208,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:209,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/builder.cc:209,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:210,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/builder.cc:210,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/builder.cc:211,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/builder.cc:211,1
    - Dst: std::sort
      Src: /src/sentencepiece/src/builder.cc:214,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/builder.cc:214,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/builder.cc:214,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/builder.cc:215,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/builder.cc:216,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/builder.cc:217,1
    - Dst: first::c_str
      Src: /src/sentencepiece/src/builder.cc:218,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/builder.cc:223,1
    - Dst: Darts::DoubleArray::build
      Src: /src/sentencepiece/src/builder.cc:223,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/builder.cc:223,1
    - Dst: const_cast<char**>
      Src: /src/sentencepiece/src/builder.cc:223,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/builder.cc:223,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/builder.cc:224,1
    - Dst: Darts::DoubleArray::commonPrefixSearch
      Src: /src/sentencepiece/src/builder.cc:231,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/builder.cc:231,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/builder.cc:232,1
    - Dst: strlen
      Src: /src/sentencepiece/src/builder.cc:232,1
    - Dst: std::max
      Src: /src/sentencepiece/src/builder.cc:233,1
    - Dst: RET_CHECK_LT
      Src: /src/sentencepiece/src/builder.cc:235,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/src/builder.cc:240,1
    - Dst: Darts::DoubleArray::array
      Src: /src/sentencepiece/src/builder.cc:240,1
    - Dst: Darts::DoubleArray::size
      Src: /src/sentencepiece/src/builder.cc:241,1
    - Dst: Darts::DoubleArray::unit_size
      Src: /src/sentencepiece/src/builder.cc:241,1
    - Dst: sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
      Src: /src/sentencepiece/src/builder.cc:242,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:243,1
    - Dst: IsValidNormalizerData
      Src: /src/sentencepiece/src/builder.cc:243,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:245,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/builder.cc:245,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - ' chars_map'
    - output
    argTypes:
    - CharsMap
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 248
    functionName: sentencepiece::normalizer::Builder::CompileCharsMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 17
    functionsReached:
    - IsValidNormalizerData
    - LOG
    - Darts::DoubleArray::array
    - sentencepiece::string_util::UnicodeTextToUTF8
    - Darts::DoubleArray::commonPrefixSearch
    - std::string*::size
    - empty
    - sentencepiece::string_util::IsStructurallyValid
    - RETURN_IF_ERROR
    - RET_CHECK_LT
    - std::vector::begin
    - first::c_str
    - RET_CHECK
    - size
    - std::sort
    - Darts::DoubleArray::unit_size
    - static_cast<const char*>
    - first::empty
    - sentencepiece::port::FindOrDie
    - absl::OkStatus
    - std::vector::size
    - Darts::DoubleArray::build
    - std::vector::emplace_back
    - Darts::DoubleArray::size
    - RET_CHECK_EQ
    - std::vector::data
    - std::string::size
    - absl::InvalidArgumentError
    - std::string::empty
    - std::max
    - strlen
    - sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
    - const_cast<char**>
    - std::vector::end
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Builder::CompileCharsMap(const CharsMap& chars_map,\n
      \                                     std::string* output)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:253,1
    - Dst: Builder::CharsMap*::clear
      Src: /src/sentencepiece/src/builder.cc:254,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:259,1
    - Dst: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
      Src: /src/sentencepiece/src/builder.cc:259,1
    - Dst: Darts::DoubleArray::copy_array
      Src: /src/sentencepiece/src/builder.cc:264,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builder.cc:264,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/builder.cc:264,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/builder.cc:265,1
    - Dst: Darts::DoubleArray::validate
      Src: /src/sentencepiece/src/builder.cc:267,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/builder.cc:268,1
    - Dst: std::string::push_back
      Src: /src/sentencepiece/src/builder.cc:286,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/src/builder.cc:286,1
    - Dst: Darts::DoubleArray::traverse
      Src: /src/sentencepiece/src/builder.cc:291,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/builder.cc:292,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/builder.cc:292,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builder.cc:298,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/builder.cc:298,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/builder.cc:301,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/builder.cc:304,1
    - Dst: Chars::reserve
      Src: /src/sentencepiece/src/builder.cc:305,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:305,1
    - Dst: Chars::push_back
      Src: /src/sentencepiece/src/builder.cc:307,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/builder.cc:309,1
    - Dst: Chars::reserve
      Src: /src/sentencepiece/src/builder.cc:310,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:310,1
    - Dst: Chars::push_back
      Src: /src/sentencepiece/src/builder.cc:312,1
    - Dst: traverse
      Src: /src/sentencepiece/src/builder.cc:318,1
    - Dst: std::string::pop_back
      Src: /src/sentencepiece/src/builder.cc:320,1
    - Dst: traverse
      Src: /src/sentencepiece/src/builder.cc:324,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/builder.cc:327,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/builder.cc:332,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:335,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - blob
    - chars_map
    argTypes:
    - absl::string_view
    - Builder::CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 336
    functionName: sentencepiece::normalizer::Builder::DecompileCharsMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 17
    functionsReached:
    - static_cast<size_t>
    - Chars::push_back
    - static_cast<char>
    - Darts::DoubleArray::traverse
    - Darts::DoubleArray::validate
    - absl::string_view::data
    - RETURN_IF_ERROR
    - absl::string_view::size
    - sentencepiece::string_util::UTF8ToUnicodeText
    - RET_CHECK
    - std::string::pop_back
    - Chars::reserve
    - std::string::data
    - absl::OkStatus
    - reinterpret_cast<const char*>
    - std::string::size
    - std::string::push_back
    - traverse
    - sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
    - auto::size
    - Darts::DoubleArray::copy_array
    - Builder::CharsMap*::clear
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Builder::DecompileCharsMap(absl::string_view blob,\n
      \                                       Builder::CharsMap* chars_map)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:341,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/src/builder.cc:344,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:345,1
    - Dst: std::all_of
      Src: /src/sentencepiece/src/builder.cc:348,1
    - Dst: absl::string_view::begin
      Src: /src/sentencepiece/src/builder.cc:348,1
    - Dst: absl::string_view::end
      Src: /src/sentencepiece/src/builder.cc:348,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/builder.cc:351,1
    - Dst: std::string*::assign
      Src: /src/sentencepiece/src/builder.cc:361,1
    - Dst: IsValidNormalizerData
      Src: /src/sentencepiece/src/builder.cc:362,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/builder.cc:368,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/builder.cc:368,1
    - Dst: GetDataDir
      Src: /src/sentencepiece/src/builder.cc:368,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/builder.cc:369,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/builder.cc:370,1
    - Dst: auto::ReadAll
      Src: /src/sentencepiece/src/builder.cc:371,1
    - Dst: IsValidNormalizerData
      Src: /src/sentencepiece/src/builder.cc:372,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/builder.cc:377,1
    - Dst: GetDataDir
      Src: /src/sentencepiece/src/builder.cc:379,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - name
    - output
    argTypes:
    - absl::string_view
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 380
    functionName: sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 4
    functionsReached:
    - absl::string_view::end
    - absl::string_view::begin
    - GetDataDir
    - IsValidNormalizerData
    - auto::status
    - sentencepiece::filesystem::NewReadableFile
    - auto::ReadAll
    - std::string*::assign
    - std::all_of
    - absl::OkStatus
    - absl::StatusBuilder
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - std::string*::clear
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Builder::GetPrecompiledCharsMap(absl::string_view name,\n
      \                                            std::string* output)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: U_IS_UNICODE_CHAR
      Src: /src/sentencepiece/src/builder.cc:399,1
    - Dst: composer
      Src: /src/sentencepiece/src/builder.cc:403,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:404,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:404,1
    - Dst: decomposer
      Src: /src/sentencepiece/src/builder.cc:407,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:408,1
    - Dst: insert
      Src: /src/sentencepiece/src/builder.cc:410,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/src/builder.cc:413,1
    - Dst: composer
      Src: /src/sentencepiece/src/builder.cc:418,1
    - Dst: sentencepiece::normalizer::ExpandUnnormalized
      Src: /src/sentencepiece/src/builder.cc:425,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:432,1
    - Dst: sentencepiece::normalizer::Builder::RemoveRedundantMap
      Src: /src/sentencepiece/src/builder.cc:432,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:433,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:435,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - chars_map
    - composer
    - decomposer
    argTypes:
    - Builder::CharsMap*
    - std::function<Builder::Chars(const Builder::Chars&)>
    - std::function<Builder::Chars(const Builder::Chars&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 436
    functionName: sentencepiece::normalizer::BuildMapInternal
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - U_IS_UNICODE_CHAR
    - decomposer
    - RETURN_IF_ERROR
    - auto::size
    - insert
    - absl::OkStatus
    - sentencepiece::normalizer::Builder::RemoveRedundantMap
    - std::move
    - sentencepiece::normalizer::ExpandUnnormalized
    - composer
    - std::set::insert
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status BuildMapInternal(\n    Builder::CharsMap* chars_map,\n
      \   std::function<Builder::Chars(const Builder::Chars&)> composer,\n    std::function<Builder::Chars(const
      Builder::Chars&)> decomposer)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: U_IS_UNICODE_CHAR
      Src: /src/sentencepiece/src/builder.cc:399,1
    - Dst: composer
      Src: /src/sentencepiece/src/builder.cc:403,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:404,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:404,1
    - Dst: decomposer
      Src: /src/sentencepiece/src/builder.cc:407,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:408,1
    - Dst: insert
      Src: /src/sentencepiece/src/builder.cc:410,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/src/builder.cc:413,1
    - Dst: composer
      Src: /src/sentencepiece/src/builder.cc:418,1
    - Dst: sentencepiece::normalizer::ExpandUnnormalized
      Src: /src/sentencepiece/src/builder.cc:425,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:432,1
    - Dst: sentencepiece::normalizer::Builder::RemoveRedundantMap
      Src: /src/sentencepiece/src/builder.cc:432,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:433,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:435,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - chars_map
    - composer
    - decomposer
    argTypes:
    - Builder::CharsMap*
    - std::function<Builder::Chars(const Builder::Chars&)>
    - std::function<Builder::Chars(const Builder::Chars&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 436
    functionName: sentencepiece::normalizer::BuildMapInternal
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - U_IS_UNICODE_CHAR
    - decomposer
    - RETURN_IF_ERROR
    - auto::size
    - insert
    - absl::OkStatus
    - sentencepiece::normalizer::Builder::RemoveRedundantMap
    - std::move
    - sentencepiece::normalizer::ExpandUnnormalized
    - composer
    - std::set::insert
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status BuildMapInternal(\n    Builder::CharsMap* chars_map,\n
      \   std::function<Builder::Chars(const Builder::Chars&)> composer,\n    std::function<Builder::Chars(const
      Builder::Chars&)> decomposer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:443,1
    - Dst: BuildMapInternal
      Src: /src/sentencepiece/src/builder.cc:444,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:446,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: sentencepiece::normalizer::Builder::BuildNFKCMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 10
    functionsReached:
    - BuildMapInternal
    - LOG
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFKCMap(CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:455,1
    - Dst: BuildMapInternal
      Src: /src/sentencepiece/src/builder.cc:456,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:458,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 461
    functionName: sentencepiece::normalizer::Builder::BuildNFCMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - BuildMapInternal
    - LOG
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFCMap(CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:465,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:468,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder.cc:468,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:469,1
    - Dst: sentencepiece::normalizer::Builder::MergeNmtMap
      Src: /src/sentencepiece/src/builder.cc:469,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:470,1
    - Dst: sentencepiece::normalizer::Builder::RemoveRedundantMap
      Src: /src/sentencepiece/src/builder.cc:470,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:472,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:474,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 478
    functionName: sentencepiece::normalizer::Builder::BuildNmtNFKCMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 1
    functionsReached:
    - LOG
    - absl::OkStatus
    - sentencepiece::normalizer::Builder::RemoveRedundantMap
    - std::move
    - RETURN_IF_ERROR
    - sentencepiece::normalizer::Builder::MergeNmtMap
    - sentencepiece::normalizer::Builder::BuildNFKCMap
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNmtNFKCMap(CharsMap* chars_map)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/builder.cc:485,1
    - Dst: second::size
      Src: /src/sentencepiece/src/builder.cc:485,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder.cc:487,1
    - Dst: u_foldCase
      Src: /src/sentencepiece/src/builder.cc:487,1
    - Dst: U_IS_UNICODE_CHAR
      Src: /src/sentencepiece/src/builder.cc:494,1
    - Dst: Builder::CharsMap*::find
      Src: /src/sentencepiece/src/builder.cc:497,1
    - Dst: Builder::CharsMap*::end
      Src: /src/sentencepiece/src/builder.cc:497,1
    - Dst: u_foldCase
      Src: /src/sentencepiece/src/builder.cc:498,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:502,1
    - Dst: sentencepiece::normalizer::Builder::RemoveRedundantMap
      Src: /src/sentencepiece/src/builder.cc:502,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - Builder::CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 506
    functionName: sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 5
    functionsReached:
    - Builder::CharsMap*::find
    - U_IS_UNICODE_CHAR
    - u_foldCase
    - Builder::CharsMap*::end
    - RETURN_IF_ERROR
    - absl::OkStatus
    - second::size
    - sentencepiece::normalizer::Builder::RemoveRedundantMap
    - std::vector::push_back
    - std::vector::reserve
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::MergeUnicodeCaseFoldMap(Builder::CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erase
      Src: /src/sentencepiece/src/builder.cc:563,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - Builder::CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 566
    functionName: sentencepiece::normalizer::Builder::MergeNmtMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 2
    functionsReached:
    - erase
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::MergeNmtMap(Builder::CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:572,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKCMap
      Src: /src/sentencepiece/src/builder.cc:572,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:573,1
    - Dst: sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
      Src: /src/sentencepiece/src/builder.cc:573,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:574,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:576,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 580
    functionName: sentencepiece::normalizer::Builder::BuildNFKC_CFMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
    - LOG
    - absl::OkStatus
    - std::move
    - RETURN_IF_ERROR
    - sentencepiece::normalizer::Builder::BuildNFKCMap
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFKC_CFMap(CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:586,1
    - Dst: sentencepiece::normalizer::Builder::BuildNmtNFKCMap
      Src: /src/sentencepiece/src/builder.cc:586,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:587,1
    - Dst: sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
      Src: /src/sentencepiece/src/builder.cc:587,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:588,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:590,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 594
    functionName: sentencepiece::normalizer::Builder::BuildNmtNFKC_CFMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
    - LOG
    - absl::OkStatus
    - std::move
    - RETURN_IF_ERROR
    - sentencepiece::normalizer::Builder::BuildNmtNFKCMap
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNmtNFKC_CFMap(CharsMap* chars_map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: U_IS_UNICODE_CHAR
      Src: /src/sentencepiece/src/builder.cc:601,1
    - Dst: ToNFKD
      Src: /src/sentencepiece/src/builder.cc:604,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:605,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:605,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:610,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 613
    functionName: sentencepiece::normalizer::Builder::BuildNFKDMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 2
    functionsReached:
    - LOG
    - U_IS_UNICODE_CHAR
    - auto::size
    - absl::OkStatus
    - ToNFKD
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFKDMap(CharsMap* chars_map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: U_IS_UNICODE_CHAR
      Src: /src/sentencepiece/src/builder.cc:620,1
    - Dst: ToNFD
      Src: /src/sentencepiece/src/builder.cc:623,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:624,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/builder.cc:624,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:630,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:632,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 633
    functionName: sentencepiece::normalizer::Builder::BuildNFDMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 1
    functionsReached:
    - LOG
    - U_IS_UNICODE_CHAR
    - auto::size
    - absl::OkStatus
    - ToNFD
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFDMap(CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:639,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKDMap
      Src: /src/sentencepiece/src/builder.cc:639,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:640,1
    - Dst: sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
      Src: /src/sentencepiece/src/builder.cc:640,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:641,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:643,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 646
    functionName: sentencepiece::normalizer::Builder::BuildNFKD_CFMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
    - LOG
    - absl::OkStatus
    - std::move
    - RETURN_IF_ERROR
    - sentencepiece::normalizer::Builder::BuildNFKDMap
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFKD_CFMap(CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:652,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFKDMap
      Src: /src/sentencepiece/src/builder.cc:652,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:653,1
    - Dst: sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
      Src: /src/sentencepiece/src/builder.cc:653,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:654,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:656,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 659
    functionName: sentencepiece::normalizer::Builder::BuildNFC_CFMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
    - LOG
    - absl::OkStatus
    - std::move
    - RETURN_IF_ERROR
    - sentencepiece::normalizer::Builder::BuildNFKDMap
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFC_CFMap(CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:665,1
    - Dst: sentencepiece::normalizer::Builder::BuildNFDMap
      Src: /src/sentencepiece/src/builder.cc:665,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:666,1
    - Dst: sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
      Src: /src/sentencepiece/src/builder.cc:666,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:667,1
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:669,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 672
    functionName: sentencepiece::normalizer::Builder::BuildNFD_CFMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
    - LOG
    - sentencepiece::normalizer::Builder::BuildNFDMap
    - absl::OkStatus
    - std::move
    - RETURN_IF_ERROR
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::BuildNFD_CFMap(CharsMap* chars_map)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/builder.cc:677,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/builder.cc:677,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:678,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/builder.cc:680,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:682,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/builder.cc:682,1
    - Dst: CharsMap*::clear
      Src: /src/sentencepiece/src/builder.cc:685,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/builder.cc:686,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/builder.cc:688,1
    - Dst: google::protobuf::SplitStringToIteratorAllowEmpty
      Src: /src/sentencepiece/src/builder.cc:688,1
    - Dst: CHECK_GE
      Src: /src/sentencepiece/src/builder.cc:689,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/builder.cc:689,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/builder.cc:690,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/builder.cc:691,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/builder.cc:695,1
    - Dst: empty
      Src: /src/sentencepiece/src/builder.cc:696,1
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/builder.cc:699,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder.cc:700,1
    - Dst: string_util::HexToInt<char32_t>
      Src: /src/sentencepiece/src/builder.cc:700,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/builder.cc:702,1
    - Dst: empty
      Src: /src/sentencepiece/src/builder.cc:703,1
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/builder.cc:706,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder.cc:707,1
    - Dst: string_util::HexToInt<char32_t>
      Src: /src/sentencepiece/src/builder.cc:707,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:709,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/src/builder.cc:709,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:713,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - filename
    - chars_map
    argTypes:
    - absl::string_view
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 714
    functionName: sentencepiece::normalizer::Builder::LoadCharsMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 8
    functionsReached:
    - LOG
    - google::protobuf::SplitStringToIteratorAllowEmpty
    - sentencepiece::filesystem::NewReadableFile
    - absl::string_view::data
    - empty
    - RETURN_IF_ERROR
    - RET_CHECK
    - std::vector::empty
    - auto::ReadLine
    - auto::status
    - CharsMap*::clear
    - absl::OkStatus
    - std::vector::size
    - absl::StrSplit
    - std::vector::emplace_back
    - CHECK_GE
    - absl::ConsumePrefix
    - string_util::HexToInt<char32_t>
    - std::vector::push_back
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Builder::LoadCharsMap(absl::string_view filename,\n                                   CharsMap*
      chars_map)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/builder.cc:719,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/builder.cc:720,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/builder.cc:720,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder.cc:728,1
    - Dst: sentencepiece::string_util::IntToHex
      Src: /src/sentencepiece/src/builder.cc:728,1
    - Dst: string_util::UnicodeText::push_back
      Src: /src/sentencepiece/src/builder.cc:729,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/builder.cc:732,1
    - Dst: sentencepiece::string_util::IntToHex
      Src: /src/sentencepiece/src/builder.cc:732,1
    - Dst: string_util::UnicodeText::push_back
      Src: /src/sentencepiece/src/builder.cc:733,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/builder.cc:735,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/builder.cc:736,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/builder.cc:737,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/builder.cc:738,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/builder.cc:739,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/builder.cc:742,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filename
    - ' chars_map'
    argTypes:
    - absl::string_view
    - Builder::CharsMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 746
    functionName: sentencepiece::normalizer::Builder::SaveCharsMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 10
    functionsReached:
    - sentencepiece::filesystem::NewWritableFile
    - sentencepiece::string_util::IntToHex
    - auto::status
    - RETURN_IF_ERROR
    - string_util::UnicodeText::push_back
    - sentencepiece::string_util::UnicodeTextToUTF8
    - absl::StrReplaceAll
    - auto::WriteLine
    - absl::OkStatus
    - std::vector::push_back
    - absl::StrJoin
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Builder::SaveCharsMap(absl::string_view filename,\n                                   const
      Builder::CharsMap& chars_map)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/builder.cc:750,1
    - Dst: std::max
      Src: /src/sentencepiece/src/builder.cc:755,1
    - Dst: first::size
      Src: /src/sentencepiece/src/builder.cc:755,1
    - Dst: first::size
      Src: /src/sentencepiece/src/builder.cc:756,1
    - Dst: CharsMap::insert
      Src: /src/sentencepiece/src/builder.cc:757,1
    - Dst: RET_CHECK_GT
      Src: /src/sentencepiece/src/builder.cc:760,1
    - Dst: first::size
      Src: /src/sentencepiece/src/builder.cc:766,1
    - Dst: Normalize
      Src: /src/sentencepiece/src/builder.cc:767,1
    - Dst: CharsMap::insert
      Src: /src/sentencepiece/src/builder.cc:768,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/builder.cc:775,1
    - Dst: Normalize
      Src: /src/sentencepiece/src/builder.cc:775,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builder.cc:778,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/builder.cc:780,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - chars_map
    argTypes:
    - CharsMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 781
    functionName: sentencepiece::normalizer::Builder::RemoveRedundantMap
    functionSourceFile: /src/sentencepiece/src/builder.cc
    functionUses: 12
    functionsReached:
    - CharsMap::insert
    - RET_CHECK_EQ
    - std::max
    - absl::OkStatus
    - first::size
    - std::move
    - Normalize
    - RET_CHECK_GT
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Builder::RemoveRedundantMap(CharsMap* chars_map)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_util::IntToHex<char32_t>
      Src: /src/sentencepiece/src/util_test.cc:34,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/util_test.cc:35,1
    - Dst: string_util::HexToInt<char32_t>
      Src: /src/sentencepiece/src/util_test.cc:35,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/util_test.cc:38,1
    - Dst: sentencepiece::string_util::IntToHex
      Src: /src/sentencepiece/src/util_test.cc:38,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/util_test.cc:39,1
    - Dst: string_util::HexToInt<int>
      Src: /src/sentencepiece/src/util_test.cc:39,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/util_test.cc:40,1
    - Dst: string_util::HexToInt<int>
      Src: /src/sentencepiece/src/util_test.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - string_util::HexToInt<char32_t>
    - string_util::IntToHex<char32_t>
    - CHECK_EQ
    - sentencepiece::string_util::IntToHex
    - string_util::HexToInt<int>
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, Hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:45,1
    - Dst: absl::string_view::find
      Src: /src/sentencepiece/src/util_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, StringViewTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_util::EncodePOD<float>
      Src: /src/sentencepiece/src/util_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:53,1
    - Dst: string_util::DecodePOD<float>
      Src: /src/sentencepiece/src/util_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:54,1
    - Dst: string_util::EncodePOD<double>
      Src: /src/sentencepiece/src/util_test.cc:59,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:60,1
    - Dst: string_util::DecodePOD<double>
      Src: /src/sentencepiece/src/util_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:61,1
    - Dst: string_util::EncodePOD<int32_t>
      Src: /src/sentencepiece/src/util_test.cc:66,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:67,1
    - Dst: string_util::DecodePOD<int32_t>
      Src: /src/sentencepiece/src/util_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:68,1
    - Dst: string_util::EncodePOD<int16_t>
      Src: /src/sentencepiece/src/util_test.cc:73,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:74,1
    - Dst: string_util::DecodePOD<int16_t>
      Src: /src/sentencepiece/src/util_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:75,1
    - Dst: string_util::EncodePOD<int64_t>
      Src: /src/sentencepiece/src/util_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:81,1
    - Dst: string_util::DecodePOD<int64_t>
      Src: /src/sentencepiece/src/util_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:82,1
    - Dst: string_util::EncodePOD<int64_t>
      Src: /src/sentencepiece/src/util_test.cc:88,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:89,1
    - Dst: string_util::DecodePOD<int32_t>
      Src: /src/sentencepiece/src/util_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 91
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - string_util::DecodePOD<int32_t>
    - string_util::EncodePOD<double>
    - string_util::EncodePOD<int16_t>
    - string_util::EncodePOD<int64_t>
    - string_util::DecodePOD<int16_t>
    - EXPECT_EQ
    - EXPECT_FALSE
    - string_util::EncodePOD<float>
    - string_util::DecodePOD<int64_t>
    - EXPECT_TRUE
    - string_util::EncodePOD<int32_t>
    - string_util::DecodePOD<double>
    - string_util::DecodePOD<float>
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, EncodePODTet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:94,1
    - Dst: sentencepiece::string_util::SimpleItoa
      Src: /src/sentencepiece/src/util_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:95,1
    - Dst: sentencepiece::string_util::SimpleItoa
      Src: /src/sentencepiece/src/util_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:96,1
    - Dst: sentencepiece::string_util::SimpleItoa
      Src: /src/sentencepiece/src/util_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:97,1
    - Dst: sentencepiece::string_util::SimpleItoa
      Src: /src/sentencepiece/src/util_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:98,1
    - Dst: sentencepiece::string_util::SimpleItoa
      Src: /src/sentencepiece/src/util_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::string_util::SimpleItoa
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, ItoaTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:102,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/util_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:103,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/util_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::string_util::OneCharLen
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, OneCharLenTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:111,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:116,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:121,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:126,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:131,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:136,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:141,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:147,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:153,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:159,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:175,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:176,1
    - Dst: strlen
      Src: /src/sentencepiece/src/util_test.cc:177,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:179,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:185,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:190,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:195,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 199
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - strlen
    - EXPECT_FALSE
    - sentencepiece::string_util::IsStructurallyValid
    - sentencepiece::string_util::DecodeUTF8
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, DecodeUTF8Test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util_test.cc:204,1
    - Dst: sentencepiece::string_util::EncodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:205,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:212,1
    - Dst: sentencepiece::string_util::EncodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:217,1
    - Dst: sentencepiece::string_util::EncodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:218,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:221,1
    - Dst: sentencepiece::string_util::EncodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:222,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 224
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::string_util::DecodeUTF8
    - sentencepiece::string_util::IsValidCodepoint
    - sentencepiece::string_util::EncodeUTF8
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, EncodeUTF8Test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util_test.cc:228,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/util_test.cc:229,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/util_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:231,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/util_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::size
    - sentencepiece::string_util::UnicodeCharToUTF8
    - sentencepiece::string_util::UTF8ToUnicodeText
    - sentencepiece::string_util::IsValidCodepoint
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, UnicodeCharToUTF8Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:237,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:237,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:238,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:239,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/util_test.cc:239,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:240,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:240,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:241,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:242,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:243,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:243,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:244,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:244,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:245,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:245,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:246,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:246,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:247,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:247,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:248,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:248,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:249,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:249,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:250,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:250,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:251,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:251,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:252,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:252,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:253,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:253,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:254,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:254,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:255,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:255,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:256,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:256,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:257,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:257,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:258,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 259
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::as_string_view
    - EXPECT_TRUE
    - sentencepiece::string_util::IsStructurallyValid
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, IsStructurallyValidTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/util_test.cc:264,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:265,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/util_test.cc:265,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/util_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:268,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/util_test.cc:268,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/util_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:271,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/util_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::string_util::UnicodeTextToUTF8
    - sentencepiece::string_util::UTF8ToUnicodeText
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, UnicodeTextToUTF8Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:278,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/util_test.cc:278,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:279,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/util_test.cc:279,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:280,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/util_test.cc:280,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:281,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/util_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:283,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/util_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:284,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/util_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:286,1
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/util_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:287,1
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/util_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:288,1
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/util_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:290,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/util_test.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_FALSE
    - sentencepiece::port::FindOrDie
    - EXPECT_TRUE
    - sentencepiece::port::ContainsKey
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, MapUtilTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/util_test.cc:301,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:302,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/util_test.cc:302,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/util_test.cc:303,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/util_test.cc:304,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/util_test.cc:309,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:310,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/util_test.cc:310,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/util_test.cc:312,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:313,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/util_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:314,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:316,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/util_test.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 318
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - auto::ReadLine
    - sentencepiece::filesystem::NewWritableFile
    - sentencepiece::filesystem::NewReadableFile
    - EXPECT_EQ
    - auto::WriteLine
    - EXPECT_FALSE
    - EXPECT_TRUE
    - std::vector::size
    - sentencepiece::util::JoinPath
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, InputOutputBufferTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/util_test.cc:321,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:322,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/util_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - sentencepiece::filesystem::NewReadableFile
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, InputOutputBufferInvalidFileTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:327,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/util_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:328,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/util_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:329,1
    - Dst: std::string
      Src: /src/sentencepiece/src/util_test.cc:329,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/util_test.cc:329,1
    - Dst: std::string
      Src: /src/sentencepiece/src/util_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:334,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/util_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:335,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/util_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:336,1
    - Dst: std::string
      Src: /src/sentencepiece/src/util_test.cc:336,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/util_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:337,1
    - Dst: std::string
      Src: /src/sentencepiece/src/util_test.cc:337,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/util_test.cc:337,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/util_test.cc:339,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:340,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/util_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:341,1
    - Dst: auto::code
      Src: /src/sentencepiece/src/util_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:342,1
    - Dst: std::string
      Src: /src/sentencepiece/src/util_test.cc:342,1
    - Dst: auto::message
      Src: /src/sentencepiece/src/util_test.cc:342,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/util_test.cc:344,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/sentencepiece/src/util_test.cc:346,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:347,1
    - Dst: absl::Status::ToString
      Src: /src/sentencepiece/src/util_test.cc:347,1
    - Dst: absl::Status::ToString
      Src: /src/sentencepiece/src/util_test.cc:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 350
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - static_cast<absl::StatusCode>
    - auto::ok
    - absl::Status::message
    - absl::Status::code
    - std::string
    - EXPECT_EQ
    - auto::message
    - absl::OkStatus
    - EXPECT_TRUE
    - auto::code
    - absl::Status::ToString
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, StatusTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:354,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:355,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:357,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:358,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:358,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:360,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:360,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:361,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 362
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::util::JoinPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, JoinPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random::ReservoirSampler::Add
      Src: /src/sentencepiece/src/util_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:370,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/util_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:371,1
    - Dst: random::ReservoirSampler::total_size
      Src: /src/sentencepiece/src/util_test.cc:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - random::ReservoirSampler::Add
    - std::vector::size
    - EXPECT_EQ
    - random::ReservoirSampler::total_size
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, ReservoirSamplerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::StrSplitAsCSV
      Src: /src/sentencepiece/src/util_test.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:377,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/util_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:380,1
    - Dst: sentencepiece::util::StrSplitAsCSV
      Src: /src/sentencepiece/src/util_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:385,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/util_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:388,1
    - Dst: sentencepiece::util::StrSplitAsCSV
      Src: /src/sentencepiece/src/util_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:393,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/util_test.cc:393,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 397
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::size
    - sentencepiece::util::StrSplitAsCSV
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, StrSplitAsCSVTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SetDataDir
      Src: /src/sentencepiece/src/util_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:401,1
    - Dst: sentencepiece::GetDataDir
      Src: /src/sentencepiece/src/util_test.cc:401,1
    - Dst: sentencepiece::SetDataDir
      Src: /src/sentencepiece/src/util_test.cc:403,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:404,1
    - Dst: sentencepiece::GetDataDir
      Src: /src/sentencepiece/src/util_test.cc:404,1
    - Dst: sentencepiece::SetDataDir
      Src: /src/sentencepiece/src/util_test.cc:406,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:407,1
    - Dst: sentencepiece::GetDataDir
      Src: /src/sentencepiece/src/util_test.cc:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 408
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SetDataDir
    - EXPECT_EQ
    - sentencepiece::GetDataDir
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, DataDirTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/src/util_test.cc:412,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/util_test.cc:412,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:413,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/util_test.cc:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - sentencepiece::RunBatch
    - auto::ok
    - absl::OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST(BatchRunnerTest, EmptyTasks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/src/util_test.cc:421,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/util_test.cc:425,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:429,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/util_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 433
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - EXPECT_EQ
    - absl::OkStatus
    - EXPECT_TRUE
    - sentencepiece::RunBatch
    linkageType: ''
    returnType: void
    signature: void TEST(BatchRunnerTest, AllSuccess)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/src/util_test.cc:440,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/util_test.cc:445,1
    - Dst: absl::SleepFor
      Src: /src/sentencepiece/src/util_test.cc:447,1
    - Dst: absl::Milliseconds
      Src: /src/sentencepiece/src/util_test.cc:447,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/util_test.cc:448,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:452,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/util_test.cc:452,1
    - Dst: EXPECT_LT
      Src: /src/sentencepiece/src/util_test.cc:453,1
    - Dst: std::atomic::load
      Src: /src/sentencepiece/src/util_test.cc:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 454
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - auto::ok
    - absl::Milliseconds
    - EXPECT_FALSE
    - absl::OkStatus
    - std::atomic::load
    - absl::SleepFor
    - sentencepiece::RunBatch
    - absl::InternalError
    linkageType: ''
    returnType: void
    signature: void TEST(BatchRunnerTest, EarlyAbortOnError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_util::IntToHex<char32_t>
      Src: /src/sentencepiece/src/util_test.cc:34,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/util_test.cc:35,1
    - Dst: string_util::HexToInt<char32_t>
      Src: /src/sentencepiece/src/util_test.cc:35,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/util_test.cc:38,1
    - Dst: sentencepiece::string_util::IntToHex
      Src: /src/sentencepiece/src/util_test.cc:38,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/util_test.cc:39,1
    - Dst: string_util::HexToInt<int>
      Src: /src/sentencepiece/src/util_test.cc:39,1
    - Dst: CHECK_EQ
      Src: /src/sentencepiece/src/util_test.cc:40,1
    - Dst: string_util::HexToInt<int>
      Src: /src/sentencepiece/src/util_test.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - string_util::HexToInt<char32_t>
    - string_util::IntToHex<char32_t>
    - CHECK_EQ
    - sentencepiece::string_util::IntToHex
    - string_util::HexToInt<int>
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, Hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:45,1
    - Dst: absl::string_view::find
      Src: /src/sentencepiece/src/util_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::find
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, StringViewTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_util::EncodePOD<float>
      Src: /src/sentencepiece/src/util_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:53,1
    - Dst: string_util::DecodePOD<float>
      Src: /src/sentencepiece/src/util_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:54,1
    - Dst: string_util::EncodePOD<double>
      Src: /src/sentencepiece/src/util_test.cc:59,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:60,1
    - Dst: string_util::DecodePOD<double>
      Src: /src/sentencepiece/src/util_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:61,1
    - Dst: string_util::EncodePOD<int32_t>
      Src: /src/sentencepiece/src/util_test.cc:66,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:67,1
    - Dst: string_util::DecodePOD<int32_t>
      Src: /src/sentencepiece/src/util_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:68,1
    - Dst: string_util::EncodePOD<int16_t>
      Src: /src/sentencepiece/src/util_test.cc:73,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:74,1
    - Dst: string_util::DecodePOD<int16_t>
      Src: /src/sentencepiece/src/util_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:75,1
    - Dst: string_util::EncodePOD<int64_t>
      Src: /src/sentencepiece/src/util_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:81,1
    - Dst: string_util::DecodePOD<int64_t>
      Src: /src/sentencepiece/src/util_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:82,1
    - Dst: string_util::EncodePOD<int64_t>
      Src: /src/sentencepiece/src/util_test.cc:88,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:89,1
    - Dst: string_util::DecodePOD<int32_t>
      Src: /src/sentencepiece/src/util_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 91
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - string_util::DecodePOD<int32_t>
    - string_util::EncodePOD<double>
    - string_util::EncodePOD<int16_t>
    - string_util::EncodePOD<int64_t>
    - string_util::DecodePOD<int16_t>
    - EXPECT_EQ
    - EXPECT_FALSE
    - string_util::EncodePOD<float>
    - string_util::DecodePOD<int64_t>
    - EXPECT_TRUE
    - string_util::EncodePOD<int32_t>
    - string_util::DecodePOD<double>
    - string_util::DecodePOD<float>
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, EncodePODTet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:94,1
    - Dst: sentencepiece::string_util::SimpleItoa
      Src: /src/sentencepiece/src/util_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:95,1
    - Dst: sentencepiece::string_util::SimpleItoa
      Src: /src/sentencepiece/src/util_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:96,1
    - Dst: sentencepiece::string_util::SimpleItoa
      Src: /src/sentencepiece/src/util_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:97,1
    - Dst: sentencepiece::string_util::SimpleItoa
      Src: /src/sentencepiece/src/util_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:98,1
    - Dst: sentencepiece::string_util::SimpleItoa
      Src: /src/sentencepiece/src/util_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::string_util::SimpleItoa
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, ItoaTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:102,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/util_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:103,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/util_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::string_util::OneCharLen
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, OneCharLenTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:111,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:116,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:121,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:126,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:131,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:136,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:141,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:147,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:153,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:159,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:175,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:176,1
    - Dst: strlen
      Src: /src/sentencepiece/src/util_test.cc:177,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:179,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:185,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:190,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:195,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 199
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - strlen
    - EXPECT_FALSE
    - sentencepiece::string_util::IsStructurallyValid
    - sentencepiece::string_util::DecodeUTF8
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, DecodeUTF8Test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util_test.cc:204,1
    - Dst: sentencepiece::string_util::EncodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:205,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:212,1
    - Dst: sentencepiece::string_util::EncodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:217,1
    - Dst: sentencepiece::string_util::EncodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:218,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:221,1
    - Dst: sentencepiece::string_util::EncodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:222,1
    - Dst: sentencepiece::string_util::DecodeUTF8
      Src: /src/sentencepiece/src/util_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 224
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::string_util::DecodeUTF8
    - sentencepiece::string_util::IsValidCodepoint
    - sentencepiece::string_util::EncodeUTF8
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, EncodeUTF8Test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/util_test.cc:228,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/util_test.cc:229,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/util_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:231,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/util_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::size
    - sentencepiece::string_util::UnicodeCharToUTF8
    - sentencepiece::string_util::UTF8ToUnicodeText
    - sentencepiece::string_util::IsValidCodepoint
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, UnicodeCharToUTF8Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:237,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:237,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:238,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:239,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/util_test.cc:239,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:240,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:240,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:241,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:242,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:243,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:243,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:244,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:244,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:245,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:245,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:246,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:246,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:247,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:247,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:248,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:248,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:249,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:249,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:250,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:250,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:251,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:251,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:252,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:252,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:253,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:253,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:254,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:254,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:255,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:255,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:256,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:256,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:257,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:257,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:258,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/util_test.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 259
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::as_string_view
    - EXPECT_TRUE
    - sentencepiece::string_util::IsStructurallyValid
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, IsStructurallyValidTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/util_test.cc:264,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:265,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/util_test.cc:265,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/util_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:268,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/util_test.cc:268,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/util_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:271,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/util_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::string_util::UnicodeTextToUTF8
    - sentencepiece::string_util::UTF8ToUnicodeText
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, UnicodeTextToUTF8Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:278,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/util_test.cc:278,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:279,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/util_test.cc:279,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:280,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/util_test.cc:280,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:281,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/util_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:283,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/util_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:284,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/util_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:286,1
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/util_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:287,1
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/util_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:288,1
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/util_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:290,1
    - Dst: sentencepiece::port::FindOrDie
      Src: /src/sentencepiece/src/util_test.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_FALSE
    - sentencepiece::port::FindOrDie
    - EXPECT_TRUE
    - sentencepiece::port::ContainsKey
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, MapUtilTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/util_test.cc:301,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:302,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/util_test.cc:302,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/util_test.cc:303,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/util_test.cc:304,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/util_test.cc:309,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:310,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/util_test.cc:310,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/util_test.cc:312,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:313,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/util_test.cc:313,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:314,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:316,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/util_test.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 318
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - auto::ReadLine
    - sentencepiece::filesystem::NewWritableFile
    - sentencepiece::filesystem::NewReadableFile
    - EXPECT_EQ
    - auto::WriteLine
    - EXPECT_FALSE
    - EXPECT_TRUE
    - std::vector::size
    - sentencepiece::util::JoinPath
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, InputOutputBufferTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/util_test.cc:321,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:322,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/util_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - sentencepiece::filesystem::NewReadableFile
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, InputOutputBufferInvalidFileTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:327,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/util_test.cc:327,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:328,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/util_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:329,1
    - Dst: std::string
      Src: /src/sentencepiece/src/util_test.cc:329,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/util_test.cc:329,1
    - Dst: std::string
      Src: /src/sentencepiece/src/util_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:334,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/util_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:335,1
    - Dst: absl::Status::code
      Src: /src/sentencepiece/src/util_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:336,1
    - Dst: std::string
      Src: /src/sentencepiece/src/util_test.cc:336,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/util_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:337,1
    - Dst: std::string
      Src: /src/sentencepiece/src/util_test.cc:337,1
    - Dst: absl::Status::message
      Src: /src/sentencepiece/src/util_test.cc:337,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/util_test.cc:339,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:340,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/util_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:341,1
    - Dst: auto::code
      Src: /src/sentencepiece/src/util_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:342,1
    - Dst: std::string
      Src: /src/sentencepiece/src/util_test.cc:342,1
    - Dst: auto::message
      Src: /src/sentencepiece/src/util_test.cc:342,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/util_test.cc:344,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/sentencepiece/src/util_test.cc:346,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:347,1
    - Dst: absl::Status::ToString
      Src: /src/sentencepiece/src/util_test.cc:347,1
    - Dst: absl::Status::ToString
      Src: /src/sentencepiece/src/util_test.cc:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 350
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - static_cast<absl::StatusCode>
    - auto::ok
    - absl::Status::message
    - absl::Status::code
    - std::string
    - EXPECT_EQ
    - auto::message
    - absl::OkStatus
    - EXPECT_TRUE
    - auto::code
    - absl::Status::ToString
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, StatusTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:354,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:355,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:357,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:358,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:358,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:360,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:360,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:361,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/util_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 362
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::util::JoinPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, JoinPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random::ReservoirSampler::Add
      Src: /src/sentencepiece/src/util_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:370,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/util_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:371,1
    - Dst: random::ReservoirSampler::total_size
      Src: /src/sentencepiece/src/util_test.cc:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - random::ReservoirSampler::Add
    - std::vector::size
    - EXPECT_EQ
    - random::ReservoirSampler::total_size
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, ReservoirSamplerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::StrSplitAsCSV
      Src: /src/sentencepiece/src/util_test.cc:376,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:377,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/util_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:380,1
    - Dst: sentencepiece::util::StrSplitAsCSV
      Src: /src/sentencepiece/src/util_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:385,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/util_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:388,1
    - Dst: sentencepiece::util::StrSplitAsCSV
      Src: /src/sentencepiece/src/util_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:393,1
    - Dst: auto::size
      Src: /src/sentencepiece/src/util_test.cc:393,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 397
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::size
    - sentencepiece::util::StrSplitAsCSV
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, StrSplitAsCSVTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SetDataDir
      Src: /src/sentencepiece/src/util_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:401,1
    - Dst: sentencepiece::GetDataDir
      Src: /src/sentencepiece/src/util_test.cc:401,1
    - Dst: sentencepiece::SetDataDir
      Src: /src/sentencepiece/src/util_test.cc:403,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:404,1
    - Dst: sentencepiece::GetDataDir
      Src: /src/sentencepiece/src/util_test.cc:404,1
    - Dst: sentencepiece::SetDataDir
      Src: /src/sentencepiece/src/util_test.cc:406,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:407,1
    - Dst: sentencepiece::GetDataDir
      Src: /src/sentencepiece/src/util_test.cc:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 408
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SetDataDir
    - EXPECT_EQ
    - sentencepiece::GetDataDir
    linkageType: ''
    returnType: void
    signature: void TEST(SentencePieceTrainerTest, DataDirTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/src/util_test.cc:412,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/util_test.cc:412,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:413,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/util_test.cc:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - sentencepiece::RunBatch
    - auto::ok
    - absl::OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST(BatchRunnerTest, EmptyTasks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/src/util_test.cc:421,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/util_test.cc:425,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/util_test.cc:429,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/util_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/util_test.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 433
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - EXPECT_EQ
    - absl::OkStatus
    - EXPECT_TRUE
    - sentencepiece::RunBatch
    linkageType: ''
    returnType: void
    signature: void TEST(BatchRunnerTest, AllSuccess)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/src/util_test.cc:440,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/util_test.cc:445,1
    - Dst: absl::SleepFor
      Src: /src/sentencepiece/src/util_test.cc:447,1
    - Dst: absl::Milliseconds
      Src: /src/sentencepiece/src/util_test.cc:447,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/util_test.cc:448,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/util_test.cc:452,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/util_test.cc:452,1
    - Dst: EXPECT_LT
      Src: /src/sentencepiece/src/util_test.cc:453,1
    - Dst: std::atomic::load
      Src: /src/sentencepiece/src/util_test.cc:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 454
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LT
    - auto::ok
    - absl::Milliseconds
    - EXPECT_FALSE
    - absl::OkStatus
    - std::atomic::load
    - absl::SleepFor
    - sentencepiece::RunBatch
    - absl::InternalError
    linkageType: ''
    returnType: void
    signature: void TEST(BatchRunnerTest, EarlyAbortOnError)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:52,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' kwargs'
    - conflicting_key
    argTypes:
    - std::unordered_map<std::string, std::string>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: sentencepiece::ContainsNormalizerKeys
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ContainsNormalizerKeys(\n    const std::unordered_map<std::string,
      std::string>& kwargs,\n    std::string* conflicting_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:52,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' kwargs'
    - conflicting_key
    argTypes:
    - std::unordered_map<std::string, std::string>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: sentencepiece::ContainsNormalizerKeys
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ContainsNormalizerKeys(\n    const std::unordered_map<std::string,
      std::string>& kwargs,\n    std::string* conflicting_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' trainer_spec'
    - sentence_iterator
    - serialized_model_proto
    argTypes:
    - TrainerSpec
    - SentenceIterator*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: sentencepiece::SentencePieceTrainer::Train
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 46
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::Train(const TrainerSpec& trainer_spec,\n
      \                                        SentenceIterator* sentence_iterator,\n
      \                                        std::string* serialized_model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - sentence_iterator
    - serialized_model_proto
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - SentenceIterator*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: sentencepiece::SentencePieceTrainer::Train
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 47
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::Train(const TrainerSpec& trainer_spec,\n
      \                                        const NormalizerSpec& normalizer_spec,\n
      \                                        SentenceIterator* sentence_iterator,\n
      \                                        std::string* serialized_model_proto)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:87,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:87,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:89,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:89,1
    - Dst: sentencepiece::TrainerFactory::Create
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:90,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:93,1
    - Dst: PrintProto
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:93,1
    - Dst: PrintProto
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:94,1
    - Dst: auto::precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:95,1
    - Dst: PrintProto
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:96,1
    - Dst: LOG
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:101,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:105,1
    - Dst: auto::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:105,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:106,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:108,1
    - Dst: auto::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:108,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    - sentence_iterator
    - serialized_model_proto
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    - SentenceIterator*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 112
    functionName: sentencepiece::SentencePieceTrainer::Train
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 47
    functionsReached:
    - LOG
    - PrintProto
    - sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
    - sentencepiece::TrainerFactory::Create
    - ModelProto::SerializeAsString
    - absl::OkStatus
    - google::protobuf::StrCat
    - auto::Train
    - RETURN_IF_ERROR
    - auto::precompiled_charsmap
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::Train(\n    const TrainerSpec&
      trainer_spec, const NormalizerSpec& normalizer_spec,\n    const NormalizerSpec&
      denormalizer_spec,\n    SentenceIterator* sentence_iterator, std::string* serialized_model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:117,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:117,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:117,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:118,1
    - Dst: sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:118,1
    - Dst: NormalizerSpec::name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:119,1
    - Dst: NormalizerSpec::mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 8
    functionsReached:
    - CHECK_OK
    - sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
    - NormalizerSpec::name
    - NormalizerSpec::set_name
    - NormalizerSpec::mutable_precompiled_charsmap
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec SentencePieceTrainer::GetNormalizerSpec(absl::string_view
      name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:127,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:128,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:129,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:131,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:131,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:134,1
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:135,1
    - Dst: find
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:137,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:139,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:141,1
    - Dst: substr
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:141,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:142,1
    - Dst: substr
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:142,1
    - Dst: std::unordered_map::emplace
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:144,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - args
    - trainer_spec
    - normalizer_spec
    - denormalizer_spec
    argTypes:
    - absl::string_view
    - TrainerSpec*
    - NormalizerSpec*
    - NormalizerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 149
    functionName: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 9
    functionsReached:
    - absl::string_view::empty
    - absl::ConsumePrefix
    - find
    - std::string
    - absl::OkStatus
    - std::unordered_map::emplace
    - absl::StrSplit
    - substr
    - RET_CHECK
    - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::MergeSpecsFromArgs(\n    absl::string_view
      args, TrainerSpec* trainer_spec,\n    NormalizerSpec* normalizer_spec, NormalizerSpec*
      denormalizer_spec)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:156,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:157,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:158,1
    - Dst: find
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:160,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:161,1
    - Dst: ContainsNormalizerKeys
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:165,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:166,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:167,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:174,1
    - Dst: sentencepiece::NormalizerSpec::NormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:175,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:176,1
    - Dst: sentencepiece::NormalizerSpec::ParseFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:176,1
    - Dst: NormalizerSpec*::set_name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:187,1
    - Dst: NormalizerSpec*::set_normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:190,1
    - Dst: NormalizerSpec*::set_add_dummy_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:191,1
    - Dst: NormalizerSpec*::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:192,1
    - Dst: NormalizerSpec*::set_escape_whitespaces
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:193,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:197,1
    - Dst: absl::SimpleAtoi
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:197,1
    - Dst: SetMinLogLevel
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:198,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:202,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:203,1
    - Dst: absl::IsNotFound
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:204,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:206,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:207,1
    - Dst: absl::IsNotFound
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:208,1
    - Dst: absl::IsNotFound
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:211,1
    - Dst: absl::IsNotFound
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:211,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:216,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 4
    argNames:
    - ' kwargs'
    - trainer_spec
    - normalizer_spec
    - denormalizer_spec
    argTypes:
    - std::unordered_map<std::string, std::string>
    - TrainerSpec*
    - NormalizerSpec*
    - NormalizerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 217
    functionName: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 9
    functionsReached:
    - auto::ok
    - NormalizerSpec*::set_normalization_rule_tsv
    - NormalizerSpec*::set_escape_whitespaces
    - absl::SimpleAtoi
    - ContainsNormalizerKeys
    - NormalizerSpec*::set_remove_extra_whitespaces
    - NormalizerSpec*::set_add_dummy_prefix
    - RET_CHECK
    - absl::IsNotFound
    - absl::OkStatus
    - google::protobuf::StrCat
    - absl::InvalidArgumentError
    - sentencepiece::NormalizerSpec::NormalizerSpec
    - find
    - NormalizerSpec*::set_name
    - end
    - SetMinLogLevel
    - sentencepiece::NormalizerSpec::ParseFromString
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::MergeSpecsFromArgs(\n    const
      std::unordered_map<std::string, std::string>& kwargs,\n    TrainerSpec* trainer_spec,
      NormalizerSpec* normalizer_spec,\n    NormalizerSpec* denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:223,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:223,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:227,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:227,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - args
    - sentence_iterator
    - serialized_model_proto
    argTypes:
    - absl::string_view
    - SentenceIterator*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: sentencepiece::SentencePieceTrainer::Train
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 48
    functionsReached:
    - LOG
    - sentencepiece::SentencePieceTrainer::Train
    - absl::string_view::data
    - RETURN_IF_ERROR
    - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::Train(absl::string_view args,\n
      \                                        SentenceIterator* sentence_iterator,\n
      \                                        std::string* serialized_model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:240,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:240,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' kwargs'
    - sentence_iterator
    - serialized_model_proto
    argTypes:
    - std::unordered_map<std::string, std::string>
    - SentenceIterator*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: sentencepiece::SentencePieceTrainer::Train
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 49
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    - RETURN_IF_ERROR
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::Train(\n    const std::unordered_map<std::string,
      std::string>& kwargs,\n    SentenceIterator* sentence_iterator, std::string*
      serialized_model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:250,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' values'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: sentencepiece::VectorSentenceIterator::VectorSentenceIterator
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void VectorSentenceIterator(const std::vector<std::string>& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: ~VectorSentenceIterator()
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VectorSentenceIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: sentencepiece::VectorSentenceIterator::done
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool done() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: sentencepiece::VectorSentenceIterator::Next
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: '& value() const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: sentencepiece::VectorSentenceIterator::status
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:250,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' values'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: sentencepiece::VectorSentenceIterator::VectorSentenceIterator
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void VectorSentenceIterator(const std::vector<std::string>& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: ~VectorSentenceIterator()
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VectorSentenceIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: sentencepiece::VectorSentenceIterator::done
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool done() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: sentencepiece::VectorSentenceIterator::Next
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: '& value() const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: sentencepiece::VectorSentenceIterator::status
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - args
    - ' sentences'
    - serialized_model_proto
    argTypes:
    - absl::string_view
    - std::vector<std::string>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: sentencepiece::SentencePieceTrainer::Train
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 50
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::Train(\n    absl::string_view args,
      const std::vector<std::string>& sentences,\n    std::string* serialized_model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' kwargs'
    - ' sentences'
    - serialized_model_proto
    argTypes:
    - std::unordered_map<std::string, std::string>
    - std::vector<std::string>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: sentencepiece::SentencePieceTrainer::Train
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 51
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::Train(\n    const std::unordered_map<std::string,
      std::string>& kwargs,\n    const std::vector<std::string>& sentences,\n    std::string*
      serialized_model_proto)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:283,1
    - Dst: NormalizerSpec*::normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:285,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:286,1
    - Dst: NormalizerSpec*::precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:286,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:289,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:289,1
    - Dst: NormalizerSpec*::normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:290,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:291,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:291,1
    - Dst: NormalizerSpec*::mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:292,1
    - Dst: NormalizerSpec*::set_name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:293,1
    - Dst: NormalizerSpec*::name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:295,1
    - Dst: NormalizerSpec*::set_name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:296,1
    - Dst: NormalizerSpec*::precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:298,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:299,1
    - Dst: sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:299,1
    - Dst: NormalizerSpec*::name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:300,1
    - Dst: NormalizerSpec*::mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:301,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - normalizer_spec
    - is_denormalizer
    argTypes:
    - NormalizerSpec*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 306
    functionName: sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::normalizer::Builder::LoadCharsMap
    - NormalizerSpec*::precompiled_charsmap
    - NormalizerSpec*::normalization_rule_tsv
    - NormalizerSpec*::mutable_precompiled_charsmap
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - NormalizerSpec*::set_name
    - sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
    - absl::OkStatus
    - RETURN_IF_ERROR
    - RET_CHECK
    - NormalizerSpec*::name
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::PopulateNormalizerSpec(\n    NormalizerSpec*
      normalizer_spec, bool is_denormalizer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unordered_map::find
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:316,1
    - Dst: absl::AsciiStrToLower
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:316,1
    - Dst: std::unordered_map::end
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:317,1
    - Dst: TrainerSpec*::set_model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:318,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:319,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type
    - spec
    argTypes:
    - absl::string_view
    - TrainerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 324
    functionName: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 4
    functionsReached:
    - std::unordered_map::find
    - absl::AsciiStrToLower
    - TrainerSpec*::set_model_type
    - absl::OkStatus
    - absl::StatusBuilder
    - std::unordered_map::end
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::PopulateModelTypeFromString(\n
      \   absl::string_view type, TrainerSpec* spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pretokenizer
    argTypes:
    - pretokenizer::PretokenizerForTrainingInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: sentencepiece::SentencePieceTrainer::SetPretokenizerForTraining
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::SetPretokenizerForTraining(\n    const
      pretokenizer::PretokenizerForTrainingInterface* pretokenizer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pretokenizer::PretokenizerForTrainingInterface
    signature: 'pretokenizer::PretokenizerForTrainingInterface *

      SentencePieceTrainer::GetPretokenizerForTraining()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NormalizerSpec>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: sentencepiece::SentencePieceNormalizer::SentencePieceNormalizer
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<NormalizerSpec>
    linkageType: ''
    returnType: void
    signature: void SentencePieceNormalizer::SentencePieceNormalizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: SentencePieceNormalizer::~SentencePieceNormalizer()
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceNormalizer::~SentencePieceNormalizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:349,1
    - Dst: sentencepiece::SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:350,1
    - Dst: std::make_unique<NormalizerSpec>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:350,1
    - Dst: std::unique_ptr<ModelProto>::normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - model_proto
    argTypes:
    - std::unique_ptr<ModelProto>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: sentencepiece::SentencePieceNormalizer::Load
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 1
    functionsReached:
    - std::make_unique<NormalizerSpec>
    - sentencepiece::SentencePieceNormalizer::Load
    - RET_CHECK
    - std::unique_ptr<ModelProto>::normalizer_spec
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::Load(\n    std::unique_ptr<ModelProto>
      model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:355,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:356,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:357,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:358,1
    - Dst: status
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - normalizer_spec
    argTypes:
    - std::unique_ptr<NormalizerSpec>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 360
    functionName: sentencepiece::SentencePieceNormalizer::Load
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 1
    functionsReached:
    - status
    - RET_CHECK
    - std::move
    - std::make_unique<normalizer::Normalizer>
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::Load(\n    std::unique_ptr<NormalizerSpec>
      normalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:363,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:364,1
    - Dst: sentencepiece::io::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:364,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:364,1
    - Dst: sentencepiece::SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:365,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: sentencepiece::SentencePieceNormalizer::Load
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 2
    functionsReached:
    - auto::get
    - std::move
    - RETURN_IF_ERROR
    - sentencepiece::io::LoadModelProto
    - sentencepiece::SentencePieceNormalizer::Load
    - std::make_unique<ModelProto>
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status SentencePieceNormalizer::Load(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:370,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:371,1
    - Dst: auto::ParseFromArray
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:371,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:371,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:371,1
    - Dst: sentencepiece::SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:372,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - serialized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: sentencepiece::SentencePieceNormalizer::LoadFromSerializedProto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceNormalizer::Load
    - auto::ParseFromArray
    - absl::string_view::data
    - std::move
    - absl::string_view::size
    - RET_CHECK
    - std::make_unique<ModelProto>
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::LoadFromSerializedProto(\n    absl::string_view
      serialized)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NormalizerSpec>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:377,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:378,1
    - Dst: auto::ParseFromArray
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:378,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:378,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:378,1
    - Dst: sentencepiece::SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:379,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - serialized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: sentencepiece::SentencePieceNormalizer::LoadFromSerializedNormalizerSpec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<NormalizerSpec>
    - sentencepiece::SentencePieceNormalizer::Load
    - auto::ParseFromArray
    - absl::string_view::data
    - std::move
    - absl::string_view::size
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::LoadFromSerializedNormalizerSpec(\n
      \   absl::string_view serialized)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NormalizerSpec>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:384,1
    - Dst: auto::set_normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:385,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:385,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:385,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:386,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:386,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:386,1
    - Dst: sentencepiece::SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:387,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 382
    functionDepth: 4
    functionLinenumber: 382
    functionLinenumberEnd: 388
    functionName: sentencepiece::SentencePieceNormalizer::LoadFromRuleTSV
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<NormalizerSpec>
    - sentencepiece::SentencePieceNormalizer::Load
    - sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
    - auto::get
    - auto::set_normalization_rule_tsv
    - absl::string_view::data
    - std::move
    - RETURN_IF_ERROR
    - absl::string_view::size
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::LoadFromRuleTSV(\n    absl::string_view
      filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NormalizerSpec>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:391,1
    - Dst: auto::set_name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:392,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:392,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:392,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:393,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:393,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:393,1
    - Dst: sentencepiece::SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:394,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: sentencepiece::SentencePieceNormalizer::LoadFromRuleName
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<NormalizerSpec>
    - sentencepiece::SentencePieceNormalizer::Load
    - sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
    - auto::get
    - auto::set_name
    - absl::string_view::data
    - std::move
    - RETURN_IF_ERROR
    - absl::string_view::size
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status SentencePieceNormalizer::LoadFromRuleName(absl::string_view
      name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:401,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:402,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:403,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:405,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:406,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:407,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:409,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:410,1
    - Dst: normalizer::Builder::CharsMap::emplace
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:411,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:411,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:411,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:412,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:413,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:417,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:417,1
    - Dst: std::make_unique<NormalizerSpec>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:418,1
    - Dst: auto::set_precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:419,1
    - Dst: sentencepiece::SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:420,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - norm_map
    argTypes:
    - absl::Span<const std::pair<std::string, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 421
    functionName: sentencepiece::SentencePieceNormalizer::LoadFromMap
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<NormalizerSpec>
    - absl::InvalidArgumentError
    - sentencepiece::SentencePieceNormalizer::Load
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - auto::set_precompiled_charsmap
    - sentencepiece::string_util::IsStructurallyValid
    - google::protobuf::StrCat
    - std::move
    - RETURN_IF_ERROR
    - normalizer::Builder::CharsMap::emplace
    - sentencepiece::string_util::UTF8ToUnicodeText
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::LoadFromMap(\n    absl::Span<const
      std::pair<std::string, std::string>> norm_map)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:425,1
    - Dst: precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:426,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:427,1
    - Dst: empty
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:427,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:429,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:429,1
    - Dst: std::vector<std::pair<std::string, std::string>>*::clear
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:430,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:432,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:433,1
    - Dst: std::vector<std::pair<std::string, std::string>>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:434,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:434,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:434,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - norm_map
    argTypes:
    - std::vector<std::pair<std::string, std::string>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 437
    functionName: sentencepiece::SentencePieceNormalizer::Decompile
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - precompiled_charsmap
    - sentencepiece::string_util::UnicodeTextToUTF8
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - absl::OkStatus
    - empty
    - std::move
    - std::vector<std::pair<std::string, std::string>>*::clear
    - RETURN_IF_ERROR
    - std::vector<std::pair<std::string, std::string>>*::emplace_back
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::Decompile(\n    std::vector<std::pair<std::string,
      std::string>>* norm_map) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:441,1
    - Dst: sentencepiece::SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - normalized
    argTypes:
    - absl::string_view
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: sentencepiece::SentencePieceNormalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 1
    functionsReached:
    - RET_CHECK
    - sentencepiece::SentencePieceNormalizer::Normalize
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::Normalize(absl::string_view
      input,\n                                                std::string* normalized)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:449,1
    - Dst: sentencepiece::SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - input
    - normalized
    - norm_to_orig
    argTypes:
    - absl::string_view
    - std::string*
    - std::vector<size_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 451
    functionName: sentencepiece::SentencePieceNormalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 2
    functionsReached:
    - RET_CHECK
    - sentencepiece::SentencePieceNormalizer::Normalize
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::Normalize(\n    absl::string_view
      input, std::string* normalized,\n    std::vector<size_t>* norm_to_orig) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 457
    functionName: sentencepiece::SentencePieceNormalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::SentencePieceNormalizer::Normalize
    linkageType: ''
    returnType: std::string
    signature: std::string SentencePieceNormalizer::Normalize(absl::string_view input)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: sentencepiece::SentencePieceNormalizer::mutable_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec * SentencePieceNormalizer::mutable_normalizer_spec()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:466,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: sentencepiece::SentencePieceNormalizer::serialized_model_proto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - ModelProto::mutable_normalizer_spec
    - ModelProto::SerializeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string SentencePieceNormalizer::serialized_model_proto() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: sentencepiece::SentencePieceNormalizer::serialized_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - SerializeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string SentencePieceNormalizer::serialized_normalizer_spec() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:477,1
    - Dst: empty
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:480,1
    - Dst: std::min
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:482,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:482,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:482,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:482,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:483,1
    - Dst: data
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:483,1
    - Dst: remove_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:489,1
    - Dst: utf8_to_unicode_offsets
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:495,1
    - Dst: utf8_to_unicode_offsets
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:496,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:497,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:497,1
    - Dst: auto::back
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:499,1
    - Dst: std::vector<size_t>*::size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:500,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - orig
    - norm
    - norm_to_orig
    argTypes:
    - absl::string_view
    - absl::string_view
    - std::vector<size_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 504
    functionName: sentencepiece::ConvertToUnicodeAlignment
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 4
    functionsReached:
    - std::max<int>
    - utf8_to_unicode_offsets
    - std::min
    - std::vector<size_t>*::size
    - data
    - auto::empty
    - empty
    - static_cast<size_t>
    - std::move
    - auto::back
    - remove_prefix
    - sentencepiece::string_util::OneCharLen
    - size
    linkageType: ''
    returnType: void
    signature: "void ConvertToUnicodeAlignment(absl::string_view orig, absl::string_view
      norm,\n                               std::vector<size_t>* norm_to_orig)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:52,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' kwargs'
    - conflicting_key
    argTypes:
    - std::unordered_map<std::string, std::string>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: sentencepiece::ContainsNormalizerKeys
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ContainsNormalizerKeys(\n    const std::unordered_map<std::string,
      std::string>& kwargs,\n    std::string* conflicting_key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:52,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' kwargs'
    - conflicting_key
    argTypes:
    - std::unordered_map<std::string, std::string>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: sentencepiece::ContainsNormalizerKeys
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ContainsNormalizerKeys(\n    const std::unordered_map<std::string,
      std::string>& kwargs,\n    std::string* conflicting_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' trainer_spec'
    - sentence_iterator
    - serialized_model_proto
    argTypes:
    - TrainerSpec
    - SentenceIterator*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: sentencepiece::SentencePieceTrainer::Train
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 52
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::Train(const TrainerSpec& trainer_spec,\n
      \                                        SentenceIterator* sentence_iterator,\n
      \                                        std::string* serialized_model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - sentence_iterator
    - serialized_model_proto
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - SentenceIterator*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: sentencepiece::SentencePieceTrainer::Train
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 53
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::Train(const TrainerSpec& trainer_spec,\n
      \                                        const NormalizerSpec& normalizer_spec,\n
      \                                        SentenceIterator* sentence_iterator,\n
      \                                        std::string* serialized_model_proto)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:87,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:87,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:89,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:89,1
    - Dst: sentencepiece::TrainerFactory::Create
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:90,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:93,1
    - Dst: PrintProto
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:93,1
    - Dst: PrintProto
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:94,1
    - Dst: auto::precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:95,1
    - Dst: PrintProto
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:96,1
    - Dst: LOG
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:101,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:105,1
    - Dst: auto::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:105,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:106,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:108,1
    - Dst: auto::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:108,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - ' trainer_spec'
    - ' normalizer_spec'
    - ' denormalizer_spec'
    - sentence_iterator
    - serialized_model_proto
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    - SentenceIterator*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 112
    functionName: sentencepiece::SentencePieceTrainer::Train
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 53
    functionsReached:
    - LOG
    - PrintProto
    - sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
    - sentencepiece::TrainerFactory::Create
    - ModelProto::SerializeAsString
    - absl::OkStatus
    - google::protobuf::StrCat
    - auto::Train
    - RETURN_IF_ERROR
    - auto::precompiled_charsmap
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::Train(\n    const TrainerSpec&
      trainer_spec, const NormalizerSpec& normalizer_spec,\n    const NormalizerSpec&
      denormalizer_spec,\n    SentenceIterator* sentence_iterator, std::string* serialized_model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:117,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:117,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:117,1
    - Dst: CHECK_OK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:118,1
    - Dst: sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:118,1
    - Dst: NormalizerSpec::name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:119,1
    - Dst: NormalizerSpec::mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 8
    functionsReached:
    - CHECK_OK
    - sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
    - NormalizerSpec::name
    - NormalizerSpec::set_name
    - NormalizerSpec::mutable_precompiled_charsmap
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec SentencePieceTrainer::GetNormalizerSpec(absl::string_view
      name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:127,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:128,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:129,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:131,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:131,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:134,1
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:135,1
    - Dst: find
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:137,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:139,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:141,1
    - Dst: substr
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:141,1
    - Dst: std::string
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:142,1
    - Dst: substr
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:142,1
    - Dst: std::unordered_map::emplace
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:144,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - args
    - trainer_spec
    - normalizer_spec
    - denormalizer_spec
    argTypes:
    - absl::string_view
    - TrainerSpec*
    - NormalizerSpec*
    - NormalizerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 149
    functionName: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 12
    functionsReached:
    - absl::string_view::empty
    - absl::ConsumePrefix
    - find
    - std::string
    - absl::OkStatus
    - std::unordered_map::emplace
    - absl::StrSplit
    - substr
    - RET_CHECK
    - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::MergeSpecsFromArgs(\n    absl::string_view
      args, TrainerSpec* trainer_spec,\n    NormalizerSpec* normalizer_spec, NormalizerSpec*
      denormalizer_spec)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:156,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:157,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:158,1
    - Dst: find
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:160,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:161,1
    - Dst: ContainsNormalizerKeys
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:165,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:166,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:167,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:174,1
    - Dst: sentencepiece::NormalizerSpec::NormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:175,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:176,1
    - Dst: sentencepiece::NormalizerSpec::ParseFromString
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:176,1
    - Dst: NormalizerSpec*::set_name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:187,1
    - Dst: NormalizerSpec*::set_normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:190,1
    - Dst: NormalizerSpec*::set_add_dummy_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:191,1
    - Dst: NormalizerSpec*::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:192,1
    - Dst: NormalizerSpec*::set_escape_whitespaces
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:193,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:197,1
    - Dst: absl::SimpleAtoi
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:197,1
    - Dst: SetMinLogLevel
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:198,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:202,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:203,1
    - Dst: absl::IsNotFound
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:204,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:206,1
    - Dst: auto::ok
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:207,1
    - Dst: absl::IsNotFound
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:208,1
    - Dst: absl::IsNotFound
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:211,1
    - Dst: absl::IsNotFound
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:211,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:216,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 4
    argNames:
    - ' kwargs'
    - trainer_spec
    - normalizer_spec
    - denormalizer_spec
    argTypes:
    - std::unordered_map<std::string, std::string>
    - TrainerSpec*
    - NormalizerSpec*
    - NormalizerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 217
    functionName: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 12
    functionsReached:
    - auto::ok
    - NormalizerSpec*::set_normalization_rule_tsv
    - NormalizerSpec*::set_escape_whitespaces
    - absl::SimpleAtoi
    - ContainsNormalizerKeys
    - NormalizerSpec*::set_remove_extra_whitespaces
    - NormalizerSpec*::set_add_dummy_prefix
    - RET_CHECK
    - absl::IsNotFound
    - absl::OkStatus
    - google::protobuf::StrCat
    - absl::InvalidArgumentError
    - sentencepiece::NormalizerSpec::NormalizerSpec
    - find
    - NormalizerSpec*::set_name
    - end
    - SetMinLogLevel
    - sentencepiece::NormalizerSpec::ParseFromString
    - sentencepiece::SentencePieceTrainer::SetProtoField
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::MergeSpecsFromArgs(\n    const
      std::unordered_map<std::string, std::string>& kwargs,\n    TrainerSpec* trainer_spec,
      NormalizerSpec* normalizer_spec,\n    NormalizerSpec* denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:223,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:223,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:227,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:227,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - args
    - sentence_iterator
    - serialized_model_proto
    argTypes:
    - absl::string_view
    - SentenceIterator*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: sentencepiece::SentencePieceTrainer::Train
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 54
    functionsReached:
    - LOG
    - sentencepiece::SentencePieceTrainer::Train
    - absl::string_view::data
    - RETURN_IF_ERROR
    - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::Train(absl::string_view args,\n
      \                                        SentenceIterator* sentence_iterator,\n
      \                                        std::string* serialized_model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:240,1
    - Dst: sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:240,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' kwargs'
    - sentence_iterator
    - serialized_model_proto
    argTypes:
    - std::unordered_map<std::string, std::string>
    - SentenceIterator*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: sentencepiece::SentencePieceTrainer::Train
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 55
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
    - RETURN_IF_ERROR
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::Train(\n    const std::unordered_map<std::string,
      std::string>& kwargs,\n    SentenceIterator* sentence_iterator, std::string*
      serialized_model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:250,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' values'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: sentencepiece::VectorSentenceIterator::VectorSentenceIterator
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void VectorSentenceIterator(const std::vector<std::string>& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: ~VectorSentenceIterator()
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VectorSentenceIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: sentencepiece::VectorSentenceIterator::done
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool done() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: sentencepiece::VectorSentenceIterator::Next
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: '& value() const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: sentencepiece::VectorSentenceIterator::status
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:250,1
    - Dst: end
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' values'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: sentencepiece::VectorSentenceIterator::VectorSentenceIterator
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - end
    - begin
    linkageType: ''
    returnType: void
    signature: void VectorSentenceIterator(const std::vector<std::string>& values)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: ~VectorSentenceIterator()
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~VectorSentenceIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: sentencepiece::VectorSentenceIterator::done
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool done() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: sentencepiece::VectorSentenceIterator::Next
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: '& value() const override'
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: sentencepiece::VectorSentenceIterator::status
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - args
    - ' sentences'
    - serialized_model_proto
    argTypes:
    - absl::string_view
    - std::vector<std::string>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: sentencepiece::SentencePieceTrainer::Train
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 56
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::Train(\n    absl::string_view args,
      const std::vector<std::string>& sentences,\n    std::string* serialized_model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' kwargs'
    - ' sentences'
    - serialized_model_proto
    argTypes:
    - std::unordered_map<std::string, std::string>
    - std::vector<std::string>
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: sentencepiece::SentencePieceTrainer::Train
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 57
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::Train(\n    const std::unordered_map<std::string,
      std::string>& kwargs,\n    const std::vector<std::string>& sentences,\n    std::string*
      serialized_model_proto)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:283,1
    - Dst: NormalizerSpec*::normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:285,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:286,1
    - Dst: NormalizerSpec*::precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:286,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:289,1
    - Dst: sentencepiece::normalizer::Builder::LoadCharsMap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:289,1
    - Dst: NormalizerSpec*::normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:290,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:291,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:291,1
    - Dst: NormalizerSpec*::mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:292,1
    - Dst: NormalizerSpec*::set_name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:293,1
    - Dst: NormalizerSpec*::name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:295,1
    - Dst: NormalizerSpec*::set_name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:296,1
    - Dst: NormalizerSpec*::precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:298,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:299,1
    - Dst: sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:299,1
    - Dst: NormalizerSpec*::name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:300,1
    - Dst: NormalizerSpec*::mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:301,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - normalizer_spec
    - is_denormalizer
    argTypes:
    - NormalizerSpec*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 306
    functionName: sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 5
    functionsReached:
    - sentencepiece::normalizer::Builder::LoadCharsMap
    - NormalizerSpec*::precompiled_charsmap
    - NormalizerSpec*::normalization_rule_tsv
    - NormalizerSpec*::mutable_precompiled_charsmap
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - NormalizerSpec*::set_name
    - sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
    - absl::OkStatus
    - RETURN_IF_ERROR
    - RET_CHECK
    - NormalizerSpec*::name
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::PopulateNormalizerSpec(\n    NormalizerSpec*
      normalizer_spec, bool is_denormalizer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::unordered_map::find
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:316,1
    - Dst: absl::AsciiStrToLower
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:316,1
    - Dst: std::unordered_map::end
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:317,1
    - Dst: TrainerSpec*::set_model_type
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:318,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:319,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - type
    - spec
    argTypes:
    - absl::string_view
    - TrainerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 324
    functionName: sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 4
    functionsReached:
    - std::unordered_map::find
    - absl::AsciiStrToLower
    - TrainerSpec*::set_model_type
    - absl::OkStatus
    - absl::StatusBuilder
    - std::unordered_map::end
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::PopulateModelTypeFromString(\n
      \   absl::string_view type, TrainerSpec* spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pretokenizer
    argTypes:
    - pretokenizer::PretokenizerForTrainingInterface*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: sentencepiece::SentencePieceTrainer::SetPretokenizerForTraining
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::SetPretokenizerForTraining(\n    const
      pretokenizer::PretokenizerForTrainingInterface* pretokenizer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pretokenizer::PretokenizerForTrainingInterface
    signature: 'pretokenizer::PretokenizerForTrainingInterface *

      SentencePieceTrainer::GetPretokenizerForTraining()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NormalizerSpec>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: sentencepiece::SentencePieceNormalizer::SentencePieceNormalizer
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<NormalizerSpec>
    linkageType: ''
    returnType: void
    signature: void SentencePieceNormalizer::SentencePieceNormalizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: SentencePieceNormalizer::~SentencePieceNormalizer()
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceNormalizer::~SentencePieceNormalizer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:349,1
    - Dst: sentencepiece::SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:350,1
    - Dst: std::make_unique<NormalizerSpec>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:350,1
    - Dst: std::unique_ptr<ModelProto>::normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - model_proto
    argTypes:
    - std::unique_ptr<ModelProto>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: sentencepiece::SentencePieceNormalizer::Load
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 8
    functionsReached:
    - std::make_unique<NormalizerSpec>
    - sentencepiece::SentencePieceNormalizer::Load
    - RET_CHECK
    - std::unique_ptr<ModelProto>::normalizer_spec
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::Load(\n    std::unique_ptr<ModelProto>
      model_proto)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:355,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:356,1
    - Dst: std::make_unique<normalizer::Normalizer>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:357,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:358,1
    - Dst: status
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - normalizer_spec
    argTypes:
    - std::unique_ptr<NormalizerSpec>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 360
    functionName: sentencepiece::SentencePieceNormalizer::Load
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 8
    functionsReached:
    - status
    - RET_CHECK
    - std::move
    - std::make_unique<normalizer::Normalizer>
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::Load(\n    std::unique_ptr<NormalizerSpec>
      normalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:363,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:364,1
    - Dst: sentencepiece::io::LoadModelProto
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:364,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:364,1
    - Dst: sentencepiece::SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:365,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: sentencepiece::SentencePieceNormalizer::Load
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 9
    functionsReached:
    - auto::get
    - std::move
    - RETURN_IF_ERROR
    - sentencepiece::io::LoadModelProto
    - sentencepiece::SentencePieceNormalizer::Load
    - std::make_unique<ModelProto>
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status SentencePieceNormalizer::Load(absl::string_view filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ModelProto>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:370,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:371,1
    - Dst: auto::ParseFromArray
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:371,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:371,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:371,1
    - Dst: sentencepiece::SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:372,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - serialized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: sentencepiece::SentencePieceNormalizer::LoadFromSerializedProto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceNormalizer::Load
    - auto::ParseFromArray
    - absl::string_view::data
    - std::move
    - absl::string_view::size
    - RET_CHECK
    - std::make_unique<ModelProto>
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::LoadFromSerializedProto(\n    absl::string_view
      serialized)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NormalizerSpec>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:377,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:378,1
    - Dst: auto::ParseFromArray
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:378,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:378,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:378,1
    - Dst: sentencepiece::SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:379,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - serialized
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: sentencepiece::SentencePieceNormalizer::LoadFromSerializedNormalizerSpec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<NormalizerSpec>
    - sentencepiece::SentencePieceNormalizer::Load
    - auto::ParseFromArray
    - absl::string_view::data
    - std::move
    - absl::string_view::size
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::LoadFromSerializedNormalizerSpec(\n
      \   absl::string_view serialized)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NormalizerSpec>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:384,1
    - Dst: auto::set_normalization_rule_tsv
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:385,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:385,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:385,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:386,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:386,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:386,1
    - Dst: sentencepiece::SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:387,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 382
    functionDepth: 4
    functionLinenumber: 382
    functionLinenumberEnd: 388
    functionName: sentencepiece::SentencePieceNormalizer::LoadFromRuleTSV
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<NormalizerSpec>
    - sentencepiece::SentencePieceNormalizer::Load
    - sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
    - auto::get
    - auto::set_normalization_rule_tsv
    - absl::string_view::data
    - std::move
    - RETURN_IF_ERROR
    - absl::string_view::size
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::LoadFromRuleTSV(\n    absl::string_view
      filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NormalizerSpec>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:391,1
    - Dst: auto::set_name
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:392,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:392,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:392,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:393,1
    - Dst: sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:393,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:393,1
    - Dst: sentencepiece::SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:394,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: sentencepiece::SentencePieceNormalizer::LoadFromRuleName
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<NormalizerSpec>
    - sentencepiece::SentencePieceNormalizer::Load
    - sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
    - auto::get
    - auto::set_name
    - absl::string_view::data
    - std::move
    - RETURN_IF_ERROR
    - absl::string_view::size
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status SentencePieceNormalizer::LoadFromRuleName(absl::string_view
      name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:401,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:402,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:403,1
    - Dst: sentencepiece::string_util::IsStructurallyValid
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:405,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:406,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:407,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:409,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:410,1
    - Dst: normalizer::Builder::CharsMap::emplace
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:411,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:411,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:411,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:412,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:413,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:417,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:417,1
    - Dst: std::make_unique<NormalizerSpec>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:418,1
    - Dst: auto::set_precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:419,1
    - Dst: sentencepiece::SentencePieceNormalizer::Load
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:420,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - norm_map
    argTypes:
    - absl::Span<const std::pair<std::string, std::string>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 421
    functionName: sentencepiece::SentencePieceNormalizer::LoadFromMap
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<NormalizerSpec>
    - absl::InvalidArgumentError
    - sentencepiece::SentencePieceNormalizer::Load
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - auto::set_precompiled_charsmap
    - sentencepiece::string_util::IsStructurallyValid
    - google::protobuf::StrCat
    - std::move
    - RETURN_IF_ERROR
    - normalizer::Builder::CharsMap::emplace
    - sentencepiece::string_util::UTF8ToUnicodeText
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::LoadFromMap(\n    absl::Span<const
      std::pair<std::string, std::string>> norm_map)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:425,1
    - Dst: precompiled_charsmap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:426,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:427,1
    - Dst: empty
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:427,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:429,1
    - Dst: sentencepiece::normalizer::Builder::DecompileCharsMap
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:429,1
    - Dst: std::vector<std::pair<std::string, std::string>>*::clear
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:430,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:432,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:433,1
    - Dst: std::vector<std::pair<std::string, std::string>>*::emplace_back
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:434,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:434,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:434,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - norm_map
    argTypes:
    - std::vector<std::pair<std::string, std::string>>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 437
    functionName: sentencepiece::SentencePieceNormalizer::Decompile
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - precompiled_charsmap
    - sentencepiece::string_util::UnicodeTextToUTF8
    - sentencepiece::normalizer::Builder::DecompileCharsMap
    - absl::OkStatus
    - empty
    - std::move
    - std::vector<std::pair<std::string, std::string>>*::clear
    - RETURN_IF_ERROR
    - std::vector<std::pair<std::string, std::string>>*::emplace_back
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::Decompile(\n    std::vector<std::pair<std::string,
      std::string>>* norm_map) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:441,1
    - Dst: sentencepiece::SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - normalized
    argTypes:
    - absl::string_view
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: sentencepiece::SentencePieceNormalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 4
    functionsReached:
    - RET_CHECK
    - sentencepiece::SentencePieceNormalizer::Normalize
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::Normalize(absl::string_view
      input,\n                                                std::string* normalized)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:449,1
    - Dst: sentencepiece::SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - input
    - normalized
    - norm_to_orig
    argTypes:
    - absl::string_view
    - std::string*
    - std::vector<size_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 451
    functionName: sentencepiece::SentencePieceNormalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 5
    functionsReached:
    - RET_CHECK
    - sentencepiece::SentencePieceNormalizer::Normalize
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceNormalizer::Normalize(\n    absl::string_view
      input, std::string* normalized,\n    std::vector<size_t>* norm_to_orig) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceNormalizer::Normalize
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 457
    functionName: sentencepiece::SentencePieceNormalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 6
    functionsReached:
    - sentencepiece::SentencePieceNormalizer::Normalize
    linkageType: ''
    returnType: std::string
    signature: std::string SentencePieceNormalizer::Normalize(absl::string_view input)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: sentencepiece::SentencePieceNormalizer::mutable_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec * SentencePieceNormalizer::mutable_normalizer_spec()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::mutable_normalizer_spec
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:466,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: sentencepiece::SentencePieceNormalizer::serialized_model_proto
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - ModelProto::mutable_normalizer_spec
    - ModelProto::SerializeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string SentencePieceNormalizer::serialized_model_proto() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SerializeAsString
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: sentencepiece::SentencePieceNormalizer::serialized_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 0
    functionsReached:
    - SerializeAsString
    linkageType: ''
    returnType: std::string
    signature: std::string SentencePieceNormalizer::serialized_normalizer_spec() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:477,1
    - Dst: empty
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:480,1
    - Dst: std::min
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:482,1
    - Dst: size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:482,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:482,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:482,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:483,1
    - Dst: data
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:483,1
    - Dst: remove_prefix
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:489,1
    - Dst: utf8_to_unicode_offsets
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:495,1
    - Dst: utf8_to_unicode_offsets
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:496,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:497,1
    - Dst: auto::empty
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:497,1
    - Dst: auto::back
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:499,1
    - Dst: std::vector<size_t>*::size
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:500,1
    - Dst: std::move
      Src: /src/sentencepiece/src/sentencepiece_trainer.cc:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - orig
    - norm
    - norm_to_orig
    argTypes:
    - absl::string_view
    - absl::string_view
    - std::vector<size_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 504
    functionName: sentencepiece::ConvertToUnicodeAlignment
    functionSourceFile: /src/sentencepiece/src/sentencepiece_trainer.cc
    functionUses: 4
    functionsReached:
    - std::max<int>
    - utf8_to_unicode_offsets
    - std::min
    - std::vector<size_t>*::size
    - data
    - auto::empty
    - empty
    - static_cast<size_t>
    - std::move
    - auto::back
    - remove_prefix
    - sentencepiece::string_util::OneCharLen
    - size
    linkageType: ''
    returnType: void
    signature: "void ConvertToUnicodeAlignment(absl::string_view orig, absl::string_view
      norm,\n                               std::vector<size_t>* norm_to_orig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:33,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:36,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:37,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:38,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:39,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:40,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: sentencepiece::word::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:48,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:49,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/word_model_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: sentencepiece::word::AddPiece
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:54,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:56,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:57,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:58,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:59,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:60,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:61,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:62,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:75,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::word::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::word::AddPiece
    - EXPECT_TRUE
    - EncodeResult::size
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - sentencepiece::word::MakeBaseModelProto
    - EXPECT_EQ
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:33,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:36,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:37,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:38,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:39,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:40,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: sentencepiece::word::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 2
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:48,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:49,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/word_model_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: sentencepiece::word::AddPiece
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 1
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:54,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:56,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:57,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:58,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:59,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:60,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:61,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:62,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:75,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::word::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::word::AddPiece
    - EXPECT_TRUE
    - EncodeResult::size
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - sentencepiece::word::MakeBaseModelProto
    - EXPECT_EQ
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:33,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:36,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:37,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:38,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:39,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:40,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: sentencepiece::word::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 4
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:48,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:49,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/word_model_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: sentencepiece::word::AddPiece
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 2
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:54,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:56,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:57,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:58,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:59,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:60,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:61,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:62,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:75,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::word::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::word::AddPiece
    - EXPECT_TRUE
    - EncodeResult::size
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - sentencepiece::word::MakeBaseModelProto
    - EXPECT_EQ
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:33,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:36,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:37,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:38,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:39,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:40,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: sentencepiece::word::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 6
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:48,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:49,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/word_model_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: sentencepiece::word::AddPiece
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 3
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:54,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:56,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:57,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:58,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:59,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:60,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:61,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:62,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:75,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::word::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::word::AddPiece
    - EXPECT_TRUE
    - EncodeResult::size
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - sentencepiece::word::MakeBaseModelProto
    - EXPECT_EQ
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:33,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:36,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:37,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:38,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:39,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:40,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: sentencepiece::word::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 8
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:48,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:49,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/word_model_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: sentencepiece::word::AddPiece
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 4
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:54,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:56,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:57,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:58,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:59,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:60,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:61,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:62,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:75,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::word::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::word::AddPiece
    - EXPECT_TRUE
    - EncodeResult::size
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - sentencepiece::word::MakeBaseModelProto
    - EXPECT_EQ
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:33,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:36,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:37,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:38,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:39,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:40,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: sentencepiece::word::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 10
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:48,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:49,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/word_model_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: sentencepiece::word::AddPiece
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 5
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:54,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:56,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:57,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:58,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:59,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:60,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:61,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:62,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:75,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::word::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::word::AddPiece
    - EXPECT_TRUE
    - EncodeResult::size
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - sentencepiece::word::MakeBaseModelProto
    - EXPECT_EQ
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:33,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:36,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:37,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:38,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:39,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:40,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: sentencepiece::word::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 12
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:48,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:49,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/word_model_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: sentencepiece::word::AddPiece
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 6
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:54,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:56,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:57,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:58,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:59,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:60,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:61,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:62,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:75,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::word::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::word::AddPiece
    - EXPECT_TRUE
    - EncodeResult::size
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - sentencepiece::word::MakeBaseModelProto
    - EXPECT_EQ
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, NotSupportedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:32,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:33,1
    - Dst: ModelProto::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:34,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:36,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:37,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:38,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:39,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/word_model_test.cc:40,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: sentencepiece::word::MakeBaseModelProto
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 14
    functionsReached:
    - auto*::set_type
    - auto*::set_piece
    - ModelProto::add_pieces
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto MakeBaseModelProto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/word_model_test.cc:48,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/word_model_test.cc:49,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/word_model_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - model_proto
    - piece
    argTypes:
    - ModelProto*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: sentencepiece::word::AddPiece
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 7
    functionsReached:
    - auto*::set_score
    - auto*::set_piece
    - ModelProto*::add_pieces
    linkageType: ''
    returnType: void
    signature: "void AddPiece(ModelProto *model_proto, const std::string &piece,\n
      \             float score = 0.0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:54,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:56,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:57,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:58,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:59,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:60,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:61,1
    - Dst: sentencepiece::word::AddPiece
      Src: /src/sentencepiece/src/word_model_test.cc:62,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: EncodeResult::empty
      Src: /src/sentencepiece/src/word_model_test.cc:69,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:75,1
    - Dst: Model::Encode
      Src: /src/sentencepiece/src/word_model_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EncodeResult::size
      Src: /src/sentencepiece/src/word_model_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::word::MakeBaseModelProto
    - Model::Encode
    - EXPECT_EQ
    - sentencepiece::word::AddPiece
    - EXPECT_TRUE
    - EncodeResult::size
    - EncodeResult::empty
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, EncodeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::word::MakeBaseModelProto
      Src: /src/sentencepiece/src/word_model_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: NBestEncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: Model::NBestEncode
      Src: /src/sentencepiece/src/word_model_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: EncodeResult
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    - Dst: Model::SampleEncode
      Src: /src/sentencepiece/src/word_model_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_test.cc
    functionUses: 0
    functionsReached:
    - EncodeResult
    - sentencepiece::word::MakeBaseModelProto
    - EXPECT_EQ
    - Model::SampleEncode
    - NBestEncodeResult
    - Model::NBestEncode
    linkageType: ''
    returnType: void
    signature: void TEST(WordModelTest, NotSupportedTest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ScopedResourceDestructor::ScopedResourceDestructor
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:31,1
    - Dst: sentencepiece::ParseCommandLineFlags
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:32,1
    - Dst: sentencepiece::SentencePieceProcessor::SentencePieceProcessor
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:34,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:35,1
    - Dst: sentencepiece::SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:35,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:35,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:38,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:38,1
    - Dst: QCHECK_OK
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:39,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:39,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:41,1
    - Dst: sentencepiece::SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:42,1
    - Dst: piece
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:44,1
    - Dst: score
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:44,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:45,1
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:45,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:47,1
    - Dst: sentencepiece::SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:48,1
    - Dst: sentencepiece::SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:50,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:51,1
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:51,1
    - Dst: LOG
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:54,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/spm_export_vocab_main.cc:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/sentencepiece/src/spm_export_vocab_main.cc
    functionUses: 0
    functionsReached:
    - LOG
    - std::ostringstream::str
    - sentencepiece::SentencePieceProcessor::model_proto
    - sentencepiece::filesystem::NewWritableFile
    - sentencepiece::SentencePieceProcessor::SentencePieceProcessor
    - sentencepiece::ScopedResourceDestructor::ScopedResourceDestructor
    - sentencepiece::ParseCommandLineFlags
    - auto::status
    - piece
    - sentencepiece::SentencePieceProcessor::Load
    - score
    - auto::WriteLine
    - QCHECK_OK
    - absl::GetFlag
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Trainer::Symbol::ToString() const
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::string_util::UnicodeTextToUTF8
    linkageType: ''
    returnType: std::string
    signature: std::string Trainer::Symbol::ToString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:44,1
    - Dst: CHECK_GT
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:45,1
    - Dst: find
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:46,1
    - Dst: end
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:47,1
    - Dst: std::make_unique<Symbol>
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:50,1
    - Dst: auto::chars::push_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:53,1
    - Dst: sentencepiece::port::InsertOrDie
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:55,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:55,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:56,1
    - Dst: push_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:57,1
    - Dst: std::move
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: sentencepiece::bpe::Trainer::GetCharSymbol
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 0
    functionsReached:
    - auto::chars::push_back
    - push_back
    - find
    - end
    - std::make_unique<Symbol>
    - auto::get
    - std::move
    - CHECK_GT
    - sentencepiece::port::InsertOrDie
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: Trainer::Symbol
    signature: Trainer::Symbol * Trainer::GetCharSymbol(char32_t c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::HashOf
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:67,1
    - Dst: find
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:68,1
    - Dst: end
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:69,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:73,1
    - Dst: Symbol*::chars::empty
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:73,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:74,1
    - Dst: Symbol*::chars::empty
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:74,1
    - Dst: string_util::UnicodeText::push_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:77,1
    - Dst: string_util::UnicodeText::push_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:80,1
    - Dst: IsValidSentencePiece
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:84,1
    - Dst: std::make_unique<Symbol>
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:88,1
    - Dst: sentencepiece::port::InsertOrDie
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:93,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:93,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:94,1
    - Dst: push_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:95,1
    - Dst: std::move
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - Symbol*
    - Symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 97
    functionName: sentencepiece::bpe::Trainer::GetPairSymbol
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 0
    functionsReached:
    - CHECK
    - find
    - string_util::UnicodeText::push_back
    - end
    - std::make_unique<Symbol>
    - auto::get
    - IsValidSentencePiece
    - Symbol*::chars::empty
    - absl::HashOf
    - std::move
    - sentencepiece::port::InsertOrDie
    - push_back
    linkageType: ''
    returnType: Trainer::Symbol
    signature: "Trainer::Symbol * Trainer::GetPairSymbol(const Symbol* left,\n                                        const
      Symbol* right)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Symbol*::positions::begin
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:104,1
    - Dst: Symbol*::positions::end
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:104,1
    - Dst: sentencepiece::bpe::Trainer::DecodePos
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:105,1
    - Dst: Symbol*::positions::erase
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - symbol
    argTypes:
    - Symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 117
    functionName: sentencepiece::bpe::Trainer::ComputeFreq
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::Trainer::DecodePos
    - Symbol*::positions::erase
    - Symbol*::positions::begin
    - Symbol*::positions::end
    linkageType: ''
    returnType: void
    signature: void Trainer::ComputeFreq(Symbol* symbol) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sid
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: sentencepiece::bpe::Trainer::GetNextIndex
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int Trainer::GetNextIndex(int sid, int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sid
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: sentencepiece::bpe::Trainer::GetPrevIndex
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Trainer::GetPrevIndex(int sid, int index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::Trainer::GetPairSymbol
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:143,1
    - Dst: auto*::positions::insert
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:145,1
    - Dst: sentencepiece::bpe::Trainer::EncodePos
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:145,1
    - Dst: push_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - sid
    - left
    - right
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: sentencepiece::bpe::Trainer::AddNewPair
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::Trainer::EncodePos
    - sentencepiece::bpe::Trainer::GetPairSymbol
    - auto*::positions::insert
    - push_back
    linkageType: ''
    returnType: void
    signature: void Trainer::AddNewPair(int sid, int left, int right)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::Trainer::GetPairSymbol
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - sid
    - left
    - right
    - best
    argTypes:
    - int
    - int
    - int
    - Symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: sentencepiece::bpe::Trainer::ResetFreq
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::Trainer::GetPairSymbol
    linkageType: ''
    returnType: void
    signature: void Trainer::ResetFreq(int sid, int left, int right, const Symbol*
      best)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::Trainer::DecodePos
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:168,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:175,1
    - Dst: sentencepiece::bpe::Trainer::GetNextIndex
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:179,1
    - Dst: sentencepiece::bpe::Trainer::GetPrevIndex
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:180,1
    - Dst: sentencepiece::bpe::Trainer::ResetFreq
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:183,1
    - Dst: sentencepiece::bpe::Trainer::ResetFreq
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:184,1
    - Dst: sentencepiece::bpe::Trainer::AddNewPair
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:191,1
    - Dst: sentencepiece::bpe::Trainer::AddNewPair
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:192,1
    - Dst: erase
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:196,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - symbol
    argTypes:
    - Symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 200
    functionName: sentencepiece::bpe::Trainer::AcceptSymbol
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::bpe::Trainer::DecodePos
    - sentencepiece::bpe::Trainer::ResetFreq
    - erase
    - sentencepiece::bpe::Trainer::AddNewPair
    - absl::OkStatus
    - sentencepiece::bpe::Trainer::GetNextIndex
    - sentencepiece::bpe::Trainer::GetPrevIndex
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::AcceptSymbol(Symbol* symbol)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:203,1
    - Dst: status
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:203,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:206,1
    - Dst: sentencepiece::bpe::Trainer::TrainFast
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:207,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:211,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:211,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:212,1
    - Dst: model_type
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:212,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:214,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:215,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:216,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:218,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:221,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:221,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:223,1
    - Dst: SplitSentencesByWhitespace
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:224,1
    - Dst: sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:229,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:232,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:233,1
    - Dst: LOG
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:234,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:237,1
    - Dst: auto*::PreTokenize
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:237,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:239,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:240,1
    - Dst: resize
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:247,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:247,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:248,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:250,1
    - Dst: push_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:251,1
    - Dst: sentencepiece::bpe::Trainer::GetCharSymbol
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:251,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:256,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:257,1
    - Dst: sentencepiece::bpe::Trainer::AddNewPair
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:258,1
    - Dst: sentencepiece::bpe::Trainer::ComputeFreq
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:264,1
    - Dst: push
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:265,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:267,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:270,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:270,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:270,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:271,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:279,1
    - Dst: empty
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:279,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:280,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:280,1
    - Dst: empty
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:282,1
    - Dst: top
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:283,1
    - Dst: pop
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:286,1
    - Dst: pop
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:290,1
    - Dst: pop
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:294,1
    - Dst: sentencepiece::bpe::Trainer::ComputeFreq
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:295,1
    - Dst: push
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:296,1
    - Dst: pop
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:300,1
    - Dst: LOG
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:305,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:309,1
    - Dst: Symbol*::ToString
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:309,1
    - Dst: erase
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:311,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:317,1
    - Dst: Symbol*::ToString
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:317,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:318,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:318,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:320,1
    - Dst: LOG
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:321,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:322,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:323,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:323,1
    - Dst: Symbol*::ToString
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:324,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:327,1
    - Dst: sentencepiece::bpe::Trainer::AcceptSymbol
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:327,1
    - Dst: sentencepiece::bpe::Trainer::ComputeFreq
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:332,1
    - Dst: push
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:333,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:336,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:340,1
    - Dst: sentencepiece::bpe::Trainer::GetCharSymbol
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:341,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:342,1
    - Dst: Symbol*::ToString
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:342,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:343,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:343,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:346,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:347,1
    - Dst: Save
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:349,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 202
    functionDepth: 5
    functionLinenumber: 202
    functionLinenumberEnd: 350
    functionName: sentencepiece::bpe::Trainer::Train
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 0
    functionsReached:
    - Save
    - erase
    - Symbol*::ToString
    - absl::flat_hash_set::insert
    - pop
    - sentencepiece::bpe::Trainer::ComputeFreq
    - static_cast<size_t>
    - pretokenization_delimiter
    - absl::StrJoin
    - auto*::PreTokenize
    - vocab_size
    - LOG
    - top
    - SplitSentencesByWhitespace
    - sentencepiece::bpe::Trainer::AddNewPair
    - sentencepiece::bpe::Trainer::TrainFast
    - empty
    - Sorted
    - RETURN_IF_ERROR
    - status
    - sentencepiece::string_util::UTF8ToUnicodeText
    - RET_CHECK
    - sentencepiece::bpe::Trainer::AcceptSymbol
    - size
    - absl::string_view::empty
    - resize
    - static_cast<float>
    - emplace_back
    - push
    - clear
    - sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
    - RET_CHECK_EQ
    - split_by_whitespace
    - push_back
    - escape_whitespaces
    - absl::StrReplaceAll
    - LoadSentences
    - RET_CHECK_GE
    - sentencepiece::bpe::Trainer::GetCharSymbol
    - absl::GetFlag
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::Train()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:354,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:354,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:355,1
    - Dst: model_type
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:355,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:357,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:357,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:359,1
    - Dst: SplitSentencesByWhitespace
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:360,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:364,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:364,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:364,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:365,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:366,1
    - Dst: empty
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:366,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:368,1
    - Dst: sentencepiece::nlcodec::RunFastBPEMerges
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:369,1
    - Dst: IsValidSentencePiece
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:371,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:375,1
    - Dst: sentencepiece::bpe::Trainer::GetCharSymbol
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:376,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:377,1
    - Dst: Symbol*::ToString
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:377,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:378,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:378,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:381,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:382,1
    - Dst: Save
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 385
    functionName: sentencepiece::bpe::Trainer::TrainFast
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 1
    functionsReached:
    - Save
    - Symbol*::ToString
    - vocab_size
    - SplitSentencesByWhitespace
    - empty
    - Sorted
    - RETURN_IF_ERROR
    - RET_CHECK
    - sentencepiece::nlcodec::RunFastBPEMerges
    - size
    - static_cast<float>
    - emplace_back
    - clear
    - RET_CHECK_EQ
    - split_by_whitespace
    - escape_whitespaces
    - LoadSentences
    - RET_CHECK_GE
    - IsValidSentencePiece
    - sentencepiece::bpe::Trainer::GetCharSymbol
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::TrainFast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Trainer::Symbol::ToString() const
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::string_util::UnicodeTextToUTF8
    linkageType: ''
    returnType: std::string
    signature: std::string Trainer::Symbol::ToString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:44,1
    - Dst: CHECK_GT
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:45,1
    - Dst: find
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:46,1
    - Dst: end
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:47,1
    - Dst: std::make_unique<Symbol>
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:50,1
    - Dst: auto::chars::push_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:53,1
    - Dst: sentencepiece::port::InsertOrDie
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:55,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:55,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:56,1
    - Dst: push_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:57,1
    - Dst: std::move
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: sentencepiece::bpe::Trainer::GetCharSymbol
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 2
    functionsReached:
    - auto::chars::push_back
    - push_back
    - find
    - end
    - std::make_unique<Symbol>
    - auto::get
    - std::move
    - CHECK_GT
    - sentencepiece::port::InsertOrDie
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: Trainer::Symbol
    signature: Trainer::Symbol * Trainer::GetCharSymbol(char32_t c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: absl::HashOf
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:67,1
    - Dst: find
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:68,1
    - Dst: end
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:69,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:73,1
    - Dst: Symbol*::chars::empty
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:73,1
    - Dst: CHECK
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:74,1
    - Dst: Symbol*::chars::empty
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:74,1
    - Dst: string_util::UnicodeText::push_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:77,1
    - Dst: string_util::UnicodeText::push_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:80,1
    - Dst: IsValidSentencePiece
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:84,1
    - Dst: std::make_unique<Symbol>
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:88,1
    - Dst: sentencepiece::port::InsertOrDie
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:93,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:93,1
    - Dst: auto::get
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:94,1
    - Dst: push_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:95,1
    - Dst: std::move
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - Symbol*
    - Symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 97
    functionName: sentencepiece::bpe::Trainer::GetPairSymbol
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 2
    functionsReached:
    - CHECK
    - find
    - string_util::UnicodeText::push_back
    - end
    - std::make_unique<Symbol>
    - auto::get
    - IsValidSentencePiece
    - Symbol*::chars::empty
    - absl::HashOf
    - std::move
    - sentencepiece::port::InsertOrDie
    - push_back
    linkageType: ''
    returnType: Trainer::Symbol
    signature: "Trainer::Symbol * Trainer::GetPairSymbol(const Symbol* left,\n                                        const
      Symbol* right)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Symbol*::positions::begin
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:104,1
    - Dst: Symbol*::positions::end
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:104,1
    - Dst: sentencepiece::bpe::Trainer::DecodePos
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:105,1
    - Dst: Symbol*::positions::erase
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - symbol
    argTypes:
    - Symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 117
    functionName: sentencepiece::bpe::Trainer::ComputeFreq
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::bpe::Trainer::DecodePos
    - Symbol*::positions::erase
    - Symbol*::positions::begin
    - Symbol*::positions::end
    linkageType: ''
    returnType: void
    signature: void Trainer::ComputeFreq(Symbol* symbol) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sid
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: sentencepiece::bpe::Trainer::GetNextIndex
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int Trainer::GetNextIndex(int sid, int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - sid
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: sentencepiece::bpe::Trainer::GetPrevIndex
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Trainer::GetPrevIndex(int sid, int index) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::Trainer::GetPairSymbol
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:143,1
    - Dst: auto*::positions::insert
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:145,1
    - Dst: sentencepiece::bpe::Trainer::EncodePos
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:145,1
    - Dst: push_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - sid
    - left
    - right
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: sentencepiece::bpe::Trainer::AddNewPair
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::bpe::Trainer::EncodePos
    - sentencepiece::bpe::Trainer::GetPairSymbol
    - auto*::positions::insert
    - push_back
    linkageType: ''
    returnType: void
    signature: void Trainer::AddNewPair(int sid, int left, int right)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::Trainer::GetPairSymbol
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - sid
    - left
    - right
    - best
    argTypes:
    - int
    - int
    - int
    - Symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: sentencepiece::bpe::Trainer::ResetFreq
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::bpe::Trainer::GetPairSymbol
    linkageType: ''
    returnType: void
    signature: void Trainer::ResetFreq(int sid, int left, int right, const Symbol*
      best)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::bpe::Trainer::DecodePos
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:168,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:175,1
    - Dst: sentencepiece::bpe::Trainer::GetNextIndex
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:179,1
    - Dst: sentencepiece::bpe::Trainer::GetPrevIndex
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:180,1
    - Dst: sentencepiece::bpe::Trainer::ResetFreq
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:183,1
    - Dst: sentencepiece::bpe::Trainer::ResetFreq
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:184,1
    - Dst: sentencepiece::bpe::Trainer::AddNewPair
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:191,1
    - Dst: sentencepiece::bpe::Trainer::AddNewPair
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:192,1
    - Dst: erase
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:196,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - symbol
    argTypes:
    - Symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 200
    functionName: sentencepiece::bpe::Trainer::AcceptSymbol
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::bpe::Trainer::DecodePos
    - sentencepiece::bpe::Trainer::ResetFreq
    - erase
    - sentencepiece::bpe::Trainer::AddNewPair
    - absl::OkStatus
    - sentencepiece::bpe::Trainer::GetNextIndex
    - sentencepiece::bpe::Trainer::GetPrevIndex
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::AcceptSymbol(Symbol* symbol)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:203,1
    - Dst: status
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:203,1
    - Dst: absl::GetFlag
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:206,1
    - Dst: sentencepiece::bpe::Trainer::TrainFast
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:207,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:211,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:211,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:212,1
    - Dst: model_type
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:212,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:214,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:215,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:216,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:218,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:221,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:221,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:223,1
    - Dst: SplitSentencesByWhitespace
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:224,1
    - Dst: sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:229,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:232,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:233,1
    - Dst: LOG
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:234,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:237,1
    - Dst: auto*::PreTokenize
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:237,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:239,1
    - Dst: absl::StrReplaceAll
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:240,1
    - Dst: resize
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:247,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:247,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:248,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:250,1
    - Dst: push_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:251,1
    - Dst: sentencepiece::bpe::Trainer::GetCharSymbol
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:251,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:256,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:257,1
    - Dst: sentencepiece::bpe::Trainer::AddNewPair
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:258,1
    - Dst: sentencepiece::bpe::Trainer::ComputeFreq
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:264,1
    - Dst: push
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:265,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:267,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:270,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:270,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:270,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:271,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:279,1
    - Dst: empty
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:279,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:280,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:280,1
    - Dst: empty
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:282,1
    - Dst: top
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:283,1
    - Dst: pop
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:286,1
    - Dst: pop
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:290,1
    - Dst: pop
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:294,1
    - Dst: sentencepiece::bpe::Trainer::ComputeFreq
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:295,1
    - Dst: push
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:296,1
    - Dst: pop
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:300,1
    - Dst: LOG
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:305,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:309,1
    - Dst: Symbol*::ToString
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:309,1
    - Dst: erase
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:311,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:317,1
    - Dst: Symbol*::ToString
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:317,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:318,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:318,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:320,1
    - Dst: LOG
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:321,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:322,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:323,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:323,1
    - Dst: Symbol*::ToString
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:324,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:327,1
    - Dst: sentencepiece::bpe::Trainer::AcceptSymbol
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:327,1
    - Dst: sentencepiece::bpe::Trainer::ComputeFreq
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:332,1
    - Dst: push
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:333,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:336,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:340,1
    - Dst: sentencepiece::bpe::Trainer::GetCharSymbol
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:341,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:342,1
    - Dst: Symbol*::ToString
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:342,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:343,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:343,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:346,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:347,1
    - Dst: Save
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:349,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 202
    functionDepth: 5
    functionLinenumber: 202
    functionLinenumberEnd: 350
    functionName: sentencepiece::bpe::Trainer::Train
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 0
    functionsReached:
    - Save
    - erase
    - Symbol*::ToString
    - absl::flat_hash_set::insert
    - pop
    - sentencepiece::bpe::Trainer::ComputeFreq
    - static_cast<size_t>
    - pretokenization_delimiter
    - absl::StrJoin
    - auto*::PreTokenize
    - vocab_size
    - LOG
    - top
    - SplitSentencesByWhitespace
    - sentencepiece::bpe::Trainer::AddNewPair
    - sentencepiece::bpe::Trainer::TrainFast
    - empty
    - Sorted
    - RETURN_IF_ERROR
    - status
    - sentencepiece::string_util::UTF8ToUnicodeText
    - RET_CHECK
    - sentencepiece::bpe::Trainer::AcceptSymbol
    - size
    - absl::string_view::empty
    - resize
    - static_cast<float>
    - emplace_back
    - push
    - clear
    - sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
    - RET_CHECK_EQ
    - split_by_whitespace
    - push_back
    - escape_whitespaces
    - absl::StrReplaceAll
    - LoadSentences
    - RET_CHECK_GE
    - sentencepiece::bpe::Trainer::GetCharSymbol
    - absl::GetFlag
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::Train()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:354,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:354,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:355,1
    - Dst: model_type
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:355,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:357,1
    - Dst: LoadSentences
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:357,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:359,1
    - Dst: SplitSentencesByWhitespace
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:360,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:364,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:364,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:364,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:365,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:366,1
    - Dst: empty
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:366,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:368,1
    - Dst: sentencepiece::nlcodec::RunFastBPEMerges
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:369,1
    - Dst: IsValidSentencePiece
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:371,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:375,1
    - Dst: sentencepiece::bpe::Trainer::GetCharSymbol
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:376,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:377,1
    - Dst: Symbol*::ToString
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:377,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:378,1
    - Dst: size
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:378,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:381,1
    - Dst: clear
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:382,1
    - Dst: Save
      Src: /src/sentencepiece/src/bpe_model_trainer.cc:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 385
    functionName: sentencepiece::bpe::Trainer::TrainFast
    functionSourceFile: /src/sentencepiece/src/bpe_model_trainer.cc
    functionUses: 2
    functionsReached:
    - Save
    - Symbol*::ToString
    - vocab_size
    - SplitSentencesByWhitespace
    - empty
    - Sorted
    - RETURN_IF_ERROR
    - RET_CHECK
    - sentencepiece::nlcodec::RunFastBPEMerges
    - size
    - static_cast<float>
    - emplace_back
    - clear
    - RET_CHECK_EQ
    - split_by_whitespace
    - escape_whitespaces
    - LoadSentences
    - RET_CHECK_GE
    - IsValidSentencePiece
    - sentencepiece::bpe::Trainer::GetCharSymbol
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status Trainer::TrainFast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: sentencepiece::normalizer::MakeDefaultSpec
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec MakeDefaultSpec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: sentencepiece::normalizer::MakeDefaultSpec
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec MakeDefaultSpec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:48,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:49,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:50,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:53,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:54,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:55,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:56,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:57,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:58,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:59,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:62,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:65,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:68,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:70,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:74,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:74,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:75,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:75,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:76,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:76,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:77,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:77,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:79,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:79,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 81
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - sentencepiece::string_util::UnicodeCharToUTF8
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:84,1
    - Dst: auto::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:89,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:90,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:91,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:94,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:95,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:96,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:97,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:98,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:99,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:100,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::normalizer::MakeDefaultSpec
    - auto::set_add_dummy_prefix
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeWithoutDummyPrefixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:104,1
    - Dst: TrainerSpec::set_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/normalizer_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:109,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:110,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:111,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:113,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:114,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:115,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:116,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - TrainerSpec::set_treat_whitespace_as_suffix
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeTreatWSAsSuffixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:120,1
    - Dst: auto::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:125,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:125,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - auto::set_remove_extra_whitespaces
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeWithoutRemoveExtraWhitespacesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:137,1
    - Dst: auto::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:138,1
    - Dst: auto::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:139,1
    - Dst: auto::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:144,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:145,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:146,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:149,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:150,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:151,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:152,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - auto::set_add_dummy_prefix
    - auto::set_escape_whitespaces
    - Normalizer::Normalize
    - auto::set_remove_extra_whitespaces
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeWithoutEscapeWhitespacesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/normalizer_test.cc:160,1
    - Dst: Builder::Chars::push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:161,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/normalizer_test.cc:163,1
    - Dst: push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:164,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:170,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:171,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:172,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:176,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:177,1
    - Dst: NormalizerSpec::mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:183,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:184,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:185,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:186,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:187,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:188,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:188,1
    - Dst: NormalizerSpec::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:191,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:193,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:197,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:198,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:199,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:200,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:201,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:202,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:202,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:206,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:210,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:211,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:212,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:213,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:214,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:215,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:215,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:219,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:223,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:224,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:225,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:226,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:227,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:228,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:228,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:232,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:236,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:237,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:238,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:239,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:240,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:241,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:241,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:264,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:265,1
    - Dst: NormalizerSpec::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:266,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:268,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 270
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - AddRule
    - NormalizerSpec::set_add_dummy_prefix
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_EQ
    - NormalizerSpec::mutable_precompiled_charsmap
    - EXPECT_TRUE
    - NormalizerSpec::set_escape_whitespaces
    - Normalizer::Normalize
    - NormalizerSpec::set_remove_extra_whitespaces
    - Builder::Chars::push_back
    - sentencepiece::string_util::UTF8ToUnicodeText
    - push_back
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizeTest, NomalizeWithSpaceContainedRules)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:273,1
    - Dst: auto::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:276,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:277,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:278,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:279,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:280,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::normalizer::MakeDefaultSpec
    - auto::set_add_dummy_prefix
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeReplacementChar)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:287,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:292,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:303,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:308,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:308,1
    - Dst: LOG
      Src: /src/sentencepiece/src/normalizer_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:320,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:325,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:333,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:338,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:345,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:350,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 363
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - EXPECT_TRUE
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeFullTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:387,1
    - Dst: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:391,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:393,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/normalizer_test.cc:393,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:395,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:396,1
    - Dst: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 399
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - ASSERT_TRUE
    - sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
    - EXPECT_EQ
    - EXPECT_FALSE
    - sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, EncodeDecodePrecompiledCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/normalizer_test.cc:411,1
    - Dst: std::string
      Src: /src/sentencepiece/src/normalizer_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:413,1
    - Dst: c_str
      Src: /src/sentencepiece/src/normalizer_test.cc:413,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:414,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: Darts::DoubleArray::build
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: const_cast<char**>
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer_test.cc:419,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/src/normalizer_test.cc:420,1
    - Dst: Darts::DoubleArray::array
      Src: /src/sentencepiece/src/normalizer_test.cc:420,1
    - Dst: Darts::DoubleArray::size
      Src: /src/sentencepiece/src/normalizer_test.cc:421,1
    - Dst: Darts::DoubleArray::unit_size
      Src: /src/sentencepiece/src/normalizer_test.cc:421,1
    - Dst: sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:429,1
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer_test.cc:432,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:433,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:434,1
    - Dst: NormalizerSpec::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:435,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:438,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:438,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:442,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:443,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/normalizer_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:444,1
    - Dst: std::string
      Src: /src/sentencepiece/src/normalizer_test.cc:444,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/normalizer_test.cc:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 445
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - NormalizerSpec::set_precompiled_charsmap
    - ASSERT_TRUE
    - Darts::DoubleArray::array
    - c_str
    - std::string
    - ASSERT_EQ
    - Normalizer::Normalize
    - Darts::DoubleArray::unit_size
    - static_cast<const char*>
    - std::vector::size
    - Darts::DoubleArray::build
    - NormalizerSpec::set_escape_whitespaces
    - std::vector::emplace_back
    - Darts::DoubleArray::size
    - Normalizer::status
    - std::vector::data
    - std::string::size
    - std::string::empty
    - NormalizerSpec::set_add_dummy_prefix
    - EXPECT_FALSE
    - sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
    - NormalizerSpec::set_remove_extra_whitespaces
    - std::vector::push_back
    - const_cast<char**>
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, ManySharedPrefixesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/normalizer_test.cc:451,1
    - Dst: std::string
      Src: /src/sentencepiece/src/normalizer_test.cc:451,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/normalizer_test.cc:452,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/normalizer_test.cc:452,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:457,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:458,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/normalizer_test.cc:459,1
    - Dst: EXPECT_LE
      Src: /src/sentencepiece/src/normalizer_test.cc:460,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/normalizer_test.cc:460,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/normalizer_test.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 461
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - PrefixMatcher::PrefixMatch
    - EXPECT_GT
    - std::string
    - EXPECT_LE
    - EXPECT_TRUE
    - static_cast<int>
    - std::vector::emplace_back
    - std::vector::begin
    - std::vector::end
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(PrefixMatcherTest, ManySharedPrefixesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:467,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:467,1
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer_test.cc:471,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:473,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:473,1
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:476,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:479,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 481
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_FALSE
    - EXPECT_TRUE
    - NormalizerSpec::set_precompiled_charsmap
    - Normalizer::status
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, StatusTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:486,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:486,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:488,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:488,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:490,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:490,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:492,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:492,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:493,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:494,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:494,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:496,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:496,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:498,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:498,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:501,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:502,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:503,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 504
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - PrefixMatcher::PrefixMatch
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - PrefixMatcher::GlobalReplace
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, PrefixMatcherTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:509,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:511,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:511,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:512,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:513,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:513,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:515,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:515,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:517,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:517,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:519,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:519,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:520,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:521,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:522,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:524,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:524,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:525,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 526
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - PrefixMatcher::PrefixMatch
    - EXPECT_EQ
    - PrefixMatcher::GlobalReplace
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, PrefixMatcherWithEmptyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: sentencepiece::normalizer::MakeDefaultSpec
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 8
    functionsReached:
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec MakeDefaultSpec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: sentencepiece::normalizer::MakeDefaultSpec
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 8
    functionsReached:
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec MakeDefaultSpec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:48,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:49,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:50,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:53,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:54,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:55,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:56,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:57,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:58,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:59,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:62,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:65,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:68,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:70,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:74,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:74,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:75,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:75,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:76,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:76,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:77,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:77,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:79,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:79,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 81
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - sentencepiece::string_util::UnicodeCharToUTF8
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:84,1
    - Dst: auto::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:89,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:90,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:91,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:94,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:95,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:96,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:97,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:98,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:99,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:100,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::normalizer::MakeDefaultSpec
    - auto::set_add_dummy_prefix
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeWithoutDummyPrefixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:104,1
    - Dst: TrainerSpec::set_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/normalizer_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:109,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:110,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:111,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:113,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:114,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:115,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:116,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - TrainerSpec::set_treat_whitespace_as_suffix
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeTreatWSAsSuffixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:120,1
    - Dst: auto::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:125,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:125,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - auto::set_remove_extra_whitespaces
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeWithoutRemoveExtraWhitespacesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:137,1
    - Dst: auto::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:138,1
    - Dst: auto::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:139,1
    - Dst: auto::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:144,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:145,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:146,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:149,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:150,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:151,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:152,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - auto::set_add_dummy_prefix
    - auto::set_escape_whitespaces
    - Normalizer::Normalize
    - auto::set_remove_extra_whitespaces
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeWithoutEscapeWhitespacesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/normalizer_test.cc:160,1
    - Dst: Builder::Chars::push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:161,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/normalizer_test.cc:163,1
    - Dst: push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:164,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:170,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:171,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:172,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:176,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:177,1
    - Dst: NormalizerSpec::mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:183,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:184,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:185,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:186,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:187,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:188,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:188,1
    - Dst: NormalizerSpec::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:191,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:193,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:197,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:198,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:199,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:200,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:201,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:202,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:202,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:206,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:210,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:211,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:212,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:213,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:214,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:215,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:215,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:219,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:223,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:224,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:225,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:226,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:227,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:228,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:228,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:232,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:236,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:237,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:238,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:239,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:240,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:241,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:241,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:264,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:265,1
    - Dst: NormalizerSpec::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:266,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:268,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 270
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - AddRule
    - NormalizerSpec::set_add_dummy_prefix
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_EQ
    - NormalizerSpec::mutable_precompiled_charsmap
    - EXPECT_TRUE
    - NormalizerSpec::set_escape_whitespaces
    - Normalizer::Normalize
    - NormalizerSpec::set_remove_extra_whitespaces
    - Builder::Chars::push_back
    - sentencepiece::string_util::UTF8ToUnicodeText
    - push_back
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizeTest, NomalizeWithSpaceContainedRules)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:273,1
    - Dst: auto::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:276,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:277,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:278,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:279,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:280,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::normalizer::MakeDefaultSpec
    - auto::set_add_dummy_prefix
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeReplacementChar)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:287,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:292,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:303,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:308,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:308,1
    - Dst: LOG
      Src: /src/sentencepiece/src/normalizer_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:320,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:325,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:333,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:338,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:345,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:350,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 363
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - EXPECT_TRUE
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeFullTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:387,1
    - Dst: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:391,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:393,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/normalizer_test.cc:393,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:395,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:396,1
    - Dst: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 399
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - ASSERT_TRUE
    - sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
    - EXPECT_EQ
    - EXPECT_FALSE
    - sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, EncodeDecodePrecompiledCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/normalizer_test.cc:411,1
    - Dst: std::string
      Src: /src/sentencepiece/src/normalizer_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:413,1
    - Dst: c_str
      Src: /src/sentencepiece/src/normalizer_test.cc:413,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:414,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: Darts::DoubleArray::build
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: const_cast<char**>
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer_test.cc:419,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/src/normalizer_test.cc:420,1
    - Dst: Darts::DoubleArray::array
      Src: /src/sentencepiece/src/normalizer_test.cc:420,1
    - Dst: Darts::DoubleArray::size
      Src: /src/sentencepiece/src/normalizer_test.cc:421,1
    - Dst: Darts::DoubleArray::unit_size
      Src: /src/sentencepiece/src/normalizer_test.cc:421,1
    - Dst: sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:429,1
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer_test.cc:432,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:433,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:434,1
    - Dst: NormalizerSpec::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:435,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:438,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:438,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:442,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:443,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/normalizer_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:444,1
    - Dst: std::string
      Src: /src/sentencepiece/src/normalizer_test.cc:444,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/normalizer_test.cc:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 445
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - NormalizerSpec::set_precompiled_charsmap
    - ASSERT_TRUE
    - Darts::DoubleArray::array
    - c_str
    - std::string
    - ASSERT_EQ
    - Normalizer::Normalize
    - Darts::DoubleArray::unit_size
    - static_cast<const char*>
    - std::vector::size
    - Darts::DoubleArray::build
    - NormalizerSpec::set_escape_whitespaces
    - std::vector::emplace_back
    - Darts::DoubleArray::size
    - Normalizer::status
    - std::vector::data
    - std::string::size
    - std::string::empty
    - NormalizerSpec::set_add_dummy_prefix
    - EXPECT_FALSE
    - sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
    - NormalizerSpec::set_remove_extra_whitespaces
    - std::vector::push_back
    - const_cast<char**>
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, ManySharedPrefixesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/normalizer_test.cc:451,1
    - Dst: std::string
      Src: /src/sentencepiece/src/normalizer_test.cc:451,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/normalizer_test.cc:452,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/normalizer_test.cc:452,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:457,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:458,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/normalizer_test.cc:459,1
    - Dst: EXPECT_LE
      Src: /src/sentencepiece/src/normalizer_test.cc:460,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/normalizer_test.cc:460,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/normalizer_test.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 461
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - PrefixMatcher::PrefixMatch
    - EXPECT_GT
    - std::string
    - EXPECT_LE
    - EXPECT_TRUE
    - static_cast<int>
    - std::vector::emplace_back
    - std::vector::begin
    - std::vector::end
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(PrefixMatcherTest, ManySharedPrefixesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:467,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:467,1
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer_test.cc:471,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:473,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:473,1
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:476,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:479,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 481
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_FALSE
    - EXPECT_TRUE
    - NormalizerSpec::set_precompiled_charsmap
    - Normalizer::status
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, StatusTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:486,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:486,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:488,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:488,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:490,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:490,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:492,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:492,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:493,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:494,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:494,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:496,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:496,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:498,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:498,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:501,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:502,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:503,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 504
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - PrefixMatcher::PrefixMatch
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - PrefixMatcher::GlobalReplace
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, PrefixMatcherTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:509,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:511,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:511,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:512,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:513,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:513,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:515,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:515,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:517,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:517,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:519,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:519,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:520,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:521,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:522,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:524,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:524,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:525,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 526
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - PrefixMatcher::PrefixMatch
    - EXPECT_EQ
    - PrefixMatcher::GlobalReplace
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, PrefixMatcherWithEmptyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: sentencepiece::normalizer::MakeDefaultSpec
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 16
    functionsReached:
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec MakeDefaultSpec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: sentencepiece::normalizer::MakeDefaultSpec
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 16
    functionsReached:
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec MakeDefaultSpec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:48,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:49,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:50,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:53,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:54,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:55,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:56,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:57,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:58,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:59,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:62,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:65,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:68,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:70,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:74,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:74,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:75,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:75,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:76,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:76,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:77,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:77,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:79,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:79,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 81
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - sentencepiece::string_util::UnicodeCharToUTF8
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:84,1
    - Dst: auto::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:89,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:90,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:91,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:94,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:95,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:96,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:97,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:98,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:99,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:100,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::normalizer::MakeDefaultSpec
    - auto::set_add_dummy_prefix
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeWithoutDummyPrefixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:104,1
    - Dst: TrainerSpec::set_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/normalizer_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:109,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:110,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:111,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:113,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:114,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:115,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:116,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - TrainerSpec::set_treat_whitespace_as_suffix
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeTreatWSAsSuffixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:120,1
    - Dst: auto::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:125,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:125,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - auto::set_remove_extra_whitespaces
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeWithoutRemoveExtraWhitespacesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:137,1
    - Dst: auto::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:138,1
    - Dst: auto::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:139,1
    - Dst: auto::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:144,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:145,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:146,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:149,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:150,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:151,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:152,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - auto::set_add_dummy_prefix
    - auto::set_escape_whitespaces
    - Normalizer::Normalize
    - auto::set_remove_extra_whitespaces
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeWithoutEscapeWhitespacesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/normalizer_test.cc:160,1
    - Dst: Builder::Chars::push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:161,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/normalizer_test.cc:163,1
    - Dst: push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:164,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:170,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:171,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:172,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:176,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:177,1
    - Dst: NormalizerSpec::mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:183,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:184,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:185,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:186,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:187,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:188,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:188,1
    - Dst: NormalizerSpec::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:191,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:193,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:197,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:198,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:199,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:200,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:201,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:202,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:202,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:206,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:210,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:211,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:212,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:213,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:214,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:215,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:215,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:219,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:223,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:224,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:225,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:226,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:227,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:228,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:228,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:232,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:236,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:237,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:238,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:239,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:240,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:241,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:241,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:264,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:265,1
    - Dst: NormalizerSpec::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:266,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:268,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 270
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - AddRule
    - NormalizerSpec::set_add_dummy_prefix
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_EQ
    - NormalizerSpec::mutable_precompiled_charsmap
    - EXPECT_TRUE
    - NormalizerSpec::set_escape_whitespaces
    - Normalizer::Normalize
    - NormalizerSpec::set_remove_extra_whitespaces
    - Builder::Chars::push_back
    - sentencepiece::string_util::UTF8ToUnicodeText
    - push_back
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizeTest, NomalizeWithSpaceContainedRules)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:273,1
    - Dst: auto::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:276,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:277,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:278,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:279,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:280,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::normalizer::MakeDefaultSpec
    - auto::set_add_dummy_prefix
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeReplacementChar)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:287,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:292,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:303,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:308,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:308,1
    - Dst: LOG
      Src: /src/sentencepiece/src/normalizer_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:320,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:325,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:333,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:338,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:345,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:350,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 363
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - EXPECT_TRUE
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeFullTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:387,1
    - Dst: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:391,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:393,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/normalizer_test.cc:393,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:395,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:396,1
    - Dst: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 399
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - ASSERT_TRUE
    - sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
    - EXPECT_EQ
    - EXPECT_FALSE
    - sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, EncodeDecodePrecompiledCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/normalizer_test.cc:411,1
    - Dst: std::string
      Src: /src/sentencepiece/src/normalizer_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:413,1
    - Dst: c_str
      Src: /src/sentencepiece/src/normalizer_test.cc:413,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:414,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: Darts::DoubleArray::build
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: const_cast<char**>
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer_test.cc:419,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/src/normalizer_test.cc:420,1
    - Dst: Darts::DoubleArray::array
      Src: /src/sentencepiece/src/normalizer_test.cc:420,1
    - Dst: Darts::DoubleArray::size
      Src: /src/sentencepiece/src/normalizer_test.cc:421,1
    - Dst: Darts::DoubleArray::unit_size
      Src: /src/sentencepiece/src/normalizer_test.cc:421,1
    - Dst: sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:429,1
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer_test.cc:432,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:433,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:434,1
    - Dst: NormalizerSpec::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:435,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:438,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:438,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:442,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:443,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/normalizer_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:444,1
    - Dst: std::string
      Src: /src/sentencepiece/src/normalizer_test.cc:444,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/normalizer_test.cc:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 445
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - NormalizerSpec::set_precompiled_charsmap
    - ASSERT_TRUE
    - Darts::DoubleArray::array
    - c_str
    - std::string
    - ASSERT_EQ
    - Normalizer::Normalize
    - Darts::DoubleArray::unit_size
    - static_cast<const char*>
    - std::vector::size
    - Darts::DoubleArray::build
    - NormalizerSpec::set_escape_whitespaces
    - std::vector::emplace_back
    - Darts::DoubleArray::size
    - Normalizer::status
    - std::vector::data
    - std::string::size
    - std::string::empty
    - NormalizerSpec::set_add_dummy_prefix
    - EXPECT_FALSE
    - sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
    - NormalizerSpec::set_remove_extra_whitespaces
    - std::vector::push_back
    - const_cast<char**>
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, ManySharedPrefixesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/normalizer_test.cc:451,1
    - Dst: std::string
      Src: /src/sentencepiece/src/normalizer_test.cc:451,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/normalizer_test.cc:452,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/normalizer_test.cc:452,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:457,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:458,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/normalizer_test.cc:459,1
    - Dst: EXPECT_LE
      Src: /src/sentencepiece/src/normalizer_test.cc:460,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/normalizer_test.cc:460,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/normalizer_test.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 461
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - PrefixMatcher::PrefixMatch
    - EXPECT_GT
    - std::string
    - EXPECT_LE
    - EXPECT_TRUE
    - static_cast<int>
    - std::vector::emplace_back
    - std::vector::begin
    - std::vector::end
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(PrefixMatcherTest, ManySharedPrefixesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:467,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:467,1
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer_test.cc:471,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:473,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:473,1
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:476,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:479,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 481
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_FALSE
    - EXPECT_TRUE
    - NormalizerSpec::set_precompiled_charsmap
    - Normalizer::status
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, StatusTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:486,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:486,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:488,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:488,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:490,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:490,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:492,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:492,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:493,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:494,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:494,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:496,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:496,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:498,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:498,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:501,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:502,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:503,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 504
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - PrefixMatcher::PrefixMatch
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - PrefixMatcher::GlobalReplace
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, PrefixMatcherTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:509,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:511,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:511,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:512,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:513,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:513,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:515,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:515,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:517,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:517,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:519,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:519,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:520,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:521,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:522,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:524,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:524,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:525,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 526
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - PrefixMatcher::PrefixMatch
    - EXPECT_EQ
    - PrefixMatcher::GlobalReplace
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, PrefixMatcherWithEmptyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: sentencepiece::normalizer::MakeDefaultSpec
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 24
    functionsReached:
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec MakeDefaultSpec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceTrainer::GetNormalizerSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: sentencepiece::normalizer::MakeDefaultSpec
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 24
    functionsReached:
    - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec MakeDefaultSpec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:48,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:49,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:50,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:53,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:54,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:55,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:56,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:57,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:58,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:59,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:62,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:65,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:68,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:70,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:74,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:74,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:75,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:75,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:76,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:76,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:77,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:77,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:79,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:79,1
    - Dst: sentencepiece::string_util::UnicodeCharToUTF8
      Src: /src/sentencepiece/src/normalizer_test.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 81
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - sentencepiece::string_util::UnicodeCharToUTF8
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:84,1
    - Dst: auto::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:89,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:90,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:91,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:94,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:95,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:96,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:97,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:98,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:99,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:100,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::normalizer::MakeDefaultSpec
    - auto::set_add_dummy_prefix
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeWithoutDummyPrefixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:104,1
    - Dst: TrainerSpec::set_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/normalizer_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:109,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:110,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:111,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:113,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:114,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:115,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:116,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - TrainerSpec::set_treat_whitespace_as_suffix
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeTreatWSAsSuffixTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:120,1
    - Dst: auto::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:125,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:125,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - auto::set_remove_extra_whitespaces
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeWithoutRemoveExtraWhitespacesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:137,1
    - Dst: auto::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:138,1
    - Dst: auto::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:139,1
    - Dst: auto::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:144,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:145,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:146,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:149,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:150,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:151,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:152,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - auto::set_add_dummy_prefix
    - auto::set_escape_whitespaces
    - Normalizer::Normalize
    - auto::set_remove_extra_whitespaces
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeWithoutEscapeWhitespacesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/normalizer_test.cc:160,1
    - Dst: Builder::Chars::push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:161,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/normalizer_test.cc:163,1
    - Dst: push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:164,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:170,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:171,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:172,1
    - Dst: AddRule
      Src: /src/sentencepiece/src/normalizer_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:176,1
    - Dst: sentencepiece::normalizer::Builder::CompileCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:177,1
    - Dst: NormalizerSpec::mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:183,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:184,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:185,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:186,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:187,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:188,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:188,1
    - Dst: NormalizerSpec::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:191,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:193,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:197,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:198,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:199,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:200,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:201,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:202,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:202,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:206,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:210,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:211,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:212,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:213,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:214,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:215,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:215,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:219,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:223,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:224,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:225,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:226,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:227,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:228,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:228,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:232,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:236,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:237,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:238,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:239,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:240,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:241,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:241,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:264,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:265,1
    - Dst: NormalizerSpec::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:266,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:268,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 270
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - AddRule
    - NormalizerSpec::set_add_dummy_prefix
    - sentencepiece::normalizer::Builder::CompileCharsMap
    - EXPECT_EQ
    - NormalizerSpec::mutable_precompiled_charsmap
    - EXPECT_TRUE
    - NormalizerSpec::set_escape_whitespaces
    - Normalizer::Normalize
    - NormalizerSpec::set_remove_extra_whitespaces
    - Builder::Chars::push_back
    - sentencepiece::string_util::UTF8ToUnicodeText
    - push_back
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizeTest, NomalizeWithSpaceContainedRules)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:273,1
    - Dst: auto::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:276,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:277,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:278,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:279,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:280,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 4
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - sentencepiece::normalizer::MakeDefaultSpec
    - auto::set_add_dummy_prefix
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeReplacementChar)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:287,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:292,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:303,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:308,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:308,1
    - Dst: LOG
      Src: /src/sentencepiece/src/normalizer_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:320,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:325,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:333,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:338,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:345,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:350,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 363
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_EQ
    - EXPECT_TRUE
    - Normalizer::Normalize
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, NormalizeFullTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:387,1
    - Dst: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:391,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:393,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/src/normalizer_test.cc:393,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:395,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:396,1
    - Dst: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 399
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - ASSERT_TRUE
    - sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
    - EXPECT_EQ
    - EXPECT_FALSE
    - sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, EncodeDecodePrecompiledCharsMapTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/normalizer_test.cc:411,1
    - Dst: std::string
      Src: /src/sentencepiece/src/normalizer_test.cc:411,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:413,1
    - Dst: c_str
      Src: /src/sentencepiece/src/normalizer_test.cc:413,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer_test.cc:414,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: Darts::DoubleArray::build
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: const_cast<char**>
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer_test.cc:418,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer_test.cc:419,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/src/normalizer_test.cc:420,1
    - Dst: Darts::DoubleArray::array
      Src: /src/sentencepiece/src/normalizer_test.cc:420,1
    - Dst: Darts::DoubleArray::size
      Src: /src/sentencepiece/src/normalizer_test.cc:421,1
    - Dst: Darts::DoubleArray::unit_size
      Src: /src/sentencepiece/src/normalizer_test.cc:421,1
    - Dst: sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer_test.cc:429,1
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer_test.cc:432,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer_test.cc:433,1
    - Dst: NormalizerSpec::set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:434,1
    - Dst: NormalizerSpec::set_escape_whitespaces
      Src: /src/sentencepiece/src/normalizer_test.cc:435,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:438,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:438,1
    - Dst: Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer_test.cc:442,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:443,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/normalizer_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:444,1
    - Dst: std::string
      Src: /src/sentencepiece/src/normalizer_test.cc:444,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/normalizer_test.cc:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 445
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - NormalizerSpec::set_precompiled_charsmap
    - ASSERT_TRUE
    - Darts::DoubleArray::array
    - c_str
    - std::string
    - ASSERT_EQ
    - Normalizer::Normalize
    - Darts::DoubleArray::unit_size
    - static_cast<const char*>
    - std::vector::size
    - Darts::DoubleArray::build
    - NormalizerSpec::set_escape_whitespaces
    - std::vector::emplace_back
    - Darts::DoubleArray::size
    - Normalizer::status
    - std::vector::data
    - std::string::size
    - std::string::empty
    - NormalizerSpec::set_add_dummy_prefix
    - EXPECT_FALSE
    - sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
    - NormalizerSpec::set_remove_extra_whitespaces
    - std::vector::push_back
    - const_cast<char**>
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, ManySharedPrefixesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/normalizer_test.cc:451,1
    - Dst: std::string
      Src: /src/sentencepiece/src/normalizer_test.cc:451,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/src/normalizer_test.cc:452,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/src/normalizer_test.cc:452,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:457,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:458,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/src/normalizer_test.cc:459,1
    - Dst: EXPECT_LE
      Src: /src/sentencepiece/src/normalizer_test.cc:460,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/normalizer_test.cc:460,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/normalizer_test.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 461
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - PrefixMatcher::PrefixMatch
    - EXPECT_GT
    - std::string
    - EXPECT_LE
    - EXPECT_TRUE
    - static_cast<int>
    - std::vector::emplace_back
    - std::vector::begin
    - std::vector::end
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST(PrefixMatcherTest, ManySharedPrefixesTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:467,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:467,1
    - Dst: NormalizerSpec::set_precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer_test.cc:471,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:473,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:473,1
    - Dst: sentencepiece::normalizer::MakeDefaultSpec
      Src: /src/sentencepiece/src/normalizer_test.cc:476,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:479,1
    - Dst: Normalizer::status
      Src: /src/sentencepiece/src/normalizer_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 481
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::MakeDefaultSpec
    - EXPECT_FALSE
    - EXPECT_TRUE
    - NormalizerSpec::set_precompiled_charsmap
    - Normalizer::status
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, StatusTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:486,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:486,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:488,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:488,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:490,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:490,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:492,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:492,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:493,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:494,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:494,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:496,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:496,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/normalizer_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:498,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:498,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:501,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:502,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:503,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 504
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - PrefixMatcher::PrefixMatch
    - EXPECT_EQ
    - EXPECT_FALSE
    - EXPECT_TRUE
    - PrefixMatcher::GlobalReplace
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, PrefixMatcherTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:509,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:509,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:511,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:511,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:512,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:513,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:513,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:514,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:515,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:515,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:517,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:517,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:519,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:519,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:520,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:521,1
    - Dst: PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer_test.cc:521,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/normalizer_test.cc:522,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:524,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:524,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/normalizer_test.cc:525,1
    - Dst: PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/normalizer_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 526
    functionName: sentencepiece::normalizer::TEST
    functionSourceFile: /src/sentencepiece/src/normalizer_test.cc
    functionUses: 0
    functionsReached:
    - PrefixMatcher::PrefixMatch
    - EXPECT_EQ
    - PrefixMatcher::GlobalReplace
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(NormalizerTest, PrefixMatcherWithEmptyTest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_GT
      Src: /src/sentencepiece/src/trainer_interface.cc:59,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:59,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:61,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:62,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:63,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/trainer_interface.cc:63,1
    - Dst: seed_sentencepieces_file
      Src: /src/sentencepiece/src/trainer_interface.cc:67,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:68,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:68,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:75,1
    - Dst: character_coverage
      Src: /src/sentencepiece/src/trainer_interface.cc:75,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:76,1
    - Dst: max_sentencepiece_length
      Src: /src/sentencepiece/src/trainer_interface.cc:76,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:77,1
    - Dst: num_sub_iterations
      Src: /src/sentencepiece/src/trainer_interface.cc:77,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:78,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/trainer_interface.cc:78,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:79,1
    - Dst: self_test_sample_size
      Src: /src/sentencepiece/src/trainer_interface.cc:79,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:80,1
    - Dst: shrinking_factor
      Src: /src/sentencepiece/src/trainer_interface.cc:80,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:81,1
    - Dst: max_sentence_length
      Src: /src/sentencepiece/src/trainer_interface.cc:81,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:84,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:84,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:85,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:87,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:87,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:88,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:88,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:89,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:89,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:90,1
    - Dst: pad_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:90,1
    - Dst: sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
      Src: /src/sentencepiece/src/trainer_interface.cc:92,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/trainer_interface.cc:93,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:94,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:94,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:95,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - ' trainer_spec'
    argTypes:
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 100
    functionName: sentencepiece::VerifySpec
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - pad_piece
    - pretokenization_delimiter
    - RET_CHECK_GT
    - eos_piece
    - vocab_size
    - seed_sentencepieces_file
    - max_sentence_length
    - CHECK_RANGE
    - RET_CHECK
    - character_coverage
    - unk_piece
    - absl::OkStatus
    - use_all_vocab
    - sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
    - input_sentence_size
    - shrinking_factor
    - num_threads
    - max_sentencepiece_length
    - self_test_sample_size
    - num_sub_iterations
    - bos_piece
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status VerifySpec(const TrainerSpec& trainer_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - variable
    - ','
    - minval
    - ','
    - maxval
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: CHECK_RANGE
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RANGE(variable, minval, maxval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: sentencepiece::is_unicode_decimal_number
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_unicode_decimal_number(char32_t c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:115,1
    - Dst: shuffle_input_sentence
      Src: /src/sentencepiece/src/trainer_interface.cc:116,1
    - Dst: std::make_unique<Sampler>
      Src: /src/sentencepiece/src/trainer_interface.cc:118,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:119,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:121,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sentences
    - ' spec'
    argTypes:
    - TrainerInterface::Sentences*
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: sentencepiece::SentenceSelector::SentenceSelector
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - LOG
    - input_sentence_size
    - shuffle_input_sentence
    - std::make_unique<Sampler>
    linkageType: ''
    returnType: void
    signature: "void SentenceSelector(TrainerInterface::Sentences* sentences,\n                   const
      TrainerSpec& spec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:129,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:130,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:130,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:132,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: sentencepiece::SentenceSelector::Finish
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - LOG
    - size
    linkageType: ''
    returnType: void
    signature: void Finish() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:141,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/trainer_interface.cc:142,1
    - Dst: shuffle_input_sentence
      Src: /src/sentencepiece/src/trainer_interface.cc:144,1
    - Dst: sentencepiece::SentenceSelector::Add
      Src: /src/sentencepiece/src/trainer_interface.cc:145,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/trainer_interface.cc:147,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:148,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:148,1
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:154,1
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:154,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:155,1
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' sentence'
    argTypes:
    - std::pair<std::string, int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: sentencepiece::SentenceSelector::Add
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 1
    functionsReached:
    - LOG
    - input_sentence_size
    - shuffle_input_sentence
    - emplace_back
    - sentencepiece::SentenceSelector::Add
    - sentencepiece::SentenceSelector::total_size
    - size
    linkageType: ''
    returnType: bool
    signature: bool Add(const std::pair<std::string, int64_t>& sentence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:162,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: sentencepiece::SentenceSelector::total_size
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentenceSelector::total_size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t total_size() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_GT
      Src: /src/sentencepiece/src/trainer_interface.cc:59,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:59,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:61,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:62,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:63,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/trainer_interface.cc:63,1
    - Dst: seed_sentencepieces_file
      Src: /src/sentencepiece/src/trainer_interface.cc:67,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:68,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:68,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:75,1
    - Dst: character_coverage
      Src: /src/sentencepiece/src/trainer_interface.cc:75,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:76,1
    - Dst: max_sentencepiece_length
      Src: /src/sentencepiece/src/trainer_interface.cc:76,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:77,1
    - Dst: num_sub_iterations
      Src: /src/sentencepiece/src/trainer_interface.cc:77,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:78,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/trainer_interface.cc:78,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:79,1
    - Dst: self_test_sample_size
      Src: /src/sentencepiece/src/trainer_interface.cc:79,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:80,1
    - Dst: shrinking_factor
      Src: /src/sentencepiece/src/trainer_interface.cc:80,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:81,1
    - Dst: max_sentence_length
      Src: /src/sentencepiece/src/trainer_interface.cc:81,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:84,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:84,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:85,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:87,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:87,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:88,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:88,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:89,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:89,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:90,1
    - Dst: pad_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:90,1
    - Dst: sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
      Src: /src/sentencepiece/src/trainer_interface.cc:92,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/trainer_interface.cc:93,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:94,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:94,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:95,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - ' trainer_spec'
    argTypes:
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 100
    functionName: sentencepiece::VerifySpec
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - pad_piece
    - pretokenization_delimiter
    - RET_CHECK_GT
    - eos_piece
    - vocab_size
    - seed_sentencepieces_file
    - max_sentence_length
    - CHECK_RANGE
    - RET_CHECK
    - character_coverage
    - unk_piece
    - absl::OkStatus
    - use_all_vocab
    - sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
    - input_sentence_size
    - shrinking_factor
    - num_threads
    - max_sentencepiece_length
    - self_test_sample_size
    - num_sub_iterations
    - bos_piece
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status VerifySpec(const TrainerSpec& trainer_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - variable
    - ','
    - minval
    - ','
    - maxval
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: CHECK_RANGE
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RANGE(variable, minval, maxval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: sentencepiece::is_unicode_decimal_number
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_unicode_decimal_number(char32_t c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:115,1
    - Dst: shuffle_input_sentence
      Src: /src/sentencepiece/src/trainer_interface.cc:116,1
    - Dst: std::make_unique<Sampler>
      Src: /src/sentencepiece/src/trainer_interface.cc:118,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:119,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:121,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sentences
    - ' spec'
    argTypes:
    - TrainerInterface::Sentences*
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: sentencepiece::SentenceSelector::SentenceSelector
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - LOG
    - input_sentence_size
    - shuffle_input_sentence
    - std::make_unique<Sampler>
    linkageType: ''
    returnType: void
    signature: "void SentenceSelector(TrainerInterface::Sentences* sentences,\n                   const
      TrainerSpec& spec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:129,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:130,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:130,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:132,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: sentencepiece::SentenceSelector::Finish
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - LOG
    - size
    linkageType: ''
    returnType: void
    signature: void Finish() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:141,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/trainer_interface.cc:142,1
    - Dst: shuffle_input_sentence
      Src: /src/sentencepiece/src/trainer_interface.cc:144,1
    - Dst: sentencepiece::SentenceSelector::Add
      Src: /src/sentencepiece/src/trainer_interface.cc:145,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/trainer_interface.cc:147,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:148,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:148,1
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:154,1
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:154,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:155,1
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' sentence'
    argTypes:
    - std::pair<std::string, int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: sentencepiece::SentenceSelector::Add
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 2
    functionsReached:
    - LOG
    - input_sentence_size
    - shuffle_input_sentence
    - emplace_back
    - sentencepiece::SentenceSelector::Add
    - sentencepiece::SentenceSelector::total_size
    - size
    linkageType: ''
    returnType: bool
    signature: bool Add(const std::pair<std::string, int64_t>& sentence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:162,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: sentencepiece::SentenceSelector::total_size
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 4
    functionsReached:
    - sentencepiece::SentenceSelector::total_size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t total_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MultiFileSentenceIterator::Next
      Src: /src/sentencepiece/src/trainer_interface.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' files'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: sentencepiece::MultiFileSentenceIterator::MultiFileSentenceIterator
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::MultiFileSentenceIterator::Next
    linkageType: ''
    returnType: void
    signature: "void MultiFileSentenceIterator::MultiFileSentenceIterator(\n    const
      std::vector<std::string>& files)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: sentencepiece::MultiFileSentenceIterator::done
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool MultiFileSentenceIterator::done() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:183,1
    - Dst: sentencepiece::MultiFileSentenceIterator::status
      Src: /src/sentencepiece/src/trainer_interface.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: sentencepiece::MultiFileSentenceIterator::status
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::MultiFileSentenceIterator::status
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status MultiFileSentenceIterator::status() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/src/trainer_interface.cc:188,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:190,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/trainer_interface.cc:192,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:193,1
    - Dst: sentencepiece::MultiFileSentenceIterator::status
      Src: /src/sentencepiece/src/trainer_interface.cc:194,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:194,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:195,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/src/trainer_interface.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 202
    functionName: sentencepiece::MultiFileSentenceIterator::Next
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 1
    functionsReached:
    - LOG
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - sentencepiece::filesystem::NewReadableFile
    - absl::OkStatus
    - sentencepiece::MultiFileSentenceIterator::status
    - size
    linkageType: ''
    returnType: void
    signature: void MultiFileSentenceIterator::Next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLine
      Src: /src/sentencepiece/src/trainer_interface.cc:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: sentencepiece::MultiFileSentenceIterator::TryRead
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 1
    functionsReached:
    - ReadLine
    linkageType: ''
    returnType: void
    signature: void MultiFileSentenceIterator::TryRead()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/trainer_interface.cc:211,1
    - Dst: std::move
      Src: /src/sentencepiece/src/trainer_interface.cc:212,1
    - Dst: std::move
      Src: /src/sentencepiece/src/trainer_interface.cc:213,1
    - Dst: VerifySpec
      Src: /src/sentencepiece/src/trainer_interface.cc:214,1
    - Dst: ok
      Src: /src/sentencepiece/src/trainer_interface.cc:215,1
    - Dst: sentencepiece::TrainerInterface::InitMetaPieces
      Src: /src/sentencepiece/src/trainer_interface.cc:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - trainer_spec
    - normalizer_spec
    - denormalizer_spec
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: sentencepiece::TrainerInterface::TrainerInterface
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - ok
    - VerifySpec
    - std::move
    - sentencepiece::TrainerInterface::InitMetaPieces
    linkageType: ''
    returnType: void
    signature: "void TrainerInterface::TrainerInterface(TrainerSpec trainer_spec,\n
      \                                  NormalizerSpec normalizer_spec,\n                                   NormalizerSpec
      denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: TrainerInterface::~TrainerInterface()
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerInterface::~TrainerInterface()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/trainer_interface.cc:225,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:226,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/trainer_interface.cc:227,1
    - Dst: max_sentencepiece_length
      Src: /src/sentencepiece/src/trainer_interface.cc:227,1
    - Dst: static_cast<unicode_script::ScriptType>
      Src: /src/sentencepiece/src/trainer_interface.cc:231,1
    - Dst: std::numeric_limits<char32_t>::max
      Src: /src/sentencepiece/src/trainer_interface.cc:232,1
    - Dst: std::all_of
      Src: /src/sentencepiece/src/trainer_interface.cc:236,1
    - Dst: begin
      Src: /src/sentencepiece/src/trainer_interface.cc:236,1
    - Dst: end
      Src: /src/sentencepiece/src/trainer_interface.cc:236,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:239,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:252,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/trainer_interface.cc:255,1
    - Dst: allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/trainer_interface.cc:269,1
    - Dst: treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/trainer_interface.cc:271,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/trainer_interface.cc:272,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:273,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/trainer_interface.cc:274,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:275,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/trainer_interface.cc:279,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/trainer_interface.cc:280,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:281,1
    - Dst: sentencepiece::unicode_script::GetScript
      Src: /src/sentencepiece/src/trainer_interface.cc:287,1
    - Dst: split_by_number
      Src: /src/sentencepiece/src/trainer_interface.cc:297,1
    - Dst: is_unicode_decimal_number
      Src: /src/sentencepiece/src/trainer_interface.cc:297,1
    - Dst: split_digits
      Src: /src/sentencepiece/src/trainer_interface.cc:301,1
    - Dst: is_unicode_decimal_number
      Src: /src/sentencepiece/src/trainer_interface.cc:301,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:302,1
    - Dst: split_by_unicode_script
      Src: /src/sentencepiece/src/trainer_interface.cc:309,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 57
    argCount: 1
    argNames:
    - ' sentencepiece'
    argTypes:
    - string_util::UnicodeText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 318
    functionName: sentencepiece::TrainerInterface::IsValidSentencePiece
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::all_of
    - sentencepiece::unicode_script::GetScript
    - static_cast<size_t>
    - static_cast<unicode_script::ScriptType>
    - treat_whitespace_as_suffix
    - is_unicode_decimal_number
    - std::numeric_limits<char32_t>::max
    - LOG
    - empty
    - split_by_number
    - size
    - allow_whitespace_only_pieces
    - split_digits
    - sentencepiece::string_util::IsValidCodepoint
    - split_by_whitespace
    - end
    - split_by_unicode_script
    - max_sentencepiece_length
    linkageType: ''
    returnType: bool
    signature: "bool TrainerInterface::IsValidSentencePiece(\n    const string_util::UnicodeText&
      sentencepiece) const"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:321,1
    - Dst: sentencepiece::TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface.cc:321,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:322,1
    - Dst: empty
      Src: /src/sentencepiece/src/trainer_interface.cc:322,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:323,1
    - Dst: empty
      Src: /src/sentencepiece/src/trainer_interface.cc:323,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:324,1
    - Dst: input_format
      Src: /src/sentencepiece/src/trainer_interface.cc:324,1
    - Dst: input_format
      Src: /src/sentencepiece/src/trainer_interface.cc:325,1
    - Dst: input_format
      Src: /src/sentencepiece/src/trainer_interface.cc:326,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:329,1
    - Dst: input
      Src: /src/sentencepiece/src/trainer_interface.cc:329,1
    - Dst: input
      Src: /src/sentencepiece/src/trainer_interface.cc:330,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:333,1
    - Dst: model_prefix
      Src: /src/sentencepiece/src/trainer_interface.cc:335,1
    - Dst: model_prefix
      Src: /src/sentencepiece/src/trainer_interface.cc:336,1
    - Dst: input_format
      Src: /src/sentencepiece/src/trainer_interface.cc:339,1
    - Dst: self_test_sample_size
      Src: /src/sentencepiece/src/trainer_interface.cc:343,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:349,1
    - Dst: std::make_unique<MultiFileSentenceIterator>
      Src: /src/sentencepiece/src/trainer_interface.cc:352,1
    - Dst: std::vector<std::string>
      Src: /src/sentencepiece/src/trainer_interface.cc:352,1
    - Dst: input
      Src: /src/sentencepiece/src/trainer_interface.cc:353,1
    - Dst: input
      Src: /src/sentencepiece/src/trainer_interface.cc:353,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/src/trainer_interface.cc:354,1
    - Dst: done
      Src: /src/sentencepiece/src/trainer_interface.cc:357,1
    - Dst: Next
      Src: /src/sentencepiece/src/trainer_interface.cc:357,1
    - Dst: value
      Src: /src/sentencepiece/src/trainer_interface.cc:359,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/trainer_interface.cc:362,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/trainer_interface.cc:363,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/trainer_interface.cc:363,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:366,1
    - Dst: absl::SimpleAtoi
      Src: /src/sentencepiece/src/trainer_interface.cc:366,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/trainer_interface.cc:368,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/trainer_interface.cc:371,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/trainer_interface.cc:375,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/trainer_interface.cc:375,1
    - Dst: max_sentence_length
      Src: /src/sentencepiece/src/trainer_interface.cc:376,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:378,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/trainer_interface.cc:378,1
    - Dst: max_sentence_length
      Src: /src/sentencepiece/src/trainer_interface.cc:379,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:380,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:381,1
    - Dst: std::string::find
      Src: /src/sentencepiece/src/trainer_interface.cc:388,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:389,1
    - Dst: random::ReservoirSampler::Add
      Src: /src/sentencepiece/src/trainer_interface.cc:393,1
    - Dst: SentenceSelector::Add
      Src: /src/sentencepiece/src/trainer_interface.cc:395,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/trainer_interface.cc:395,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:400,1
    - Dst: sentencepiece::TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface.cc:400,1
    - Dst: SentenceSelector::Finish
      Src: /src/sentencepiece/src/trainer_interface.cc:404,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:406,1
    - Dst: SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:406,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:407,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:407,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:409,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:409,1
    - Dst: SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:410,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:414,1
    - Dst: empty
      Src: /src/sentencepiece/src/trainer_interface.cc:416,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:417,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:417,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:425,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/src/trainer_interface.cc:426,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:430,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:431,1
    - Dst: empty
      Src: /src/sentencepiece/src/trainer_interface.cc:431,1
    - Dst: std::make_unique<ThreadPool>
      Src: /src/sentencepiece/src/trainer_interface.cc:433,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/trainer_interface.cc:433,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/trainer_interface.cc:434,1
    - Dst: auto::Schedule
      Src: /src/sentencepiece/src/trainer_interface.cc:435,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:436,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/trainer_interface.cc:437,1
    - Dst: normalizer::PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/trainer_interface.cc:439,1
    - Dst: normalizer::Normalizer::Normalize
      Src: /src/sentencepiece/src/trainer_interface.cc:439,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:446,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:448,1
    - Dst: auto*::find
      Src: /src/sentencepiece/src/trainer_interface.cc:448,1
    - Dst: auto*::empty
      Src: /src/sentencepiece/src/trainer_interface.cc:450,1
    - Dst: swap
      Src: /src/sentencepiece/src/trainer_interface.cc:451,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:451,1
    - Dst: resize
      Src: /src/sentencepiece/src/trainer_interface.cc:452,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:452,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/trainer_interface.cc:462,1
    - Dst: required_chars
      Src: /src/sentencepiece/src/trainer_interface.cc:462,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:463,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/trainer_interface.cc:463,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:465,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/trainer_interface.cc:472,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/trainer_interface.cc:473,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:477,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:484,1
    - Dst: first::find
      Src: /src/sentencepiece/src/trainer_interface.cc:484,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:492,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/trainer_interface.cc:499,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/trainer_interface.cc:501,1
    - Dst: character_coverage
      Src: /src/sentencepiece/src/trainer_interface.cc:502,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:503,1
    - Dst: RET_CHECK_NE
      Src: /src/sentencepiece/src/trainer_interface.cc:507,1
    - Dst: emplace
      Src: /src/sentencepiece/src/trainer_interface.cc:512,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:515,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:515,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:516,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:519,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/trainer_interface.cc:519,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/trainer_interface.cc:525,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/trainer_interface.cc:526,1
    - Dst: string_util::UnicodeText::push_back
      Src: /src/sentencepiece/src/trainer_interface.cc:527,1
    - Dst: string_util::UnicodeText::push_back
      Src: /src/sentencepiece/src/trainer_interface.cc:529,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/trainer_interface.cc:532,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:535,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:536,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/trainer_interface.cc:537,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/trainer_interface.cc:537,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:537,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:537,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:538,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:540,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:541,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:541,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:546,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:546,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:548,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 127
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 549
    functionName: sentencepiece::TrainerInterface::LoadSentences
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - auto*::find
    - done
    - absl::SimpleAtoi
    - value
    - std::unique_ptr::get
    - Next
    - vocab_size
    - RET_CHECK_NE
    - LOG
    - std::vector<std::string>
    - max_sentence_length
    - SentenceSelector::Finish
    - normalizer::PrefixMatcher::GlobalReplace
    - string_util::UnicodeText::push_back
    - first::find
    - sentencepiece::string_util::UnicodeTextToUTF8
    - required_chars
    - empty
    - Sorted
    - normalizer::Normalizer::Normalize
    - RETURN_IF_ERROR
    - sentencepiece::string_util::UTF8ToUnicodeText
    - RET_CHECK
    - std::string::find
    - character_coverage
    - size
    - resize
    - auto*::empty
    - std::make_unique<MultiFileSentenceIterator>
    - auto::Schedule
    - absl::OkStatus
    - std::vector::size
    - absl::StrSplit
    - static_cast<int>
    - model_prefix
    - use_all_vocab
    - sentencepiece::port::ContainsKey
    - RET_CHECK_EQ
    - sentencepiece::string_util::IsValidCodepoint
    - input
    - std::string::size
    - RET_CHECK_LE
    - std::set::insert
    - std::string::empty
    - model_type
    - std::make_unique<ThreadPool>
    - random::ReservoirSampler::Add
    - emplace
    - num_threads
    - RET_CHECK_GE
    - self_test_sample_size
    - input_format
    - swap
    - SentenceSelector::total_size
    - sentencepiece::TrainerInterface::status
    - SentenceSelector::Add
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerInterface::LoadSentences()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:552,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:553,1
    - Dst: SplitIntoWords
      Src: /src/sentencepiece/src/trainer_interface.cc:557,1
    - Dst: treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/trainer_interface.cc:557,1
    - Dst: allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/trainer_interface.cc:558,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/trainer_interface.cc:562,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:563,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 564
    functionName: sentencepiece::TrainerInterface::SplitSentencesByWhitespace
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - LOG
    - allow_whitespace_only_pieces
    - SplitIntoWords
    - Sorted
    - treat_whitespace_as_suffix
    - size
    linkageType: ''
    returnType: void
    signature: void TrainerInterface::SplitSentencesByWhitespace()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:567,1
    - Dst: sentencepiece::TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface.cc:567,1
    - Dst: ModelProto*::Clear
      Src: /src/sentencepiece/src/trainer_interface.cc:572,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:580,1
    - Dst: find
      Src: /src/sentencepiece/src/trainer_interface.cc:581,1
    - Dst: end
      Src: /src/sentencepiece/src/trainer_interface.cc:582,1
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/trainer_interface.cc:583,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:584,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/trainer_interface.cc:585,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/trainer_interface.cc:586,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/trainer_interface.cc:587,1
    - Dst: ModelProto*::pieces_size
      Src: /src/sentencepiece/src/trainer_interface.cc:587,1
    - Dst: RET_CHECK_NE
      Src: /src/sentencepiece/src/trainer_interface.cc:588,1
    - Dst: auto*::type
      Src: /src/sentencepiece/src/trainer_interface.cc:588,1
    - Dst: CHECK_PIECE
      Src: /src/sentencepiece/src/trainer_interface.cc:589,1
    - Dst: auto*::piece
      Src: /src/sentencepiece/src/trainer_interface.cc:589,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:590,1
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/trainer_interface.cc:592,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:593,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/trainer_interface.cc:594,1
    - Dst: CHECK_PIECE
      Src: /src/sentencepiece/src/trainer_interface.cc:595,1
    - Dst: auto*::piece
      Src: /src/sentencepiece/src/trainer_interface.cc:595,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/trainer_interface.cc:599,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:599,1
    - Dst: ModelProto*::mutable_trainer_spec
      Src: /src/sentencepiece/src/trainer_interface.cc:601,1
    - Dst: ModelProto*::mutable_normalizer_spec
      Src: /src/sentencepiece/src/trainer_interface.cc:602,1
    - Dst: normalization_rule_tsv
      Src: /src/sentencepiece/src/trainer_interface.cc:604,1
    - Dst: ModelProto*::mutable_denormalizer_spec
      Src: /src/sentencepiece/src/trainer_interface.cc:605,1
    - Dst: hard_vocab_limit
      Src: /src/sentencepiece/src/trainer_interface.cc:608,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:609,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/trainer_interface.cc:610,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:610,1
    - Dst: ModelProto*::pieces_size
      Src: /src/sentencepiece/src/trainer_interface.cc:610,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/trainer_interface.cc:611,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:611,1
    - Dst: static_cast<int32_t>
      Src: /src/sentencepiece/src/trainer_interface.cc:611,1
    - Dst: absl::flat_hash_set::size
      Src: /src/sentencepiece/src/trainer_interface.cc:611,1
    - Dst: ModelProto*::mutable_trainer_spec
      Src: /src/sentencepiece/src/trainer_interface.cc:612,1
    - Dst: ModelProto*::pieces_size
      Src: /src/sentencepiece/src/trainer_interface.cc:613,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/trainer_interface.cc:615,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:615,1
    - Dst: ModelProto*::pieces_size
      Src: /src/sentencepiece/src/trainer_interface.cc:615,1
    - Dst: absl::StrFormat
      Src: /src/sentencepiece/src/trainer_interface.cc:616,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:618,1
    - Dst: ModelProto*::pieces_size
      Src: /src/sentencepiece/src/trainer_interface.cc:618,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/trainer_interface.cc:619,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:619,1
    - Dst: static_cast<int32_t>
      Src: /src/sentencepiece/src/trainer_interface.cc:619,1
    - Dst: absl::flat_hash_set::size
      Src: /src/sentencepiece/src/trainer_interface.cc:619,1
    - Dst: empty
      Src: /src/sentencepiece/src/trainer_interface.cc:623,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:625,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/trainer_interface.cc:625,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:628,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/trainer_interface.cc:628,1
    - Dst: ModelProto*::mutable_self_test_data
      Src: /src/sentencepiece/src/trainer_interface.cc:629,1
    - Dst: auto*::set_input
      Src: /src/sentencepiece/src/trainer_interface.cc:630,1
    - Dst: auto*::set_expected
      Src: /src/sentencepiece/src/trainer_interface.cc:631,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/trainer_interface.cc:631,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:635,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - model_proto
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 636
    functionName: sentencepiece::TrainerInterface::Serialize
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - ModelProto*::mutable_self_test_data
    - normalization_rule_tsv
    - ModelProto*::mutable_denormalizer_spec
    - auto*::set_piece
    - absl::StrJoin
    - auto*::type
    - vocab_size
    - RET_CHECK_NE
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - empty
    - ModelProto*::pieces_size
    - static_cast<int32_t>
    - ModelProto*::add_pieces
    - auto*::set_input
    - RETURN_IF_ERROR
    - hard_vocab_limit
    - auto*::set_score
    - ModelProto*::mutable_trainer_spec
    - size
    - auto*::set_type
    - auto*::piece
    - auto*::set_expected
    - absl::OkStatus
    - CHECK_PIECE
    - RET_CHECK_EQ
    - absl::StrFormat
    - find
    - end
    - RET_CHECK_GE
    - absl::flat_hash_set::size
    - ModelProto*::mutable_normalizer_spec
    - sentencepiece::TrainerInterface::status
    - ModelProto*::Clear
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerInterface::Serialize(ModelProto* model_proto) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - piece
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: CHECK_PIECE
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PIECE(piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:639,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:642,1
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/src/trainer_interface.cc:642,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/trainer_interface.cc:644,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/trainer_interface.cc:644,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:645,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/trainer_interface.cc:645,1
    - Dst: auto::Write
      Src: /src/sentencepiece/src/trainer_interface.cc:646,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/trainer_interface.cc:646,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 648
    functionName: sentencepiece::TrainerInterface::SaveModel
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - LOG
    - sentencepiece::filesystem::NewWritableFile
    - auto::status
    - sentencepiece::TrainerInterface::Serialize
    - ModelProto::SerializeAsString
    - absl::string_view::data
    - absl::OkStatus
    - auto::Write
    - RETURN_IF_ERROR
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerInterface::SaveModel(absl::string_view filename)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:651,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:653,1
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/src/trainer_interface.cc:653,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/trainer_interface.cc:654,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:655,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/trainer_interface.cc:655,1
    - Dst: ModelProto::pieces
      Src: /src/sentencepiece/src/trainer_interface.cc:657,1
    - Dst: piece
      Src: /src/sentencepiece/src/trainer_interface.cc:658,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:659,1
    - Dst: piece
      Src: /src/sentencepiece/src/trainer_interface.cc:659,1
    - Dst: vocabulary_output_piece_score
      Src: /src/sentencepiece/src/trainer_interface.cc:665,1
    - Dst: ModelProto::pieces
      Src: /src/sentencepiece/src/trainer_interface.cc:666,1
    - Dst: piece
      Src: /src/sentencepiece/src/trainer_interface.cc:668,1
    - Dst: score
      Src: /src/sentencepiece/src/trainer_interface.cc:668,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:669,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/trainer_interface.cc:669,1
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/src/trainer_interface.cc:669,1
    - Dst: ModelProto::pieces
      Src: /src/sentencepiece/src/trainer_interface.cc:672,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:673,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/trainer_interface.cc:673,1
    - Dst: piece
      Src: /src/sentencepiece/src/trainer_interface.cc:673,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 678
    functionName: sentencepiece::TrainerInterface::SaveVocab
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - LOG
    - std::ostringstream::str
    - sentencepiece::filesystem::NewWritableFile
    - auto::status
    - score
    - sentencepiece::TrainerInterface::Serialize
    - piece
    - ModelProto::pieces
    - auto::WriteLine
    - absl::OkStatus
    - RETURN_IF_ERROR
    - vocabulary_output_piece_score
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerInterface::SaveVocab(absl::string_view filename)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:682,1
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/src/trainer_interface.cc:682,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:684,1
    - Dst: sentencepiece::TrainerInterface::SaveModel
      Src: /src/sentencepiece/src/trainer_interface.cc:684,1
    - Dst: model_prefix
      Src: /src/sentencepiece/src/trainer_interface.cc:684,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:685,1
    - Dst: sentencepiece::TrainerInterface::SaveVocab
      Src: /src/sentencepiece/src/trainer_interface.cc:685,1
    - Dst: model_prefix
      Src: /src/sentencepiece/src/trainer_interface.cc:685,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 680
    functionDepth: 3
    functionLinenumber: 680
    functionLinenumberEnd: 688
    functionName: sentencepiece::TrainerInterface::Save
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::SaveModel
    - RETURN_IF_ERROR
    - sentencepiece::TrainerInterface::Serialize
    - absl::OkStatus
    - sentencepiece::TrainerInterface::SaveVocab
    - model_prefix
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerInterface::Save() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:691,1
    - Dst: empty
      Src: /src/sentencepiece/src/trainer_interface.cc:691,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:698,1
    - Dst: find
      Src: /src/sentencepiece/src/trainer_interface.cc:699,1
    - Dst: end
      Src: /src/sentencepiece/src/trainer_interface.cc:699,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:700,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:703,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/trainer_interface.cc:706,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:707,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:712,1
    - Dst: insert_id
      Src: /src/sentencepiece/src/trainer_interface.cc:712,1
    - Dst: unk_id
      Src: /src/sentencepiece/src/trainer_interface.cc:712,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:712,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:713,1
    - Dst: insert_id
      Src: /src/sentencepiece/src/trainer_interface.cc:713,1
    - Dst: bos_id
      Src: /src/sentencepiece/src/trainer_interface.cc:713,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:713,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:714,1
    - Dst: insert_id
      Src: /src/sentencepiece/src/trainer_interface.cc:714,1
    - Dst: eos_id
      Src: /src/sentencepiece/src/trainer_interface.cc:714,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:714,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:715,1
    - Dst: insert_id
      Src: /src/sentencepiece/src/trainer_interface.cc:715,1
    - Dst: pad_id
      Src: /src/sentencepiece/src/trainer_interface.cc:715,1
    - Dst: pad_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:715,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:717,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:717,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/sentencepiece/src/trainer_interface.cc:725,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/trainer_interface.cc:726,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/trainer_interface.cc:726,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:730,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/trainer_interface.cc:731,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/trainer_interface.cc:732,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:732,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:737,1
    - Dst: bos_id
      Src: /src/sentencepiece/src/trainer_interface.cc:737,1
    - Dst: bos_id
      Src: /src/sentencepiece/src/trainer_interface.cc:738,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:739,1
    - Dst: eos_id
      Src: /src/sentencepiece/src/trainer_interface.cc:739,1
    - Dst: eos_id
      Src: /src/sentencepiece/src/trainer_interface.cc:740,1
    - Dst: pad_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:741,1
    - Dst: pad_id
      Src: /src/sentencepiece/src/trainer_interface.cc:741,1
    - Dst: pad_id
      Src: /src/sentencepiece/src/trainer_interface.cc:742,1
    - Dst: find
      Src: /src/sentencepiece/src/trainer_interface.cc:744,1
    - Dst: end
      Src: /src/sentencepiece/src/trainer_interface.cc:744,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/trainer_interface.cc:747,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:750,1
    - Dst: control_symbols
      Src: /src/sentencepiece/src/trainer_interface.cc:753,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:754,1
    - Dst: insert_meta_symbol
      Src: /src/sentencepiece/src/trainer_interface.cc:754,1
    - Dst: user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface.cc:757,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:758,1
    - Dst: insert_meta_symbol
      Src: /src/sentencepiece/src/trainer_interface.cc:759,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:760,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/trainer_interface.cc:761,1
    - Dst: absl::StartsWith
      Src: /src/sentencepiece/src/trainer_interface.cc:762,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:764,1
    - Dst: insert_meta_symbol
      Src: /src/sentencepiece/src/trainer_interface.cc:765,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/trainer_interface.cc:765,1
    - Dst: byte_fallback
      Src: /src/sentencepiece/src/trainer_interface.cc:770,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:772,1
    - Dst: insert_meta_symbol
      Src: /src/sentencepiece/src/trainer_interface.cc:773,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/trainer_interface.cc:773,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:777,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 778
    functionName: sentencepiece::TrainerInterface::InitMetaPieces
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 1
    functionsReached:
    - control_symbols
    - std::make_pair
    - absl::flat_hash_set::insert
    - pad_piece
    - insert_id
    - eos_piece
    - vocab_size
    - byte_fallback
    - empty
    - RETURN_IF_ERROR
    - RET_CHECK
    - unk_piece
    - absl::OkStatus
    - eos_id
    - google::protobuf::StrCat
    - insert_meta_symbol
    - bos_id
    - user_defined_symbols
    - pad_id
    - model_type
    - find
    - escape_whitespaces
    - end
    - absl::StartsWith
    - unk_id
    - ByteToPiece
    - bos_piece
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerInterface::InitMetaPieces()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_GT
      Src: /src/sentencepiece/src/trainer_interface.cc:59,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:59,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:61,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:62,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:63,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/trainer_interface.cc:63,1
    - Dst: seed_sentencepieces_file
      Src: /src/sentencepiece/src/trainer_interface.cc:67,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:68,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:68,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:75,1
    - Dst: character_coverage
      Src: /src/sentencepiece/src/trainer_interface.cc:75,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:76,1
    - Dst: max_sentencepiece_length
      Src: /src/sentencepiece/src/trainer_interface.cc:76,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:77,1
    - Dst: num_sub_iterations
      Src: /src/sentencepiece/src/trainer_interface.cc:77,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:78,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/trainer_interface.cc:78,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:79,1
    - Dst: self_test_sample_size
      Src: /src/sentencepiece/src/trainer_interface.cc:79,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:80,1
    - Dst: shrinking_factor
      Src: /src/sentencepiece/src/trainer_interface.cc:80,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:81,1
    - Dst: max_sentence_length
      Src: /src/sentencepiece/src/trainer_interface.cc:81,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:84,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:84,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:85,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:87,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:87,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:88,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:88,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:89,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:89,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:90,1
    - Dst: pad_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:90,1
    - Dst: sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
      Src: /src/sentencepiece/src/trainer_interface.cc:92,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/trainer_interface.cc:93,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:94,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:94,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:95,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - ' trainer_spec'
    argTypes:
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 100
    functionName: sentencepiece::VerifySpec
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - pad_piece
    - pretokenization_delimiter
    - RET_CHECK_GT
    - eos_piece
    - vocab_size
    - seed_sentencepieces_file
    - max_sentence_length
    - CHECK_RANGE
    - RET_CHECK
    - character_coverage
    - unk_piece
    - absl::OkStatus
    - use_all_vocab
    - sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
    - input_sentence_size
    - shrinking_factor
    - num_threads
    - max_sentencepiece_length
    - self_test_sample_size
    - num_sub_iterations
    - bos_piece
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status VerifySpec(const TrainerSpec& trainer_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - variable
    - ','
    - minval
    - ','
    - maxval
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: CHECK_RANGE
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RANGE(variable, minval, maxval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: sentencepiece::is_unicode_decimal_number
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_unicode_decimal_number(char32_t c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:115,1
    - Dst: shuffle_input_sentence
      Src: /src/sentencepiece/src/trainer_interface.cc:116,1
    - Dst: std::make_unique<Sampler>
      Src: /src/sentencepiece/src/trainer_interface.cc:118,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:119,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:121,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sentences
    - ' spec'
    argTypes:
    - TrainerInterface::Sentences*
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: sentencepiece::SentenceSelector::SentenceSelector
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - LOG
    - input_sentence_size
    - shuffle_input_sentence
    - std::make_unique<Sampler>
    linkageType: ''
    returnType: void
    signature: "void SentenceSelector(TrainerInterface::Sentences* sentences,\n                   const
      TrainerSpec& spec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:129,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:130,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:130,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:132,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: sentencepiece::SentenceSelector::Finish
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - LOG
    - size
    linkageType: ''
    returnType: void
    signature: void Finish() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:141,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/trainer_interface.cc:142,1
    - Dst: shuffle_input_sentence
      Src: /src/sentencepiece/src/trainer_interface.cc:144,1
    - Dst: sentencepiece::SentenceSelector::Add
      Src: /src/sentencepiece/src/trainer_interface.cc:145,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/trainer_interface.cc:147,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:148,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:148,1
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:154,1
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:154,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:155,1
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' sentence'
    argTypes:
    - std::pair<std::string, int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: sentencepiece::SentenceSelector::Add
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 3
    functionsReached:
    - LOG
    - input_sentence_size
    - shuffle_input_sentence
    - emplace_back
    - sentencepiece::SentenceSelector::Add
    - sentencepiece::SentenceSelector::total_size
    - size
    linkageType: ''
    returnType: bool
    signature: bool Add(const std::pair<std::string, int64_t>& sentence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:162,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: sentencepiece::SentenceSelector::total_size
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 6
    functionsReached:
    - sentencepiece::SentenceSelector::total_size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t total_size() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK_GT
      Src: /src/sentencepiece/src/trainer_interface.cc:59,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:59,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:61,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:62,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:63,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/trainer_interface.cc:63,1
    - Dst: seed_sentencepieces_file
      Src: /src/sentencepiece/src/trainer_interface.cc:67,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:68,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:68,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:75,1
    - Dst: character_coverage
      Src: /src/sentencepiece/src/trainer_interface.cc:75,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:76,1
    - Dst: max_sentencepiece_length
      Src: /src/sentencepiece/src/trainer_interface.cc:76,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:77,1
    - Dst: num_sub_iterations
      Src: /src/sentencepiece/src/trainer_interface.cc:77,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:78,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/trainer_interface.cc:78,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:79,1
    - Dst: self_test_sample_size
      Src: /src/sentencepiece/src/trainer_interface.cc:79,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:80,1
    - Dst: shrinking_factor
      Src: /src/sentencepiece/src/trainer_interface.cc:80,1
    - Dst: CHECK_RANGE
      Src: /src/sentencepiece/src/trainer_interface.cc:81,1
    - Dst: max_sentence_length
      Src: /src/sentencepiece/src/trainer_interface.cc:81,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:84,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:84,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:85,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:87,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:87,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:88,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:88,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:89,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:89,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:90,1
    - Dst: pad_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:90,1
    - Dst: sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
      Src: /src/sentencepiece/src/trainer_interface.cc:92,1
    - Dst: pretokenization_delimiter
      Src: /src/sentencepiece/src/trainer_interface.cc:93,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:94,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:94,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:95,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - ' trainer_spec'
    argTypes:
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 100
    functionName: sentencepiece::VerifySpec
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - pad_piece
    - pretokenization_delimiter
    - RET_CHECK_GT
    - eos_piece
    - vocab_size
    - seed_sentencepieces_file
    - max_sentence_length
    - CHECK_RANGE
    - RET_CHECK
    - character_coverage
    - unk_piece
    - absl::OkStatus
    - use_all_vocab
    - sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
    - input_sentence_size
    - shrinking_factor
    - num_threads
    - max_sentencepiece_length
    - self_test_sample_size
    - num_sub_iterations
    - bos_piece
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status VerifySpec(const TrainerSpec& trainer_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - variable
    - ','
    - minval
    - ','
    - maxval
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: CHECK_RANGE
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RANGE(variable, minval, maxval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: sentencepiece::is_unicode_decimal_number
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_unicode_decimal_number(char32_t c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:115,1
    - Dst: shuffle_input_sentence
      Src: /src/sentencepiece/src/trainer_interface.cc:116,1
    - Dst: std::make_unique<Sampler>
      Src: /src/sentencepiece/src/trainer_interface.cc:118,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:119,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:121,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sentences
    - ' spec'
    argTypes:
    - TrainerInterface::Sentences*
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: sentencepiece::SentenceSelector::SentenceSelector
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - LOG
    - input_sentence_size
    - shuffle_input_sentence
    - std::make_unique<Sampler>
    linkageType: ''
    returnType: void
    signature: "void SentenceSelector(TrainerInterface::Sentences* sentences,\n                   const
      TrainerSpec& spec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:129,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:130,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:130,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:132,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: sentencepiece::SentenceSelector::Finish
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - LOG
    - size
    linkageType: ''
    returnType: void
    signature: void Finish() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:141,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/trainer_interface.cc:142,1
    - Dst: shuffle_input_sentence
      Src: /src/sentencepiece/src/trainer_interface.cc:144,1
    - Dst: sentencepiece::SentenceSelector::Add
      Src: /src/sentencepiece/src/trainer_interface.cc:145,1
    - Dst: emplace_back
      Src: /src/sentencepiece/src/trainer_interface.cc:147,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:148,1
    - Dst: input_sentence_size
      Src: /src/sentencepiece/src/trainer_interface.cc:148,1
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:154,1
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:154,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:155,1
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' sentence'
    argTypes:
    - std::pair<std::string, int64_t>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: sentencepiece::SentenceSelector::Add
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 4
    functionsReached:
    - LOG
    - input_sentence_size
    - shuffle_input_sentence
    - emplace_back
    - sentencepiece::SentenceSelector::Add
    - sentencepiece::SentenceSelector::total_size
    - size
    linkageType: ''
    returnType: bool
    signature: bool Add(const std::pair<std::string, int64_t>& sentence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:162,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: sentencepiece::SentenceSelector::total_size
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 8
    functionsReached:
    - sentencepiece::SentenceSelector::total_size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t total_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MultiFileSentenceIterator::Next
      Src: /src/sentencepiece/src/trainer_interface.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' files'
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: sentencepiece::MultiFileSentenceIterator::MultiFileSentenceIterator
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::MultiFileSentenceIterator::Next
    linkageType: ''
    returnType: void
    signature: "void MultiFileSentenceIterator::MultiFileSentenceIterator(\n    const
      std::vector<std::string>& files)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: sentencepiece::MultiFileSentenceIterator::done
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool MultiFileSentenceIterator::done() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:183,1
    - Dst: sentencepiece::MultiFileSentenceIterator::status
      Src: /src/sentencepiece/src/trainer_interface.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: sentencepiece::MultiFileSentenceIterator::status
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::MultiFileSentenceIterator::status
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status MultiFileSentenceIterator::status() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/src/trainer_interface.cc:188,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:190,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/trainer_interface.cc:192,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:193,1
    - Dst: sentencepiece::MultiFileSentenceIterator::status
      Src: /src/sentencepiece/src/trainer_interface.cc:194,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:194,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:195,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/src/trainer_interface.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 202
    functionName: sentencepiece::MultiFileSentenceIterator::Next
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 2
    functionsReached:
    - LOG
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - sentencepiece::filesystem::NewReadableFile
    - absl::OkStatus
    - sentencepiece::MultiFileSentenceIterator::status
    - size
    linkageType: ''
    returnType: void
    signature: void MultiFileSentenceIterator::Next()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadLine
      Src: /src/sentencepiece/src/trainer_interface.cc:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: sentencepiece::MultiFileSentenceIterator::TryRead
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 2
    functionsReached:
    - ReadLine
    linkageType: ''
    returnType: void
    signature: void MultiFileSentenceIterator::TryRead()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/src/trainer_interface.cc:211,1
    - Dst: std::move
      Src: /src/sentencepiece/src/trainer_interface.cc:212,1
    - Dst: std::move
      Src: /src/sentencepiece/src/trainer_interface.cc:213,1
    - Dst: VerifySpec
      Src: /src/sentencepiece/src/trainer_interface.cc:214,1
    - Dst: ok
      Src: /src/sentencepiece/src/trainer_interface.cc:215,1
    - Dst: sentencepiece::TrainerInterface::InitMetaPieces
      Src: /src/sentencepiece/src/trainer_interface.cc:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - trainer_spec
    - normalizer_spec
    - denormalizer_spec
    argTypes:
    - TrainerSpec
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: sentencepiece::TrainerInterface::TrainerInterface
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - ok
    - VerifySpec
    - std::move
    - sentencepiece::TrainerInterface::InitMetaPieces
    linkageType: ''
    returnType: void
    signature: "void TrainerInterface::TrainerInterface(TrainerSpec trainer_spec,\n
      \                                  NormalizerSpec normalizer_spec,\n                                   NormalizerSpec
      denormalizer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 220
    functionName: TrainerInterface::~TrainerInterface()
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerInterface::~TrainerInterface()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/trainer_interface.cc:225,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:226,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/trainer_interface.cc:227,1
    - Dst: max_sentencepiece_length
      Src: /src/sentencepiece/src/trainer_interface.cc:227,1
    - Dst: static_cast<unicode_script::ScriptType>
      Src: /src/sentencepiece/src/trainer_interface.cc:231,1
    - Dst: std::numeric_limits<char32_t>::max
      Src: /src/sentencepiece/src/trainer_interface.cc:232,1
    - Dst: std::all_of
      Src: /src/sentencepiece/src/trainer_interface.cc:236,1
    - Dst: begin
      Src: /src/sentencepiece/src/trainer_interface.cc:236,1
    - Dst: end
      Src: /src/sentencepiece/src/trainer_interface.cc:236,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:239,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:252,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/trainer_interface.cc:255,1
    - Dst: allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/trainer_interface.cc:269,1
    - Dst: treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/trainer_interface.cc:271,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/trainer_interface.cc:272,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:273,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/trainer_interface.cc:274,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:275,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/trainer_interface.cc:279,1
    - Dst: split_by_whitespace
      Src: /src/sentencepiece/src/trainer_interface.cc:280,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:281,1
    - Dst: sentencepiece::unicode_script::GetScript
      Src: /src/sentencepiece/src/trainer_interface.cc:287,1
    - Dst: split_by_number
      Src: /src/sentencepiece/src/trainer_interface.cc:297,1
    - Dst: is_unicode_decimal_number
      Src: /src/sentencepiece/src/trainer_interface.cc:297,1
    - Dst: split_digits
      Src: /src/sentencepiece/src/trainer_interface.cc:301,1
    - Dst: is_unicode_decimal_number
      Src: /src/sentencepiece/src/trainer_interface.cc:301,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:302,1
    - Dst: split_by_unicode_script
      Src: /src/sentencepiece/src/trainer_interface.cc:309,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 57
    argCount: 1
    argNames:
    - ' sentencepiece'
    argTypes:
    - string_util::UnicodeText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 318
    functionName: sentencepiece::TrainerInterface::IsValidSentencePiece
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - begin
    - std::all_of
    - sentencepiece::unicode_script::GetScript
    - static_cast<size_t>
    - static_cast<unicode_script::ScriptType>
    - treat_whitespace_as_suffix
    - is_unicode_decimal_number
    - std::numeric_limits<char32_t>::max
    - LOG
    - empty
    - split_by_number
    - size
    - allow_whitespace_only_pieces
    - split_digits
    - sentencepiece::string_util::IsValidCodepoint
    - split_by_whitespace
    - end
    - split_by_unicode_script
    - max_sentencepiece_length
    linkageType: ''
    returnType: bool
    signature: "bool TrainerInterface::IsValidSentencePiece(\n    const string_util::UnicodeText&
      sentencepiece) const"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:321,1
    - Dst: sentencepiece::TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface.cc:321,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:322,1
    - Dst: empty
      Src: /src/sentencepiece/src/trainer_interface.cc:322,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:323,1
    - Dst: empty
      Src: /src/sentencepiece/src/trainer_interface.cc:323,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:324,1
    - Dst: input_format
      Src: /src/sentencepiece/src/trainer_interface.cc:324,1
    - Dst: input_format
      Src: /src/sentencepiece/src/trainer_interface.cc:325,1
    - Dst: input_format
      Src: /src/sentencepiece/src/trainer_interface.cc:326,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:329,1
    - Dst: input
      Src: /src/sentencepiece/src/trainer_interface.cc:329,1
    - Dst: input
      Src: /src/sentencepiece/src/trainer_interface.cc:330,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:333,1
    - Dst: model_prefix
      Src: /src/sentencepiece/src/trainer_interface.cc:335,1
    - Dst: model_prefix
      Src: /src/sentencepiece/src/trainer_interface.cc:336,1
    - Dst: input_format
      Src: /src/sentencepiece/src/trainer_interface.cc:339,1
    - Dst: self_test_sample_size
      Src: /src/sentencepiece/src/trainer_interface.cc:343,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:349,1
    - Dst: std::make_unique<MultiFileSentenceIterator>
      Src: /src/sentencepiece/src/trainer_interface.cc:352,1
    - Dst: std::vector<std::string>
      Src: /src/sentencepiece/src/trainer_interface.cc:352,1
    - Dst: input
      Src: /src/sentencepiece/src/trainer_interface.cc:353,1
    - Dst: input
      Src: /src/sentencepiece/src/trainer_interface.cc:353,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/src/trainer_interface.cc:354,1
    - Dst: done
      Src: /src/sentencepiece/src/trainer_interface.cc:357,1
    - Dst: Next
      Src: /src/sentencepiece/src/trainer_interface.cc:357,1
    - Dst: value
      Src: /src/sentencepiece/src/trainer_interface.cc:359,1
    - Dst: absl::StrSplit
      Src: /src/sentencepiece/src/trainer_interface.cc:362,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/trainer_interface.cc:363,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/trainer_interface.cc:363,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:366,1
    - Dst: absl::SimpleAtoi
      Src: /src/sentencepiece/src/trainer_interface.cc:366,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/trainer_interface.cc:368,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/src/trainer_interface.cc:371,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/trainer_interface.cc:375,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/trainer_interface.cc:375,1
    - Dst: max_sentence_length
      Src: /src/sentencepiece/src/trainer_interface.cc:376,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:378,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/trainer_interface.cc:378,1
    - Dst: max_sentence_length
      Src: /src/sentencepiece/src/trainer_interface.cc:379,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:380,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:381,1
    - Dst: std::string::find
      Src: /src/sentencepiece/src/trainer_interface.cc:388,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:389,1
    - Dst: random::ReservoirSampler::Add
      Src: /src/sentencepiece/src/trainer_interface.cc:393,1
    - Dst: SentenceSelector::Add
      Src: /src/sentencepiece/src/trainer_interface.cc:395,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/trainer_interface.cc:395,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:400,1
    - Dst: sentencepiece::TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface.cc:400,1
    - Dst: SentenceSelector::Finish
      Src: /src/sentencepiece/src/trainer_interface.cc:404,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:406,1
    - Dst: SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:406,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:407,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:407,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:409,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:409,1
    - Dst: SentenceSelector::total_size
      Src: /src/sentencepiece/src/trainer_interface.cc:410,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:414,1
    - Dst: empty
      Src: /src/sentencepiece/src/trainer_interface.cc:416,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:417,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:417,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:425,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/src/trainer_interface.cc:426,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:430,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:431,1
    - Dst: empty
      Src: /src/sentencepiece/src/trainer_interface.cc:431,1
    - Dst: std::make_unique<ThreadPool>
      Src: /src/sentencepiece/src/trainer_interface.cc:433,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/trainer_interface.cc:433,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/trainer_interface.cc:434,1
    - Dst: auto::Schedule
      Src: /src/sentencepiece/src/trainer_interface.cc:435,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:436,1
    - Dst: num_threads
      Src: /src/sentencepiece/src/trainer_interface.cc:437,1
    - Dst: normalizer::PrefixMatcher::GlobalReplace
      Src: /src/sentencepiece/src/trainer_interface.cc:439,1
    - Dst: normalizer::Normalizer::Normalize
      Src: /src/sentencepiece/src/trainer_interface.cc:439,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:446,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:448,1
    - Dst: auto*::find
      Src: /src/sentencepiece/src/trainer_interface.cc:448,1
    - Dst: auto*::empty
      Src: /src/sentencepiece/src/trainer_interface.cc:450,1
    - Dst: swap
      Src: /src/sentencepiece/src/trainer_interface.cc:451,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:451,1
    - Dst: resize
      Src: /src/sentencepiece/src/trainer_interface.cc:452,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:452,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/trainer_interface.cc:462,1
    - Dst: required_chars
      Src: /src/sentencepiece/src/trainer_interface.cc:462,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:463,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/trainer_interface.cc:463,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:465,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/trainer_interface.cc:472,1
    - Dst: sentencepiece::string_util::IsValidCodepoint
      Src: /src/sentencepiece/src/trainer_interface.cc:473,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:477,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:484,1
    - Dst: first::find
      Src: /src/sentencepiece/src/trainer_interface.cc:484,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:492,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/trainer_interface.cc:499,1
    - Dst: use_all_vocab
      Src: /src/sentencepiece/src/trainer_interface.cc:501,1
    - Dst: character_coverage
      Src: /src/sentencepiece/src/trainer_interface.cc:502,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:503,1
    - Dst: RET_CHECK_NE
      Src: /src/sentencepiece/src/trainer_interface.cc:507,1
    - Dst: emplace
      Src: /src/sentencepiece/src/trainer_interface.cc:512,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:515,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:515,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:516,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:519,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/trainer_interface.cc:519,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/src/trainer_interface.cc:525,1
    - Dst: sentencepiece::port::ContainsKey
      Src: /src/sentencepiece/src/trainer_interface.cc:526,1
    - Dst: string_util::UnicodeText::push_back
      Src: /src/sentencepiece/src/trainer_interface.cc:527,1
    - Dst: string_util::UnicodeText::push_back
      Src: /src/sentencepiece/src/trainer_interface.cc:529,1
    - Dst: sentencepiece::string_util::UnicodeTextToUTF8
      Src: /src/sentencepiece/src/trainer_interface.cc:532,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:535,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:536,1
    - Dst: RET_CHECK_LE
      Src: /src/sentencepiece/src/trainer_interface.cc:537,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/trainer_interface.cc:537,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:537,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:537,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:538,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:540,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:541,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:541,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:546,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:546,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:548,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 127
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 549
    functionName: sentencepiece::TrainerInterface::LoadSentences
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - auto*::find
    - done
    - absl::SimpleAtoi
    - value
    - std::unique_ptr::get
    - Next
    - vocab_size
    - RET_CHECK_NE
    - LOG
    - std::vector<std::string>
    - max_sentence_length
    - SentenceSelector::Finish
    - normalizer::PrefixMatcher::GlobalReplace
    - string_util::UnicodeText::push_back
    - first::find
    - sentencepiece::string_util::UnicodeTextToUTF8
    - required_chars
    - empty
    - Sorted
    - normalizer::Normalizer::Normalize
    - RETURN_IF_ERROR
    - sentencepiece::string_util::UTF8ToUnicodeText
    - RET_CHECK
    - std::string::find
    - character_coverage
    - size
    - resize
    - auto*::empty
    - std::make_unique<MultiFileSentenceIterator>
    - auto::Schedule
    - absl::OkStatus
    - std::vector::size
    - absl::StrSplit
    - static_cast<int>
    - model_prefix
    - use_all_vocab
    - sentencepiece::port::ContainsKey
    - RET_CHECK_EQ
    - sentencepiece::string_util::IsValidCodepoint
    - input
    - std::string::size
    - RET_CHECK_LE
    - std::set::insert
    - std::string::empty
    - model_type
    - std::make_unique<ThreadPool>
    - random::ReservoirSampler::Add
    - emplace
    - num_threads
    - RET_CHECK_GE
    - self_test_sample_size
    - input_format
    - swap
    - SentenceSelector::total_size
    - sentencepiece::TrainerInterface::status
    - SentenceSelector::Add
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerInterface::LoadSentences()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:552,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:553,1
    - Dst: SplitIntoWords
      Src: /src/sentencepiece/src/trainer_interface.cc:557,1
    - Dst: treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/trainer_interface.cc:557,1
    - Dst: allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/trainer_interface.cc:558,1
    - Dst: Sorted
      Src: /src/sentencepiece/src/trainer_interface.cc:562,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:563,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 564
    functionName: sentencepiece::TrainerInterface::SplitSentencesByWhitespace
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - LOG
    - allow_whitespace_only_pieces
    - SplitIntoWords
    - Sorted
    - treat_whitespace_as_suffix
    - size
    linkageType: ''
    returnType: void
    signature: void TrainerInterface::SplitSentencesByWhitespace()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:567,1
    - Dst: sentencepiece::TrainerInterface::status
      Src: /src/sentencepiece/src/trainer_interface.cc:567,1
    - Dst: ModelProto*::Clear
      Src: /src/sentencepiece/src/trainer_interface.cc:572,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:580,1
    - Dst: find
      Src: /src/sentencepiece/src/trainer_interface.cc:581,1
    - Dst: end
      Src: /src/sentencepiece/src/trainer_interface.cc:582,1
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/trainer_interface.cc:583,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:584,1
    - Dst: auto*::set_type
      Src: /src/sentencepiece/src/trainer_interface.cc:585,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/trainer_interface.cc:586,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/trainer_interface.cc:587,1
    - Dst: ModelProto*::pieces_size
      Src: /src/sentencepiece/src/trainer_interface.cc:587,1
    - Dst: RET_CHECK_NE
      Src: /src/sentencepiece/src/trainer_interface.cc:588,1
    - Dst: auto*::type
      Src: /src/sentencepiece/src/trainer_interface.cc:588,1
    - Dst: CHECK_PIECE
      Src: /src/sentencepiece/src/trainer_interface.cc:589,1
    - Dst: auto*::piece
      Src: /src/sentencepiece/src/trainer_interface.cc:589,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:590,1
    - Dst: ModelProto*::add_pieces
      Src: /src/sentencepiece/src/trainer_interface.cc:592,1
    - Dst: auto*::set_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:593,1
    - Dst: auto*::set_score
      Src: /src/sentencepiece/src/trainer_interface.cc:594,1
    - Dst: CHECK_PIECE
      Src: /src/sentencepiece/src/trainer_interface.cc:595,1
    - Dst: auto*::piece
      Src: /src/sentencepiece/src/trainer_interface.cc:595,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/trainer_interface.cc:599,1
    - Dst: size
      Src: /src/sentencepiece/src/trainer_interface.cc:599,1
    - Dst: ModelProto*::mutable_trainer_spec
      Src: /src/sentencepiece/src/trainer_interface.cc:601,1
    - Dst: ModelProto*::mutable_normalizer_spec
      Src: /src/sentencepiece/src/trainer_interface.cc:602,1
    - Dst: normalization_rule_tsv
      Src: /src/sentencepiece/src/trainer_interface.cc:604,1
    - Dst: ModelProto*::mutable_denormalizer_spec
      Src: /src/sentencepiece/src/trainer_interface.cc:605,1
    - Dst: hard_vocab_limit
      Src: /src/sentencepiece/src/trainer_interface.cc:608,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:609,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/trainer_interface.cc:610,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:610,1
    - Dst: ModelProto*::pieces_size
      Src: /src/sentencepiece/src/trainer_interface.cc:610,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/trainer_interface.cc:611,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:611,1
    - Dst: static_cast<int32_t>
      Src: /src/sentencepiece/src/trainer_interface.cc:611,1
    - Dst: absl::flat_hash_set::size
      Src: /src/sentencepiece/src/trainer_interface.cc:611,1
    - Dst: ModelProto*::mutable_trainer_spec
      Src: /src/sentencepiece/src/trainer_interface.cc:612,1
    - Dst: ModelProto*::pieces_size
      Src: /src/sentencepiece/src/trainer_interface.cc:613,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/trainer_interface.cc:615,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:615,1
    - Dst: ModelProto*::pieces_size
      Src: /src/sentencepiece/src/trainer_interface.cc:615,1
    - Dst: absl::StrFormat
      Src: /src/sentencepiece/src/trainer_interface.cc:616,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:618,1
    - Dst: ModelProto*::pieces_size
      Src: /src/sentencepiece/src/trainer_interface.cc:618,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/trainer_interface.cc:619,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:619,1
    - Dst: static_cast<int32_t>
      Src: /src/sentencepiece/src/trainer_interface.cc:619,1
    - Dst: absl::flat_hash_set::size
      Src: /src/sentencepiece/src/trainer_interface.cc:619,1
    - Dst: empty
      Src: /src/sentencepiece/src/trainer_interface.cc:623,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:625,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/trainer_interface.cc:625,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:628,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/trainer_interface.cc:628,1
    - Dst: ModelProto*::mutable_self_test_data
      Src: /src/sentencepiece/src/trainer_interface.cc:629,1
    - Dst: auto*::set_input
      Src: /src/sentencepiece/src/trainer_interface.cc:630,1
    - Dst: auto*::set_expected
      Src: /src/sentencepiece/src/trainer_interface.cc:631,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/trainer_interface.cc:631,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:635,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - model_proto
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 636
    functionName: sentencepiece::TrainerInterface::Serialize
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 3
    functionsReached:
    - ModelProto*::mutable_self_test_data
    - normalization_rule_tsv
    - ModelProto*::mutable_denormalizer_spec
    - auto*::set_piece
    - absl::StrJoin
    - auto*::type
    - vocab_size
    - RET_CHECK_NE
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - empty
    - ModelProto*::pieces_size
    - static_cast<int32_t>
    - ModelProto*::add_pieces
    - auto*::set_input
    - RETURN_IF_ERROR
    - hard_vocab_limit
    - auto*::set_score
    - ModelProto*::mutable_trainer_spec
    - size
    - auto*::set_type
    - auto*::piece
    - auto*::set_expected
    - absl::OkStatus
    - CHECK_PIECE
    - RET_CHECK_EQ
    - absl::StrFormat
    - find
    - end
    - RET_CHECK_GE
    - absl::flat_hash_set::size
    - ModelProto*::mutable_normalizer_spec
    - sentencepiece::TrainerInterface::status
    - ModelProto*::Clear
    - model_type
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerInterface::Serialize(ModelProto* model_proto) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - piece
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: CHECK_PIECE
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PIECE(piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:639,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:642,1
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/src/trainer_interface.cc:642,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/trainer_interface.cc:644,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/trainer_interface.cc:644,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:645,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/trainer_interface.cc:645,1
    - Dst: auto::Write
      Src: /src/sentencepiece/src/trainer_interface.cc:646,1
    - Dst: ModelProto::SerializeAsString
      Src: /src/sentencepiece/src/trainer_interface.cc:646,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 648
    functionName: sentencepiece::TrainerInterface::SaveModel
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 1
    functionsReached:
    - LOG
    - sentencepiece::filesystem::NewWritableFile
    - auto::status
    - sentencepiece::TrainerInterface::Serialize
    - ModelProto::SerializeAsString
    - absl::string_view::data
    - absl::OkStatus
    - auto::Write
    - RETURN_IF_ERROR
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerInterface::SaveModel(absl::string_view filename)
      const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:651,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:653,1
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/src/trainer_interface.cc:653,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/trainer_interface.cc:654,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:655,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/trainer_interface.cc:655,1
    - Dst: ModelProto::pieces
      Src: /src/sentencepiece/src/trainer_interface.cc:657,1
    - Dst: piece
      Src: /src/sentencepiece/src/trainer_interface.cc:658,1
    - Dst: LOG
      Src: /src/sentencepiece/src/trainer_interface.cc:659,1
    - Dst: piece
      Src: /src/sentencepiece/src/trainer_interface.cc:659,1
    - Dst: vocabulary_output_piece_score
      Src: /src/sentencepiece/src/trainer_interface.cc:665,1
    - Dst: ModelProto::pieces
      Src: /src/sentencepiece/src/trainer_interface.cc:666,1
    - Dst: piece
      Src: /src/sentencepiece/src/trainer_interface.cc:668,1
    - Dst: score
      Src: /src/sentencepiece/src/trainer_interface.cc:668,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:669,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/trainer_interface.cc:669,1
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/src/trainer_interface.cc:669,1
    - Dst: ModelProto::pieces
      Src: /src/sentencepiece/src/trainer_interface.cc:672,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:673,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/trainer_interface.cc:673,1
    - Dst: piece
      Src: /src/sentencepiece/src/trainer_interface.cc:673,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 678
    functionName: sentencepiece::TrainerInterface::SaveVocab
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 1
    functionsReached:
    - LOG
    - std::ostringstream::str
    - sentencepiece::filesystem::NewWritableFile
    - auto::status
    - score
    - sentencepiece::TrainerInterface::Serialize
    - piece
    - ModelProto::pieces
    - auto::WriteLine
    - absl::OkStatus
    - RETURN_IF_ERROR
    - vocabulary_output_piece_score
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerInterface::SaveVocab(absl::string_view filename)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:682,1
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/src/trainer_interface.cc:682,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:684,1
    - Dst: sentencepiece::TrainerInterface::SaveModel
      Src: /src/sentencepiece/src/trainer_interface.cc:684,1
    - Dst: model_prefix
      Src: /src/sentencepiece/src/trainer_interface.cc:684,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:685,1
    - Dst: sentencepiece::TrainerInterface::SaveVocab
      Src: /src/sentencepiece/src/trainer_interface.cc:685,1
    - Dst: model_prefix
      Src: /src/sentencepiece/src/trainer_interface.cc:685,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 680
    functionDepth: 3
    functionLinenumber: 680
    functionLinenumberEnd: 688
    functionName: sentencepiece::TrainerInterface::Save
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::SaveModel
    - RETURN_IF_ERROR
    - sentencepiece::TrainerInterface::Serialize
    - absl::OkStatus
    - sentencepiece::TrainerInterface::SaveVocab
    - model_prefix
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerInterface::Save() const
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:691,1
    - Dst: empty
      Src: /src/sentencepiece/src/trainer_interface.cc:691,1
    - Dst: vocab_size
      Src: /src/sentencepiece/src/trainer_interface.cc:698,1
    - Dst: find
      Src: /src/sentencepiece/src/trainer_interface.cc:699,1
    - Dst: end
      Src: /src/sentencepiece/src/trainer_interface.cc:699,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:700,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:703,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/trainer_interface.cc:706,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:707,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:712,1
    - Dst: insert_id
      Src: /src/sentencepiece/src/trainer_interface.cc:712,1
    - Dst: unk_id
      Src: /src/sentencepiece/src/trainer_interface.cc:712,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:712,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:713,1
    - Dst: insert_id
      Src: /src/sentencepiece/src/trainer_interface.cc:713,1
    - Dst: bos_id
      Src: /src/sentencepiece/src/trainer_interface.cc:713,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:713,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:714,1
    - Dst: insert_id
      Src: /src/sentencepiece/src/trainer_interface.cc:714,1
    - Dst: eos_id
      Src: /src/sentencepiece/src/trainer_interface.cc:714,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:714,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:715,1
    - Dst: insert_id
      Src: /src/sentencepiece/src/trainer_interface.cc:715,1
    - Dst: pad_id
      Src: /src/sentencepiece/src/trainer_interface.cc:715,1
    - Dst: pad_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:715,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/trainer_interface.cc:717,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:717,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/sentencepiece/src/trainer_interface.cc:725,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/trainer_interface.cc:726,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/trainer_interface.cc:726,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:730,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/trainer_interface.cc:731,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/trainer_interface.cc:732,1
    - Dst: unk_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:732,1
    - Dst: bos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:737,1
    - Dst: bos_id
      Src: /src/sentencepiece/src/trainer_interface.cc:737,1
    - Dst: bos_id
      Src: /src/sentencepiece/src/trainer_interface.cc:738,1
    - Dst: eos_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:739,1
    - Dst: eos_id
      Src: /src/sentencepiece/src/trainer_interface.cc:739,1
    - Dst: eos_id
      Src: /src/sentencepiece/src/trainer_interface.cc:740,1
    - Dst: pad_piece
      Src: /src/sentencepiece/src/trainer_interface.cc:741,1
    - Dst: pad_id
      Src: /src/sentencepiece/src/trainer_interface.cc:741,1
    - Dst: pad_id
      Src: /src/sentencepiece/src/trainer_interface.cc:742,1
    - Dst: find
      Src: /src/sentencepiece/src/trainer_interface.cc:744,1
    - Dst: end
      Src: /src/sentencepiece/src/trainer_interface.cc:744,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/src/trainer_interface.cc:747,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:750,1
    - Dst: control_symbols
      Src: /src/sentencepiece/src/trainer_interface.cc:753,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:754,1
    - Dst: insert_meta_symbol
      Src: /src/sentencepiece/src/trainer_interface.cc:754,1
    - Dst: user_defined_symbols
      Src: /src/sentencepiece/src/trainer_interface.cc:757,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:758,1
    - Dst: insert_meta_symbol
      Src: /src/sentencepiece/src/trainer_interface.cc:759,1
    - Dst: model_type
      Src: /src/sentencepiece/src/trainer_interface.cc:760,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/trainer_interface.cc:761,1
    - Dst: absl::StartsWith
      Src: /src/sentencepiece/src/trainer_interface.cc:762,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:764,1
    - Dst: insert_meta_symbol
      Src: /src/sentencepiece/src/trainer_interface.cc:765,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/src/trainer_interface.cc:765,1
    - Dst: byte_fallback
      Src: /src/sentencepiece/src/trainer_interface.cc:770,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/trainer_interface.cc:772,1
    - Dst: insert_meta_symbol
      Src: /src/sentencepiece/src/trainer_interface.cc:773,1
    - Dst: ByteToPiece
      Src: /src/sentencepiece/src/trainer_interface.cc:773,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/trainer_interface.cc:777,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 778
    functionName: sentencepiece::TrainerInterface::InitMetaPieces
    functionSourceFile: /src/sentencepiece/src/trainer_interface.cc
    functionUses: 2
    functionsReached:
    - control_symbols
    - std::make_pair
    - absl::flat_hash_set::insert
    - pad_piece
    - insert_id
    - eos_piece
    - vocab_size
    - byte_fallback
    - empty
    - RETURN_IF_ERROR
    - RET_CHECK
    - unk_piece
    - absl::OkStatus
    - eos_id
    - google::protobuf::StrCat
    - insert_meta_symbol
    - bos_id
    - user_defined_symbols
    - pad_id
    - model_type
    - find
    - escape_whitespaces
    - end
    - absl::StartsWith
    - unk_id
    - ByteToPiece
    - bos_piece
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status TrainerInterface::InitMetaPieces()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/filesystem_test.cc:31,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/filesystem_test.cc:32,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/filesystem_test.cc:32,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/filesystem_test.cc:33,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/filesystem_test.cc:34,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/filesystem_test.cc:39,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/filesystem_test.cc:40,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/filesystem_test.cc:40,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/filesystem_test.cc:42,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/filesystem_test.cc:43,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/filesystem_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/filesystem_test.cc:44,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/filesystem_test.cc:46,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/filesystem_test.cc:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/filesystem_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - auto::ReadLine
    - sentencepiece::filesystem::NewWritableFile
    - sentencepiece::filesystem::NewReadableFile
    - EXPECT_EQ
    - auto::WriteLine
    - EXPECT_FALSE
    - EXPECT_TRUE
    - std::vector::size
    - sentencepiece::util::JoinPath
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, FilesystemTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/filesystem_test.cc:51,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/filesystem_test.cc:52,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/filesystem_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/filesystem_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - sentencepiece::filesystem::NewReadableFile
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, FilesystemInvalidFileTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/filesystem_test.cc:31,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/filesystem_test.cc:32,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/filesystem_test.cc:32,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/filesystem_test.cc:33,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/filesystem_test.cc:34,1
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/filesystem_test.cc:39,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/filesystem_test.cc:40,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/filesystem_test.cc:40,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/filesystem_test.cc:42,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/filesystem_test.cc:43,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/filesystem_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/filesystem_test.cc:44,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/filesystem_test.cc:46,1
    - Dst: auto::ReadLine
      Src: /src/sentencepiece/src/filesystem_test.cc:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/filesystem_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - auto::ReadLine
    - sentencepiece::filesystem::NewWritableFile
    - sentencepiece::filesystem::NewReadableFile
    - EXPECT_EQ
    - auto::WriteLine
    - EXPECT_FALSE
    - EXPECT_TRUE
    - std::vector::size
    - sentencepiece::util::JoinPath
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, FilesystemTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::NewReadableFile
      Src: /src/sentencepiece/src/filesystem_test.cc:51,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/filesystem_test.cc:52,1
    - Dst: auto::status
      Src: /src/sentencepiece/src/filesystem_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: sentencepiece::TEST
    functionSourceFile: /src/sentencepiece/src/filesystem_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - sentencepiece::filesystem::NewReadableFile
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, FilesystemInvalidFileTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::PretokenizerForTrainingInterface
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PretokenizerForTrainingInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~PretokenizerForTrainingInterface()
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PretokenizerForTrainingInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: sentencepiece::pretokenizer::PretokenizerForTrainingInterface::PretokenizerForTrainingInterface
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PretokenizerForTrainingInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~PretokenizerForTrainingInterface()
    functionSourceFile: /src/sentencepiece/src/pretokenizer_for_training.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PretokenizerForTrainingInterface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTable
      Src: /src/sentencepiece/src/unicode_script.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - InitTable
    linkageType: ''
    returnType: void
    signature: void GetScriptInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/unicode_script.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScript
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScript(char32_t c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTable
      Src: /src/sentencepiece/src/unicode_script.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - InitTable
    linkageType: ''
    returnType: void
    signature: void GetScriptInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/unicode_script.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScript
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScript(char32_t c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptInternal::GetScript
      Src: /src/sentencepiece/src/unicode_script.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: sentencepiece::unicode_script::GetScript
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 6
    functionsReached:
    - GetScriptInternal::GetScript
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScript(char32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTable
      Src: /src/sentencepiece/src/unicode_script.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - InitTable
    linkageType: ''
    returnType: void
    signature: void GetScriptInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/unicode_script.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScript
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScript(char32_t c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTable
      Src: /src/sentencepiece/src/unicode_script.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - InitTable
    linkageType: ''
    returnType: void
    signature: void GetScriptInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/unicode_script.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScript
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScript(char32_t c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptInternal::GetScript
      Src: /src/sentencepiece/src/unicode_script.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: sentencepiece::unicode_script::GetScript
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 6
    functionsReached:
    - GetScriptInternal::GetScript
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScript(char32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTable
      Src: /src/sentencepiece/src/unicode_script.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - InitTable
    linkageType: ''
    returnType: void
    signature: void GetScriptInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/unicode_script.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScript
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScript(char32_t c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTable
      Src: /src/sentencepiece/src/unicode_script.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - InitTable
    linkageType: ''
    returnType: void
    signature: void GetScriptInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/unicode_script.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScript
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScript(char32_t c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptInternal::GetScript
      Src: /src/sentencepiece/src/unicode_script.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: sentencepiece::unicode_script::GetScript
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 6
    functionsReached:
    - GetScriptInternal::GetScript
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScript(char32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTable
      Src: /src/sentencepiece/src/unicode_script.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - InitTable
    linkageType: ''
    returnType: void
    signature: void GetScriptInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/unicode_script.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScript
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScript(char32_t c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitTable
      Src: /src/sentencepiece/src/unicode_script.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - InitTable
    linkageType: ''
    returnType: void
    signature: void GetScriptInternal()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::port::FindWithDefault
      Src: /src/sentencepiece/src/unicode_script.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: sentencepiece::unicode_script::GetScriptInternal::GetScript
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::port::FindWithDefault
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScript(char32_t c) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetScriptInternal::GetScript
      Src: /src/sentencepiece/src/unicode_script.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: sentencepiece::unicode_script::GetScript
    functionSourceFile: /src/sentencepiece/src/unicode_script.cc
    functionUses: 6
    functionsReached:
    - GetScriptInternal::GetScript
    linkageType: ''
    returnType: ScriptType
    signature: ScriptType GetScript(char32_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:63,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 72
    functionName: sentencepiece::word::RunTrainer
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - NormalizerSpec::set_add_dummy_prefix
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:63,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 72
    functionName: sentencepiece::word::RunTrainer
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - NormalizerSpec::set_add_dummy_prefix
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:76,1
    - Dst: sentencepiece::word::RunTrainer
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::word::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:81,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:81,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:83,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:83,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:85,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:86,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:87,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:91,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:92,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:93,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:94,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:95,1
    - Dst: TrainerSpec::set_hard_vocab_limit
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:96,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:99,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:105,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:105,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:108,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:108,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:112,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:115,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:118,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:119,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:119,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:120,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 121
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::set_name
    - EXPECT_EQ
    - TrainerSpec::add_user_defined_symbols
    - TrainerSpec::set_model_type
    - Trainer::Train
    - ASSERT_TRUE
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - ASSERT_EQ
    - auto::WriteLine
    - TrainerSpec::set_vocab_size
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::size
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_hard_vocab_limit
    - EXPECT_FALSE
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::IsUnknown
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, UserDefinedSymbolsAreTokenizedInWordModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:63,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 72
    functionName: sentencepiece::word::RunTrainer
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 1
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - NormalizerSpec::set_add_dummy_prefix
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:63,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 72
    functionName: sentencepiece::word::RunTrainer
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 1
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - NormalizerSpec::set_add_dummy_prefix
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:76,1
    - Dst: sentencepiece::word::RunTrainer
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::word::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:81,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:81,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:83,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:83,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:85,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:86,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:87,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:91,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:92,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:93,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:94,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:95,1
    - Dst: TrainerSpec::set_hard_vocab_limit
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:96,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:99,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:105,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:105,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:108,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:108,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:112,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:115,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:118,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:119,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:119,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:120,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 121
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::set_name
    - EXPECT_EQ
    - TrainerSpec::add_user_defined_symbols
    - TrainerSpec::set_model_type
    - Trainer::Train
    - ASSERT_TRUE
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - ASSERT_EQ
    - auto::WriteLine
    - TrainerSpec::set_vocab_size
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::size
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_hard_vocab_limit
    - EXPECT_FALSE
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::IsUnknown
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, UserDefinedSymbolsAreTokenizedInWordModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:63,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 72
    functionName: sentencepiece::word::RunTrainer
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 2
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - NormalizerSpec::set_add_dummy_prefix
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:63,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 72
    functionName: sentencepiece::word::RunTrainer
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 2
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - NormalizerSpec::set_add_dummy_prefix
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:76,1
    - Dst: sentencepiece::word::RunTrainer
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::word::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:81,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:81,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:83,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:83,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:85,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:86,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:87,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:91,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:92,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:93,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:94,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:95,1
    - Dst: TrainerSpec::set_hard_vocab_limit
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:96,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:99,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:105,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:105,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:108,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:108,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:112,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:115,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:118,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:119,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:119,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:120,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 121
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::set_name
    - EXPECT_EQ
    - TrainerSpec::add_user_defined_symbols
    - TrainerSpec::set_model_type
    - Trainer::Train
    - ASSERT_TRUE
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - ASSERT_EQ
    - auto::WriteLine
    - TrainerSpec::set_vocab_size
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::size
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_hard_vocab_limit
    - EXPECT_FALSE
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::IsUnknown
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, UserDefinedSymbolsAreTokenizedInWordModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:63,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 72
    functionName: sentencepiece::word::RunTrainer
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 3
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - NormalizerSpec::set_add_dummy_prefix
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:35,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:37,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:39,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:41,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:46,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:47,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:48,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:49,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:52,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:58,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:61,1
    - Dst: SentencePieceProcessor::model_proto
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:63,1
    - Dst: auto::pieces_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:67,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: auto::pieces
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:68,1
    - Dst: absl::StrJoin
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - std::vector<std::string>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 72
    functionName: sentencepiece::word::RunTrainer
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 3
    functionsReached:
    - testing::TempDir
    - SentencePieceProcessor::Load
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_name
    - NormalizerSpec::set_add_dummy_prefix
    - auto::WriteLine
    - auto::pieces
    - TrainerSpec::set_model_prefix
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - TrainerSpec::set_model_type
    - auto::pieces_size
    - TrainerSpec::set_vocab_size
    - std::vector::emplace_back
    - SentencePieceProcessor::model_proto
    - Trainer::Train
    - absl::StrJoin
    - TrainerSpec::add_input
    linkageType: ''
    returnType: std::string
    signature: std::string RunTrainer(const std::vector<std::string> &input, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:76,1
    - Dst: sentencepiece::word::RunTrainer
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::word::RunTrainer
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, BasicTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:81,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:81,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:83,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:83,1
    - Dst: sentencepiece::filesystem::NewWritableFile
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:85,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:86,1
    - Dst: auto::WriteLine
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:87,1
    - Dst: TrainerSpec::set_model_type
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:91,1
    - Dst: TrainerSpec::add_input
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:92,1
    - Dst: TrainerSpec::set_model_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:93,1
    - Dst: TrainerSpec::set_vocab_size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:94,1
    - Dst: TrainerSpec::add_user_defined_symbols
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:95,1
    - Dst: TrainerSpec::set_hard_vocab_limit
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:96,1
    - Dst: NormalizerSpec::set_name
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:99,1
    - Dst: NormalizerSpec::set_add_dummy_prefix
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:105,1
    - Dst: Trainer::Train
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:105,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:108,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:108,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:111,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:112,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:115,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:118,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:119,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:119,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:120,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/src/word_model_trainer_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 121
    functionName: sentencepiece::word::TEST
    functionSourceFile: /src/sentencepiece/src/word_model_trainer_test.cc
    functionUses: 0
    functionsReached:
    - NormalizerSpec::set_name
    - EXPECT_EQ
    - TrainerSpec::add_user_defined_symbols
    - TrainerSpec::set_model_type
    - Trainer::Train
    - ASSERT_TRUE
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - ASSERT_EQ
    - auto::WriteLine
    - TrainerSpec::set_vocab_size
    - testing::TempDir
    - sentencepiece::util::JoinPath
    - std::vector::size
    - TrainerSpec::add_input
    - sentencepiece::filesystem::NewWritableFile
    - NormalizerSpec::set_add_dummy_prefix
    - TrainerSpec::set_hard_vocab_limit
    - EXPECT_FALSE
    - TrainerSpec::set_model_prefix
    - SentencePieceProcessor::IsUnknown
    linkageType: ''
    returnType: void
    signature: void TEST(TrainerTest, UserDefinedSymbolsAreTokenizedInWordModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/normalizer.cc:37,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:38,1
    - Dst: sentencepiece::normalizer::Normalizer::Init
      Src: /src/sentencepiece/src/normalizer.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' spec'
    - ' trainer_spec'
    argTypes:
    - NormalizerSpec
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: sentencepiece::normalizer::Normalizer::Normalizer
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Normalizer::Init
    - treat_whitespace_as_suffix
    - absl::OkStatus
    linkageType: ''
    returnType: void
    signature: "void Normalizer::Normalizer(const NormalizerSpec& spec,\n                       const
      TrainerSpec& trainer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:43,1
    - Dst: sentencepiece::normalizer::Normalizer::Init
      Src: /src/sentencepiece/src/normalizer.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' spec'
    argTypes:
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: sentencepiece::normalizer::Normalizer::Normalizer
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Normalizer::Init
    - absl::OkStatus
    linkageType: ''
    returnType: void
    signature: void Normalizer::Normalizer(const NormalizerSpec& spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Normalizer::~Normalizer()
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Normalizer::~Normalizer()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer.cc:50,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:52,1
    - Dst: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer.cc:54,1
    - Dst: ok
      Src: /src/sentencepiece/src/normalizer.cc:57,1
    - Dst: std::make_unique<Darts::DoubleArray>
      Src: /src/sentencepiece/src/normalizer.cc:60,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/src/normalizer.cc:66,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:66,1
    - Dst: set_array
      Src: /src/sentencepiece/src/normalizer.cc:67,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/normalizer.cc:67,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:67,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:68,1
    - Dst: unit_size
      Src: /src/sentencepiece/src/normalizer.cc:68,1
    - Dst: copy_array
      Src: /src/sentencepiece/src/normalizer.cc:70,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/normalizer.cc:70,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:70,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:71,1
    - Dst: validate
      Src: /src/sentencepiece/src/normalizer.cc:74,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:74,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:75,1
    - Dst: reset
      Src: /src/sentencepiece/src/normalizer.cc:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 80
    functionName: sentencepiece::normalizer::Normalizer::Init
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 2
    functionsReached:
    - absl::string_view::empty
    - ok
    - precompiled_charsmap
    - reinterpret_cast<uintptr_t>
    - size
    - absl::InternalError
    - sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
    - reset
    - validate
    - absl::string_view::data
    - std::make_unique<Darts::DoubleArray>
    - set_array
    - reinterpret_cast<const char*>
    - absl::string_view::size
    - unit_size
    - const_cast<char*>
    - copy_array
    linkageType: ''
    returnType: void
    signature: void Normalizer::Init()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<size_t>*::clear
      Src: /src/sentencepiece/src/normalizer.cc:85,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/src/normalizer.cc:86,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:88,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:89,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/normalizer.cc:92,1
    - Dst: sentencepiece::normalizer::Normalizer::status
      Src: /src/sentencepiece/src/normalizer.cc:92,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:97,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:98,1
    - Dst: sentencepiece::normalizer::Normalizer::NormalizePrefix
      Src: /src/sentencepiece/src/normalizer.cc:99,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:103,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:109,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:110,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:114,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/src/normalizer.cc:115,1
    - Dst: std::vector<size_t>*::reserve
      Src: /src/sentencepiece/src/normalizer.cc:116,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:121,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/src/normalizer.cc:125,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:125,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:125,1
    - Dst: std::vector<size_t>*::insert
      Src: /src/sentencepiece/src/normalizer.cc:127,1
    - Dst: std::vector<size_t>*::end
      Src: /src/sentencepiece/src/normalizer.cc:127,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:127,1
    - Dst: add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer.cc:135,1
    - Dst: add_ws
      Src: /src/sentencepiece/src/normalizer.cc:135,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:137,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:138,1
    - Dst: sentencepiece::normalizer::Normalizer::NormalizePrefix
      Src: /src/sentencepiece/src/normalizer.cc:139,1
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/normalizer.cc:144,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:147,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:148,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:149,1
    - Dst: add_ws
      Src: /src/sentencepiece/src/normalizer.cc:151,1
    - Dst: std::vector<size_t>*::push_back
      Src: /src/sentencepiece/src/normalizer.cc:154,1
    - Dst: google::protobuf::strings::EndsWith
      Src: /src/sentencepiece/src/normalizer.cc:158,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:162,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:163,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:169,1
    - Dst: google::protobuf::strings::EndsWith
      Src: /src/sentencepiece/src/normalizer.cc:170,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/normalizer.cc:171,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:171,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/normalizer.cc:172,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/src/normalizer.cc:173,1
    - Dst: std::vector<size_t>*::resize
      Src: /src/sentencepiece/src/normalizer.cc:176,1
    - Dst: add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer.cc:182,1
    - Dst: add_ws
      Src: /src/sentencepiece/src/normalizer.cc:182,1
    - Dst: std::vector<size_t>*::push_back
      Src: /src/sentencepiece/src/normalizer.cc:185,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/normalizer.cc:186,1
    - Dst: std::vector<size_t>*::size
      Src: /src/sentencepiece/src/normalizer.cc:186,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/normalizer.cc:186,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:189,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 3
    argNames:
    - input
    - normalized
    - norm_to_orig
    argTypes:
    - absl::string_view
    - std::string*
    - std::vector<size_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 190
    functionName: sentencepiece::normalizer::Normalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - std::string*::reserve
    - std::vector<size_t>*::size
    - std::string*::append
    - remove_extra_whitespaces
    - sentencepiece::normalizer::Normalizer::status
    - std::vector<size_t>*::push_back
    - std::vector<size_t>*::end
    - add_ws
    - absl::string_view::data
    - std::string*::size
    - RETURN_IF_ERROR
    - absl::string_view::size
    - sentencepiece::normalizer::Normalizer::NormalizePrefix
    - absl::string_view::empty
    - std::string*::resize
    - absl::OkStatus
    - std::vector<size_t>*::reserve
    - std::string*::clear
    - RET_CHECK_EQ
    - absl::ConsumePrefix
    - absl::string_view::remove_prefix
    - google::protobuf::strings::EndsWith
    - escape_whitespaces
    - std::vector<size_t>*::resize
    - std::vector<size_t>*::insert
    - RET_CHECK_GE
    - add_dummy_prefix
    - std::vector<size_t>*::clear
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Normalizer::Normalize(absl::string_view input,\n                                   std::string*
      normalized,\n                                   std::vector<size_t>* norm_to_orig)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: sentencepiece::normalizer::Normalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::normalizer::Normalizer::Normalize
    linkageType: ''
    returnType: std::string
    signature: std::string Normalizer::Normalize(absl::string_view input) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:200,1
    - Dst: PrefixMatch
      Src: /src/sentencepiece/src/normalizer.cc:204,1
    - Dst: absl::string_view::substr
      Src: /src/sentencepiece/src/normalizer.cc:205,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/normalizer.cc:225,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/normalizer.cc:225,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:226,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:227,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:240,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:241,1
    - Dst: sentencepiece::string_util::IsValidDecodeUTF8
      Src: /src/sentencepiece/src/normalizer.cc:243,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:253,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:253,1
    - Dst: data
      Src: /src/sentencepiece/src/normalizer.cc:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 263
    functionName: sentencepiece::normalizer::Normalizer::NormalizePrefix
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::empty
    - commonPrefixSearch
    - size
    - google::protobuf::as_string_view
    - sentencepiece::string_util::IsValidDecodeUTF8
    - data
    - absl::string_view::data
    - PrefixMatch
    - absl::string_view::size
    - absl::string_view::substr
    - std::min<size_t>
    linkageType: ''
    returnType: std::pair<absl::string_view, int>
    signature: "std::pair<absl::string_view, int> Normalizer::NormalizePrefix(\n    absl::string_view
      input) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:270,1
    - Dst: string_util::EncodePOD<uint32_t>
      Src: /src/sentencepiece/src/normalizer.cc:270,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:270,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:271,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:271,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:271,1
    - Dst: sentencepiece::util::is_bigendian
      Src: /src/sentencepiece/src/normalizer.cc:273,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/sentencepiece/src/normalizer.cc:274,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/normalizer.cc:274,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/normalizer.cc:275,1
    - Dst: sentencepiece::util::Swap32
      Src: /src/sentencepiece/src/normalizer.cc:275,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:278,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:278,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - trie_blob
    - normalized
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 281
    functionName: sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 10
    functionsReached:
    - string_util::EncodePOD<uint32_t>
    - sentencepiece::util::Swap32
    - std::string::data
    - std::string::append
    - sentencepiece::util::is_bigendian
    - absl::string_view::data
    - absl::string_view::size
    - reinterpret_cast<uint32_t*>
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string Normalizer::EncodePrecompiledCharsMap(\n    absl::string_view
      trie_blob, absl::string_view normalized)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:288,1
    - Dst: string_util::DecodePOD<uint32_t>
      Src: /src/sentencepiece/src/normalizer.cc:289,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:290,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:290,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:292,1
    - Dst: sentencepiece::util::is_bigendian
      Src: /src/sentencepiece/src/normalizer.cc:295,1
    - Dst: sentencepiece::util::Swap32
      Src: /src/sentencepiece/src/normalizer.cc:296,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:299,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:300,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:305,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:308,1
    - Dst: sentencepiece::util::is_bigendian
      Src: /src/sentencepiece/src/normalizer.cc:310,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/normalizer.cc:311,1
    - Dst: std::string*::assign
      Src: /src/sentencepiece/src/normalizer.cc:312,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:312,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/sentencepiece/src/normalizer.cc:314,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/normalizer.cc:314,1
    - Dst: std::string*::data
      Src: /src/sentencepiece/src/normalizer.cc:314,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/normalizer.cc:315,1
    - Dst: sentencepiece::util::Swap32
      Src: /src/sentencepiece/src/normalizer.cc:316,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:317,1
    - Dst: std::string*::data
      Src: /src/sentencepiece/src/normalizer.cc:317,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:319,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:319,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:322,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:323,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:323,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:323,1
    - Dst: absl::string_view*::empty
      Src: /src/sentencepiece/src/normalizer.cc:325,1
    - Dst: absl::string_view*::back
      Src: /src/sentencepiece/src/normalizer.cc:325,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:326,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:329,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - blob
    - trie_blob
    - normalized
    - buffer
    argTypes:
    - absl::string_view
    - absl::string_view*
    - absl::string_view*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 330
    functionName: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 7
    functionsReached:
    - absl::string_view::remove_prefix
    - sentencepiece::util::Swap32
    - absl::string_view*::back
    - std::string*::assign
    - string_util::DecodePOD<uint32_t>
    - sentencepiece::util::is_bigendian
    - absl::string_view::data
    - std::string*::size
    - absl::string_view*::empty
    - absl::OkStatus
    - std::string*::data
    - google::protobuf::as_string_view
    - absl::string_view::size
    - reinterpret_cast<uint32_t*>
    - RET_CHECK
    - const_cast<char*>
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Normalizer::DecodePrecompiledCharsMap(\n    absl::string_view
      blob, absl::string_view* trie_blob,\n    absl::string_view* normalized, std::string*
      buffer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/normalizer.cc:333,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/normalizer.cc:336,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:336,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/normalizer.cc:337,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:337,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer.cc:339,1
    - Dst: data
      Src: /src/sentencepiece/src/normalizer.cc:339,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer.cc:340,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:340,1
    - Dst: std::make_unique<Darts::DoubleArray>
      Src: /src/sentencepiece/src/normalizer.cc:342,1
    - Dst: build
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: const_cast<char**>
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: const_cast<size_t*>
      Src: /src/sentencepiece/src/normalizer.cc:344,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer.cc:344,1
    - Dst: LOG
      Src: /src/sentencepiece/src/normalizer.cc:345,1
    - Dst: reset
      Src: /src/sentencepiece/src/normalizer.cc:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' dic'
    argTypes:
    - std::set<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 348
    functionName: sentencepiece::normalizer::PrefixMatcher::PrefixMatcher
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - LOG
    - const_cast<size_t*>
    - reset
    - data
    - empty
    - std::make_unique<Darts::DoubleArray>
    - build
    - std::vector::size
    - std::vector::push_back
    - const_cast<char**>
    - std::vector::data
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: void
    signature: void PrefixMatcher::PrefixMatcher(const std::set<absl::string_view>&
      dic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/normalizer.cc:358,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/normalizer.cc:359,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:359,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:359,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/normalizer.cc:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - w
    - found
    argTypes:
    - absl::string_view
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 373
    functionName: sentencepiece::normalizer::PrefixMatcher::PrefixMatch
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - commonPrefixSearch
    - std::max<int>
    - absl::string_view::data
    - std::min<int>
    - absl::string_view::size
    - sentencepiece::string_util::OneCharLen
    linkageType: ''
    returnType: int
    signature: int PrefixMatcher::PrefixMatch(absl::string_view w, bool* found) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:378,1
    - Dst: sentencepiece::normalizer::PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer.cc:380,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:382,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:382,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:382,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:384,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:384,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - w
    - out
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: sentencepiece::normalizer::PrefixMatcher::GlobalReplace
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - sentencepiece::normalizer::PrefixMatcher::PrefixMatch
    - absl::string_view::remove_prefix
    - std::string::append
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: std::string
    signature: "std::string PrefixMatcher::GlobalReplace(absl::string_view w,\n                                         absl::string_view
      out) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/normalizer.cc:37,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:38,1
    - Dst: sentencepiece::normalizer::Normalizer::Init
      Src: /src/sentencepiece/src/normalizer.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' spec'
    - ' trainer_spec'
    argTypes:
    - NormalizerSpec
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: sentencepiece::normalizer::Normalizer::Normalizer
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Normalizer::Init
    - treat_whitespace_as_suffix
    - absl::OkStatus
    linkageType: ''
    returnType: void
    signature: "void Normalizer::Normalizer(const NormalizerSpec& spec,\n                       const
      TrainerSpec& trainer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:43,1
    - Dst: sentencepiece::normalizer::Normalizer::Init
      Src: /src/sentencepiece/src/normalizer.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' spec'
    argTypes:
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: sentencepiece::normalizer::Normalizer::Normalizer
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Normalizer::Init
    - absl::OkStatus
    linkageType: ''
    returnType: void
    signature: void Normalizer::Normalizer(const NormalizerSpec& spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Normalizer::~Normalizer()
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Normalizer::~Normalizer()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer.cc:50,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:52,1
    - Dst: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer.cc:54,1
    - Dst: ok
      Src: /src/sentencepiece/src/normalizer.cc:57,1
    - Dst: std::make_unique<Darts::DoubleArray>
      Src: /src/sentencepiece/src/normalizer.cc:60,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/src/normalizer.cc:66,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:66,1
    - Dst: set_array
      Src: /src/sentencepiece/src/normalizer.cc:67,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/normalizer.cc:67,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:67,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:68,1
    - Dst: unit_size
      Src: /src/sentencepiece/src/normalizer.cc:68,1
    - Dst: copy_array
      Src: /src/sentencepiece/src/normalizer.cc:70,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/normalizer.cc:70,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:70,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:71,1
    - Dst: validate
      Src: /src/sentencepiece/src/normalizer.cc:74,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:74,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:75,1
    - Dst: reset
      Src: /src/sentencepiece/src/normalizer.cc:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 80
    functionName: sentencepiece::normalizer::Normalizer::Init
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 4
    functionsReached:
    - absl::string_view::empty
    - ok
    - precompiled_charsmap
    - reinterpret_cast<uintptr_t>
    - size
    - absl::InternalError
    - sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
    - reset
    - validate
    - absl::string_view::data
    - std::make_unique<Darts::DoubleArray>
    - set_array
    - reinterpret_cast<const char*>
    - absl::string_view::size
    - unit_size
    - const_cast<char*>
    - copy_array
    linkageType: ''
    returnType: void
    signature: void Normalizer::Init()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<size_t>*::clear
      Src: /src/sentencepiece/src/normalizer.cc:85,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/src/normalizer.cc:86,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:88,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:89,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/normalizer.cc:92,1
    - Dst: sentencepiece::normalizer::Normalizer::status
      Src: /src/sentencepiece/src/normalizer.cc:92,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:97,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:98,1
    - Dst: sentencepiece::normalizer::Normalizer::NormalizePrefix
      Src: /src/sentencepiece/src/normalizer.cc:99,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:103,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:109,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:110,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:114,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/src/normalizer.cc:115,1
    - Dst: std::vector<size_t>*::reserve
      Src: /src/sentencepiece/src/normalizer.cc:116,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:121,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/src/normalizer.cc:125,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:125,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:125,1
    - Dst: std::vector<size_t>*::insert
      Src: /src/sentencepiece/src/normalizer.cc:127,1
    - Dst: std::vector<size_t>*::end
      Src: /src/sentencepiece/src/normalizer.cc:127,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:127,1
    - Dst: add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer.cc:135,1
    - Dst: add_ws
      Src: /src/sentencepiece/src/normalizer.cc:135,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:137,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:138,1
    - Dst: sentencepiece::normalizer::Normalizer::NormalizePrefix
      Src: /src/sentencepiece/src/normalizer.cc:139,1
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/normalizer.cc:144,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:147,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:148,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:149,1
    - Dst: add_ws
      Src: /src/sentencepiece/src/normalizer.cc:151,1
    - Dst: std::vector<size_t>*::push_back
      Src: /src/sentencepiece/src/normalizer.cc:154,1
    - Dst: google::protobuf::strings::EndsWith
      Src: /src/sentencepiece/src/normalizer.cc:158,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:162,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:163,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:169,1
    - Dst: google::protobuf::strings::EndsWith
      Src: /src/sentencepiece/src/normalizer.cc:170,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/normalizer.cc:171,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:171,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/normalizer.cc:172,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/src/normalizer.cc:173,1
    - Dst: std::vector<size_t>*::resize
      Src: /src/sentencepiece/src/normalizer.cc:176,1
    - Dst: add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer.cc:182,1
    - Dst: add_ws
      Src: /src/sentencepiece/src/normalizer.cc:182,1
    - Dst: std::vector<size_t>*::push_back
      Src: /src/sentencepiece/src/normalizer.cc:185,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/normalizer.cc:186,1
    - Dst: std::vector<size_t>*::size
      Src: /src/sentencepiece/src/normalizer.cc:186,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/normalizer.cc:186,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:189,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 3
    argNames:
    - input
    - normalized
    - norm_to_orig
    argTypes:
    - absl::string_view
    - std::string*
    - std::vector<size_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 190
    functionName: sentencepiece::normalizer::Normalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 1
    functionsReached:
    - std::string*::reserve
    - std::vector<size_t>*::size
    - std::string*::append
    - remove_extra_whitespaces
    - sentencepiece::normalizer::Normalizer::status
    - std::vector<size_t>*::push_back
    - std::vector<size_t>*::end
    - add_ws
    - absl::string_view::data
    - std::string*::size
    - RETURN_IF_ERROR
    - absl::string_view::size
    - sentencepiece::normalizer::Normalizer::NormalizePrefix
    - absl::string_view::empty
    - std::string*::resize
    - absl::OkStatus
    - std::vector<size_t>*::reserve
    - std::string*::clear
    - RET_CHECK_EQ
    - absl::ConsumePrefix
    - absl::string_view::remove_prefix
    - google::protobuf::strings::EndsWith
    - escape_whitespaces
    - std::vector<size_t>*::resize
    - std::vector<size_t>*::insert
    - RET_CHECK_GE
    - add_dummy_prefix
    - std::vector<size_t>*::clear
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Normalizer::Normalize(absl::string_view input,\n                                   std::string*
      normalized,\n                                   std::vector<size_t>* norm_to_orig)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: sentencepiece::normalizer::Normalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::normalizer::Normalizer::Normalize
    linkageType: ''
    returnType: std::string
    signature: std::string Normalizer::Normalize(absl::string_view input) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:200,1
    - Dst: PrefixMatch
      Src: /src/sentencepiece/src/normalizer.cc:204,1
    - Dst: absl::string_view::substr
      Src: /src/sentencepiece/src/normalizer.cc:205,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/normalizer.cc:225,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/normalizer.cc:225,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:226,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:227,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:240,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:241,1
    - Dst: sentencepiece::string_util::IsValidDecodeUTF8
      Src: /src/sentencepiece/src/normalizer.cc:243,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:253,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:253,1
    - Dst: data
      Src: /src/sentencepiece/src/normalizer.cc:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 263
    functionName: sentencepiece::normalizer::Normalizer::NormalizePrefix
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 2
    functionsReached:
    - absl::string_view::empty
    - commonPrefixSearch
    - size
    - google::protobuf::as_string_view
    - sentencepiece::string_util::IsValidDecodeUTF8
    - data
    - absl::string_view::data
    - PrefixMatch
    - absl::string_view::size
    - absl::string_view::substr
    - std::min<size_t>
    linkageType: ''
    returnType: std::pair<absl::string_view, int>
    signature: "std::pair<absl::string_view, int> Normalizer::NormalizePrefix(\n    absl::string_view
      input) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:270,1
    - Dst: string_util::EncodePOD<uint32_t>
      Src: /src/sentencepiece/src/normalizer.cc:270,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:270,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:271,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:271,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:271,1
    - Dst: sentencepiece::util::is_bigendian
      Src: /src/sentencepiece/src/normalizer.cc:273,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/sentencepiece/src/normalizer.cc:274,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/normalizer.cc:274,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/normalizer.cc:275,1
    - Dst: sentencepiece::util::Swap32
      Src: /src/sentencepiece/src/normalizer.cc:275,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:278,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:278,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - trie_blob
    - normalized
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 281
    functionName: sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 10
    functionsReached:
    - string_util::EncodePOD<uint32_t>
    - sentencepiece::util::Swap32
    - std::string::data
    - std::string::append
    - sentencepiece::util::is_bigendian
    - absl::string_view::data
    - absl::string_view::size
    - reinterpret_cast<uint32_t*>
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string Normalizer::EncodePrecompiledCharsMap(\n    absl::string_view
      trie_blob, absl::string_view normalized)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:288,1
    - Dst: string_util::DecodePOD<uint32_t>
      Src: /src/sentencepiece/src/normalizer.cc:289,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:290,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:290,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:292,1
    - Dst: sentencepiece::util::is_bigendian
      Src: /src/sentencepiece/src/normalizer.cc:295,1
    - Dst: sentencepiece::util::Swap32
      Src: /src/sentencepiece/src/normalizer.cc:296,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:299,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:300,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:305,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:308,1
    - Dst: sentencepiece::util::is_bigendian
      Src: /src/sentencepiece/src/normalizer.cc:310,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/normalizer.cc:311,1
    - Dst: std::string*::assign
      Src: /src/sentencepiece/src/normalizer.cc:312,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:312,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/sentencepiece/src/normalizer.cc:314,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/normalizer.cc:314,1
    - Dst: std::string*::data
      Src: /src/sentencepiece/src/normalizer.cc:314,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/normalizer.cc:315,1
    - Dst: sentencepiece::util::Swap32
      Src: /src/sentencepiece/src/normalizer.cc:316,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:317,1
    - Dst: std::string*::data
      Src: /src/sentencepiece/src/normalizer.cc:317,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:319,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:319,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:322,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:323,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:323,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:323,1
    - Dst: absl::string_view*::empty
      Src: /src/sentencepiece/src/normalizer.cc:325,1
    - Dst: absl::string_view*::back
      Src: /src/sentencepiece/src/normalizer.cc:325,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:326,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:329,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - blob
    - trie_blob
    - normalized
    - buffer
    argTypes:
    - absl::string_view
    - absl::string_view*
    - absl::string_view*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 330
    functionName: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 8
    functionsReached:
    - absl::string_view::remove_prefix
    - sentencepiece::util::Swap32
    - absl::string_view*::back
    - std::string*::assign
    - string_util::DecodePOD<uint32_t>
    - sentencepiece::util::is_bigendian
    - absl::string_view::data
    - std::string*::size
    - absl::string_view*::empty
    - absl::OkStatus
    - std::string*::data
    - google::protobuf::as_string_view
    - absl::string_view::size
    - reinterpret_cast<uint32_t*>
    - RET_CHECK
    - const_cast<char*>
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Normalizer::DecodePrecompiledCharsMap(\n    absl::string_view
      blob, absl::string_view* trie_blob,\n    absl::string_view* normalized, std::string*
      buffer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/normalizer.cc:333,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/normalizer.cc:336,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:336,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/normalizer.cc:337,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:337,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer.cc:339,1
    - Dst: data
      Src: /src/sentencepiece/src/normalizer.cc:339,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer.cc:340,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:340,1
    - Dst: std::make_unique<Darts::DoubleArray>
      Src: /src/sentencepiece/src/normalizer.cc:342,1
    - Dst: build
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: const_cast<char**>
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: const_cast<size_t*>
      Src: /src/sentencepiece/src/normalizer.cc:344,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer.cc:344,1
    - Dst: LOG
      Src: /src/sentencepiece/src/normalizer.cc:345,1
    - Dst: reset
      Src: /src/sentencepiece/src/normalizer.cc:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' dic'
    argTypes:
    - std::set<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 348
    functionName: sentencepiece::normalizer::PrefixMatcher::PrefixMatcher
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - LOG
    - const_cast<size_t*>
    - reset
    - data
    - empty
    - std::make_unique<Darts::DoubleArray>
    - build
    - std::vector::size
    - std::vector::push_back
    - const_cast<char**>
    - std::vector::data
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: void
    signature: void PrefixMatcher::PrefixMatcher(const std::set<absl::string_view>&
      dic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/normalizer.cc:358,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/normalizer.cc:359,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:359,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:359,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/normalizer.cc:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - w
    - found
    argTypes:
    - absl::string_view
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 373
    functionName: sentencepiece::normalizer::PrefixMatcher::PrefixMatch
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 1
    functionsReached:
    - commonPrefixSearch
    - std::max<int>
    - absl::string_view::data
    - std::min<int>
    - absl::string_view::size
    - sentencepiece::string_util::OneCharLen
    linkageType: ''
    returnType: int
    signature: int PrefixMatcher::PrefixMatch(absl::string_view w, bool* found) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:378,1
    - Dst: sentencepiece::normalizer::PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer.cc:380,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:382,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:382,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:382,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:384,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:384,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - w
    - out
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: sentencepiece::normalizer::PrefixMatcher::GlobalReplace
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - sentencepiece::normalizer::PrefixMatcher::PrefixMatch
    - absl::string_view::remove_prefix
    - std::string::append
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: std::string
    signature: "std::string PrefixMatcher::GlobalReplace(absl::string_view w,\n                                         absl::string_view
      out) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/normalizer.cc:37,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:38,1
    - Dst: sentencepiece::normalizer::Normalizer::Init
      Src: /src/sentencepiece/src/normalizer.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' spec'
    - ' trainer_spec'
    argTypes:
    - NormalizerSpec
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: sentencepiece::normalizer::Normalizer::Normalizer
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Normalizer::Init
    - treat_whitespace_as_suffix
    - absl::OkStatus
    linkageType: ''
    returnType: void
    signature: "void Normalizer::Normalizer(const NormalizerSpec& spec,\n                       const
      TrainerSpec& trainer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:43,1
    - Dst: sentencepiece::normalizer::Normalizer::Init
      Src: /src/sentencepiece/src/normalizer.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' spec'
    argTypes:
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: sentencepiece::normalizer::Normalizer::Normalizer
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Normalizer::Init
    - absl::OkStatus
    linkageType: ''
    returnType: void
    signature: void Normalizer::Normalizer(const NormalizerSpec& spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Normalizer::~Normalizer()
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Normalizer::~Normalizer()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer.cc:50,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:52,1
    - Dst: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer.cc:54,1
    - Dst: ok
      Src: /src/sentencepiece/src/normalizer.cc:57,1
    - Dst: std::make_unique<Darts::DoubleArray>
      Src: /src/sentencepiece/src/normalizer.cc:60,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/src/normalizer.cc:66,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:66,1
    - Dst: set_array
      Src: /src/sentencepiece/src/normalizer.cc:67,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/normalizer.cc:67,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:67,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:68,1
    - Dst: unit_size
      Src: /src/sentencepiece/src/normalizer.cc:68,1
    - Dst: copy_array
      Src: /src/sentencepiece/src/normalizer.cc:70,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/normalizer.cc:70,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:70,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:71,1
    - Dst: validate
      Src: /src/sentencepiece/src/normalizer.cc:74,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:74,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:75,1
    - Dst: reset
      Src: /src/sentencepiece/src/normalizer.cc:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 80
    functionName: sentencepiece::normalizer::Normalizer::Init
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 6
    functionsReached:
    - absl::string_view::empty
    - ok
    - precompiled_charsmap
    - reinterpret_cast<uintptr_t>
    - size
    - absl::InternalError
    - sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
    - reset
    - validate
    - absl::string_view::data
    - std::make_unique<Darts::DoubleArray>
    - set_array
    - reinterpret_cast<const char*>
    - absl::string_view::size
    - unit_size
    - const_cast<char*>
    - copy_array
    linkageType: ''
    returnType: void
    signature: void Normalizer::Init()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<size_t>*::clear
      Src: /src/sentencepiece/src/normalizer.cc:85,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/src/normalizer.cc:86,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:88,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:89,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/normalizer.cc:92,1
    - Dst: sentencepiece::normalizer::Normalizer::status
      Src: /src/sentencepiece/src/normalizer.cc:92,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:97,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:98,1
    - Dst: sentencepiece::normalizer::Normalizer::NormalizePrefix
      Src: /src/sentencepiece/src/normalizer.cc:99,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:103,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:109,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:110,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:114,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/src/normalizer.cc:115,1
    - Dst: std::vector<size_t>*::reserve
      Src: /src/sentencepiece/src/normalizer.cc:116,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:121,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/src/normalizer.cc:125,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:125,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:125,1
    - Dst: std::vector<size_t>*::insert
      Src: /src/sentencepiece/src/normalizer.cc:127,1
    - Dst: std::vector<size_t>*::end
      Src: /src/sentencepiece/src/normalizer.cc:127,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:127,1
    - Dst: add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer.cc:135,1
    - Dst: add_ws
      Src: /src/sentencepiece/src/normalizer.cc:135,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:137,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:138,1
    - Dst: sentencepiece::normalizer::Normalizer::NormalizePrefix
      Src: /src/sentencepiece/src/normalizer.cc:139,1
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/normalizer.cc:144,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:147,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:148,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:149,1
    - Dst: add_ws
      Src: /src/sentencepiece/src/normalizer.cc:151,1
    - Dst: std::vector<size_t>*::push_back
      Src: /src/sentencepiece/src/normalizer.cc:154,1
    - Dst: google::protobuf::strings::EndsWith
      Src: /src/sentencepiece/src/normalizer.cc:158,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:162,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:163,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:169,1
    - Dst: google::protobuf::strings::EndsWith
      Src: /src/sentencepiece/src/normalizer.cc:170,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/normalizer.cc:171,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:171,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/normalizer.cc:172,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/src/normalizer.cc:173,1
    - Dst: std::vector<size_t>*::resize
      Src: /src/sentencepiece/src/normalizer.cc:176,1
    - Dst: add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer.cc:182,1
    - Dst: add_ws
      Src: /src/sentencepiece/src/normalizer.cc:182,1
    - Dst: std::vector<size_t>*::push_back
      Src: /src/sentencepiece/src/normalizer.cc:185,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/normalizer.cc:186,1
    - Dst: std::vector<size_t>*::size
      Src: /src/sentencepiece/src/normalizer.cc:186,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/normalizer.cc:186,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:189,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 3
    argNames:
    - input
    - normalized
    - norm_to_orig
    argTypes:
    - absl::string_view
    - std::string*
    - std::vector<size_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 190
    functionName: sentencepiece::normalizer::Normalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 2
    functionsReached:
    - std::string*::reserve
    - std::vector<size_t>*::size
    - std::string*::append
    - remove_extra_whitespaces
    - sentencepiece::normalizer::Normalizer::status
    - std::vector<size_t>*::push_back
    - std::vector<size_t>*::end
    - add_ws
    - absl::string_view::data
    - std::string*::size
    - RETURN_IF_ERROR
    - absl::string_view::size
    - sentencepiece::normalizer::Normalizer::NormalizePrefix
    - absl::string_view::empty
    - std::string*::resize
    - absl::OkStatus
    - std::vector<size_t>*::reserve
    - std::string*::clear
    - RET_CHECK_EQ
    - absl::ConsumePrefix
    - absl::string_view::remove_prefix
    - google::protobuf::strings::EndsWith
    - escape_whitespaces
    - std::vector<size_t>*::resize
    - std::vector<size_t>*::insert
    - RET_CHECK_GE
    - add_dummy_prefix
    - std::vector<size_t>*::clear
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Normalizer::Normalize(absl::string_view input,\n                                   std::string*
      normalized,\n                                   std::vector<size_t>* norm_to_orig)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: sentencepiece::normalizer::Normalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::normalizer::Normalizer::Normalize
    linkageType: ''
    returnType: std::string
    signature: std::string Normalizer::Normalize(absl::string_view input) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:200,1
    - Dst: PrefixMatch
      Src: /src/sentencepiece/src/normalizer.cc:204,1
    - Dst: absl::string_view::substr
      Src: /src/sentencepiece/src/normalizer.cc:205,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/normalizer.cc:225,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/normalizer.cc:225,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:226,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:227,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:240,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:241,1
    - Dst: sentencepiece::string_util::IsValidDecodeUTF8
      Src: /src/sentencepiece/src/normalizer.cc:243,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:253,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:253,1
    - Dst: data
      Src: /src/sentencepiece/src/normalizer.cc:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 263
    functionName: sentencepiece::normalizer::Normalizer::NormalizePrefix
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 3
    functionsReached:
    - absl::string_view::empty
    - commonPrefixSearch
    - size
    - google::protobuf::as_string_view
    - sentencepiece::string_util::IsValidDecodeUTF8
    - data
    - absl::string_view::data
    - PrefixMatch
    - absl::string_view::size
    - absl::string_view::substr
    - std::min<size_t>
    linkageType: ''
    returnType: std::pair<absl::string_view, int>
    signature: "std::pair<absl::string_view, int> Normalizer::NormalizePrefix(\n    absl::string_view
      input) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:270,1
    - Dst: string_util::EncodePOD<uint32_t>
      Src: /src/sentencepiece/src/normalizer.cc:270,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:270,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:271,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:271,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:271,1
    - Dst: sentencepiece::util::is_bigendian
      Src: /src/sentencepiece/src/normalizer.cc:273,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/sentencepiece/src/normalizer.cc:274,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/normalizer.cc:274,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/normalizer.cc:275,1
    - Dst: sentencepiece::util::Swap32
      Src: /src/sentencepiece/src/normalizer.cc:275,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:278,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:278,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - trie_blob
    - normalized
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 281
    functionName: sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 10
    functionsReached:
    - string_util::EncodePOD<uint32_t>
    - sentencepiece::util::Swap32
    - std::string::data
    - std::string::append
    - sentencepiece::util::is_bigendian
    - absl::string_view::data
    - absl::string_view::size
    - reinterpret_cast<uint32_t*>
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string Normalizer::EncodePrecompiledCharsMap(\n    absl::string_view
      trie_blob, absl::string_view normalized)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:288,1
    - Dst: string_util::DecodePOD<uint32_t>
      Src: /src/sentencepiece/src/normalizer.cc:289,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:290,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:290,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:292,1
    - Dst: sentencepiece::util::is_bigendian
      Src: /src/sentencepiece/src/normalizer.cc:295,1
    - Dst: sentencepiece::util::Swap32
      Src: /src/sentencepiece/src/normalizer.cc:296,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:299,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:300,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:305,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:308,1
    - Dst: sentencepiece::util::is_bigendian
      Src: /src/sentencepiece/src/normalizer.cc:310,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/normalizer.cc:311,1
    - Dst: std::string*::assign
      Src: /src/sentencepiece/src/normalizer.cc:312,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:312,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/sentencepiece/src/normalizer.cc:314,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/normalizer.cc:314,1
    - Dst: std::string*::data
      Src: /src/sentencepiece/src/normalizer.cc:314,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/normalizer.cc:315,1
    - Dst: sentencepiece::util::Swap32
      Src: /src/sentencepiece/src/normalizer.cc:316,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:317,1
    - Dst: std::string*::data
      Src: /src/sentencepiece/src/normalizer.cc:317,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:319,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:319,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:322,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:323,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:323,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:323,1
    - Dst: absl::string_view*::empty
      Src: /src/sentencepiece/src/normalizer.cc:325,1
    - Dst: absl::string_view*::back
      Src: /src/sentencepiece/src/normalizer.cc:325,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:326,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:329,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - blob
    - trie_blob
    - normalized
    - buffer
    argTypes:
    - absl::string_view
    - absl::string_view*
    - absl::string_view*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 330
    functionName: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 9
    functionsReached:
    - absl::string_view::remove_prefix
    - sentencepiece::util::Swap32
    - absl::string_view*::back
    - std::string*::assign
    - string_util::DecodePOD<uint32_t>
    - sentencepiece::util::is_bigendian
    - absl::string_view::data
    - std::string*::size
    - absl::string_view*::empty
    - absl::OkStatus
    - std::string*::data
    - google::protobuf::as_string_view
    - absl::string_view::size
    - reinterpret_cast<uint32_t*>
    - RET_CHECK
    - const_cast<char*>
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Normalizer::DecodePrecompiledCharsMap(\n    absl::string_view
      blob, absl::string_view* trie_blob,\n    absl::string_view* normalized, std::string*
      buffer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/normalizer.cc:333,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/normalizer.cc:336,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:336,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/normalizer.cc:337,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:337,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer.cc:339,1
    - Dst: data
      Src: /src/sentencepiece/src/normalizer.cc:339,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer.cc:340,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:340,1
    - Dst: std::make_unique<Darts::DoubleArray>
      Src: /src/sentencepiece/src/normalizer.cc:342,1
    - Dst: build
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: const_cast<char**>
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: const_cast<size_t*>
      Src: /src/sentencepiece/src/normalizer.cc:344,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer.cc:344,1
    - Dst: LOG
      Src: /src/sentencepiece/src/normalizer.cc:345,1
    - Dst: reset
      Src: /src/sentencepiece/src/normalizer.cc:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' dic'
    argTypes:
    - std::set<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 348
    functionName: sentencepiece::normalizer::PrefixMatcher::PrefixMatcher
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - LOG
    - const_cast<size_t*>
    - reset
    - data
    - empty
    - std::make_unique<Darts::DoubleArray>
    - build
    - std::vector::size
    - std::vector::push_back
    - const_cast<char**>
    - std::vector::data
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: void
    signature: void PrefixMatcher::PrefixMatcher(const std::set<absl::string_view>&
      dic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/normalizer.cc:358,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/normalizer.cc:359,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:359,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:359,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/normalizer.cc:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - w
    - found
    argTypes:
    - absl::string_view
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 373
    functionName: sentencepiece::normalizer::PrefixMatcher::PrefixMatch
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 2
    functionsReached:
    - commonPrefixSearch
    - std::max<int>
    - absl::string_view::data
    - std::min<int>
    - absl::string_view::size
    - sentencepiece::string_util::OneCharLen
    linkageType: ''
    returnType: int
    signature: int PrefixMatcher::PrefixMatch(absl::string_view w, bool* found) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:378,1
    - Dst: sentencepiece::normalizer::PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer.cc:380,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:382,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:382,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:382,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:384,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:384,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - w
    - out
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: sentencepiece::normalizer::PrefixMatcher::GlobalReplace
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - sentencepiece::normalizer::PrefixMatcher::PrefixMatch
    - absl::string_view::remove_prefix
    - std::string::append
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: std::string
    signature: "std::string PrefixMatcher::GlobalReplace(absl::string_view w,\n                                         absl::string_view
      out) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/normalizer.cc:37,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:38,1
    - Dst: sentencepiece::normalizer::Normalizer::Init
      Src: /src/sentencepiece/src/normalizer.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' spec'
    - ' trainer_spec'
    argTypes:
    - NormalizerSpec
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: sentencepiece::normalizer::Normalizer::Normalizer
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Normalizer::Init
    - treat_whitespace_as_suffix
    - absl::OkStatus
    linkageType: ''
    returnType: void
    signature: "void Normalizer::Normalizer(const NormalizerSpec& spec,\n                       const
      TrainerSpec& trainer_spec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:43,1
    - Dst: sentencepiece::normalizer::Normalizer::Init
      Src: /src/sentencepiece/src/normalizer.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' spec'
    argTypes:
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: sentencepiece::normalizer::Normalizer::Normalizer
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::normalizer::Normalizer::Init
    - absl::OkStatus
    linkageType: ''
    returnType: void
    signature: void Normalizer::Normalizer(const NormalizerSpec& spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: Normalizer::~Normalizer()
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Normalizer::~Normalizer()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: precompiled_charsmap
      Src: /src/sentencepiece/src/normalizer.cc:50,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:52,1
    - Dst: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
      Src: /src/sentencepiece/src/normalizer.cc:54,1
    - Dst: ok
      Src: /src/sentencepiece/src/normalizer.cc:57,1
    - Dst: std::make_unique<Darts::DoubleArray>
      Src: /src/sentencepiece/src/normalizer.cc:60,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/src/normalizer.cc:66,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:66,1
    - Dst: set_array
      Src: /src/sentencepiece/src/normalizer.cc:67,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/normalizer.cc:67,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:67,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:68,1
    - Dst: unit_size
      Src: /src/sentencepiece/src/normalizer.cc:68,1
    - Dst: copy_array
      Src: /src/sentencepiece/src/normalizer.cc:70,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/normalizer.cc:70,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:70,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:71,1
    - Dst: validate
      Src: /src/sentencepiece/src/normalizer.cc:74,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:74,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:75,1
    - Dst: reset
      Src: /src/sentencepiece/src/normalizer.cc:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 80
    functionName: sentencepiece::normalizer::Normalizer::Init
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 8
    functionsReached:
    - absl::string_view::empty
    - ok
    - precompiled_charsmap
    - reinterpret_cast<uintptr_t>
    - size
    - absl::InternalError
    - sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
    - reset
    - validate
    - absl::string_view::data
    - std::make_unique<Darts::DoubleArray>
    - set_array
    - reinterpret_cast<const char*>
    - absl::string_view::size
    - unit_size
    - const_cast<char*>
    - copy_array
    linkageType: ''
    returnType: void
    signature: void Normalizer::Init()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<size_t>*::clear
      Src: /src/sentencepiece/src/normalizer.cc:85,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/src/normalizer.cc:86,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:88,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:89,1
    - Dst: RETURN_IF_ERROR
      Src: /src/sentencepiece/src/normalizer.cc:92,1
    - Dst: sentencepiece::normalizer::Normalizer::status
      Src: /src/sentencepiece/src/normalizer.cc:92,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:97,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:98,1
    - Dst: sentencepiece::normalizer::Normalizer::NormalizePrefix
      Src: /src/sentencepiece/src/normalizer.cc:99,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:103,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:109,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:110,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:114,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/src/normalizer.cc:115,1
    - Dst: std::vector<size_t>*::reserve
      Src: /src/sentencepiece/src/normalizer.cc:116,1
    - Dst: escape_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:121,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/src/normalizer.cc:125,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:125,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:125,1
    - Dst: std::vector<size_t>*::insert
      Src: /src/sentencepiece/src/normalizer.cc:127,1
    - Dst: std::vector<size_t>*::end
      Src: /src/sentencepiece/src/normalizer.cc:127,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:127,1
    - Dst: add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer.cc:135,1
    - Dst: add_ws
      Src: /src/sentencepiece/src/normalizer.cc:135,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:137,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:138,1
    - Dst: sentencepiece::normalizer::Normalizer::NormalizePrefix
      Src: /src/sentencepiece/src/normalizer.cc:139,1
    - Dst: absl::ConsumePrefix
      Src: /src/sentencepiece/src/normalizer.cc:144,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:147,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:148,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:149,1
    - Dst: add_ws
      Src: /src/sentencepiece/src/normalizer.cc:151,1
    - Dst: std::vector<size_t>*::push_back
      Src: /src/sentencepiece/src/normalizer.cc:154,1
    - Dst: google::protobuf::strings::EndsWith
      Src: /src/sentencepiece/src/normalizer.cc:158,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:162,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:163,1
    - Dst: remove_extra_whitespaces
      Src: /src/sentencepiece/src/normalizer.cc:169,1
    - Dst: google::protobuf::strings::EndsWith
      Src: /src/sentencepiece/src/normalizer.cc:170,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/normalizer.cc:171,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:171,1
    - Dst: RET_CHECK_GE
      Src: /src/sentencepiece/src/normalizer.cc:172,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/src/normalizer.cc:173,1
    - Dst: std::vector<size_t>*::resize
      Src: /src/sentencepiece/src/normalizer.cc:176,1
    - Dst: add_dummy_prefix
      Src: /src/sentencepiece/src/normalizer.cc:182,1
    - Dst: add_ws
      Src: /src/sentencepiece/src/normalizer.cc:182,1
    - Dst: std::vector<size_t>*::push_back
      Src: /src/sentencepiece/src/normalizer.cc:185,1
    - Dst: RET_CHECK_EQ
      Src: /src/sentencepiece/src/normalizer.cc:186,1
    - Dst: std::vector<size_t>*::size
      Src: /src/sentencepiece/src/normalizer.cc:186,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/normalizer.cc:186,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:189,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 3
    argNames:
    - input
    - normalized
    - norm_to_orig
    argTypes:
    - absl::string_view
    - std::string*
    - std::vector<size_t>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 190
    functionName: sentencepiece::normalizer::Normalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 3
    functionsReached:
    - std::string*::reserve
    - std::vector<size_t>*::size
    - std::string*::append
    - remove_extra_whitespaces
    - sentencepiece::normalizer::Normalizer::status
    - std::vector<size_t>*::push_back
    - std::vector<size_t>*::end
    - add_ws
    - absl::string_view::data
    - std::string*::size
    - RETURN_IF_ERROR
    - absl::string_view::size
    - sentencepiece::normalizer::Normalizer::NormalizePrefix
    - absl::string_view::empty
    - std::string*::resize
    - absl::OkStatus
    - std::vector<size_t>*::reserve
    - std::string*::clear
    - RET_CHECK_EQ
    - absl::ConsumePrefix
    - absl::string_view::remove_prefix
    - google::protobuf::strings::EndsWith
    - escape_whitespaces
    - std::vector<size_t>*::resize
    - std::vector<size_t>*::insert
    - RET_CHECK_GE
    - add_dummy_prefix
    - std::vector<size_t>*::clear
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Normalizer::Normalize(absl::string_view input,\n                                   std::string*
      normalized,\n                                   std::vector<size_t>* norm_to_orig)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::normalizer::Normalizer::Normalize
      Src: /src/sentencepiece/src/normalizer.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: sentencepiece::normalizer::Normalizer::Normalize
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 4
    functionsReached:
    - sentencepiece::normalizer::Normalizer::Normalize
    linkageType: ''
    returnType: std::string
    signature: std::string Normalizer::Normalize(absl::string_view input) const
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:200,1
    - Dst: PrefixMatch
      Src: /src/sentencepiece/src/normalizer.cc:204,1
    - Dst: absl::string_view::substr
      Src: /src/sentencepiece/src/normalizer.cc:205,1
    - Dst: std::min<size_t>
      Src: /src/sentencepiece/src/normalizer.cc:225,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/normalizer.cc:225,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:226,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:227,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:240,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:241,1
    - Dst: sentencepiece::string_util::IsValidDecodeUTF8
      Src: /src/sentencepiece/src/normalizer.cc:243,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:253,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:253,1
    - Dst: data
      Src: /src/sentencepiece/src/normalizer.cc:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 263
    functionName: sentencepiece::normalizer::Normalizer::NormalizePrefix
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 4
    functionsReached:
    - absl::string_view::empty
    - commonPrefixSearch
    - size
    - google::protobuf::as_string_view
    - sentencepiece::string_util::IsValidDecodeUTF8
    - data
    - absl::string_view::data
    - PrefixMatch
    - absl::string_view::size
    - absl::string_view::substr
    - std::min<size_t>
    linkageType: ''
    returnType: std::pair<absl::string_view, int>
    signature: "std::pair<absl::string_view, int> Normalizer::NormalizePrefix(\n    absl::string_view
      input) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:270,1
    - Dst: string_util::EncodePOD<uint32_t>
      Src: /src/sentencepiece/src/normalizer.cc:270,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:270,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:271,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:271,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:271,1
    - Dst: sentencepiece::util::is_bigendian
      Src: /src/sentencepiece/src/normalizer.cc:273,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/sentencepiece/src/normalizer.cc:274,1
    - Dst: std::string::data
      Src: /src/sentencepiece/src/normalizer.cc:274,1
    - Dst: std::string::size
      Src: /src/sentencepiece/src/normalizer.cc:275,1
    - Dst: sentencepiece::util::Swap32
      Src: /src/sentencepiece/src/normalizer.cc:275,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:278,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:278,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - trie_blob
    - normalized
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 281
    functionName: sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 10
    functionsReached:
    - string_util::EncodePOD<uint32_t>
    - sentencepiece::util::Swap32
    - std::string::data
    - std::string::append
    - sentencepiece::util::is_bigendian
    - absl::string_view::data
    - absl::string_view::size
    - reinterpret_cast<uint32_t*>
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string Normalizer::EncodePrecompiledCharsMap(\n    absl::string_view
      trie_blob, absl::string_view normalized)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:288,1
    - Dst: string_util::DecodePOD<uint32_t>
      Src: /src/sentencepiece/src/normalizer.cc:289,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:290,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:290,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:292,1
    - Dst: sentencepiece::util::is_bigendian
      Src: /src/sentencepiece/src/normalizer.cc:295,1
    - Dst: sentencepiece::util::Swap32
      Src: /src/sentencepiece/src/normalizer.cc:296,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:299,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:300,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:305,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:308,1
    - Dst: sentencepiece::util::is_bigendian
      Src: /src/sentencepiece/src/normalizer.cc:310,1
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/normalizer.cc:311,1
    - Dst: std::string*::assign
      Src: /src/sentencepiece/src/normalizer.cc:312,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:312,1
    - Dst: reinterpret_cast<uint32_t*>
      Src: /src/sentencepiece/src/normalizer.cc:314,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/src/normalizer.cc:314,1
    - Dst: std::string*::data
      Src: /src/sentencepiece/src/normalizer.cc:314,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/src/normalizer.cc:315,1
    - Dst: sentencepiece::util::Swap32
      Src: /src/sentencepiece/src/normalizer.cc:316,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:317,1
    - Dst: std::string*::data
      Src: /src/sentencepiece/src/normalizer.cc:317,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:319,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:319,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:322,1
    - Dst: google::protobuf::as_string_view
      Src: /src/sentencepiece/src/normalizer.cc:323,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:323,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:323,1
    - Dst: absl::string_view*::empty
      Src: /src/sentencepiece/src/normalizer.cc:325,1
    - Dst: absl::string_view*::back
      Src: /src/sentencepiece/src/normalizer.cc:325,1
    - Dst: absl::InternalError
      Src: /src/sentencepiece/src/normalizer.cc:326,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/src/normalizer.cc:329,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - blob
    - trie_blob
    - normalized
    - buffer
    argTypes:
    - absl::string_view
    - absl::string_view*
    - absl::string_view*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 330
    functionName: sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 10
    functionsReached:
    - absl::string_view::remove_prefix
    - sentencepiece::util::Swap32
    - absl::string_view*::back
    - std::string*::assign
    - string_util::DecodePOD<uint32_t>
    - sentencepiece::util::is_bigendian
    - absl::string_view::data
    - std::string*::size
    - absl::string_view*::empty
    - absl::OkStatus
    - std::string*::data
    - google::protobuf::as_string_view
    - absl::string_view::size
    - reinterpret_cast<uint32_t*>
    - RET_CHECK
    - const_cast<char*>
    - absl::InternalError
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status Normalizer::DecodePrecompiledCharsMap(\n    absl::string_view
      blob, absl::string_view* trie_blob,\n    absl::string_view* normalized, std::string*
      buffer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/src/normalizer.cc:333,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/normalizer.cc:336,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:336,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/src/normalizer.cc:337,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:337,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer.cc:339,1
    - Dst: data
      Src: /src/sentencepiece/src/normalizer.cc:339,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/src/normalizer.cc:340,1
    - Dst: size
      Src: /src/sentencepiece/src/normalizer.cc:340,1
    - Dst: std::make_unique<Darts::DoubleArray>
      Src: /src/sentencepiece/src/normalizer.cc:342,1
    - Dst: build
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: const_cast<char**>
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer.cc:343,1
    - Dst: const_cast<size_t*>
      Src: /src/sentencepiece/src/normalizer.cc:344,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/src/normalizer.cc:344,1
    - Dst: LOG
      Src: /src/sentencepiece/src/normalizer.cc:345,1
    - Dst: reset
      Src: /src/sentencepiece/src/normalizer.cc:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' dic'
    argTypes:
    - std::set<absl::string_view>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 348
    functionName: sentencepiece::normalizer::PrefixMatcher::PrefixMatcher
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - LOG
    - const_cast<size_t*>
    - reset
    - data
    - empty
    - std::make_unique<Darts::DoubleArray>
    - build
    - std::vector::size
    - std::vector::push_back
    - const_cast<char**>
    - std::vector::data
    - std::vector::reserve
    - size
    linkageType: ''
    returnType: void
    signature: void PrefixMatcher::PrefixMatcher(const std::set<absl::string_view>&
      dic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:353,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/normalizer.cc:358,1
    - Dst: commonPrefixSearch
      Src: /src/sentencepiece/src/normalizer.cc:359,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:359,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:359,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: sentencepiece::string_util::OneCharLen
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:364,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/src/normalizer.cc:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - w
    - found
    argTypes:
    - absl::string_view
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 373
    functionName: sentencepiece::normalizer::PrefixMatcher::PrefixMatch
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 3
    functionsReached:
    - commonPrefixSearch
    - std::max<int>
    - absl::string_view::data
    - std::min<int>
    - absl::string_view::size
    - sentencepiece::string_util::OneCharLen
    linkageType: ''
    returnType: int
    signature: int PrefixMatcher::PrefixMatch(absl::string_view w, bool* found) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/src/normalizer.cc:378,1
    - Dst: sentencepiece::normalizer::PrefixMatcher::PrefixMatch
      Src: /src/sentencepiece/src/normalizer.cc:380,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:382,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:382,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/src/normalizer.cc:382,1
    - Dst: std::string::append
      Src: /src/sentencepiece/src/normalizer.cc:384,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/src/normalizer.cc:384,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/src/normalizer.cc:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - w
    - out
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: sentencepiece::normalizer::PrefixMatcher::GlobalReplace
    functionSourceFile: /src/sentencepiece/src/normalizer.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - sentencepiece::normalizer::PrefixMatcher::PrefixMatch
    - absl::string_view::remove_prefix
    - std::string::append
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: std::string
    signature: "std::string PrefixMatcher::GlobalReplace(absl::string_view w,\n                                         absl::string_view
      out) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: PARSE_STRING
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_STRING(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: PARSE_REPEATED_STRING
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_REPEATED_STRING(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: PARSE_BYTE
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_BYTE(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: PARSE_INT32
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_INT32(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: PARSE_UINT64
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_UINT64(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: PARSE_DOUBLE
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_DOUBLE(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: PARSE_BOOL
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_BOOL(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param_name
    - ','
    - map_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: PARSE_ENUM
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_ENUM(param_name, map_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: PRINT_PARAM
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_PARAM(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: PRINT_REPEATED_STRING
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_REPEATED_STRING(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param_name
    - ','
    - map_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: PRINT_ENUM
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_ENUM(param_name, map_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRINT_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:123,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:124,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:125,1
    - Dst: PRINT_ENUM
      Src: /src/sentencepiece/src/spec_parser.h:134,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:135,1
    - Dst: PRINT_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:136,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:137,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:138,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:139,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:140,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:141,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:142,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:143,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:144,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:145,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:146,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:147,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:148,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:149,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:150,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:151,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:152,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:153,1
    - Dst: PRINT_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:154,1
    - Dst: PRINT_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:155,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:156,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:157,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:158,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:159,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:160,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:161,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:162,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:163,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:164,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:165,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:166,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:167,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:168,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:169,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:170,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:171,1
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/src/spec_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 2
    argNames:
    - ' message'
    - name
    argTypes:
    - TrainerSpec
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 176
    functionName: sentencepiece::PrintProto
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - PRINT_REPEATED_STRING
    - PRINT_PARAM
    - PRINT_ENUM
    linkageType: ''
    returnType: std::string
    signature: "std::string PrintProto(const TrainerSpec& message,\n                              absl::string_view
      name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:184,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:185,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:186,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:187,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:188,1
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/src/spec_parser.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' message'
    - name
    argTypes:
    - NormalizerSpec
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: sentencepiece::PrintProto
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached:
    - PRINT_PARAM
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: "std::string PrintProto(const NormalizerSpec& message,\n                              absl::string_view
      name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/spec_parser.h:198,1
    - Dst: PARSE_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:200,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:201,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:202,1
    - Dst: PARSE_ENUM
      Src: /src/sentencepiece/src/spec_parser.h:211,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:212,1
    - Dst: PARSE_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:213,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:214,1
    - Dst: PARSE_DOUBLE
      Src: /src/sentencepiece/src/spec_parser.h:215,1
    - Dst: PARSE_UINT64
      Src: /src/sentencepiece/src/spec_parser.h:216,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:217,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:218,1
    - Dst: PARSE_DOUBLE
      Src: /src/sentencepiece/src/spec_parser.h:219,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:220,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:221,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:222,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:223,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:224,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:225,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:226,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:227,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:228,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:229,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:230,1
    - Dst: PARSE_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:231,1
    - Dst: PARSE_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:232,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:233,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:234,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:235,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:236,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:237,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:238,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:239,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:240,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:241,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:242,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:243,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:244,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:245,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:246,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:247,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:248,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/spec_parser.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 3
    argNames:
    - name
    - value
    - message
    argTypes:
    - absl::string_view
    - absl::string_view
    - TrainerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 252
    functionName: sentencepiece::SentencePieceTrainer::SetProtoField
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 18
    functionsReached:
    - PARSE_DOUBLE
    - PARSE_REPEATED_STRING
    - PARSE_STRING
    - PARSE_UINT64
    - PARSE_INT32
    - PARSE_BOOL
    - absl::StatusBuilder
    - PARSE_ENUM
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::SetProtoField(absl::string_view
      name,\n                                                 absl::string_view value,\n
      \                                                TrainerSpec* message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/spec_parser.h:257,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:259,1
    - Dst: PARSE_BYTE
      Src: /src/sentencepiece/src/spec_parser.h:260,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:261,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:262,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:263,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:264,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/spec_parser.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - name
    - value
    - message
    argTypes:
    - absl::string_view
    - absl::string_view
    - NormalizerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 268
    functionName: sentencepiece::SentencePieceTrainer::SetProtoField
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 18
    functionsReached:
    - PARSE_STRING
    - PARSE_BOOL
    - absl::StatusBuilder
    - PARSE_BYTE
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::SetProtoField(absl::string_view
      name,\n                                                 absl::string_view value,\n
      \                                                NormalizerSpec* message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: PARSE_STRING
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_STRING(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: PARSE_REPEATED_STRING
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_REPEATED_STRING(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: PARSE_BYTE
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_BYTE(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: PARSE_INT32
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_INT32(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: PARSE_UINT64
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_UINT64(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: PARSE_DOUBLE
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_DOUBLE(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: PARSE_BOOL
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_BOOL(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param_name
    - ','
    - map_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: PARSE_ENUM
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_ENUM(param_name, map_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: PRINT_PARAM
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_PARAM(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: PRINT_REPEATED_STRING
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_REPEATED_STRING(param_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - param_name
    - ','
    - map_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: PRINT_ENUM
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_ENUM(param_name, map_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRINT_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:123,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:124,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:125,1
    - Dst: PRINT_ENUM
      Src: /src/sentencepiece/src/spec_parser.h:134,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:135,1
    - Dst: PRINT_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:136,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:137,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:138,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:139,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:140,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:141,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:142,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:143,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:144,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:145,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:146,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:147,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:148,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:149,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:150,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:151,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:152,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:153,1
    - Dst: PRINT_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:154,1
    - Dst: PRINT_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:155,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:156,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:157,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:158,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:159,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:160,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:161,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:162,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:163,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:164,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:165,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:166,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:167,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:168,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:169,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:170,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:171,1
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/src/spec_parser.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 2
    argNames:
    - ' message'
    - name
    argTypes:
    - TrainerSpec
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 176
    functionName: sentencepiece::PrintProto
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    - PRINT_REPEATED_STRING
    - PRINT_PARAM
    - PRINT_ENUM
    linkageType: ''
    returnType: std::string
    signature: "std::string PrintProto(const TrainerSpec& message,\n                              absl::string_view
      name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:184,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:185,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:186,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:187,1
    - Dst: PRINT_PARAM
      Src: /src/sentencepiece/src/spec_parser.h:188,1
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/src/spec_parser.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ' message'
    - name
    argTypes:
    - NormalizerSpec
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: sentencepiece::PrintProto
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 0
    functionsReached:
    - PRINT_PARAM
    - std::ostringstream::str
    linkageType: ''
    returnType: std::string
    signature: "std::string PrintProto(const NormalizerSpec& message,\n                              absl::string_view
      name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/spec_parser.h:198,1
    - Dst: PARSE_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:200,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:201,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:202,1
    - Dst: PARSE_ENUM
      Src: /src/sentencepiece/src/spec_parser.h:211,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:212,1
    - Dst: PARSE_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:213,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:214,1
    - Dst: PARSE_DOUBLE
      Src: /src/sentencepiece/src/spec_parser.h:215,1
    - Dst: PARSE_UINT64
      Src: /src/sentencepiece/src/spec_parser.h:216,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:217,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:218,1
    - Dst: PARSE_DOUBLE
      Src: /src/sentencepiece/src/spec_parser.h:219,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:220,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:221,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:222,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:223,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:224,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:225,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:226,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:227,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:228,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:229,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:230,1
    - Dst: PARSE_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:231,1
    - Dst: PARSE_REPEATED_STRING
      Src: /src/sentencepiece/src/spec_parser.h:232,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:233,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:234,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:235,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:236,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:237,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:238,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:239,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:240,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:241,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:242,1
    - Dst: PARSE_INT32
      Src: /src/sentencepiece/src/spec_parser.h:243,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:244,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:245,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:246,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:247,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:248,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/spec_parser.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 3
    argNames:
    - name
    - value
    - message
    argTypes:
    - absl::string_view
    - absl::string_view
    - TrainerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 252
    functionName: sentencepiece::SentencePieceTrainer::SetProtoField
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 18
    functionsReached:
    - PARSE_DOUBLE
    - PARSE_REPEATED_STRING
    - PARSE_STRING
    - PARSE_UINT64
    - PARSE_INT32
    - PARSE_BOOL
    - absl::StatusBuilder
    - PARSE_ENUM
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::SetProtoField(absl::string_view
      name,\n                                                 absl::string_view value,\n
      \                                                TrainerSpec* message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RET_CHECK
      Src: /src/sentencepiece/src/spec_parser.h:257,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:259,1
    - Dst: PARSE_BYTE
      Src: /src/sentencepiece/src/spec_parser.h:260,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:261,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:262,1
    - Dst: PARSE_BOOL
      Src: /src/sentencepiece/src/spec_parser.h:263,1
    - Dst: PARSE_STRING
      Src: /src/sentencepiece/src/spec_parser.h:264,1
    - Dst: absl::StatusBuilder
      Src: /src/sentencepiece/src/spec_parser.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - name
    - value
    - message
    argTypes:
    - absl::string_view
    - absl::string_view
    - NormalizerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 268
    functionName: sentencepiece::SentencePieceTrainer::SetProtoField
    functionSourceFile: /src/sentencepiece/src/spec_parser.h
    functionUses: 18
    functionsReached:
    - PARSE_STRING
    - PARSE_BOOL
    - absl::StatusBuilder
    - PARSE_BYTE
    - RET_CHECK
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status SentencePieceTrainer::SetProtoField(absl::string_view
      name,\n                                                 absl::string_view value,\n
      \                                                NormalizerSpec* message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: namespace
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_NAMESPACE_OPEN
    signature: PROTOBUF_NAMESPACE_OPEN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: TableStruct_sentencepiece_2eproto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_NAMESPACE_CLOSE
    signature: PROTOBUF_NAMESPACE_CLOSE TableStruct_sentencepiece_2eproto
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:82,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:86,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:90,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:90,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:91,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:93,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:99,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:102,1
    - Dst: reinterpret_cast<const SentencePieceText_SentencePiece*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:108,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:115,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:119,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:119,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:120,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:122,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:127,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:127,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:127,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:128,1
    - Dst: CreateMaybeMessage<SentencePieceText_SentencePiece>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:134,1
    - Dst: CreateMaybeMessage<SentencePieceText_SentencePiece>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:138,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:152,1
    - Dst: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:262,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:292,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:296,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:300,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:300,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:301,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:303,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:309,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:312,1
    - Dst: reinterpret_cast<const SentencePieceText*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:318,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:325,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:329,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:329,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:330,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:332,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:337,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:337,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:337,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:338,1
    - Dst: CreateMaybeMessage<SentencePieceText>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:344,1
    - Dst: CreateMaybeMessage<SentencePieceText>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:348,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::CachedSize::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:362,1
    - Dst: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:444,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:472,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:476,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:480,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:480,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:481,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:483,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:489,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:492,1
    - Dst: reinterpret_cast<const NBestSentencePieceText*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:498,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:505,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:509,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:509,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:510,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:512,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:517,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:517,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:517,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:518,1
    - Dst: CreateMaybeMessage<NBestSentencePieceText>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:524,1
    - Dst: CreateMaybeMessage<NBestSentencePieceText>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:528,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::CachedSize::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:542,1
    - Dst: _internal_has_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:615,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:618,1
    - Dst: _internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:623,1
    - Dst: _internal_set_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:626,1
    - Dst: _internal_mutable_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:631,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:634,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:638,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:638,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:642,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:643,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:643,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:647,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:649,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:649,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:649,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:655,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:655,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:656,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:656,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:661,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:661,1
    - Dst: _internal_has_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:665,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:669,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:669,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:669,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:677,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:677,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:678,1
    - Dst: _internal_has_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:688,1
    - Dst: _internal_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:699,1
    - Dst: _internal_set_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:706,1
    - Dst: _internal_has_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:716,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:719,1
    - Dst: _internal_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:724,1
    - Dst: _internal_set_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:727,1
    - Dst: _internal_mutable_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:732,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:735,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:739,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:739,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:743,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:744,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:744,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:748,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:750,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:750,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:750,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:756,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:756,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:757,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:757,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:762,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:762,1
    - Dst: _internal_has_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:766,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:770,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:770,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:770,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:778,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:778,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:779,1
    - Dst: _internal_has_begin
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:789,1
    - Dst: _internal_begin
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:800,1
    - Dst: _internal_set_begin
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:807,1
    - Dst: _internal_has_end
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:817,1
    - Dst: _internal_end
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:828,1
    - Dst: _internal_set_end
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:835,1
    - Dst: _internal_has_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:849,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:852,1
    - Dst: _internal_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:857,1
    - Dst: _internal_set_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:860,1
    - Dst: _internal_mutable_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:865,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:868,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:872,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:872,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:876,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:877,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:877,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:881,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:883,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:883,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:883,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:889,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:889,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:890,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:890,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:895,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:895,1
    - Dst: _internal_has_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:899,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:903,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:903,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:903,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:911,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:911,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:912,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText_SentencePiece
        >::size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:918,1
    - Dst: _internal_pieces_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:921,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText_SentencePiece
        >::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:924,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText_SentencePiece
        >::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:928,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText_SentencePiece
        >::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:936,1
    - Dst: _internal_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:940,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText_SentencePiece
        >::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:943,1
    - Dst: _internal_add_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:947,1
    - Dst: _internal_has_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:961,1
    - Dst: _internal_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:972,1
    - Dst: _internal_set_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:979,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText
        >::size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:989,1
    - Dst: _internal_nbests_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:992,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText
        >::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:995,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText
        >::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:999,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText
        >::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:1007,1
    - Dst: _internal_nbests
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:1011,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText
        >::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:1014,1
    - Dst: _internal_add_nbests
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:1018,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 479
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 1036
    functionName: sentencepiece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText
      >::Get
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText_SentencePiece
      >::Mutable
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText_SentencePiece
      >::Clear
    - _internal_id
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText_SentencePiece
      >::Add
    - _internal_end
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText
      >::Mutable
    - unknown_fields
    - _internal_has_text
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText
      >::Clear
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText
      >::Add
    - _internal_mutable_surface
    - ::std::move
    - ::PROTOBUF_NAMESPACE_ID::internal::CachedSize::Get
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText_SentencePiece
      >::size
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText_SentencePiece
      >::Get
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
    - mutable_unknown_fields
    - Swap
    - _internal_has_id
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - _internal_set_end
    - CopyFrom
    - _internal_has_piece
    - _internal_set_text
    - _internal_set_piece
    - _internal_nbests_size
    - Get
    - _internal_mutable_piece
    - _internal_set_surface
    - reinterpret_cast<const NBestSentencePieceText*>
    - GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
    - _internal_set_score
    - CreateMaybeMessage<SentencePieceText>
    - _internal_has_score
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
    - google::protobuf::GlobalReplaceSubstring
    - _internal_begin
    - _internal_add_nbests
    - _internal_text
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText
      >::size
    - reinterpret_cast<const SentencePieceText*>
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
    - reinterpret_cast<const char*>
    - _internal_add_pieces
    - _internal_has_surface
    - _internal_has_end
    - google::protobuf::internal::GenericSwap
    - GOOGLE_DCHECK
    - CreateMaybeMessage<NBestSentencePieceText>
    - _internal_nbests
    - _internal_mutable_text
    - CreateMaybeMessage<SentencePieceText_SentencePiece>
    - _internal_has_begin
    - InternalSwap
    - reinterpret_cast<const SentencePieceText_SentencePiece*>
    - _internal_piece
    - _internal_set_begin
    - _internal_pieces_size
    - _internal_pieces
    - GetArena
    - _internal_surface
    - _internal_set_id
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
    - _internal_score
    linkageType: ''
    returnType: PROTOBUF_NAMESPACE_CLOSE
    signature: PROTOBUF_NAMESPACE_CLOSE sentencepiece
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:82,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:86,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:90,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:90,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:91,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:93,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:99,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:102,1
    - Dst: reinterpret_cast<const SentencePieceText_SentencePiece*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:108,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:115,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:119,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:119,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:120,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:122,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:127,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:127,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:127,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:128,1
    - Dst: CreateMaybeMessage<SentencePieceText_SentencePiece>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:134,1
    - Dst: CreateMaybeMessage<SentencePieceText_SentencePiece>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:138,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:152,1
    - Dst: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 280
    functionName: ::PROTOBUF_NAMESPACE_ID::MessageLite
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - google::protobuf::internal::GenericSwap
    - Swap
    - GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
    - GOOGLE_DCHECK
    - ::std::move
    - CopyFrom
    - unknown_fields
    - CreateMaybeMessage<SentencePieceText_SentencePiece>
    - InternalSwap
    - reinterpret_cast<const SentencePieceText_SentencePiece*>
    - GetArena
    - Get
    linkageType: ''
    returnType: class SentencePieceText_SentencePiece
    signature: class SentencePieceText_SentencePiece ::PROTOBUF_NAMESPACE_ID::MessageLite
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: SentencePieceText_SentencePiece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece(SentencePieceText_SentencePiece&&
      from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: '& operator=(const SentencePieceText_SentencePiece& from)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: SentencePieceText_SentencePiece
    signature: SentencePieceText_SentencePiece & operator=(const SentencePieceText_SentencePiece&
      from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:90,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:90,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:91,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: '& operator=(SentencePieceText_SentencePiece&& from) noexcept'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: SentencePieceText_SentencePiece
    signature: SentencePieceText_SentencePiece & operator=(SentencePieceText_SentencePiece&&
      from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 3
    functionsReached:
    - unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string & unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 3
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string * mutable_unknown_fields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const SentencePieceText_SentencePiece*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: internal_default_instance
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const SentencePieceText_SentencePiece*>
    linkageType: ''
    returnType: SentencePieceText_SentencePiece
    signature: SentencePieceText_SentencePiece * internal_default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SentencePieceText_SentencePiece
    - SentencePieceText_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 10
    functionsReached:
    - Swap
    linkageType: ''
    returnType: friend
    signature: friend swap(SentencePieceText_SentencePiece& a, SentencePieceText_SentencePiece&
      b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:119,1
    - Dst: SentencePieceText_SentencePiece*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:119,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:120,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - SentencePieceText_SentencePiece*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: Swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::GenericSwap
    - SentencePieceText_SentencePiece*::GetArena
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void Swap(SentencePieceText_SentencePiece* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:127,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:127,1
    - Dst: SentencePieceText_SentencePiece*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:127,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - SentencePieceText_SentencePiece*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece*::GetArena
    - GOOGLE_DCHECK
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void UnsafeArenaSwap(SentencePieceText_SentencePiece* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<SentencePieceText_SentencePiece>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<SentencePieceText_SentencePiece>
    linkageType: ''
    returnType: SentencePieceText_SentencePiece
    signature: SentencePieceText_SentencePiece * New() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<SentencePieceText_SentencePiece>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<SentencePieceText_SentencePiece>
    linkageType: ''
    returnType: SentencePieceText_SentencePiece
    signature: SentencePieceText_SentencePiece * New(::PROTOBUF_NAMESPACE_ID::Arena*
      arena) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: GetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: FullMessageName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::StringPiece
    signature: ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:292,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:296,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:300,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:300,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:301,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:303,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:309,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:312,1
    - Dst: reinterpret_cast<const SentencePieceText*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:318,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:325,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:329,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:329,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:330,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:332,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:337,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:337,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:337,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:338,1
    - Dst: CreateMaybeMessage<SentencePieceText>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:344,1
    - Dst: CreateMaybeMessage<SentencePieceText>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:348,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:362,1
    - Dst: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:444,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 460
    functionName: ::PROTOBUF_NAMESPACE_ID::MessageLite
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - google::protobuf::internal::GenericSwap
    - Swap
    - CreateMaybeMessage<SentencePieceText>
    - GOOGLE_DCHECK
    - GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
    - ::std::move
    - CopyFrom
    - unknown_fields
    - InternalSwap
    - GetArena
    - reinterpret_cast<const SentencePieceText*>
    - Get
    linkageType: ''
    returnType: class SentencePieceText
    signature: class SentencePieceText ::PROTOBUF_NAMESPACE_ID::MessageLite
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: SentencePieceText
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 9
    functionsReached:
    - ::std::move
    linkageType: ''
    returnType: void
    signature: void SentencePieceText(SentencePieceText&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: '& operator=(const SentencePieceText& from)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: SentencePieceText
    signature: SentencePieceText & operator=(const SentencePieceText& from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:300,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:300,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:301,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: '& operator=(SentencePieceText&& from) noexcept'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: SentencePieceText
    signature: SentencePieceText & operator=(SentencePieceText&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 6
    functionsReached:
    - unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string & unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 5
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string * mutable_unknown_fields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const SentencePieceText*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: internal_default_instance
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const SentencePieceText*>
    linkageType: ''
    returnType: SentencePieceText
    signature: SentencePieceText * internal_default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SentencePieceText
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 10
    functionsReached:
    - Swap
    linkageType: ''
    returnType: friend
    signature: friend swap(SentencePieceText& a, SentencePieceText& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:329,1
    - Dst: SentencePieceText*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:329,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:330,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: Swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::GenericSwap
    - InternalSwap
    - SentencePieceText*::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: void Swap(SentencePieceText* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:337,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:337,1
    - Dst: SentencePieceText*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:337,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 339
    functionName: UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - InternalSwap
    - GOOGLE_DCHECK
    - SentencePieceText*::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: void UnsafeArenaSwap(SentencePieceText* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<SentencePieceText>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<SentencePieceText>
    linkageType: ''
    returnType: SentencePieceText
    signature: SentencePieceText * New() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<SentencePieceText>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<SentencePieceText>
    linkageType: ''
    returnType: SentencePieceText
    signature: SentencePieceText * New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const
      final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: GetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: FullMessageName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::StringPiece
    signature: ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:472,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:476,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:480,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:480,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:481,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:483,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:489,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:492,1
    - Dst: reinterpret_cast<const NBestSentencePieceText*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:498,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:505,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:509,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:509,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:510,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:512,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:517,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:517,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:517,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:518,1
    - Dst: CreateMaybeMessage<NBestSentencePieceText>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:524,1
    - Dst: CreateMaybeMessage<NBestSentencePieceText>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:528,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:542,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 597
    functionName: ::PROTOBUF_NAMESPACE_ID::MessageLite
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - google::protobuf::internal::GenericSwap
    - Swap
    - GOOGLE_DCHECK
    - CreateMaybeMessage<NBestSentencePieceText>
    - ::std::move
    - CopyFrom
    - unknown_fields
    - InternalSwap
    - GetArena
    - Get
    - reinterpret_cast<const NBestSentencePieceText*>
    linkageType: ''
    returnType: class NBestSentencePieceText
    signature: class NBestSentencePieceText ::PROTOBUF_NAMESPACE_ID::MessageLite
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NBestSentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: NBestSentencePieceText
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText(NBestSentencePieceText&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NBestSentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: '& operator=(const NBestSentencePieceText& from)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: NBestSentencePieceText
    signature: NBestSentencePieceText & operator=(const NBestSentencePieceText& from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:480,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:480,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:481,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NBestSentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 486
    functionName: '& operator=(NBestSentencePieceText&& from) noexcept'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: NBestSentencePieceText
    signature: NBestSentencePieceText & operator=(NBestSentencePieceText&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 9
    functionsReached:
    - unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string & unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 7
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string * mutable_unknown_fields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const NBestSentencePieceText*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: internal_default_instance
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const NBestSentencePieceText*>
    linkageType: ''
    returnType: NBestSentencePieceText
    signature: NBestSentencePieceText * internal_default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NBestSentencePieceText
    - NBestSentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionName: swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 10
    functionsReached:
    - Swap
    linkageType: ''
    returnType: friend
    signature: friend swap(NBestSentencePieceText& a, NBestSentencePieceText& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:509,1
    - Dst: NBestSentencePieceText*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:509,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:510,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - NBestSentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 514
    functionName: Swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 15
    functionsReached:
    - NBestSentencePieceText*::GetArena
    - google::protobuf::internal::GenericSwap
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void Swap(NBestSentencePieceText* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:517,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:517,1
    - Dst: NBestSentencePieceText*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:517,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - NBestSentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - NBestSentencePieceText*::GetArena
    - GOOGLE_DCHECK
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void UnsafeArenaSwap(NBestSentencePieceText* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<NBestSentencePieceText>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<NBestSentencePieceText>
    linkageType: ''
    returnType: NBestSentencePieceText
    signature: NBestSentencePieceText * New() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<NBestSentencePieceText>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<NBestSentencePieceText>
    linkageType: ''
    returnType: NBestSentencePieceText
    signature: NBestSentencePieceText * New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
      const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 542
    functionName: GetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 552
    functionName: FullMessageName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::StringPiece
    signature: ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: SentencePieceText_SentencePiece::_internal_has_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText_SentencePiece::_internal_has_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_has_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 616
    functionName: SentencePieceText_SentencePiece::has_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_has_piece
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText_SentencePiece::has_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 620
    functionName: SentencePieceText_SentencePiece::clear_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - ClearToEmpty
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::clear_piece()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: '& SentencePieceText_SentencePiece::piece() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - _internal_piece
    linkageType: ''
    returnType: std::string
    signature: std::string & SentencePieceText_SentencePiece::piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_set_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 628
    functionName: SentencePieceText_SentencePiece::set_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_set_piece
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::set_piece(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_mutable_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: SentencePieceText_SentencePiece::mutable_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_mutable_piece
    linkageType: ''
    returnType: std::string
    signature: std::string * SentencePieceText_SentencePiece::mutable_piece()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 635
    functionName: '& SentencePieceText_SentencePiece::_internal_piece() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & SentencePieceText_SentencePiece::_internal_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:638,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 639
    functionName: SentencePieceText_SentencePiece::_internal_set_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::_internal_set_piece(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:642,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:643,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 645
    functionName: SentencePieceText_SentencePiece::set_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::set_piece(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:647,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:649,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:649,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 651
    functionName: SentencePieceText_SentencePiece::set_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::set_piece(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:655,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:655,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:656,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 658
    functionName: SentencePieceText_SentencePiece::set_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void SentencePieceText_SentencePiece::set_piece(const char* value,\n
      \   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:661,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 662
    functionName: SentencePieceText_SentencePiece::_internal_mutable_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * SentencePieceText_SentencePiece::_internal_mutable_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_has_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:665,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:669,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:669,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: SentencePieceText_SentencePiece::release_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SentencePieceText_SentencePiece::_internal_has_piece
    - ReleaseNonDefault
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * SentencePieceText_SentencePiece::release_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:677,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:677,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - piece
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 680
    functionName: SentencePieceText_SentencePiece::set_allocated_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::set_allocated_piece(std::string*
      piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: SentencePieceText_SentencePiece::_internal_has_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText_SentencePiece::_internal_has_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_has_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 689
    functionName: SentencePieceText_SentencePiece::has_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_has_id
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText_SentencePiece::has_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 693
    functionName: SentencePieceText_SentencePiece::clear_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::clear_id()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 696
    functionName: SentencePieceText_SentencePiece::_internal_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint32
    signature: ::PROTOBUF_NAMESPACE_ID::uint32 SentencePieceText_SentencePiece::_internal_id()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 700
    functionName: SentencePieceText_SentencePiece::id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_id
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint32
    signature: ::PROTOBUF_NAMESPACE_ID::uint32 SentencePieceText_SentencePiece::id()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 704
    functionName: SentencePieceText_SentencePiece::_internal_set_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::_internal_set_id(::PROTOBUF_NAMESPACE_ID::uint32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_set_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 708
    functionName: SentencePieceText_SentencePiece::set_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_set_id
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::set_id(::PROTOBUF_NAMESPACE_ID::uint32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 714
    functionName: SentencePieceText_SentencePiece::_internal_has_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText_SentencePiece::_internal_has_surface() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_has_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 717
    functionName: SentencePieceText_SentencePiece::has_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_has_surface
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText_SentencePiece::has_surface() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 721
    functionName: SentencePieceText_SentencePiece::clear_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - ClearToEmpty
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::clear_surface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: '& SentencePieceText_SentencePiece::surface() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - _internal_surface
    linkageType: ''
    returnType: std::string
    signature: std::string & SentencePieceText_SentencePiece::surface() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_set_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: SentencePieceText_SentencePiece::set_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_set_surface
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::set_surface(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_mutable_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 733
    functionName: SentencePieceText_SentencePiece::mutable_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_mutable_surface
    linkageType: ''
    returnType: std::string
    signature: std::string * SentencePieceText_SentencePiece::mutable_surface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 736
    functionName: '& SentencePieceText_SentencePiece::_internal_surface() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & SentencePieceText_SentencePiece::_internal_surface()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:739,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: SentencePieceText_SentencePiece::_internal_set_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::_internal_set_surface(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:743,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:744,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 746
    functionName: SentencePieceText_SentencePiece::set_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::set_surface(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:748,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:750,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:750,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 752
    functionName: SentencePieceText_SentencePiece::set_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::set_surface(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:756,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:756,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:757,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 759
    functionName: SentencePieceText_SentencePiece::set_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void SentencePieceText_SentencePiece::set_surface(const char* value,\n
      \   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:762,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: SentencePieceText_SentencePiece::_internal_mutable_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * SentencePieceText_SentencePiece::_internal_mutable_surface()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_has_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:766,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:770,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:770,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 771
    functionName: SentencePieceText_SentencePiece::release_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - GetArena
    - ReleaseNonDefault
    - SentencePieceText_SentencePiece::_internal_has_surface
    linkageType: ''
    returnType: std::string
    signature: std::string * SentencePieceText_SentencePiece::release_surface()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:778,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:778,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - surface
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 781
    functionName: SentencePieceText_SentencePiece::set_allocated_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::set_allocated_surface(std::string*
      surface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: SentencePieceText_SentencePiece::_internal_has_begin
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText_SentencePiece::_internal_has_begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_has_begin
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 790
    functionName: SentencePieceText_SentencePiece::has_begin
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_has_begin
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText_SentencePiece::has_begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 794
    functionName: SentencePieceText_SentencePiece::clear_begin
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::clear_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 797
    functionName: SentencePieceText_SentencePiece::_internal_begin
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint32
    signature: ::PROTOBUF_NAMESPACE_ID::uint32 SentencePieceText_SentencePiece::_internal_begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_begin
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 801
    functionName: SentencePieceText_SentencePiece::begin
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_begin
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint32
    signature: ::PROTOBUF_NAMESPACE_ID::uint32 SentencePieceText_SentencePiece::begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: SentencePieceText_SentencePiece::_internal_set_begin
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::_internal_set_begin(::PROTOBUF_NAMESPACE_ID::uint32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_set_begin
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 809
    functionName: SentencePieceText_SentencePiece::set_begin
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_set_begin
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::set_begin(::PROTOBUF_NAMESPACE_ID::uint32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 815
    functionName: SentencePieceText_SentencePiece::_internal_has_end
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText_SentencePiece::_internal_has_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_has_end
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: SentencePieceText_SentencePiece::has_end
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_has_end
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText_SentencePiece::has_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 822
    functionName: SentencePieceText_SentencePiece::clear_end
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::clear_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 825
    functionName: SentencePieceText_SentencePiece::_internal_end
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint32
    signature: ::PROTOBUF_NAMESPACE_ID::uint32 SentencePieceText_SentencePiece::_internal_end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_end
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: SentencePieceText_SentencePiece::end
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_end
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint32
    signature: ::PROTOBUF_NAMESPACE_ID::uint32 SentencePieceText_SentencePiece::end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: SentencePieceText_SentencePiece::_internal_set_end
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::_internal_set_end(::PROTOBUF_NAMESPACE_ID::uint32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText_SentencePiece::_internal_set_end
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 837
    functionName: SentencePieceText_SentencePiece::set_end
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText_SentencePiece::_internal_set_end
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::set_end(::PROTOBUF_NAMESPACE_ID::uint32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 847
    functionName: SentencePieceText::_internal_has_text
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText::_internal_has_text() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText::_internal_has_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 850
    functionName: SentencePieceText::has_text
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText::_internal_has_text
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText::has_text() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 854
    functionName: SentencePieceText::clear_text
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - ClearToEmpty
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::clear_text()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: '& SentencePieceText::text() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - _internal_text
    linkageType: ''
    returnType: std::string
    signature: std::string & SentencePieceText::text() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText::_internal_set_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 862
    functionName: SentencePieceText::set_text
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 4
    functionsReached:
    - SentencePieceText::_internal_set_text
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::set_text(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText::_internal_mutable_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 866
    functionName: SentencePieceText::mutable_text
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText::_internal_mutable_text
    linkageType: ''
    returnType: std::string
    signature: std::string * SentencePieceText::mutable_text()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 869
    functionName: '& SentencePieceText::_internal_text() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & SentencePieceText::_internal_text() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:872,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 873
    functionName: SentencePieceText::_internal_set_text
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::_internal_set_text(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:876,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:877,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 879
    functionName: SentencePieceText::set_text
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 4
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::set_text(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:881,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:883,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:883,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 885
    functionName: SentencePieceText::set_text
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 4
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::set_text(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:889,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:889,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:890,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 892
    functionName: SentencePieceText::set_text
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void SentencePieceText::set_text(const char* value,\n    size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:895,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 896
    functionName: SentencePieceText::_internal_mutable_text
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * SentencePieceText::_internal_mutable_text()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText::_internal_has_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:899,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:903,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:903,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 904
    functionName: SentencePieceText::release_text
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - ReleaseNonDefault
    - GetArena
    - SentencePieceText::_internal_has_text
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: std::string * SentencePieceText::release_text()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:911,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:911,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - text
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 914
    functionName: SentencePieceText::set_allocated_text
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::set_allocated_text(std::string* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 919
    functionName: SentencePieceText::_internal_pieces_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int SentencePieceText::_internal_pieces_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText::_internal_pieces_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 922
    functionName: SentencePieceText::pieces_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 12
    functionsReached:
    - SentencePieceText::_internal_pieces_size
    linkageType: ''
    returnType: int
    signature: int SentencePieceText::pieces_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 925
    functionName: SentencePieceText::clear_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::clear_pieces()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 929
    functionName: SentencePieceText::mutable_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: ::sentencepiece::SentencePieceText_SentencePiece
    signature: ::sentencepiece::SentencePieceText_SentencePiece * SentencePieceText::mutable_pieces(int
      index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 934
    functionName: SentencePieceText::mutable_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText_SentencePiece
      >
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText_SentencePiece
      > *

      SentencePieceText::mutable_pieces()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 937
    functionName: '& SentencePieceText::_internal_pieces(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: ::sentencepiece::SentencePieceText_SentencePiece
    signature: ::sentencepiece::SentencePieceText_SentencePiece & SentencePieceText::_internal_pieces(int
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 941
    functionName: '& SentencePieceText::pieces(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - _internal_pieces
    linkageType: ''
    returnType: ::sentencepiece::SentencePieceText_SentencePiece
    signature: ::sentencepiece::SentencePieceText_SentencePiece & SentencePieceText::pieces(int
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 944
    functionName: SentencePieceText::_internal_add_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: ::sentencepiece::SentencePieceText_SentencePiece
    signature: ::sentencepiece::SentencePieceText_SentencePiece * SentencePieceText::_internal_add_pieces()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText::_internal_add_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 948
    functionName: SentencePieceText::add_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 4
    functionsReached:
    - SentencePieceText::_internal_add_pieces
    linkageType: ''
    returnType: ::sentencepiece::SentencePieceText_SentencePiece
    signature: ::sentencepiece::SentencePieceText_SentencePiece * SentencePieceText::add_pieces()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 953
    functionName: '&

      SentencePieceText::pieces() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText_SentencePiece
      >
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText_SentencePiece
      > &

      SentencePieceText::pieces() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: SentencePieceText::_internal_has_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText::_internal_has_score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText::_internal_has_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 962
    functionName: SentencePieceText::has_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText::_internal_has_score
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText::has_score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 966
    functionName: SentencePieceText::clear_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::clear_score()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 969
    functionName: SentencePieceText::_internal_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float SentencePieceText::_internal_score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText::_internal_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 973
    functionName: SentencePieceText::score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText::_internal_score
    linkageType: ''
    returnType: float
    signature: float SentencePieceText::score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 977
    functionName: SentencePieceText::_internal_set_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::_internal_set_score(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SentencePieceText::_internal_set_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 981
    functionName: SentencePieceText::set_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - SentencePieceText::_internal_set_score
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::set_score(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 990
    functionName: NBestSentencePieceText::_internal_nbests_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int NBestSentencePieceText::_internal_nbests_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NBestSentencePieceText::_internal_nbests_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 993
    functionName: NBestSentencePieceText::nbests_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 2
    functionsReached:
    - NBestSentencePieceText::_internal_nbests_size
    linkageType: ''
    returnType: int
    signature: int NBestSentencePieceText::nbests_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 996
    functionName: NBestSentencePieceText::clear_nbests
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::clear_nbests()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1000
    functionName: NBestSentencePieceText::mutable_nbests
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: ::sentencepiece::SentencePieceText
    signature: ::sentencepiece::SentencePieceText * NBestSentencePieceText::mutable_nbests(int
      index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1005
    functionName: NBestSentencePieceText::mutable_nbests
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText
      >
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText
      > *

      NBestSentencePieceText::mutable_nbests()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1008
    functionName: '& NBestSentencePieceText::_internal_nbests(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: ::sentencepiece::SentencePieceText
    signature: ::sentencepiece::SentencePieceText & NBestSentencePieceText::_internal_nbests(int
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_nbests
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1012
    functionName: '& NBestSentencePieceText::nbests(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - _internal_nbests
    linkageType: ''
    returnType: ::sentencepiece::SentencePieceText
    signature: ::sentencepiece::SentencePieceText & NBestSentencePieceText::nbests(int
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1015
    functionName: NBestSentencePieceText::_internal_add_nbests
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: ::sentencepiece::SentencePieceText
    signature: ::sentencepiece::SentencePieceText * NBestSentencePieceText::_internal_add_nbests()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NBestSentencePieceText::_internal_add_nbests
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1019
    functionName: NBestSentencePieceText::add_nbests
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached:
    - NBestSentencePieceText::_internal_add_nbests
    linkageType: ''
    returnType: ::sentencepiece::SentencePieceText
    signature: ::sentencepiece::SentencePieceText * NBestSentencePieceText::add_nbests()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1024
    functionName: '&

      NBestSentencePieceText::nbests() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText
      >
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SentencePieceText
      > &

      NBestSentencePieceText::nbests() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: namespace
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_NAMESPACE_OPEN
    signature: PROTOBUF_NAMESPACE_OPEN namespace
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: TableStruct_sentencepiece_5fmodel_2eproto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_NAMESPACE_CLOSE
    signature: PROTOBUF_NAMESPACE_CLOSE TableStruct_sentencepiece_5fmodel_2eproto
  - BBCount: 100
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec_ModelType_Name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:101,1
    - Dst: static_cast<TrainerSpec_ModelType>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:101,1
    - Dst: ModelProto_SentencePiece_Type_Name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:124,1
    - Dst: static_cast<ModelProto_SentencePiece_Type>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:124,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:139,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:143,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:147,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:147,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:148,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:150,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:156,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:159,1
    - Dst: reinterpret_cast<const TrainerSpec*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:165,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:172,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:176,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:176,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:177,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:179,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:184,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:184,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:184,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:185,1
    - Dst: CreateMaybeMessage<TrainerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:191,1
    - Dst: CreateMaybeMessage<TrainerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:195,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:209,1
    - Dst: TrainerSpec_ModelType_IsValid
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:241,1
    - Dst: TrainerSpec_ModelType_Name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:254,1
    - Dst: TrainerSpec_ModelType_Parse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:258,1
    - Dst: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1023,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1099,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1103,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1107,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1107,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1108,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1110,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1116,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1119,1
    - Dst: reinterpret_cast<const NormalizerSpec*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1125,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1132,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1136,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1136,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1137,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1139,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1144,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1144,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1144,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1145,1
    - Dst: CreateMaybeMessage<NormalizerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1151,1
    - Dst: CreateMaybeMessage<NormalizerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1155,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::CachedSize::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1169,1
    - Dst: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1300,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1331,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1335,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1339,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1339,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1340,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1342,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1348,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1351,1
    - Dst: reinterpret_cast<const SelfTestData_Sample*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1357,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1364,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1368,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1368,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1369,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1371,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1376,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1376,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1376,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1377,1
    - Dst: CreateMaybeMessage<SelfTestData_Sample>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1383,1
    - Dst: CreateMaybeMessage<SelfTestData_Sample>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1387,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::CachedSize::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1401,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1493,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1497,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1501,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1501,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1502,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1504,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1510,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1513,1
    - Dst: reinterpret_cast<const SelfTestData*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1519,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1526,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1530,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1530,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1531,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1533,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1538,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1538,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1538,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1539,1
    - Dst: CreateMaybeMessage<SelfTestData>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1545,1
    - Dst: CreateMaybeMessage<SelfTestData>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1549,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::CachedSize::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1563,1
    - Dst: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1610,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1635,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1639,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1643,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1643,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1644,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1646,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1652,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1655,1
    - Dst: reinterpret_cast<const ModelProto_SentencePiece*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1661,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1668,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1672,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1672,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1673,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1675,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1680,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1680,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1680,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1681,1
    - Dst: CreateMaybeMessage<ModelProto_SentencePiece>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1687,1
    - Dst: CreateMaybeMessage<ModelProto_SentencePiece>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1691,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::CachedSize::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1705,1
    - Dst: ModelProto_SentencePiece_Type_IsValid
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1741,1
    - Dst: ModelProto_SentencePiece_Type_Name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1754,1
    - Dst: ModelProto_SentencePiece_Type_Parse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1758,1
    - Dst: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1814,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1842,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1846,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1850,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1850,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1851,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1853,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1859,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1862,1
    - Dst: reinterpret_cast<const ModelProto*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1868,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1875,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1879,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1879,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1880,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1882,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1887,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1887,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1887,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1888,1
    - Dst: CreateMaybeMessage<ModelProto>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1894,1
    - Dst: CreateMaybeMessage<ModelProto>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1898,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::CachedSize::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1912,1
    - Dst: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2035,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2067,1
    - Dst: _internal_input_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2070,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2073,1
    - Dst: _internal_add_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2077,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2080,1
    - Dst: _internal_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2084,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2088,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2092,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2096,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2096,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2099,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2100,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2104,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2105,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2109,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2112,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2116,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2116,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2120,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2121,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2125,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2125,1
    - Dst: _internal_has_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2145,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2148,1
    - Dst: _internal_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2153,1
    - Dst: _internal_set_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2156,1
    - Dst: _internal_mutable_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2161,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2164,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2168,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2168,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2172,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2173,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2173,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2177,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2179,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2179,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2179,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2185,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2185,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2186,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2186,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2191,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2191,1
    - Dst: _internal_has_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2195,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2199,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2199,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2199,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2207,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2207,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2208,1
    - Dst: _internal_has_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2218,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2221,1
    - Dst: _internal_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2226,1
    - Dst: _internal_set_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2229,1
    - Dst: _internal_mutable_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2234,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2237,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2241,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2241,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2245,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2246,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2246,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2250,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2252,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2252,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2252,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2258,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2258,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2259,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2259,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2264,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2264,1
    - Dst: _internal_has_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2268,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2272,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2272,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2272,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2280,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2280,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2281,1
    - Dst: _internal_has_model_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2291,1
    - Dst: static_cast< ::sentencepiece::TrainerSpec_ModelType >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2298,1
    - Dst: _internal_model_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2302,1
    - Dst: assert
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2305,1
    - Dst: sentencepiece::TrainerSpec_ModelType_IsValid
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2305,1
    - Dst: _internal_set_model_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2310,1
    - Dst: _internal_has_vocab_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2320,1
    - Dst: _internal_vocab_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2331,1
    - Dst: _internal_set_vocab_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2338,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2344,1
    - Dst: _internal_accept_language_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2347,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2350,1
    - Dst: _internal_add_accept_language
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2354,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2357,1
    - Dst: _internal_accept_language
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2361,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2365,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2369,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2373,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2373,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2376,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2377,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2381,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2382,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2386,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2389,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2393,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2393,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2397,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2398,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2402,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2402,1
    - Dst: _internal_has_self_test_sample_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2422,1
    - Dst: _internal_self_test_sample_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2433,1
    - Dst: _internal_set_self_test_sample_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2440,1
    - Dst: _internal_has_enable_differential_privacy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2450,1
    - Dst: _internal_enable_differential_privacy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2461,1
    - Dst: _internal_set_enable_differential_privacy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2468,1
    - Dst: _internal_has_differential_privacy_noise_level
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2478,1
    - Dst: _internal_differential_privacy_noise_level
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2489,1
    - Dst: _internal_set_differential_privacy_noise_level
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2496,1
    - Dst: _internal_has_differential_privacy_clipping_threshold
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2506,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2509,1
    - Dst: _internal_differential_privacy_clipping_threshold
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2517,1
    - Dst: _internal_set_differential_privacy_clipping_threshold
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2524,1
    - Dst: _internal_has_character_coverage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2534,1
    - Dst: _internal_character_coverage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2545,1
    - Dst: _internal_set_character_coverage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2552,1
    - Dst: _internal_has_input_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2562,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2565,1
    - Dst: _internal_input_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2573,1
    - Dst: _internal_set_input_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2580,1
    - Dst: _internal_has_shuffle_input_sentence
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2590,1
    - Dst: _internal_shuffle_input_sentence
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2601,1
    - Dst: _internal_set_shuffle_input_sentence
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2608,1
    - Dst: _internal_has_mining_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2618,1
    - Dst: _internal_mining_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2629,1
    - Dst: _internal_set_mining_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2636,1
    - Dst: _internal_has_training_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2646,1
    - Dst: _internal_training_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2657,1
    - Dst: _internal_set_training_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2664,1
    - Dst: _internal_has_seed_sentencepiece_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2674,1
    - Dst: _internal_seed_sentencepiece_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2685,1
    - Dst: _internal_set_seed_sentencepiece_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2692,1
    - Dst: _internal_has_shrinking_factor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2702,1
    - Dst: _internal_shrinking_factor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2713,1
    - Dst: _internal_set_shrinking_factor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2720,1
    - Dst: _internal_has_max_sentence_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2730,1
    - Dst: _internal_max_sentence_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2741,1
    - Dst: _internal_set_max_sentence_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2748,1
    - Dst: _internal_has_num_threads
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2758,1
    - Dst: _internal_num_threads
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2769,1
    - Dst: _internal_set_num_threads
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2776,1
    - Dst: _internal_has_num_sub_iterations
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2786,1
    - Dst: _internal_num_sub_iterations
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2797,1
    - Dst: _internal_set_num_sub_iterations
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2804,1
    - Dst: _internal_has_max_sentencepiece_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2814,1
    - Dst: _internal_max_sentencepiece_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2825,1
    - Dst: _internal_set_max_sentencepiece_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2832,1
    - Dst: _internal_has_split_by_unicode_script
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2842,1
    - Dst: _internal_split_by_unicode_script
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2853,1
    - Dst: _internal_set_split_by_unicode_script
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2860,1
    - Dst: _internal_has_split_by_number
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2870,1
    - Dst: _internal_split_by_number
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2881,1
    - Dst: _internal_set_split_by_number
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2888,1
    - Dst: _internal_has_split_by_whitespace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2898,1
    - Dst: _internal_split_by_whitespace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2909,1
    - Dst: _internal_set_split_by_whitespace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2916,1
    - Dst: _internal_has_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2926,1
    - Dst: _internal_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2937,1
    - Dst: _internal_set_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2944,1
    - Dst: _internal_has_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2954,1
    - Dst: _internal_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2965,1
    - Dst: _internal_set_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2972,1
    - Dst: _internal_has_split_digits
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2982,1
    - Dst: _internal_split_digits
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2993,1
    - Dst: _internal_set_split_digits
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3000,1
    - Dst: _internal_has_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3010,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3013,1
    - Dst: _internal_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3018,1
    - Dst: _internal_set_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3021,1
    - Dst: _internal_mutable_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3026,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3029,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3033,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3033,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3037,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3038,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3038,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3042,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3044,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3044,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3044,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3050,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3050,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3051,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3051,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3056,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3056,1
    - Dst: _internal_has_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3060,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3064,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3064,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3064,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3072,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3072,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3073,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3079,1
    - Dst: _internal_control_symbols_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3082,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3085,1
    - Dst: _internal_add_control_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3089,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3092,1
    - Dst: _internal_control_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3096,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3100,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3104,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3108,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3108,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3111,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3112,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3116,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3117,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3121,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3124,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3128,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3128,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3132,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3133,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3137,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3137,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3153,1
    - Dst: _internal_user_defined_symbols_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3156,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3159,1
    - Dst: _internal_add_user_defined_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3163,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3166,1
    - Dst: _internal_user_defined_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3170,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3174,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3178,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3182,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3182,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3185,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3186,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3190,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3191,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3195,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3198,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3202,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3202,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3206,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3207,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3211,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3211,1
    - Dst: _internal_has_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3231,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3234,1
    - Dst: _internal_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3239,1
    - Dst: _internal_set_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3242,1
    - Dst: _internal_mutable_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3247,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3250,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3254,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3254,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3258,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3259,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3259,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3263,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3265,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3265,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3265,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3271,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3271,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3272,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3272,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3277,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3277,1
    - Dst: _internal_has_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3281,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3285,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3285,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3285,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3293,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3293,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3294,1
    - Dst: _internal_has_byte_fallback
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3304,1
    - Dst: _internal_byte_fallback
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3315,1
    - Dst: _internal_set_byte_fallback
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3322,1
    - Dst: _internal_has_vocabulary_output_piece_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3332,1
    - Dst: _internal_vocabulary_output_piece_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3343,1
    - Dst: _internal_set_vocabulary_output_piece_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3350,1
    - Dst: _internal_has_hard_vocab_limit
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3360,1
    - Dst: _internal_hard_vocab_limit
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3371,1
    - Dst: _internal_set_hard_vocab_limit
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3378,1
    - Dst: _internal_has_use_all_vocab
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3388,1
    - Dst: _internal_use_all_vocab
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3399,1
    - Dst: _internal_set_use_all_vocab
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3406,1
    - Dst: _internal_has_unk_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3416,1
    - Dst: _internal_unk_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3427,1
    - Dst: _internal_set_unk_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3434,1
    - Dst: _internal_has_bos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3444,1
    - Dst: _internal_bos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3455,1
    - Dst: _internal_set_bos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3462,1
    - Dst: _internal_has_eos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3472,1
    - Dst: _internal_eos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3483,1
    - Dst: _internal_set_eos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3490,1
    - Dst: _internal_has_pad_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3500,1
    - Dst: _internal_pad_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3511,1
    - Dst: _internal_set_pad_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3518,1
    - Dst: _internal_has_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3528,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3531,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3531,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::IsDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3536,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::LazyString::get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3536,1
    - Dst: _internal_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3537,1
    - Dst: _internal_set_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3540,1
    - Dst: _internal_mutable_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3545,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3548,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3552,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3552,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3556,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3557,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3557,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3561,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3563,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3563,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3563,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3569,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3569,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3570,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3570,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3575,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3575,1
    - Dst: _internal_has_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3579,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3583,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3583,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3591,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3592,1
    - Dst: _internal_has_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3602,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3605,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3605,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::IsDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3610,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::LazyString::get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3610,1
    - Dst: _internal_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3611,1
    - Dst: _internal_set_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3614,1
    - Dst: _internal_mutable_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3619,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3622,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3626,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3626,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3630,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3631,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3631,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3635,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3637,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3637,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3637,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3643,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3643,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3644,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3644,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3649,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3649,1
    - Dst: _internal_has_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3653,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3657,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3657,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3665,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3666,1
    - Dst: _internal_has_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3676,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3679,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3679,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::IsDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3684,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::LazyString::get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3684,1
    - Dst: _internal_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3685,1
    - Dst: _internal_set_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3688,1
    - Dst: _internal_mutable_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3693,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3696,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3700,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3700,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3704,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3705,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3705,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3709,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3711,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3711,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3711,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3717,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3717,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3718,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3718,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3723,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3723,1
    - Dst: _internal_has_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3727,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3731,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3731,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3739,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3740,1
    - Dst: _internal_has_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3750,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3753,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3753,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::IsDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3758,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::LazyString::get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3758,1
    - Dst: _internal_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3759,1
    - Dst: _internal_set_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3762,1
    - Dst: _internal_mutable_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3767,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3770,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3774,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3774,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3778,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3779,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3779,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3783,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3785,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3785,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3785,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3791,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3791,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3792,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3792,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3797,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3797,1
    - Dst: _internal_has_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3801,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3805,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3805,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3813,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3814,1
    - Dst: _internal_has_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3824,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3827,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3827,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::IsDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3832,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::LazyString::get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3832,1
    - Dst: _internal_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3833,1
    - Dst: _internal_set_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3836,1
    - Dst: _internal_mutable_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3841,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3844,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3848,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3848,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3852,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3853,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3853,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3857,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3859,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3859,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3859,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3865,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3865,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3866,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3866,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3871,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3871,1
    - Dst: _internal_has_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3875,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3879,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3879,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3887,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3888,1
    - Dst: _internal_has_train_extremely_large_corpus
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3898,1
    - Dst: _internal_train_extremely_large_corpus
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3909,1
    - Dst: _internal_set_train_extremely_large_corpus
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3916,1
    - Dst: _internal_has_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3926,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3929,1
    - Dst: _internal_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3934,1
    - Dst: _internal_set_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3937,1
    - Dst: _internal_mutable_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3942,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3945,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3949,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3949,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3953,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3954,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3954,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3958,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3960,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3960,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3960,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3966,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3966,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3967,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3967,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3972,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3972,1
    - Dst: _internal_has_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3976,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3980,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3980,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3980,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3988,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3988,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3989,1
    - Dst: _internal_has_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4003,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4006,1
    - Dst: _internal_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4011,1
    - Dst: _internal_set_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4014,1
    - Dst: _internal_mutable_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4019,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4022,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4026,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4026,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4030,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4031,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4031,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4035,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4037,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4037,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4037,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4043,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4043,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4044,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4044,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4049,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4049,1
    - Dst: _internal_has_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4053,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4057,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4057,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4057,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4065,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4065,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4066,1
    - Dst: _internal_has_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4076,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4079,1
    - Dst: _internal_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4084,1
    - Dst: _internal_set_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4087,1
    - Dst: _internal_mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4092,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4095,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4099,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4099,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4103,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4104,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4104,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4108,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4110,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4110,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4110,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4116,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4116,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4117,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4117,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4122,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4122,1
    - Dst: _internal_has_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4126,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4130,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4130,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4130,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4138,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4138,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4139,1
    - Dst: _internal_has_add_dummy_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4149,1
    - Dst: _internal_add_dummy_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4160,1
    - Dst: _internal_set_add_dummy_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4167,1
    - Dst: _internal_has_remove_extra_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4177,1
    - Dst: _internal_remove_extra_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4188,1
    - Dst: _internal_set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4195,1
    - Dst: _internal_has_escape_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4205,1
    - Dst: _internal_escape_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4216,1
    - Dst: _internal_set_escape_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4223,1
    - Dst: _internal_has_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4233,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4236,1
    - Dst: _internal_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4241,1
    - Dst: _internal_set_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4244,1
    - Dst: _internal_mutable_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4249,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4252,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4256,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4256,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4260,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4261,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4261,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4265,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4267,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4267,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4267,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4273,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4273,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4274,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4274,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4279,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4279,1
    - Dst: _internal_has_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4283,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4287,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4287,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4287,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4295,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4295,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4296,1
    - Dst: _internal_has_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4310,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4313,1
    - Dst: _internal_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4318,1
    - Dst: _internal_set_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4321,1
    - Dst: _internal_mutable_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4326,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4329,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4333,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4333,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4337,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4338,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4338,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4342,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4344,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4344,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4344,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4350,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4350,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4351,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4351,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4356,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4356,1
    - Dst: _internal_has_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4360,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4364,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4364,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4364,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4372,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4372,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4373,1
    - Dst: _internal_has_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4383,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4386,1
    - Dst: _internal_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4391,1
    - Dst: _internal_set_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4394,1
    - Dst: _internal_mutable_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4399,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4402,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4406,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4406,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4410,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4411,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4411,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4415,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4417,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4417,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4417,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4423,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4423,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4424,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4424,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4429,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4429,1
    - Dst: _internal_has_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4433,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4437,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4437,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4437,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4445,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4445,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4446,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample
        >::size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4456,1
    - Dst: _internal_samples_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4459,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample
        >::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4462,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample
        >::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4466,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample
        >::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4474,1
    - Dst: _internal_samples
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4478,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample
        >::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4481,1
    - Dst: _internal_add_samples
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4485,1
    - Dst: _internal_has_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4503,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4506,1
    - Dst: _internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4511,1
    - Dst: _internal_set_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4514,1
    - Dst: _internal_mutable_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4519,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4522,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4526,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4526,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4530,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4531,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4531,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4535,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4537,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4537,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4537,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4543,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4543,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4544,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4544,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4549,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4549,1
    - Dst: _internal_has_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4553,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4557,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4557,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4557,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4565,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4565,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4566,1
    - Dst: _internal_has_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4576,1
    - Dst: _internal_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4587,1
    - Dst: _internal_set_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4594,1
    - Dst: _internal_has_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4604,1
    - Dst: static_cast< ::sentencepiece::ModelProto_SentencePiece_Type >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4611,1
    - Dst: _internal_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4615,1
    - Dst: assert
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4618,1
    - Dst: sentencepiece::ModelProto_SentencePiece_Type_IsValid
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4618,1
    - Dst: _internal_set_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4623,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece
        >::size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4633,1
    - Dst: _internal_pieces_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4636,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece
        >::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4639,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece
        >::Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4643,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece
        >::Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4651,1
    - Dst: _internal_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4655,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece
        >::Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4658,1
    - Dst: _internal_add_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4662,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4673,1
    - Dst: _internal_has_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4677,1
    - Dst: ::sentencepiece::TrainerSpec*::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4680,1
    - Dst: reinterpret_cast<const ::sentencepiece::TrainerSpec&>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4685,1
    - Dst: _internal_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4690,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4694,1
    - Dst: reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4695,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4709,1
    - Dst: google::protobuf::internal::DuplicateIfNonNull
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4710,1
    - Dst: CreateMaybeMessage<::sentencepiece::TrainerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4724,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4724,1
    - Dst: _internal_mutable_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4731,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4734,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4740,1
    - Dst: google::protobuf::internal::GetOwnedMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4742,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4756,1
    - Dst: _internal_has_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4760,1
    - Dst: ::sentencepiece::NormalizerSpec*::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4763,1
    - Dst: reinterpret_cast<const ::sentencepiece::NormalizerSpec&>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4768,1
    - Dst: _internal_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4773,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4777,1
    - Dst: reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4778,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4792,1
    - Dst: google::protobuf::internal::DuplicateIfNonNull
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4793,1
    - Dst: CreateMaybeMessage<::sentencepiece::NormalizerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4807,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4807,1
    - Dst: _internal_mutable_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4814,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4817,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4823,1
    - Dst: google::protobuf::internal::GetOwnedMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4825,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4839,1
    - Dst: _internal_has_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4843,1
    - Dst: ::sentencepiece::SelfTestData*::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4846,1
    - Dst: reinterpret_cast<const ::sentencepiece::SelfTestData&>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4851,1
    - Dst: _internal_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4856,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4860,1
    - Dst: reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4861,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4875,1
    - Dst: google::protobuf::internal::DuplicateIfNonNull
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4876,1
    - Dst: CreateMaybeMessage<::sentencepiece::SelfTestData>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4890,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4890,1
    - Dst: _internal_mutable_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4897,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4900,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4906,1
    - Dst: google::protobuf::internal::GetOwnedMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4908,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4922,1
    - Dst: _internal_has_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4926,1
    - Dst: ::sentencepiece::NormalizerSpec*::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4929,1
    - Dst: reinterpret_cast<const ::sentencepiece::NormalizerSpec&>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4934,1
    - Dst: _internal_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4939,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4943,1
    - Dst: reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4944,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4958,1
    - Dst: google::protobuf::internal::DuplicateIfNonNull
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4959,1
    - Dst: CreateMaybeMessage<::sentencepiece::NormalizerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4973,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4973,1
    - Dst: _internal_mutable_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4980,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4983,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4989,1
    - Dst: google::protobuf::internal::GetOwnedMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4991,1
    CyclomaticComplexity: 167
    EdgeCount: 167
    ICount: 2582
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (::sentencepiece::TrainerSpec_ModelType_IsValid(value))
      pos:
        line_end: 2304
        line_start: 2304
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    - condition: (::sentencepiece::ModelProto_SentencePiece_Type_IsValid(value))
      pos:
        line_end: 4617
        line_start: 4617
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    constantsTouched: []
    func_position:
      end: 5018
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 5018
    functionName: sentencepiece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Get
    - _internal_set_vocab_size
    - ::sentencepiece::SelfTestData*::Clear
    - _internal_has_treat_whitespace_as_suffix
    - _internal_treat_whitespace_as_suffix
    - static_cast<ModelProto_SentencePiece_Type>
    - _internal_unk_surface
    - _internal_unk_id
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::SetAllocated
    - _internal_has_use_all_vocab
    - _internal_mutable_expected
    - Swap
    - _internal_has_seed_sentencepieces_file
    - _internal_mutable_input_format
    - _internal_pretokenization_delimiter
    - _internal_set_split_by_unicode_script
    - _internal_has_model_prefix
    - _internal_user_defined_symbols_size
    - _internal_set_remove_extra_whitespaces
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample
      >::Mutable
    - _internal_has_piece
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Add
    - _internal_set_seed_sentencepiece_size
    - Get
    - _internal_set_unk_id
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece
      >::Get
    - _internal_set_shuffle_input_sentence
    - _internal_pad_piece
    - ::sentencepiece::TrainerSpec*::Clear
    - _internal_has_max_sentence_length
    - _internal_set_input_sentence_size
    - google::protobuf::internal::DuplicateIfNonNull
    - _internal_has_differential_privacy_clipping_threshold
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece
      >::size
    - google::protobuf::GlobalReplaceSubstring
    - _internal_train_extremely_large_corpus
    - _internal_num_threads
    - _internal_has_num_sub_iterations
    - _internal_add_pieces
    - _internal_differential_privacy_clipping_threshold
    - _internal_has_shrinking_factor
    - CreateMaybeMessage<::sentencepiece::NormalizerSpec>
    - CreateMaybeMessage<ModelProto>
    - GOOGLE_DCHECK
    - CreateMaybeMessage<ModelProto_SentencePiece>
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::size
    - _internal_input_sentence_size
    - _internal_has_seed_sentencepiece_size
    - _internal_denormalizer_spec
    - _internal_pieces
    - _internal_seed_sentencepieces_file
    - _internal_pieces_size
    - _internal_has_split_by_whitespace
    - _internal_has_differential_privacy_noise_level
    - _internal_set_treat_whitespace_as_suffix
    - _internal_add_control_symbols
    - _internal_set_byte_fallback
    - _internal_has_pretokenization_delimiter
    - _internal_has_hard_vocab_limit
    - _internal_mutable_trainer_spec
    - ::sentencepiece::NormalizerSpec*::Clear
    - _internal_byte_fallback
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Get
    - CreateMaybeMessage<SelfTestData_Sample>
    - _internal_has_normalizer_spec
    - _internal_mutable_model_prefix
    - _internal_set_split_by_number
    - _internal_set_split_digits
    - static_cast<TrainerSpec_ModelType>
    - reinterpret_cast<const ModelProto_SentencePiece*>
    - _internal_set_allow_whitespace_only_pieces
    - _internal_bos_id
    - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>
    - ::std::move
    - _internal_add_dummy_prefix
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToEmpty
    - static_cast< ::sentencepiece::ModelProto_SentencePiece_Type >
    - mutable_unknown_fields
    - _internal_bos_piece
    - TrainerSpec_ModelType_IsValid
    - _internal_set_split_by_whitespace
    - _internal_unk_piece
    - _internal_set_model_type
    - _internal_has_self_test_sample_size
    - _internal_has_bos_piece
    - _internal_has_pad_piece
    - _internal_has_remove_extra_whitespaces
    - reinterpret_cast<const SelfTestData_Sample*>
    - _internal_set_vocabulary_output_piece_score
    - _internal_set_eos_id
    - CreateMaybeMessage<NormalizerSpec>
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample
      >::size
    - _internal_max_sentence_length
    - _internal_type
    - _internal_hard_vocab_limit
    - _internal_mutable_piece
    - _internal_accept_language_size
    - _internal_set_num_sub_iterations
    - PROTOBUF_ASSUME
    - ::PROTOBUF_NAMESPACE_ID::internal::LazyString::get
    - sentencepiece::TrainerSpec_ModelType_IsValid
    - reinterpret_cast<const NormalizerSpec*>
    - _internal_set_hard_vocab_limit
    - _internal_set_model_prefix
    - _internal_mutable_required_chars
    - _internal_mutable_precompiled_charsmap
    - _internal_set_mining_sentence_size
    - _internal_expected
    - _internal_shrinking_factor
    - _internal_set_pretokenization_delimiter
    - _internal_pad_id
    - google::protobuf::internal::GenericSwap
    - _internal_character_coverage
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::size
    - _internal_has_eos_id
    - _internal_precompiled_charsmap
    - _internal_mining_sentence_size
    - _internal_set_use_all_vocab
    - _internal_training_sentence_size
    - _internal_set_input
    - _internal_normalizer_spec
    - ModelProto_SentencePiece_Type_Name
    - _internal_differential_privacy_noise_level
    - _internal_control_symbols
    - InternalSwap
    - _internal_piece
    - _internal_mutable_self_test_data
    - _internal_has_byte_fallback
    - CreateMaybeMessage<::sentencepiece::SelfTestData>
    - _internal_set_train_extremely_large_corpus
    - _internal_set_normalization_rule_tsv
    - _internal_set_differential_privacy_clipping_threshold
    - _internal_allow_whitespace_only_pieces
    - _internal_model_type
    - _internal_set_training_sentence_size
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ReleaseNonDefault
    - _internal_normalization_rule_tsv
    - _internal_mutable_input
    - _internal_score
    - _internal_self_test_data
    - _internal_has_shuffle_input_sentence
    - TrainerSpec_ModelType_Name
    - _internal_enable_differential_privacy
    - unknown_fields
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Clear
    - _internal_set_expected
    - _internal_has_eos_piece
    - _internal_has_pad_id
    - ::PROTOBUF_NAMESPACE_ID::internal::CachedSize::Get
    - _internal_has_type
    - _internal_has_enable_differential_privacy
    - _internal_accept_language
    - _internal_has_name
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample
      >::Add
    - _internal_has_self_test_data
    - reinterpret_cast<const ::sentencepiece::SelfTestData&>
    - _internal_shuffle_input_sentence
    - CreateMaybeMessage<::sentencepiece::TrainerSpec>
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - CopyFrom
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample
      >::Clear
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece
      >::Mutable
    - _internal_vocabulary_output_piece_score
    - _internal_mutable_eos_piece
    - _internal_has_unk_surface
    - _internal_set_add_dummy_prefix
    - _internal_set_max_sentence_length
    - _internal_set_escape_whitespaces
    - _internal_samples_size
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece
      >::Add
    - TrainerSpec_ModelType_Parse
    - _internal_add_user_defined_symbols
    - _internal_set_differential_privacy_noise_level
    - _internal_split_by_whitespace
    - GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
    - _internal_set_name
    - _internal_mutable_seed_sentencepieces_file
    - _internal_use_all_vocab
    - _internal_has_input
    - _internal_has_normalization_rule_tsv
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Clear
    - _internal_name
    - _internal_set_type
    - _internal_set_enable_differential_privacy
    - _internal_set_num_threads
    - reinterpret_cast<const ModelProto*>
    - _internal_mutable_denormalizer_spec
    - _internal_has_precompiled_charsmap
    - _internal_has_split_digits
    - reinterpret_cast<const char*>
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Set
    - _internal_has_expected
    - _internal_set_input_format
    - reinterpret_cast<const TrainerSpec*>
    - _internal_has_mining_sentence_size
    - _internal_has_escape_whitespaces
    - CreateMaybeMessage<TrainerSpec>
    - _internal_mutable_name
    - _internal_has_trainer_spec
    - _internal_input
    - _internal_set_required_chars
    - _internal_has_num_threads
    - _internal_self_test_sample_size
    - GetArena
    - _internal_add_samples
    - _internal_has_allow_whitespace_only_pieces
    - _internal_has_unk_piece
    - _internal_has_vocabulary_output_piece_score
    - reinterpret_cast<const ::sentencepiece::NormalizerSpec&>
    - _internal_model_prefix
    - _internal_has_train_extremely_large_corpus
    - reinterpret_cast<const SelfTestData*>
    - _internal_has_model_type
    - google::protobuf::GetArena
    - _internal_set_eos_piece
    - _internal_set_max_sentencepiece_length
    - reinterpret_cast<const ::sentencepiece::TrainerSpec&>
    - _internal_has_required_chars
    - _internal_split_by_unicode_script
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Add
    - _internal_input_format
    - _internal_seed_sentencepiece_size
    - _internal_num_sub_iterations
    - _internal_mutable_normalization_rule_tsv
    - _internal_has_bos_id
    - _internal_escape_whitespaces
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::ClearToDefault
    - _internal_required_chars
    - _internal_has_denormalizer_spec
    - _internal_set_self_test_sample_size
    - PROTOBUF_ULONGLONG
    - _internal_add_input
    - _internal_mutable_bos_piece
    - _internal_input_size
    - _internal_has_split_by_unicode_script
    - _internal_set_character_coverage
    - _internal_split_by_number
    - CreateMaybeMessage<SelfTestData>
    - _internal_has_input_sentence_size
    - _internal_set_pad_piece
    - _internal_set_piece
    - _internal_set_pad_id
    - _internal_set_unk_surface
    - ModelProto_SentencePiece_Type_IsValid
    - _internal_has_vocab_size
    - _internal_has_unk_id
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>::Mutable
    - _internal_has_training_sentence_size
    - _internal_control_symbols_size
    - _internal_mutable_pad_piece
    - _internal_mutable_unk_piece
    - _internal_has_score
    - _internal_set_score
    - _internal_trainer_spec
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::Mutable
    - _internal_has_character_coverage
    - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::IsDefault
    - _internal_has_split_by_number
    - assert
    - google::protobuf::internal::GetOwnedMessage
    - _internal_set_bos_piece
    - _internal_set_bos_id
    - _internal_samples
    - _internal_set_shrinking_factor
    - _internal_has_max_sentencepiece_length
    - _internal_user_defined_symbols
    - _internal_set_unk_piece
    - _internal_set_seed_sentencepieces_file
    - _internal_mutable_unk_surface
    - _internal_remove_extra_whitespaces
    - _internal_split_digits
    - _internal_has_add_dummy_prefix
    - _internal_mutable_normalizer_spec
    - static_cast< ::sentencepiece::TrainerSpec_ModelType >
    - ModelProto_SentencePiece_Type_Parse
    - _internal_mutable_pretokenization_delimiter
    - _internal_vocab_size
    - _internal_add_accept_language
    - _internal_eos_piece
    - _internal_set_precompiled_charsmap
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample
      >::Get
    - std::move
    - sentencepiece::ModelProto_SentencePiece_Type_IsValid
    - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece
      >::Clear
    - _internal_has_input_format
    - _internal_eos_id
    - _internal_max_sentencepiece_length
    linkageType: ''
    returnType: PROTOBUF_NAMESPACE_CLOSE
    signature: PROTOBUF_NAMESPACE_CLOSE sentencepiece
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec_ModelType_Name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:101,1
    - Dst: static_cast<TrainerSpec_ModelType>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enum_t_value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: TrainerSpec_ModelType_Name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - static_cast<TrainerSpec_ModelType>
    - TrainerSpec_ModelType_Name
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec_ModelType_Name(T enum_t_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto_SentencePiece_Type_Name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:124,1
    - Dst: static_cast<ModelProto_SentencePiece_Type>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enum_t_value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: ModelProto_SentencePiece_Type_Name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - ModelProto_SentencePiece_Type_Name
    - static_cast<ModelProto_SentencePiece_Type>
    linkageType: ''
    returnType: std::string
    signature: std::string & ModelProto_SentencePiece_Type_Name(T enum_t_value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:139,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:143,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:147,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:147,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:148,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:150,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:156,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:159,1
    - Dst: reinterpret_cast<const TrainerSpec*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:165,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:172,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:176,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:176,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:177,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:179,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:184,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:184,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:184,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:185,1
    - Dst: CreateMaybeMessage<TrainerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:191,1
    - Dst: CreateMaybeMessage<TrainerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:195,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:209,1
    - Dst: TrainerSpec_ModelType_IsValid
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:241,1
    - Dst: TrainerSpec_ModelType_Name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:254,1
    - Dst: TrainerSpec_ModelType_Parse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:258,1
    - Dst: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1023,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 430
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 1087
    functionName: ::PROTOBUF_NAMESPACE_ID::MessageLite
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - google::protobuf::internal::GenericSwap
    - Swap
    - CreateMaybeMessage<TrainerSpec>
    - GOOGLE_DCHECK
    - TrainerSpec_ModelType_IsValid
    - TrainerSpec_ModelType_Name
    - GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
    - ::std::move
    - CopyFrom
    - unknown_fields
    - InternalSwap
    - GetArena
    - Get
    - TrainerSpec_ModelType_Parse
    - reinterpret_cast<const TrainerSpec*>
    linkageType: ''
    returnType: class TrainerSpec
    signature: class TrainerSpec ::PROTOBUF_NAMESPACE_ID::MessageLite
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: TrainerSpec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    linkageType: ''
    returnType: void
    signature: void TrainerSpec(TrainerSpec&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: '& operator=(const TrainerSpec& from)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: TrainerSpec
    signature: TrainerSpec & operator=(const TrainerSpec& from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:147,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:147,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:148,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: '& operator=(TrainerSpec&& from) noexcept'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: TrainerSpec
    signature: TrainerSpec & operator=(TrainerSpec&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 13
    functionsReached:
    - unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string & unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 10
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string * mutable_unknown_fields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const TrainerSpec*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: internal_default_instance
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const TrainerSpec*>
    linkageType: ''
    returnType: TrainerSpec
    signature: TrainerSpec * internal_default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - TrainerSpec
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 10
    functionsReached:
    - Swap
    linkageType: ''
    returnType: friend
    signature: friend swap(TrainerSpec& a, TrainerSpec& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:176,1
    - Dst: TrainerSpec*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:176,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:177,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - TrainerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: Swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::GenericSwap
    - TrainerSpec*::GetArena
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void Swap(TrainerSpec* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:184,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:184,1
    - Dst: TrainerSpec*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:184,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - TrainerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec*::GetArena
    - GOOGLE_DCHECK
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void UnsafeArenaSwap(TrainerSpec* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<TrainerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<TrainerSpec>
    linkageType: ''
    returnType: TrainerSpec
    signature: TrainerSpec * New() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<TrainerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<TrainerSpec>
    linkageType: ''
    returnType: TrainerSpec
    signature: TrainerSpec * New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: GetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: FullMessageName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::StringPiece
    signature: ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec_ModelType_IsValid
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: ModelType_IsValid
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 3
    functionsReached:
    - TrainerSpec_ModelType_IsValid
    linkageType: ''
    returnType: bool
    signature: bool ModelType_IsValid(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec_ModelType_Name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enum_t_value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: ModelType_Name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 4
    functionsReached:
    - TrainerSpec_ModelType_Name
    linkageType: ''
    returnType: std::string
    signature: std::string & ModelType_Name(T enum_t_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec_ModelType_Parse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::ConstStringParam
    - ModelType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: ModelType_Parse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 3
    functionsReached:
    - TrainerSpec_ModelType_Parse
    linkageType: ''
    returnType: bool
    signature: "bool ModelType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,\n
      \     ModelType* value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1099,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1103,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1107,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1107,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1108,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1110,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1116,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1119,1
    - Dst: reinterpret_cast<const NormalizerSpec*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1125,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1132,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1136,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1136,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1137,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1139,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1144,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1144,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1144,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1145,1
    - Dst: CreateMaybeMessage<NormalizerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1151,1
    - Dst: CreateMaybeMessage<NormalizerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1155,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1169,1
    - Dst: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1300,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1319
    functionName: ::PROTOBUF_NAMESPACE_ID::MessageLite
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - google::protobuf::internal::GenericSwap
    - Swap
    - GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
    - GOOGLE_DCHECK
    - ::std::move
    - reinterpret_cast<const NormalizerSpec*>
    - CopyFrom
    - unknown_fields
    - InternalSwap
    - CreateMaybeMessage<NormalizerSpec>
    - GetArena
    - Get
    linkageType: ''
    returnType: class NormalizerSpec
    signature: class NormalizerSpec ::PROTOBUF_NAMESPACE_ID::MessageLite
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1100
    functionName: NormalizerSpec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 41
    functionsReached:
    - ::std::move
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec(NormalizerSpec&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: '& operator=(const NormalizerSpec& from)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec & operator=(const NormalizerSpec& from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1107,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1107,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1108,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1113
    functionName: '& operator=(NormalizerSpec&& from) noexcept'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec & operator=(NormalizerSpec&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1117
    functionName: unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 16
    functionsReached:
    - unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string & unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1120
    functionName: mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 12
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string * mutable_unknown_fields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const NormalizerSpec*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1127
    functionName: internal_default_instance
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const NormalizerSpec*>
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec * internal_default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - NormalizerSpec
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1133
    functionName: swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 10
    functionsReached:
    - Swap
    linkageType: ''
    returnType: friend
    signature: friend swap(NormalizerSpec& a, NormalizerSpec& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1136,1
    - Dst: NormalizerSpec*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1136,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1137,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - NormalizerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1134
    functionDepth: 1
    functionLinenumber: 1134
    functionLinenumberEnd: 1141
    functionName: Swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 26
    functionsReached:
    - google::protobuf::internal::GenericSwap
    - NormalizerSpec*::GetArena
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void Swap(NormalizerSpec* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1144,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1144,1
    - Dst: NormalizerSpec*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1144,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - NormalizerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1146
    functionName: UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - NormalizerSpec*::GetArena
    - GOOGLE_DCHECK
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void UnsafeArenaSwap(NormalizerSpec* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<NormalizerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1152
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<NormalizerSpec>
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec * New() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<NormalizerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1156
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<NormalizerSpec>
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec * New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1169
    functionName: GetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1179
    functionName: FullMessageName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::StringPiece
    signature: ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1331,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1335,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1339,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1339,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1340,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1342,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1348,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1351,1
    - Dst: reinterpret_cast<const SelfTestData_Sample*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1357,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1364,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1368,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1368,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1369,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1371,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1376,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1376,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1376,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1377,1
    - Dst: CreateMaybeMessage<SelfTestData_Sample>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1383,1
    - Dst: CreateMaybeMessage<SelfTestData_Sample>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1387,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1401,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1481
    functionName: ::PROTOBUF_NAMESPACE_ID::MessageLite
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - google::protobuf::internal::GenericSwap
    - Swap
    - GOOGLE_DCHECK
    - CreateMaybeMessage<SelfTestData_Sample>
    - ::std::move
    - CopyFrom
    - unknown_fields
    - InternalSwap
    - reinterpret_cast<const SelfTestData_Sample*>
    - GetArena
    - Get
    linkageType: ''
    returnType: class SelfTestData_Sample
    signature: class SelfTestData_Sample ::PROTOBUF_NAMESPACE_ID::MessageLite
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData_Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1332
    functionName: SelfTestData_Sample
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample(SelfTestData_Sample&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData_Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1337
    functionName: '& operator=(const SelfTestData_Sample& from)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: SelfTestData_Sample
    signature: SelfTestData_Sample & operator=(const SelfTestData_Sample& from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1339,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1339,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1340,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData_Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1345
    functionName: '& operator=(SelfTestData_Sample&& from) noexcept'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: SelfTestData_Sample
    signature: SelfTestData_Sample & operator=(SelfTestData_Sample&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1349
    functionName: unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 19
    functionsReached:
    - unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string & unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1352
    functionName: mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 14
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string * mutable_unknown_fields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const SelfTestData_Sample*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1359
    functionName: internal_default_instance
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const SelfTestData_Sample*>
    linkageType: ''
    returnType: SelfTestData_Sample
    signature: SelfTestData_Sample * internal_default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SelfTestData_Sample
    - SelfTestData_Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1365
    functionName: swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 10
    functionsReached:
    - Swap
    linkageType: ''
    returnType: friend
    signature: friend swap(SelfTestData_Sample& a, SelfTestData_Sample& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1368,1
    - Dst: SelfTestData_Sample*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1368,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1369,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - SelfTestData_Sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1373
    functionName: Swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 31
    functionsReached:
    - google::protobuf::internal::GenericSwap
    - SelfTestData_Sample*::GetArena
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void Swap(SelfTestData_Sample* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1376,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1376,1
    - Dst: SelfTestData_Sample*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1376,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - SelfTestData_Sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1378
    functionName: UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SelfTestData_Sample*::GetArena
    - GOOGLE_DCHECK
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void UnsafeArenaSwap(SelfTestData_Sample* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<SelfTestData_Sample>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1384
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<SelfTestData_Sample>
    linkageType: ''
    returnType: SelfTestData_Sample
    signature: SelfTestData_Sample * New() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<SelfTestData_Sample>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1388
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<SelfTestData_Sample>
    linkageType: ''
    returnType: SelfTestData_Sample
    signature: SelfTestData_Sample * New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const
      final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1401
    functionName: GetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1411
    functionName: FullMessageName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::StringPiece
    signature: ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1493,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1497,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1501,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1501,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1502,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1504,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1510,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1513,1
    - Dst: reinterpret_cast<const SelfTestData*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1519,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1526,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1530,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1530,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1531,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1533,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1538,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1538,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1538,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1539,1
    - Dst: CreateMaybeMessage<SelfTestData>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1545,1
    - Dst: CreateMaybeMessage<SelfTestData>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1549,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1563,1
    - Dst: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1610,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1623
    functionName: ::PROTOBUF_NAMESPACE_ID::MessageLite
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - google::protobuf::internal::GenericSwap
    - Swap
    - GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
    - reinterpret_cast<const SelfTestData*>
    - GOOGLE_DCHECK
    - ::std::move
    - CopyFrom
    - unknown_fields
    - InternalSwap
    - GetArena
    - Get
    - CreateMaybeMessage<SelfTestData>
    linkageType: ''
    returnType: class SelfTestData
    signature: class SelfTestData ::PROTOBUF_NAMESPACE_ID::MessageLite
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1494
    functionName: SelfTestData
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    linkageType: ''
    returnType: void
    signature: void SelfTestData(SelfTestData&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1499
    functionName: '& operator=(const SelfTestData& from)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: SelfTestData
    signature: SelfTestData & operator=(const SelfTestData& from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1501,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1501,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1502,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1507
    functionName: '& operator=(SelfTestData&& from) noexcept'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: SelfTestData
    signature: SelfTestData & operator=(SelfTestData&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1511
    functionName: unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 22
    functionsReached:
    - unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string & unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1514
    functionName: mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 16
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string * mutable_unknown_fields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const SelfTestData*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1521
    functionName: internal_default_instance
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const SelfTestData*>
    linkageType: ''
    returnType: SelfTestData
    signature: SelfTestData * internal_default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - SelfTestData
    - SelfTestData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1527
    functionName: swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 10
    functionsReached:
    - Swap
    linkageType: ''
    returnType: friend
    signature: friend swap(SelfTestData& a, SelfTestData& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1530,1
    - Dst: SelfTestData*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1530,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1531,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - SelfTestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1528
    functionDepth: 1
    functionLinenumber: 1528
    functionLinenumberEnd: 1535
    functionName: Swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 36
    functionsReached:
    - SelfTestData*::GetArena
    - google::protobuf::internal::GenericSwap
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void Swap(SelfTestData* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1538,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1538,1
    - Dst: SelfTestData*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1538,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - SelfTestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1540
    functionName: UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SelfTestData*::GetArena
    - GOOGLE_DCHECK
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void UnsafeArenaSwap(SelfTestData* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<SelfTestData>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1544
    functionDepth: 0
    functionLinenumber: 1544
    functionLinenumberEnd: 1546
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<SelfTestData>
    linkageType: ''
    returnType: SelfTestData
    signature: SelfTestData * New() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<SelfTestData>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1550
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<SelfTestData>
    linkageType: ''
    returnType: SelfTestData
    signature: SelfTestData * New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1563
    functionName: GetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1573
    functionName: FullMessageName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::StringPiece
    signature: ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1635,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1639,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1643,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1643,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1644,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1646,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1652,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1655,1
    - Dst: reinterpret_cast<const ModelProto_SentencePiece*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1661,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1668,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1672,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1672,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1673,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1675,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1680,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1680,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1680,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1681,1
    - Dst: CreateMaybeMessage<ModelProto_SentencePiece>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1687,1
    - Dst: CreateMaybeMessage<ModelProto_SentencePiece>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1691,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1705,1
    - Dst: ModelProto_SentencePiece_Type_IsValid
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1741,1
    - Dst: ModelProto_SentencePiece_Type_Name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1754,1
    - Dst: ModelProto_SentencePiece_Type_Parse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1758,1
    - Dst: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1814,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1626
    functionDepth: 2
    functionLinenumber: 1626
    functionLinenumberEnd: 1830
    functionName: ::PROTOBUF_NAMESPACE_ID::MessageLite
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - google::protobuf::internal::GenericSwap
    - Swap
    - GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
    - GOOGLE_DCHECK
    - CreateMaybeMessage<ModelProto_SentencePiece>
    - ::std::move
    - ModelProto_SentencePiece_Type_Parse
    - CopyFrom
    - unknown_fields
    - reinterpret_cast<const ModelProto_SentencePiece*>
    - InternalSwap
    - ModelProto_SentencePiece_Type_Name
    - GetArena
    - Get
    - ModelProto_SentencePiece_Type_IsValid
    linkageType: ''
    returnType: class ModelProto_SentencePiece
    signature: class ModelProto_SentencePiece ::PROTOBUF_NAMESPACE_ID::MessageLite
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1636
    functionName: ModelProto_SentencePiece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece(ModelProto_SentencePiece&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1641
    functionName: '& operator=(const ModelProto_SentencePiece& from)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: ModelProto_SentencePiece
    signature: ModelProto_SentencePiece & operator=(const ModelProto_SentencePiece&
      from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1643,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1643,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1644,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1649
    functionName: '& operator=(ModelProto_SentencePiece&& from) noexcept'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: ModelProto_SentencePiece
    signature: ModelProto_SentencePiece & operator=(ModelProto_SentencePiece&& from)
      noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1653
    functionName: unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 25
    functionsReached:
    - unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string & unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1656
    functionName: mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 18
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string * mutable_unknown_fields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ModelProto_SentencePiece*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1663
    functionName: internal_default_instance
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ModelProto_SentencePiece*>
    linkageType: ''
    returnType: ModelProto_SentencePiece
    signature: ModelProto_SentencePiece * internal_default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ModelProto_SentencePiece
    - ModelProto_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1669
    functionName: swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 10
    functionsReached:
    - Swap
    linkageType: ''
    returnType: friend
    signature: friend swap(ModelProto_SentencePiece& a, ModelProto_SentencePiece&
      b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1672,1
    - Dst: ModelProto_SentencePiece*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1672,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1673,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - ModelProto_SentencePiece*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1670
    functionDepth: 1
    functionLinenumber: 1670
    functionLinenumberEnd: 1677
    functionName: Swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 41
    functionsReached:
    - google::protobuf::internal::GenericSwap
    - ModelProto_SentencePiece*::GetArena
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void Swap(ModelProto_SentencePiece* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1680,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1680,1
    - Dst: ModelProto_SentencePiece*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1680,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - ModelProto_SentencePiece*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1678
    functionDepth: 1
    functionLinenumber: 1678
    functionLinenumberEnd: 1682
    functionName: UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - ModelProto_SentencePiece*::GetArena
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void UnsafeArenaSwap(ModelProto_SentencePiece* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<ModelProto_SentencePiece>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1688
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<ModelProto_SentencePiece>
    linkageType: ''
    returnType: ModelProto_SentencePiece
    signature: ModelProto_SentencePiece * New() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<ModelProto_SentencePiece>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1692
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<ModelProto_SentencePiece>
    linkageType: ''
    returnType: ModelProto_SentencePiece
    signature: ModelProto_SentencePiece * New(::PROTOBUF_NAMESPACE_ID::Arena* arena)
      const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1705
    functionName: GetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1715
    functionName: FullMessageName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::StringPiece
    signature: ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto_SentencePiece_Type_IsValid
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1742
    functionName: Type_IsValid
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 5
    functionsReached:
    - ModelProto_SentencePiece_Type_IsValid
    linkageType: ''
    returnType: bool
    signature: bool Type_IsValid(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto_SentencePiece_Type_Name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enum_t_value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1755
    functionName: Type_Name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 7
    functionsReached:
    - ModelProto_SentencePiece_Type_Name
    linkageType: ''
    returnType: std::string
    signature: std::string & Type_Name(T enum_t_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto_SentencePiece_Type_Parse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::ConstStringParam
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1759
    functionName: Type_Parse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 5
    functionsReached:
    - ModelProto_SentencePiece_Type_Parse
    linkageType: ''
    returnType: bool
    signature: "bool Type_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,\n
      \     Type* value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1842,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1846,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1850,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1850,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1851,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1853,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1859,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1862,1
    - Dst: reinterpret_cast<const ModelProto*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1868,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1875,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1879,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1879,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1880,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1882,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1887,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1887,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1887,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1888,1
    - Dst: CreateMaybeMessage<ModelProto>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1894,1
    - Dst: CreateMaybeMessage<ModelProto>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1898,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1912,1
    - Dst: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2035,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 1833
    functionDepth: 1
    functionLinenumber: 1833
    functionLinenumberEnd: 2053
    functionName: ::PROTOBUF_NAMESPACE_ID::MessageLite
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - google::protobuf::internal::GenericSwap
    - Swap
    - GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
    - GOOGLE_DCHECK
    - ::std::move
    - CopyFrom
    - unknown_fields
    - InternalSwap
    - reinterpret_cast<const ModelProto*>
    - GetArena
    - Get
    - CreateMaybeMessage<ModelProto>
    linkageType: ''
    returnType: class ModelProto
    signature: class ModelProto ::PROTOBUF_NAMESPACE_ID::MessageLite
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1843
    functionName: ModelProto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 196
    functionsReached:
    - ::std::move
    linkageType: ''
    returnType: void
    signature: void ModelProto(ModelProto&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1848
    functionName: '& operator=(const ModelProto& from)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto & operator=(const ModelProto& from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1850,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1850,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1851,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1856
    functionName: '& operator=(ModelProto&& from) noexcept'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto & operator=(ModelProto&& from) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1860
    functionName: unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 28
    functionsReached:
    - unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string & unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1863
    functionName: mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 20
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: std::string
    signature: std::string * mutable_unknown_fields()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ModelProto*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1870
    functionName: internal_default_instance
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ModelProto*>
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto * internal_default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ModelProto
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1876
    functionName: swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 10
    functionsReached:
    - Swap
    linkageType: ''
    returnType: friend
    signature: friend swap(ModelProto& a, ModelProto& b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1879,1
    - Dst: ModelProto*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1879,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1880,1
    - Dst: google::protobuf::internal::GenericSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1877
    functionDepth: 1
    functionLinenumber: 1877
    functionLinenumberEnd: 1884
    functionName: Swap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 46
    functionsReached:
    - google::protobuf::internal::GenericSwap
    - ModelProto*::GetArena
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void Swap(ModelProto* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1887,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1887,1
    - Dst: ModelProto*::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1887,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1885
    functionDepth: 1
    functionLinenumber: 1885
    functionLinenumberEnd: 1889
    functionName: UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto*::GetArena
    - GOOGLE_DCHECK
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void UnsafeArenaSwap(ModelProto* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<ModelProto>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1895
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<ModelProto>
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto * New() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<ModelProto>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1899
    functionName: New
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<ModelProto>
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto * New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:1912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1912
    functionDepth: 0
    functionLinenumber: 1912
    functionLinenumberEnd: 1912
    functionName: GetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1922
    functionName: FullMessageName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::StringPiece
    signature: ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2068
    functionName: TrainerSpec::_internal_input_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int TrainerSpec::_internal_input_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_input_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2069
    functionDepth: 1
    functionLinenumber: 2069
    functionLinenumberEnd: 2071
    functionName: TrainerSpec::input_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 4
    functionsReached:
    - TrainerSpec::_internal_input_size
    linkageType: ''
    returnType: int
    signature: int TrainerSpec::input_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2074
    functionName: TrainerSpec::clear_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_input()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_add_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2075
    functionDepth: 1
    functionLinenumber: 2075
    functionLinenumberEnd: 2078
    functionName: TrainerSpec::add_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 52
    functionsReached:
    - TrainerSpec::_internal_add_input
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::add_input()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2081
    functionName: '& TrainerSpec::_internal_input(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::_internal_input(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2082
    functionDepth: 0
    functionLinenumber: 2082
    functionLinenumberEnd: 2085
    functionName: '& TrainerSpec::input(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_input
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::input(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2089
    functionName: TrainerSpec::mutable_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::mutable_input(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - ' value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2090
    functionDepth: 0
    functionLinenumber: 2090
    functionLinenumberEnd: 2093
    functionName: TrainerSpec::set_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_input(int index, const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2096,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - index
    - ' value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2097
    functionName: TrainerSpec::set_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - std::move
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_input(int index, std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2099,1
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2098
    functionDepth: 1
    functionLinenumber: 2098
    functionLinenumberEnd: 2102
    functionName: TrainerSpec::set_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_input(int index, const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2104,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - index
    - value
    - size
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2107
    functionName: TrainerSpec::set_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_input(int index, const char* value, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2110
    functionName: TrainerSpec::_internal_add_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Add
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::_internal_add_input()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2114
    functionName: TrainerSpec::add_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 52
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_input(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2116,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2118
    functionName: TrainerSpec::add_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 52
    functionsReached:
    - Add
    - std::move
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_input(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2120,1
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2119
    functionDepth: 1
    functionLinenumber: 2119
    functionLinenumberEnd: 2123
    functionName: TrainerSpec::add_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 52
    functionsReached:
    - GOOGLE_DCHECK
    - Add
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_input(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2125,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2127
    functionName: TrainerSpec::add_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 52
    functionsReached:
    - reinterpret_cast<const char*>
    - Add
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_input(const char* value, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2132
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2132
    functionName: '&

      TrainerSpec::input() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> &

      TrainerSpec::input() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2137
    functionName: TrainerSpec::mutable_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> *

      TrainerSpec::mutable_input()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2143
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2143
    functionName: TrainerSpec::_internal_has_input_format
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_input_format() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2144
    functionDepth: 1
    functionLinenumber: 2144
    functionLinenumberEnd: 2146
    functionName: TrainerSpec::has_input_format
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_input_format
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_input_format() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2150
    functionName: TrainerSpec::clear_input_format
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToEmpty
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_input_format()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2154
    functionName: '& TrainerSpec::input_format() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_input_format
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::input_format() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2155
    functionDepth: 1
    functionLinenumber: 2155
    functionLinenumberEnd: 2158
    functionName: TrainerSpec::set_input_format
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 4
    functionsReached:
    - TrainerSpec::_internal_set_input_format
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_input_format(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_mutable_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2159
    functionDepth: 1
    functionLinenumber: 2159
    functionLinenumberEnd: 2162
    functionName: TrainerSpec::mutable_input_format
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_mutable_input_format
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::mutable_input_format()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2165
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2165
    functionName: '& TrainerSpec::_internal_input_format() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::_internal_input_format() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2168,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2169
    functionName: TrainerSpec::_internal_set_input_format
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_input_format(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2172,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2173,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2170
    functionDepth: 0
    functionLinenumber: 2170
    functionLinenumberEnd: 2175
    functionName: TrainerSpec::set_input_format
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 4
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_input_format(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2177,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2179,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2179,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2176
    functionDepth: 1
    functionLinenumber: 2176
    functionLinenumberEnd: 2181
    functionName: TrainerSpec::set_input_format
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 4
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_input_format(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2185,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2185,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2186,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2182
    functionDepth: 1
    functionLinenumber: 2182
    functionLinenumberEnd: 2188
    functionName: TrainerSpec::set_input_format
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void TrainerSpec::set_input_format(const char* value,\n    size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2191,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2192
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2192
    functionName: TrainerSpec::_internal_mutable_input_format
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::_internal_mutable_input_format()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2195,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2199,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2199,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2200
    functionName: TrainerSpec::release_input_format
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - ReleaseNonDefault
    - TrainerSpec::_internal_has_input_format
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::release_input_format()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2207,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2207,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - input_format
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2201
    functionDepth: 1
    functionLinenumber: 2201
    functionLinenumberEnd: 2210
    functionName: TrainerSpec::set_allocated_input_format
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_allocated_input_format(std::string* input_format)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2216
    functionName: TrainerSpec::_internal_has_model_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_model_prefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2217
    functionDepth: 1
    functionLinenumber: 2217
    functionLinenumberEnd: 2219
    functionName: TrainerSpec::has_model_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_model_prefix
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_model_prefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2223
    functionName: TrainerSpec::clear_model_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToEmpty
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_model_prefix()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2227
    functionName: '& TrainerSpec::model_prefix() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_model_prefix
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::model_prefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2228
    functionDepth: 1
    functionLinenumber: 2228
    functionLinenumberEnd: 2231
    functionName: TrainerSpec::set_model_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 52
    functionsReached:
    - TrainerSpec::_internal_set_model_prefix
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_model_prefix(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_mutable_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2232
    functionDepth: 1
    functionLinenumber: 2232
    functionLinenumberEnd: 2235
    functionName: TrainerSpec::mutable_model_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_mutable_model_prefix
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::mutable_model_prefix()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2236
    functionDepth: 0
    functionLinenumber: 2236
    functionLinenumberEnd: 2238
    functionName: '& TrainerSpec::_internal_model_prefix() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::_internal_model_prefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2241,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2242
    functionName: TrainerSpec::_internal_set_model_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_model_prefix(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2245,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2246,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2243
    functionDepth: 0
    functionLinenumber: 2243
    functionLinenumberEnd: 2248
    functionName: TrainerSpec::set_model_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 52
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_model_prefix(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2250,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2252,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2252,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2249
    functionDepth: 1
    functionLinenumber: 2249
    functionLinenumberEnd: 2254
    functionName: TrainerSpec::set_model_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 52
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_model_prefix(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2258,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2258,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2259,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2255
    functionDepth: 1
    functionLinenumber: 2255
    functionLinenumberEnd: 2261
    functionName: TrainerSpec::set_model_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 52
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void TrainerSpec::set_model_prefix(const char* value,\n    size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2264,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2262
    functionDepth: 0
    functionLinenumber: 2262
    functionLinenumberEnd: 2265
    functionName: TrainerSpec::_internal_mutable_model_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::_internal_mutable_model_prefix()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2268,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2272,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2272,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2273
      start: 2266
    functionDepth: 1
    functionLinenumber: 2266
    functionLinenumberEnd: 2273
    functionName: TrainerSpec::release_model_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ReleaseNonDefault
    - GetArena
    - TrainerSpec::_internal_has_model_prefix
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::release_model_prefix()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2280,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2280,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - model_prefix
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2274
    functionDepth: 1
    functionLinenumber: 2274
    functionLinenumberEnd: 2283
    functionName: TrainerSpec::set_allocated_model_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_allocated_model_prefix(std::string* model_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2289
    functionName: TrainerSpec::_internal_has_model_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_model_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_model_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2290
    functionDepth: 1
    functionLinenumber: 2290
    functionLinenumberEnd: 2292
    functionName: TrainerSpec::has_model_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_model_type
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_model_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2296
    functionName: TrainerSpec::clear_model_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_model_type()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast< ::sentencepiece::TrainerSpec_ModelType >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2297
    functionDepth: 0
    functionLinenumber: 2297
    functionLinenumberEnd: 2299
    functionName: TrainerSpec::_internal_model_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - static_cast< ::sentencepiece::TrainerSpec_ModelType >
    linkageType: ''
    returnType: ::sentencepiece::TrainerSpec_ModelType
    signature: ::sentencepiece::TrainerSpec_ModelType TrainerSpec::_internal_model_type()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_model_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2300
    functionDepth: 1
    functionLinenumber: 2300
    functionLinenumberEnd: 2303
    functionName: TrainerSpec::model_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 6
    functionsReached:
    - TrainerSpec::_internal_model_type
    linkageType: ''
    returnType: ::sentencepiece::TrainerSpec_ModelType
    signature: ::sentencepiece::TrainerSpec_ModelType TrainerSpec::model_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2305,1
    - Dst: sentencepiece::TrainerSpec_ModelType_IsValid
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::sentencepiece::TrainerSpec_ModelType
    assertStmts:
    - condition: (::sentencepiece::TrainerSpec_ModelType_IsValid(value))
      pos:
        line_end: 2304
        line_start: 2304
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    constantsTouched: []
    func_position:
      end: 2308
      start: 2304
    functionDepth: 1
    functionLinenumber: 2304
    functionLinenumberEnd: 2308
    functionName: TrainerSpec::_internal_set_model_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerSpec_ModelType_IsValid
    - assert
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_model_type(::sentencepiece::TrainerSpec_ModelType
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_model_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::sentencepiece::TrainerSpec_ModelType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2309
    functionDepth: 2
    functionLinenumber: 2309
    functionLinenumberEnd: 2312
    functionName: TrainerSpec::set_model_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 36
    functionsReached:
    - TrainerSpec::_internal_set_model_type
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_model_type(::sentencepiece::TrainerSpec_ModelType
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2318
    functionName: TrainerSpec::_internal_has_vocab_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_vocab_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_vocab_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2321
      start: 2319
    functionDepth: 1
    functionLinenumber: 2319
    functionLinenumberEnd: 2321
    functionName: TrainerSpec::has_vocab_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_vocab_size
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_vocab_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2322
    functionDepth: 0
    functionLinenumber: 2322
    functionLinenumberEnd: 2325
    functionName: TrainerSpec::clear_vocab_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_vocab_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2328
    functionName: TrainerSpec::_internal_vocab_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::_internal_vocab_size()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_vocab_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2329
    functionDepth: 1
    functionLinenumber: 2329
    functionLinenumberEnd: 2332
    functionName: TrainerSpec::vocab_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 4
    functionsReached:
    - TrainerSpec::_internal_vocab_size
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::vocab_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2336
      start: 2333
    functionDepth: 0
    functionLinenumber: 2333
    functionLinenumberEnd: 2336
    functionName: TrainerSpec::_internal_set_vocab_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_vocab_size(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_vocab_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2337
    functionDepth: 1
    functionLinenumber: 2337
    functionLinenumberEnd: 2340
    functionName: TrainerSpec::set_vocab_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 42
    functionsReached:
    - TrainerSpec::_internal_set_vocab_size
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_vocab_size(::PROTOBUF_NAMESPACE_ID::int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2343
    functionDepth: 0
    functionLinenumber: 2343
    functionLinenumberEnd: 2345
    functionName: TrainerSpec::_internal_accept_language_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int TrainerSpec::_internal_accept_language_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_accept_language_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2346
    functionDepth: 1
    functionLinenumber: 2346
    functionLinenumberEnd: 2348
    functionName: TrainerSpec::accept_language_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_accept_language_size
    linkageType: ''
    returnType: int
    signature: int TrainerSpec::accept_language_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2349
    functionDepth: 0
    functionLinenumber: 2349
    functionLinenumberEnd: 2351
    functionName: TrainerSpec::clear_accept_language
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_accept_language()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_add_accept_language
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2352
    functionDepth: 1
    functionLinenumber: 2352
    functionLinenumberEnd: 2355
    functionName: TrainerSpec::add_accept_language
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_add_accept_language
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::add_accept_language()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2358
      start: 2356
    functionDepth: 0
    functionLinenumber: 2356
    functionLinenumberEnd: 2358
    functionName: '& TrainerSpec::_internal_accept_language(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::_internal_accept_language(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_accept_language
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2362
    functionName: '& TrainerSpec::accept_language(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_accept_language
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::accept_language(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2363
    functionDepth: 0
    functionLinenumber: 2363
    functionLinenumberEnd: 2366
    functionName: TrainerSpec::mutable_accept_language
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::mutable_accept_language(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - ' value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2370
    functionName: TrainerSpec::set_accept_language
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_accept_language(int index, const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2373,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - index
    - ' value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2371
    functionDepth: 0
    functionLinenumber: 2371
    functionLinenumberEnd: 2374
    functionName: TrainerSpec::set_accept_language
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - std::move
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_accept_language(int index, std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2376,1
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2375
    functionDepth: 1
    functionLinenumber: 2375
    functionLinenumberEnd: 2379
    functionName: TrainerSpec::set_accept_language
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_accept_language(int index, const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2381,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - index
    - value
    - size
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2384
    functionName: TrainerSpec::set_accept_language
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_accept_language(int index, const char* value,
      size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2385
    functionDepth: 0
    functionLinenumber: 2385
    functionLinenumberEnd: 2387
    functionName: TrainerSpec::_internal_add_accept_language
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Add
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::_internal_add_accept_language()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2388
    functionDepth: 0
    functionLinenumber: 2388
    functionLinenumberEnd: 2391
    functionName: TrainerSpec::add_accept_language
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_accept_language(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2393,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2395
    functionName: TrainerSpec::add_accept_language
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Add
    - std::move
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_accept_language(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2397,1
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2396
    functionDepth: 1
    functionLinenumber: 2396
    functionLinenumberEnd: 2400
    functionName: TrainerSpec::add_accept_language
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Add
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_accept_language(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2402,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2401
    functionDepth: 0
    functionLinenumber: 2401
    functionLinenumberEnd: 2404
    functionName: TrainerSpec::add_accept_language
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - Add
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_accept_language(const char* value, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2405
    functionDepth: 0
    functionLinenumber: 2405
    functionLinenumberEnd: 2409
    functionName: '&

      TrainerSpec::accept_language() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> &

      TrainerSpec::accept_language() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2414
    functionName: TrainerSpec::mutable_accept_language
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> *

      TrainerSpec::mutable_accept_language()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2420
    functionName: TrainerSpec::_internal_has_self_test_sample_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_self_test_sample_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_self_test_sample_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2421
    functionDepth: 1
    functionLinenumber: 2421
    functionLinenumberEnd: 2423
    functionName: TrainerSpec::has_self_test_sample_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_self_test_sample_size
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_self_test_sample_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2424
    functionDepth: 0
    functionLinenumber: 2424
    functionLinenumberEnd: 2427
    functionName: TrainerSpec::clear_self_test_sample_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_self_test_sample_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2430
    functionName: TrainerSpec::_internal_self_test_sample_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::_internal_self_test_sample_size()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_self_test_sample_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2431
    functionDepth: 1
    functionLinenumber: 2431
    functionLinenumberEnd: 2434
    functionName: TrainerSpec::self_test_sample_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_self_test_sample_size
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::self_test_sample_size()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2435
    functionDepth: 0
    functionLinenumber: 2435
    functionLinenumberEnd: 2438
    functionName: TrainerSpec::_internal_set_self_test_sample_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_self_test_sample_size(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_self_test_sample_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2439
    functionDepth: 1
    functionLinenumber: 2439
    functionLinenumberEnd: 2442
    functionName: TrainerSpec::set_self_test_sample_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_self_test_sample_size
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_self_test_sample_size(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2448
    functionName: TrainerSpec::_internal_has_enable_differential_privacy
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_enable_differential_privacy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_enable_differential_privacy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2451
    functionName: TrainerSpec::has_enable_differential_privacy
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_enable_differential_privacy
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_enable_differential_privacy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2452
    functionDepth: 0
    functionLinenumber: 2452
    functionLinenumberEnd: 2455
    functionName: TrainerSpec::clear_enable_differential_privacy
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_enable_differential_privacy()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2456
    functionDepth: 0
    functionLinenumber: 2456
    functionLinenumberEnd: 2458
    functionName: TrainerSpec::_internal_enable_differential_privacy
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_enable_differential_privacy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_enable_differential_privacy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2459
    functionDepth: 1
    functionLinenumber: 2459
    functionLinenumberEnd: 2462
    functionName: TrainerSpec::enable_differential_privacy
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_enable_differential_privacy
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::enable_differential_privacy() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2466
    functionName: TrainerSpec::_internal_set_enable_differential_privacy
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_enable_differential_privacy(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_enable_differential_privacy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2467
    functionDepth: 1
    functionLinenumber: 2467
    functionLinenumberEnd: 2470
    functionName: TrainerSpec::set_enable_differential_privacy
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_enable_differential_privacy
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_enable_differential_privacy(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2476
    functionName: TrainerSpec::_internal_has_differential_privacy_noise_level
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_differential_privacy_noise_level()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_differential_privacy_noise_level
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2477
    functionDepth: 1
    functionLinenumber: 2477
    functionLinenumberEnd: 2479
    functionName: TrainerSpec::has_differential_privacy_noise_level
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_differential_privacy_noise_level
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_differential_privacy_noise_level() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2483
    functionName: TrainerSpec::clear_differential_privacy_noise_level
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_differential_privacy_noise_level()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2486
    functionName: TrainerSpec::_internal_differential_privacy_noise_level
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float TrainerSpec::_internal_differential_privacy_noise_level() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_differential_privacy_noise_level
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2490
      start: 2487
    functionDepth: 1
    functionLinenumber: 2487
    functionLinenumberEnd: 2490
    functionName: TrainerSpec::differential_privacy_noise_level
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_differential_privacy_noise_level
    linkageType: ''
    returnType: float
    signature: float TrainerSpec::differential_privacy_noise_level() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2494
    functionName: TrainerSpec::_internal_set_differential_privacy_noise_level
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_differential_privacy_noise_level(float
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_differential_privacy_noise_level
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2495
    functionDepth: 1
    functionLinenumber: 2495
    functionLinenumberEnd: 2498
    functionName: TrainerSpec::set_differential_privacy_noise_level
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_differential_privacy_noise_level
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_differential_privacy_noise_level(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2501
    functionDepth: 0
    functionLinenumber: 2501
    functionLinenumberEnd: 2504
    functionName: TrainerSpec::_internal_has_differential_privacy_clipping_threshold
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_differential_privacy_clipping_threshold()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_differential_privacy_clipping_threshold
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2507
      start: 2505
    functionDepth: 1
    functionLinenumber: 2505
    functionLinenumberEnd: 2507
    functionName: TrainerSpec::has_differential_privacy_clipping_threshold
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_differential_privacy_clipping_threshold
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_differential_privacy_clipping_threshold() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2508
    functionDepth: 0
    functionLinenumber: 2508
    functionLinenumberEnd: 2511
    functionName: TrainerSpec::clear_differential_privacy_clipping_threshold
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_ULONGLONG
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_differential_privacy_clipping_threshold()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2512
    functionDepth: 0
    functionLinenumber: 2512
    functionLinenumberEnd: 2514
    functionName: TrainerSpec::_internal_differential_privacy_clipping_threshold
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint64
    signature: ::PROTOBUF_NAMESPACE_ID::uint64 TrainerSpec::_internal_differential_privacy_clipping_threshold()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_differential_privacy_clipping_threshold
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2515
    functionDepth: 1
    functionLinenumber: 2515
    functionLinenumberEnd: 2518
    functionName: TrainerSpec::differential_privacy_clipping_threshold
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_differential_privacy_clipping_threshold
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint64
    signature: ::PROTOBUF_NAMESPACE_ID::uint64 TrainerSpec::differential_privacy_clipping_threshold()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2522
    functionName: TrainerSpec::_internal_set_differential_privacy_clipping_threshold
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_differential_privacy_clipping_threshold(::PROTOBUF_NAMESPACE_ID::uint64
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_differential_privacy_clipping_threshold
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2526
      start: 2523
    functionDepth: 1
    functionLinenumber: 2523
    functionLinenumberEnd: 2526
    functionName: TrainerSpec::set_differential_privacy_clipping_threshold
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_differential_privacy_clipping_threshold
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_differential_privacy_clipping_threshold(::PROTOBUF_NAMESPACE_ID::uint64
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2532
    functionName: TrainerSpec::_internal_has_character_coverage
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_character_coverage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_character_coverage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2533
    functionDepth: 1
    functionLinenumber: 2533
    functionLinenumberEnd: 2535
    functionName: TrainerSpec::has_character_coverage
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_character_coverage
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_character_coverage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2539
    functionName: TrainerSpec::clear_character_coverage
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_character_coverage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2540
    functionDepth: 0
    functionLinenumber: 2540
    functionLinenumberEnd: 2542
    functionName: TrainerSpec::_internal_character_coverage
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float TrainerSpec::_internal_character_coverage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_character_coverage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2543
    functionDepth: 1
    functionLinenumber: 2543
    functionLinenumberEnd: 2546
    functionName: TrainerSpec::character_coverage
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 4
    functionsReached:
    - TrainerSpec::_internal_character_coverage
    linkageType: ''
    returnType: float
    signature: float TrainerSpec::character_coverage() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2547
    functionDepth: 0
    functionLinenumber: 2547
    functionLinenumberEnd: 2550
    functionName: TrainerSpec::_internal_set_character_coverage
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_character_coverage(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_character_coverage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2554
      start: 2551
    functionDepth: 1
    functionLinenumber: 2551
    functionLinenumberEnd: 2554
    functionName: TrainerSpec::set_character_coverage
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - TrainerSpec::_internal_set_character_coverage
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_character_coverage(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2557
    functionDepth: 0
    functionLinenumber: 2557
    functionLinenumberEnd: 2560
    functionName: TrainerSpec::_internal_has_input_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_input_sentence_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_input_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2563
      start: 2561
    functionDepth: 1
    functionLinenumber: 2561
    functionLinenumberEnd: 2563
    functionName: TrainerSpec::has_input_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_input_sentence_size
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_input_sentence_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2567
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2567
    functionName: TrainerSpec::clear_input_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_ULONGLONG
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_input_sentence_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2570
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2570
    functionName: TrainerSpec::_internal_input_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint64
    signature: ::PROTOBUF_NAMESPACE_ID::uint64 TrainerSpec::_internal_input_sentence_size()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_input_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2571
    functionDepth: 1
    functionLinenumber: 2571
    functionLinenumberEnd: 2574
    functionName: TrainerSpec::input_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_input_sentence_size
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint64
    signature: ::PROTOBUF_NAMESPACE_ID::uint64 TrainerSpec::input_sentence_size()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2575
    functionDepth: 0
    functionLinenumber: 2575
    functionLinenumberEnd: 2578
    functionName: TrainerSpec::_internal_set_input_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_input_sentence_size(::PROTOBUF_NAMESPACE_ID::uint64
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_input_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2582
      start: 2579
    functionDepth: 1
    functionLinenumber: 2579
    functionLinenumberEnd: 2582
    functionName: TrainerSpec::set_input_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_input_sentence_size
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_input_sentence_size(::PROTOBUF_NAMESPACE_ID::uint64
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2588
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2588
    functionName: TrainerSpec::_internal_has_shuffle_input_sentence
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_shuffle_input_sentence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_shuffle_input_sentence
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2591
    functionName: TrainerSpec::has_shuffle_input_sentence
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_shuffle_input_sentence
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_shuffle_input_sentence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2592
    functionDepth: 0
    functionLinenumber: 2592
    functionLinenumberEnd: 2595
    functionName: TrainerSpec::clear_shuffle_input_sentence
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_shuffle_input_sentence()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2596
    functionDepth: 0
    functionLinenumber: 2596
    functionLinenumberEnd: 2598
    functionName: TrainerSpec::_internal_shuffle_input_sentence
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_shuffle_input_sentence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_shuffle_input_sentence
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2599
    functionDepth: 1
    functionLinenumber: 2599
    functionLinenumberEnd: 2602
    functionName: TrainerSpec::shuffle_input_sentence
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_shuffle_input_sentence
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::shuffle_input_sentence() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2603
    functionDepth: 0
    functionLinenumber: 2603
    functionLinenumberEnd: 2606
    functionName: TrainerSpec::_internal_set_shuffle_input_sentence
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_shuffle_input_sentence(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_shuffle_input_sentence
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2607
    functionDepth: 1
    functionLinenumber: 2607
    functionLinenumberEnd: 2610
    functionName: TrainerSpec::set_shuffle_input_sentence
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_shuffle_input_sentence
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_shuffle_input_sentence(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2616
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2616
    functionName: TrainerSpec::_internal_has_mining_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_mining_sentence_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_mining_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2617
    functionDepth: 1
    functionLinenumber: 2617
    functionLinenumberEnd: 2619
    functionName: TrainerSpec::has_mining_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_mining_sentence_size
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_mining_sentence_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2623
    functionName: TrainerSpec::clear_mining_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_mining_sentence_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2626
    functionName: TrainerSpec::_internal_mining_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::_internal_mining_sentence_size()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_mining_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2627
    functionDepth: 1
    functionLinenumber: 2627
    functionLinenumberEnd: 2630
    functionName: TrainerSpec::mining_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_mining_sentence_size
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::mining_sentence_size()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2634
      start: 2631
    functionDepth: 0
    functionLinenumber: 2631
    functionLinenumberEnd: 2634
    functionName: TrainerSpec::_internal_set_mining_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_mining_sentence_size(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_mining_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2638
      start: 2635
    functionDepth: 1
    functionLinenumber: 2635
    functionLinenumberEnd: 2638
    functionName: TrainerSpec::set_mining_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_mining_sentence_size
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_mining_sentence_size(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2641
    functionDepth: 0
    functionLinenumber: 2641
    functionLinenumberEnd: 2644
    functionName: TrainerSpec::_internal_has_training_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_training_sentence_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_training_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2647
      start: 2645
    functionDepth: 1
    functionLinenumber: 2645
    functionLinenumberEnd: 2647
    functionName: TrainerSpec::has_training_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_training_sentence_size
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_training_sentence_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2648
    functionDepth: 0
    functionLinenumber: 2648
    functionLinenumberEnd: 2651
    functionName: TrainerSpec::clear_training_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_training_sentence_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2652
    functionDepth: 0
    functionLinenumber: 2652
    functionLinenumberEnd: 2654
    functionName: TrainerSpec::_internal_training_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::_internal_training_sentence_size()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_training_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2655
    functionDepth: 1
    functionLinenumber: 2655
    functionLinenumberEnd: 2658
    functionName: TrainerSpec::training_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_training_sentence_size
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::training_sentence_size()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2659
    functionDepth: 0
    functionLinenumber: 2659
    functionLinenumberEnd: 2662
    functionName: TrainerSpec::_internal_set_training_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_training_sentence_size(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_training_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2663
    functionDepth: 1
    functionLinenumber: 2663
    functionLinenumberEnd: 2666
    functionName: TrainerSpec::set_training_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_training_sentence_size
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_training_sentence_size(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2672
      start: 2669
    functionDepth: 0
    functionLinenumber: 2669
    functionLinenumberEnd: 2672
    functionName: TrainerSpec::_internal_has_seed_sentencepiece_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_seed_sentencepiece_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_seed_sentencepiece_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2675
      start: 2673
    functionDepth: 1
    functionLinenumber: 2673
    functionLinenumberEnd: 2675
    functionName: TrainerSpec::has_seed_sentencepiece_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_seed_sentencepiece_size
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_seed_sentencepiece_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2679
      start: 2676
    functionDepth: 0
    functionLinenumber: 2676
    functionLinenumberEnd: 2679
    functionName: TrainerSpec::clear_seed_sentencepiece_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_seed_sentencepiece_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2680
    functionDepth: 0
    functionLinenumber: 2680
    functionLinenumberEnd: 2682
    functionName: TrainerSpec::_internal_seed_sentencepiece_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::_internal_seed_sentencepiece_size()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_seed_sentencepiece_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2683
    functionDepth: 1
    functionLinenumber: 2683
    functionLinenumberEnd: 2686
    functionName: TrainerSpec::seed_sentencepiece_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_seed_sentencepiece_size
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::seed_sentencepiece_size()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2690
      start: 2687
    functionDepth: 0
    functionLinenumber: 2687
    functionLinenumberEnd: 2690
    functionName: TrainerSpec::_internal_set_seed_sentencepiece_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_seed_sentencepiece_size(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_seed_sentencepiece_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2691
    functionDepth: 1
    functionLinenumber: 2691
    functionLinenumberEnd: 2694
    functionName: TrainerSpec::set_seed_sentencepiece_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_seed_sentencepiece_size
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_seed_sentencepiece_size(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2697
    functionDepth: 0
    functionLinenumber: 2697
    functionLinenumberEnd: 2700
    functionName: TrainerSpec::_internal_has_shrinking_factor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_shrinking_factor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_shrinking_factor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2703
      start: 2701
    functionDepth: 1
    functionLinenumber: 2701
    functionLinenumberEnd: 2703
    functionName: TrainerSpec::has_shrinking_factor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_shrinking_factor
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_shrinking_factor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2704
    functionDepth: 0
    functionLinenumber: 2704
    functionLinenumberEnd: 2707
    functionName: TrainerSpec::clear_shrinking_factor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_shrinking_factor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2708
    functionDepth: 0
    functionLinenumber: 2708
    functionLinenumberEnd: 2710
    functionName: TrainerSpec::_internal_shrinking_factor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float TrainerSpec::_internal_shrinking_factor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_shrinking_factor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2711
    functionDepth: 1
    functionLinenumber: 2711
    functionLinenumberEnd: 2714
    functionName: TrainerSpec::shrinking_factor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_shrinking_factor
    linkageType: ''
    returnType: float
    signature: float TrainerSpec::shrinking_factor() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2718
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2718
    functionName: TrainerSpec::_internal_set_shrinking_factor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_shrinking_factor(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_shrinking_factor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2719
    functionDepth: 1
    functionLinenumber: 2719
    functionLinenumberEnd: 2722
    functionName: TrainerSpec::set_shrinking_factor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_shrinking_factor
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_shrinking_factor(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2728
      start: 2725
    functionDepth: 0
    functionLinenumber: 2725
    functionLinenumberEnd: 2728
    functionName: TrainerSpec::_internal_has_max_sentence_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_max_sentence_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_max_sentence_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2731
      start: 2729
    functionDepth: 1
    functionLinenumber: 2729
    functionLinenumberEnd: 2731
    functionName: TrainerSpec::has_max_sentence_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_max_sentence_length
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_max_sentence_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2732
    functionDepth: 0
    functionLinenumber: 2732
    functionLinenumberEnd: 2735
    functionName: TrainerSpec::clear_max_sentence_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_max_sentence_length()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2738
    functionName: TrainerSpec::_internal_max_sentence_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::_internal_max_sentence_length()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_max_sentence_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2742
      start: 2739
    functionDepth: 1
    functionLinenumber: 2739
    functionLinenumberEnd: 2742
    functionName: TrainerSpec::max_sentence_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_max_sentence_length
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::max_sentence_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2743
    functionDepth: 0
    functionLinenumber: 2743
    functionLinenumberEnd: 2746
    functionName: TrainerSpec::_internal_set_max_sentence_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_max_sentence_length(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_max_sentence_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2747
    functionDepth: 1
    functionLinenumber: 2747
    functionLinenumberEnd: 2750
    functionName: TrainerSpec::set_max_sentence_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_max_sentence_length
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_max_sentence_length(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2753
    functionDepth: 0
    functionLinenumber: 2753
    functionLinenumberEnd: 2756
    functionName: TrainerSpec::_internal_has_num_threads
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_num_threads() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_num_threads
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2759
      start: 2757
    functionDepth: 1
    functionLinenumber: 2757
    functionLinenumberEnd: 2759
    functionName: TrainerSpec::has_num_threads
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_num_threads
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_num_threads() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2763
      start: 2760
    functionDepth: 0
    functionLinenumber: 2760
    functionLinenumberEnd: 2763
    functionName: TrainerSpec::clear_num_threads
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_num_threads()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2766
      start: 2764
    functionDepth: 0
    functionLinenumber: 2764
    functionLinenumberEnd: 2766
    functionName: TrainerSpec::_internal_num_threads
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::_internal_num_threads()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_num_threads
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2770
      start: 2767
    functionDepth: 1
    functionLinenumber: 2767
    functionLinenumberEnd: 2770
    functionName: TrainerSpec::num_threads
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_num_threads
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::num_threads() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2774
      start: 2771
    functionDepth: 0
    functionLinenumber: 2771
    functionLinenumberEnd: 2774
    functionName: TrainerSpec::_internal_set_num_threads
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_num_threads(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_num_threads
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2778
      start: 2775
    functionDepth: 1
    functionLinenumber: 2775
    functionLinenumberEnd: 2778
    functionName: TrainerSpec::set_num_threads
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_num_threads
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_num_threads(::PROTOBUF_NAMESPACE_ID::int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2784
      start: 2781
    functionDepth: 0
    functionLinenumber: 2781
    functionLinenumberEnd: 2784
    functionName: TrainerSpec::_internal_has_num_sub_iterations
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_num_sub_iterations() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_num_sub_iterations
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2787
      start: 2785
    functionDepth: 1
    functionLinenumber: 2785
    functionLinenumberEnd: 2787
    functionName: TrainerSpec::has_num_sub_iterations
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_num_sub_iterations
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_num_sub_iterations() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2788
    functionDepth: 0
    functionLinenumber: 2788
    functionLinenumberEnd: 2791
    functionName: TrainerSpec::clear_num_sub_iterations
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_num_sub_iterations()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2794
      start: 2792
    functionDepth: 0
    functionLinenumber: 2792
    functionLinenumberEnd: 2794
    functionName: TrainerSpec::_internal_num_sub_iterations
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::_internal_num_sub_iterations()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_num_sub_iterations
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2798
      start: 2795
    functionDepth: 1
    functionLinenumber: 2795
    functionLinenumberEnd: 2798
    functionName: TrainerSpec::num_sub_iterations
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_num_sub_iterations
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::num_sub_iterations() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2802
      start: 2799
    functionDepth: 0
    functionLinenumber: 2799
    functionLinenumberEnd: 2802
    functionName: TrainerSpec::_internal_set_num_sub_iterations
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_num_sub_iterations(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_num_sub_iterations
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2803
    functionDepth: 1
    functionLinenumber: 2803
    functionLinenumberEnd: 2806
    functionName: TrainerSpec::set_num_sub_iterations
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_num_sub_iterations
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_num_sub_iterations(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2809
    functionDepth: 0
    functionLinenumber: 2809
    functionLinenumberEnd: 2812
    functionName: TrainerSpec::_internal_has_max_sentencepiece_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_max_sentencepiece_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_max_sentencepiece_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2815
      start: 2813
    functionDepth: 1
    functionLinenumber: 2813
    functionLinenumberEnd: 2815
    functionName: TrainerSpec::has_max_sentencepiece_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_max_sentencepiece_length
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_max_sentencepiece_length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2816
    functionDepth: 0
    functionLinenumber: 2816
    functionLinenumberEnd: 2819
    functionName: TrainerSpec::clear_max_sentencepiece_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_max_sentencepiece_length()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2822
    functionName: TrainerSpec::_internal_max_sentencepiece_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::_internal_max_sentencepiece_length()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_max_sentencepiece_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2823
    functionDepth: 1
    functionLinenumber: 2823
    functionLinenumberEnd: 2826
    functionName: TrainerSpec::max_sentencepiece_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_max_sentencepiece_length
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::max_sentencepiece_length()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2830
    functionName: TrainerSpec::_internal_set_max_sentencepiece_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_max_sentencepiece_length(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_max_sentencepiece_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2831
    functionDepth: 1
    functionLinenumber: 2831
    functionLinenumberEnd: 2834
    functionName: TrainerSpec::set_max_sentencepiece_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - TrainerSpec::_internal_set_max_sentencepiece_length
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_max_sentencepiece_length(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2837
    functionDepth: 0
    functionLinenumber: 2837
    functionLinenumberEnd: 2840
    functionName: TrainerSpec::_internal_has_split_by_unicode_script
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_split_by_unicode_script() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_split_by_unicode_script
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2843
      start: 2841
    functionDepth: 1
    functionLinenumber: 2841
    functionLinenumberEnd: 2843
    functionName: TrainerSpec::has_split_by_unicode_script
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_split_by_unicode_script
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_split_by_unicode_script() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2847
      start: 2844
    functionDepth: 0
    functionLinenumber: 2844
    functionLinenumberEnd: 2847
    functionName: TrainerSpec::clear_split_by_unicode_script
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_split_by_unicode_script()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2848
    functionDepth: 0
    functionLinenumber: 2848
    functionLinenumberEnd: 2850
    functionName: TrainerSpec::_internal_split_by_unicode_script
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_split_by_unicode_script() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_split_by_unicode_script
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2851
    functionDepth: 1
    functionLinenumber: 2851
    functionLinenumberEnd: 2854
    functionName: TrainerSpec::split_by_unicode_script
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_split_by_unicode_script
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::split_by_unicode_script() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2855
    functionDepth: 0
    functionLinenumber: 2855
    functionLinenumberEnd: 2858
    functionName: TrainerSpec::_internal_set_split_by_unicode_script
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_split_by_unicode_script(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_split_by_unicode_script
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2862
      start: 2859
    functionDepth: 1
    functionLinenumber: 2859
    functionLinenumberEnd: 2862
    functionName: TrainerSpec::set_split_by_unicode_script
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - TrainerSpec::_internal_set_split_by_unicode_script
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_split_by_unicode_script(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2865
    functionDepth: 0
    functionLinenumber: 2865
    functionLinenumberEnd: 2868
    functionName: TrainerSpec::_internal_has_split_by_number
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_split_by_number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_split_by_number
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2869
    functionDepth: 1
    functionLinenumber: 2869
    functionLinenumberEnd: 2871
    functionName: TrainerSpec::has_split_by_number
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_split_by_number
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_split_by_number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2875
    functionName: TrainerSpec::clear_split_by_number
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_split_by_number()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2878
      start: 2876
    functionDepth: 0
    functionLinenumber: 2876
    functionLinenumberEnd: 2878
    functionName: TrainerSpec::_internal_split_by_number
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_split_by_number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_split_by_number
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2882
      start: 2879
    functionDepth: 1
    functionLinenumber: 2879
    functionLinenumberEnd: 2882
    functionName: TrainerSpec::split_by_number
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_split_by_number
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::split_by_number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2886
      start: 2883
    functionDepth: 0
    functionLinenumber: 2883
    functionLinenumberEnd: 2886
    functionName: TrainerSpec::_internal_set_split_by_number
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_split_by_number(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_split_by_number
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2887
    functionDepth: 1
    functionLinenumber: 2887
    functionLinenumberEnd: 2890
    functionName: TrainerSpec::set_split_by_number
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - TrainerSpec::_internal_set_split_by_number
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_split_by_number(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2896
      start: 2893
    functionDepth: 0
    functionLinenumber: 2893
    functionLinenumberEnd: 2896
    functionName: TrainerSpec::_internal_has_split_by_whitespace
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_split_by_whitespace() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_split_by_whitespace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2897
    functionDepth: 1
    functionLinenumber: 2897
    functionLinenumberEnd: 2899
    functionName: TrainerSpec::has_split_by_whitespace
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_split_by_whitespace
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_split_by_whitespace() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2900
    functionDepth: 0
    functionLinenumber: 2900
    functionLinenumberEnd: 2903
    functionName: TrainerSpec::clear_split_by_whitespace
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_split_by_whitespace()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2906
      start: 2904
    functionDepth: 0
    functionLinenumber: 2904
    functionLinenumberEnd: 2906
    functionName: TrainerSpec::_internal_split_by_whitespace
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_split_by_whitespace() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_split_by_whitespace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2910
      start: 2907
    functionDepth: 1
    functionLinenumber: 2907
    functionLinenumberEnd: 2910
    functionName: TrainerSpec::split_by_whitespace
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 4
    functionsReached:
    - TrainerSpec::_internal_split_by_whitespace
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::split_by_whitespace() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2914
      start: 2911
    functionDepth: 0
    functionLinenumber: 2911
    functionLinenumberEnd: 2914
    functionName: TrainerSpec::_internal_set_split_by_whitespace
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_split_by_whitespace(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_split_by_whitespace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2915
    functionDepth: 1
    functionLinenumber: 2915
    functionLinenumberEnd: 2918
    functionName: TrainerSpec::set_split_by_whitespace
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - TrainerSpec::_internal_set_split_by_whitespace
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_split_by_whitespace(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2924
      start: 2921
    functionDepth: 0
    functionLinenumber: 2921
    functionLinenumberEnd: 2924
    functionName: TrainerSpec::_internal_has_treat_whitespace_as_suffix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_treat_whitespace_as_suffix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2925
    functionDepth: 1
    functionLinenumber: 2925
    functionLinenumberEnd: 2927
    functionName: TrainerSpec::has_treat_whitespace_as_suffix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_treat_whitespace_as_suffix
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_treat_whitespace_as_suffix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2931
      start: 2928
    functionDepth: 0
    functionLinenumber: 2928
    functionLinenumberEnd: 2931
    functionName: TrainerSpec::clear_treat_whitespace_as_suffix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_treat_whitespace_as_suffix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2934
      start: 2932
    functionDepth: 0
    functionLinenumber: 2932
    functionLinenumberEnd: 2934
    functionName: TrainerSpec::_internal_treat_whitespace_as_suffix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_treat_whitespace_as_suffix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2938
      start: 2935
    functionDepth: 1
    functionLinenumber: 2935
    functionLinenumberEnd: 2938
    functionName: TrainerSpec::treat_whitespace_as_suffix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_treat_whitespace_as_suffix
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::treat_whitespace_as_suffix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2942
      start: 2939
    functionDepth: 0
    functionLinenumber: 2939
    functionLinenumberEnd: 2942
    functionName: TrainerSpec::_internal_set_treat_whitespace_as_suffix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_treat_whitespace_as_suffix(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2946
      start: 2943
    functionDepth: 1
    functionLinenumber: 2943
    functionLinenumberEnd: 2946
    functionName: TrainerSpec::set_treat_whitespace_as_suffix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 6
    functionsReached:
    - TrainerSpec::_internal_set_treat_whitespace_as_suffix
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_treat_whitespace_as_suffix(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2952
      start: 2949
    functionDepth: 0
    functionLinenumber: 2949
    functionLinenumberEnd: 2952
    functionName: TrainerSpec::_internal_has_allow_whitespace_only_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_allow_whitespace_only_pieces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2955
      start: 2953
    functionDepth: 1
    functionLinenumber: 2953
    functionLinenumberEnd: 2955
    functionName: TrainerSpec::has_allow_whitespace_only_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_allow_whitespace_only_pieces
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_allow_whitespace_only_pieces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2959
      start: 2956
    functionDepth: 0
    functionLinenumber: 2956
    functionLinenumberEnd: 2959
    functionName: TrainerSpec::clear_allow_whitespace_only_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_allow_whitespace_only_pieces()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2960
    functionDepth: 0
    functionLinenumber: 2960
    functionLinenumberEnd: 2962
    functionName: TrainerSpec::_internal_allow_whitespace_only_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_allow_whitespace_only_pieces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2963
    functionDepth: 1
    functionLinenumber: 2963
    functionLinenumberEnd: 2966
    functionName: TrainerSpec::allow_whitespace_only_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_allow_whitespace_only_pieces
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::allow_whitespace_only_pieces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2970
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 2970
    functionName: TrainerSpec::_internal_set_allow_whitespace_only_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_allow_whitespace_only_pieces(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2974
      start: 2971
    functionDepth: 1
    functionLinenumber: 2971
    functionLinenumberEnd: 2974
    functionName: TrainerSpec::set_allow_whitespace_only_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - TrainerSpec::_internal_set_allow_whitespace_only_pieces
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_allow_whitespace_only_pieces(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2980
      start: 2977
    functionDepth: 0
    functionLinenumber: 2977
    functionLinenumberEnd: 2980
    functionName: TrainerSpec::_internal_has_split_digits
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_split_digits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_split_digits
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2983
      start: 2981
    functionDepth: 1
    functionLinenumber: 2981
    functionLinenumberEnd: 2983
    functionName: TrainerSpec::has_split_digits
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_split_digits
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_split_digits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2987
      start: 2984
    functionDepth: 0
    functionLinenumber: 2984
    functionLinenumberEnd: 2987
    functionName: TrainerSpec::clear_split_digits
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_split_digits()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2988
    functionDepth: 0
    functionLinenumber: 2988
    functionLinenumberEnd: 2990
    functionName: TrainerSpec::_internal_split_digits
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_split_digits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_split_digits
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:2993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2991
    functionDepth: 1
    functionLinenumber: 2991
    functionLinenumberEnd: 2994
    functionName: TrainerSpec::split_digits
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_split_digits
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::split_digits() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2998
      start: 2995
    functionDepth: 0
    functionLinenumber: 2995
    functionLinenumberEnd: 2998
    functionName: TrainerSpec::_internal_set_split_digits
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_split_digits(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_split_digits
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3002
      start: 2999
    functionDepth: 1
    functionLinenumber: 2999
    functionLinenumberEnd: 3002
    functionName: TrainerSpec::set_split_digits
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - TrainerSpec::_internal_set_split_digits
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_split_digits(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3008
      start: 3005
    functionDepth: 0
    functionLinenumber: 3005
    functionLinenumberEnd: 3008
    functionName: TrainerSpec::_internal_has_pretokenization_delimiter
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_pretokenization_delimiter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3011
      start: 3009
    functionDepth: 1
    functionLinenumber: 3009
    functionLinenumberEnd: 3011
    functionName: TrainerSpec::has_pretokenization_delimiter
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_pretokenization_delimiter
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_pretokenization_delimiter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 3012
    functionDepth: 0
    functionLinenumber: 3012
    functionLinenumberEnd: 3015
    functionName: TrainerSpec::clear_pretokenization_delimiter
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToEmpty
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_pretokenization_delimiter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3019
      start: 3016
    functionDepth: 0
    functionLinenumber: 3016
    functionLinenumberEnd: 3019
    functionName: '& TrainerSpec::pretokenization_delimiter() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_pretokenization_delimiter
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::pretokenization_delimiter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3023
      start: 3020
    functionDepth: 1
    functionLinenumber: 3020
    functionLinenumberEnd: 3023
    functionName: TrainerSpec::set_pretokenization_delimiter
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_pretokenization_delimiter
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_pretokenization_delimiter(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_mutable_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3027
      start: 3024
    functionDepth: 1
    functionLinenumber: 3024
    functionLinenumberEnd: 3027
    functionName: TrainerSpec::mutable_pretokenization_delimiter
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_mutable_pretokenization_delimiter
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::mutable_pretokenization_delimiter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3030
      start: 3028
    functionDepth: 0
    functionLinenumber: 3028
    functionLinenumberEnd: 3030
    functionName: '& TrainerSpec::_internal_pretokenization_delimiter() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::_internal_pretokenization_delimiter() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3033,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3034
      start: 3031
    functionDepth: 0
    functionLinenumber: 3031
    functionLinenumberEnd: 3034
    functionName: TrainerSpec::_internal_set_pretokenization_delimiter
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_pretokenization_delimiter(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3037,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3038,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3040
      start: 3035
    functionDepth: 0
    functionLinenumber: 3035
    functionLinenumberEnd: 3040
    functionName: TrainerSpec::set_pretokenization_delimiter
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_pretokenization_delimiter(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3042,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3044,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3044,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3046
      start: 3041
    functionDepth: 1
    functionLinenumber: 3041
    functionLinenumberEnd: 3046
    functionName: TrainerSpec::set_pretokenization_delimiter
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_pretokenization_delimiter(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3050,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3050,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3051,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3047
    functionDepth: 1
    functionLinenumber: 3047
    functionLinenumberEnd: 3053
    functionName: TrainerSpec::set_pretokenization_delimiter
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void TrainerSpec::set_pretokenization_delimiter(const char* value,\n
      \   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3056,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3054
    functionDepth: 0
    functionLinenumber: 3054
    functionLinenumberEnd: 3057
    functionName: TrainerSpec::_internal_mutable_pretokenization_delimiter
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::_internal_mutable_pretokenization_delimiter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3060,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3064,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3064,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3065
      start: 3058
    functionDepth: 1
    functionLinenumber: 3058
    functionLinenumberEnd: 3065
    functionName: TrainerSpec::release_pretokenization_delimiter
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - TrainerSpec::_internal_has_pretokenization_delimiter
    - ReleaseNonDefault
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::release_pretokenization_delimiter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3072,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3072,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pretokenization_delimiter
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3075
      start: 3066
    functionDepth: 1
    functionLinenumber: 3066
    functionLinenumberEnd: 3075
    functionName: TrainerSpec::set_allocated_pretokenization_delimiter
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_allocated_pretokenization_delimiter(std::string*
      pretokenization_delimiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3078
    functionDepth: 0
    functionLinenumber: 3078
    functionLinenumberEnd: 3080
    functionName: TrainerSpec::_internal_control_symbols_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int TrainerSpec::_internal_control_symbols_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_control_symbols_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3083
      start: 3081
    functionDepth: 1
    functionLinenumber: 3081
    functionLinenumberEnd: 3083
    functionName: TrainerSpec::control_symbols_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_control_symbols_size
    linkageType: ''
    returnType: int
    signature: int TrainerSpec::control_symbols_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3086
      start: 3084
    functionDepth: 0
    functionLinenumber: 3084
    functionLinenumberEnd: 3086
    functionName: TrainerSpec::clear_control_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_control_symbols()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_add_control_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3087
    functionDepth: 1
    functionLinenumber: 3087
    functionLinenumberEnd: 3090
    functionName: TrainerSpec::add_control_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - TrainerSpec::_internal_add_control_symbols
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::add_control_symbols()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3093
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3093
    functionName: '& TrainerSpec::_internal_control_symbols(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::_internal_control_symbols(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_control_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3097
      start: 3094
    functionDepth: 0
    functionLinenumber: 3094
    functionLinenumberEnd: 3097
    functionName: '& TrainerSpec::control_symbols(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_control_symbols
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::control_symbols(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3101
      start: 3098
    functionDepth: 0
    functionLinenumber: 3098
    functionLinenumberEnd: 3101
    functionName: TrainerSpec::mutable_control_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::mutable_control_symbols(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - ' value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3105
      start: 3102
    functionDepth: 0
    functionLinenumber: 3102
    functionLinenumberEnd: 3105
    functionName: TrainerSpec::set_control_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_control_symbols(int index, const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3108,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - index
    - ' value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3109
      start: 3106
    functionDepth: 0
    functionLinenumber: 3106
    functionLinenumberEnd: 3109
    functionName: TrainerSpec::set_control_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - std::move
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_control_symbols(int index, std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3111,1
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3114
      start: 3110
    functionDepth: 1
    functionLinenumber: 3110
    functionLinenumberEnd: 3114
    functionName: TrainerSpec::set_control_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_control_symbols(int index, const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3116,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - index
    - value
    - size
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3119
      start: 3115
    functionDepth: 0
    functionLinenumber: 3115
    functionLinenumberEnd: 3119
    functionName: TrainerSpec::set_control_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_control_symbols(int index, const char* value,
      size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3120
    functionDepth: 0
    functionLinenumber: 3120
    functionLinenumberEnd: 3122
    functionName: TrainerSpec::_internal_add_control_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Add
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::_internal_add_control_symbols()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3126
      start: 3123
    functionDepth: 0
    functionLinenumber: 3123
    functionLinenumberEnd: 3126
    functionName: TrainerSpec::add_control_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_control_symbols(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3128,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 3127
    functionDepth: 0
    functionLinenumber: 3127
    functionLinenumberEnd: 3130
    functionName: TrainerSpec::add_control_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - Add
    - std::move
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_control_symbols(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3132,1
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3135
      start: 3131
    functionDepth: 1
    functionLinenumber: 3131
    functionLinenumberEnd: 3135
    functionName: TrainerSpec::add_control_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK
    - Add
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_control_symbols(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3137,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3139
      start: 3136
    functionDepth: 0
    functionLinenumber: 3136
    functionLinenumberEnd: 3139
    functionName: TrainerSpec::add_control_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const char*>
    - Add
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_control_symbols(const char* value, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3144
      start: 3140
    functionDepth: 0
    functionLinenumber: 3140
    functionLinenumberEnd: 3144
    functionName: '&

      TrainerSpec::control_symbols() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> &

      TrainerSpec::control_symbols() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3149
      start: 3145
    functionDepth: 0
    functionLinenumber: 3145
    functionLinenumberEnd: 3149
    functionName: TrainerSpec::mutable_control_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> *

      TrainerSpec::mutable_control_symbols()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3154
      start: 3152
    functionDepth: 0
    functionLinenumber: 3152
    functionLinenumberEnd: 3154
    functionName: TrainerSpec::_internal_user_defined_symbols_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int TrainerSpec::_internal_user_defined_symbols_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_user_defined_symbols_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3157
      start: 3155
    functionDepth: 1
    functionLinenumber: 3155
    functionLinenumberEnd: 3157
    functionName: TrainerSpec::user_defined_symbols_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_user_defined_symbols_size
    linkageType: ''
    returnType: int
    signature: int TrainerSpec::user_defined_symbols_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3160
      start: 3158
    functionDepth: 0
    functionLinenumber: 3158
    functionLinenumberEnd: 3160
    functionName: TrainerSpec::clear_user_defined_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_user_defined_symbols()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_add_user_defined_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3164
      start: 3161
    functionDepth: 1
    functionLinenumber: 3161
    functionLinenumberEnd: 3164
    functionName: TrainerSpec::add_user_defined_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 14
    functionsReached:
    - TrainerSpec::_internal_add_user_defined_symbols
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::add_user_defined_symbols()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3165
    functionDepth: 0
    functionLinenumber: 3165
    functionLinenumberEnd: 3167
    functionName: '& TrainerSpec::_internal_user_defined_symbols(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::_internal_user_defined_symbols(int index)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_user_defined_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3171
      start: 3168
    functionDepth: 0
    functionLinenumber: 3168
    functionLinenumberEnd: 3171
    functionName: '& TrainerSpec::user_defined_symbols(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_user_defined_symbols
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::user_defined_symbols(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3175
      start: 3172
    functionDepth: 0
    functionLinenumber: 3172
    functionLinenumberEnd: 3175
    functionName: TrainerSpec::mutable_user_defined_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::mutable_user_defined_symbols(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index
    - ' value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3179
      start: 3176
    functionDepth: 0
    functionLinenumber: 3176
    functionLinenumberEnd: 3179
    functionName: TrainerSpec::set_user_defined_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_user_defined_symbols(int index, const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3182,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - index
    - ' value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3183
      start: 3180
    functionDepth: 0
    functionLinenumber: 3180
    functionLinenumberEnd: 3183
    functionName: TrainerSpec::set_user_defined_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - std::move
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_user_defined_symbols(int index, std::string&&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3185,1
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3188
      start: 3184
    functionDepth: 1
    functionLinenumber: 3184
    functionLinenumberEnd: 3188
    functionName: TrainerSpec::set_user_defined_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_user_defined_symbols(int index, const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3190,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - index
    - value
    - size
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3189
    functionDepth: 0
    functionLinenumber: 3189
    functionLinenumberEnd: 3193
    functionName: TrainerSpec::set_user_defined_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - Mutable
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_user_defined_symbols(int index, const char* value,
      size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3196
      start: 3194
    functionDepth: 0
    functionLinenumber: 3194
    functionLinenumberEnd: 3196
    functionName: TrainerSpec::_internal_add_user_defined_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Add
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::_internal_add_user_defined_symbols()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3200
      start: 3197
    functionDepth: 0
    functionLinenumber: 3197
    functionLinenumberEnd: 3200
    functionName: TrainerSpec::add_user_defined_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 14
    functionsReached:
    - Add
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_user_defined_symbols(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3202,1
    - Dst: std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3204
      start: 3201
    functionDepth: 0
    functionLinenumber: 3201
    functionLinenumberEnd: 3204
    functionName: TrainerSpec::add_user_defined_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 14
    functionsReached:
    - Add
    - std::move
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_user_defined_symbols(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3206,1
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3209
      start: 3205
    functionDepth: 1
    functionLinenumber: 3205
    functionLinenumberEnd: 3209
    functionName: TrainerSpec::add_user_defined_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 14
    functionsReached:
    - GOOGLE_DCHECK
    - Add
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_user_defined_symbols(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3211,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3213
      start: 3210
    functionDepth: 0
    functionLinenumber: 3210
    functionLinenumberEnd: 3213
    functionName: TrainerSpec::add_user_defined_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 14
    functionsReached:
    - reinterpret_cast<const char*>
    - Add
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::add_user_defined_symbols(const char* value, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3214
    functionDepth: 0
    functionLinenumber: 3214
    functionLinenumberEnd: 3218
    functionName: '&

      TrainerSpec::user_defined_symbols() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> &

      TrainerSpec::user_defined_symbols() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3223
      start: 3219
    functionDepth: 0
    functionLinenumber: 3219
    functionLinenumberEnd: 3223
    functionName: TrainerSpec::mutable_user_defined_symbols
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> *

      TrainerSpec::mutable_user_defined_symbols()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3226
    functionDepth: 0
    functionLinenumber: 3226
    functionLinenumberEnd: 3229
    functionName: TrainerSpec::_internal_has_required_chars
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_required_chars() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3230
    functionDepth: 1
    functionLinenumber: 3230
    functionLinenumberEnd: 3232
    functionName: TrainerSpec::has_required_chars
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_required_chars
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_required_chars() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3236
      start: 3233
    functionDepth: 0
    functionLinenumber: 3233
    functionLinenumberEnd: 3236
    functionName: TrainerSpec::clear_required_chars
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToEmpty
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_required_chars()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3237
    functionDepth: 0
    functionLinenumber: 3237
    functionLinenumberEnd: 3240
    functionName: '& TrainerSpec::required_chars() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_required_chars
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::required_chars() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3244
      start: 3241
    functionDepth: 1
    functionLinenumber: 3241
    functionLinenumberEnd: 3244
    functionName: TrainerSpec::set_required_chars
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - TrainerSpec::_internal_set_required_chars
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_required_chars(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_mutable_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3248
      start: 3245
    functionDepth: 1
    functionLinenumber: 3245
    functionLinenumberEnd: 3248
    functionName: TrainerSpec::mutable_required_chars
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_mutable_required_chars
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::mutable_required_chars()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3251
      start: 3249
    functionDepth: 0
    functionLinenumber: 3249
    functionLinenumberEnd: 3251
    functionName: '& TrainerSpec::_internal_required_chars() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::_internal_required_chars() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3254,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3255
      start: 3252
    functionDepth: 0
    functionLinenumber: 3252
    functionLinenumberEnd: 3255
    functionName: TrainerSpec::_internal_set_required_chars
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_required_chars(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3258,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3259,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3261
      start: 3256
    functionDepth: 0
    functionLinenumber: 3256
    functionLinenumberEnd: 3261
    functionName: TrainerSpec::set_required_chars
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_required_chars(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3263,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3265,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3265,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3267
      start: 3262
    functionDepth: 1
    functionLinenumber: 3262
    functionLinenumberEnd: 3267
    functionName: TrainerSpec::set_required_chars
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_required_chars(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3271,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3271,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3272,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3274
      start: 3268
    functionDepth: 1
    functionLinenumber: 3268
    functionLinenumberEnd: 3274
    functionName: TrainerSpec::set_required_chars
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void TrainerSpec::set_required_chars(const char* value,\n    size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3277,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3278
      start: 3275
    functionDepth: 0
    functionLinenumber: 3275
    functionLinenumberEnd: 3278
    functionName: TrainerSpec::_internal_mutable_required_chars
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::_internal_mutable_required_chars()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3281,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3285,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3285,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3286
      start: 3279
    functionDepth: 1
    functionLinenumber: 3279
    functionLinenumberEnd: 3286
    functionName: TrainerSpec::release_required_chars
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - GetArena
    - ReleaseNonDefault
    - TrainerSpec::_internal_has_required_chars
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::release_required_chars()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3293,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3293,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - required_chars
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3296
      start: 3287
    functionDepth: 1
    functionLinenumber: 3287
    functionLinenumberEnd: 3296
    functionName: TrainerSpec::set_allocated_required_chars
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_allocated_required_chars(std::string* required_chars)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3302
      start: 3299
    functionDepth: 0
    functionLinenumber: 3299
    functionLinenumberEnd: 3302
    functionName: TrainerSpec::_internal_has_byte_fallback
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_byte_fallback() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_byte_fallback
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3305
      start: 3303
    functionDepth: 1
    functionLinenumber: 3303
    functionLinenumberEnd: 3305
    functionName: TrainerSpec::has_byte_fallback
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_byte_fallback
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_byte_fallback() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3309
      start: 3306
    functionDepth: 0
    functionLinenumber: 3306
    functionLinenumberEnd: 3309
    functionName: TrainerSpec::clear_byte_fallback
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_byte_fallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3312
      start: 3310
    functionDepth: 0
    functionLinenumber: 3310
    functionLinenumberEnd: 3312
    functionName: TrainerSpec::_internal_byte_fallback
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_byte_fallback() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_byte_fallback
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3316
      start: 3313
    functionDepth: 1
    functionLinenumber: 3313
    functionLinenumberEnd: 3316
    functionName: TrainerSpec::byte_fallback
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_byte_fallback
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::byte_fallback() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3320
      start: 3317
    functionDepth: 0
    functionLinenumber: 3317
    functionLinenumberEnd: 3320
    functionName: TrainerSpec::_internal_set_byte_fallback
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_byte_fallback(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_byte_fallback
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3324
      start: 3321
    functionDepth: 1
    functionLinenumber: 3321
    functionLinenumberEnd: 3324
    functionName: TrainerSpec::set_byte_fallback
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - TrainerSpec::_internal_set_byte_fallback
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_byte_fallback(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3330
      start: 3327
    functionDepth: 0
    functionLinenumber: 3327
    functionLinenumberEnd: 3330
    functionName: TrainerSpec::_internal_has_vocabulary_output_piece_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_vocabulary_output_piece_score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_vocabulary_output_piece_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3333
      start: 3331
    functionDepth: 1
    functionLinenumber: 3331
    functionLinenumberEnd: 3333
    functionName: TrainerSpec::has_vocabulary_output_piece_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_vocabulary_output_piece_score
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_vocabulary_output_piece_score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3337
      start: 3334
    functionDepth: 0
    functionLinenumber: 3334
    functionLinenumberEnd: 3337
    functionName: TrainerSpec::clear_vocabulary_output_piece_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_vocabulary_output_piece_score()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3338
    functionDepth: 0
    functionLinenumber: 3338
    functionLinenumberEnd: 3340
    functionName: TrainerSpec::_internal_vocabulary_output_piece_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_vocabulary_output_piece_score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_vocabulary_output_piece_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3344
      start: 3341
    functionDepth: 1
    functionLinenumber: 3341
    functionLinenumberEnd: 3344
    functionName: TrainerSpec::vocabulary_output_piece_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_vocabulary_output_piece_score
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::vocabulary_output_piece_score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3348
      start: 3345
    functionDepth: 0
    functionLinenumber: 3345
    functionLinenumberEnd: 3348
    functionName: TrainerSpec::_internal_set_vocabulary_output_piece_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_vocabulary_output_piece_score(bool
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_vocabulary_output_piece_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3352
      start: 3349
    functionDepth: 1
    functionLinenumber: 3349
    functionLinenumberEnd: 3352
    functionName: TrainerSpec::set_vocabulary_output_piece_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_vocabulary_output_piece_score
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_vocabulary_output_piece_score(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3358
      start: 3355
    functionDepth: 0
    functionLinenumber: 3355
    functionLinenumberEnd: 3358
    functionName: TrainerSpec::_internal_has_hard_vocab_limit
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_hard_vocab_limit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_hard_vocab_limit
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3361
      start: 3359
    functionDepth: 1
    functionLinenumber: 3359
    functionLinenumberEnd: 3361
    functionName: TrainerSpec::has_hard_vocab_limit
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_hard_vocab_limit
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_hard_vocab_limit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3362
    functionDepth: 0
    functionLinenumber: 3362
    functionLinenumberEnd: 3365
    functionName: TrainerSpec::clear_hard_vocab_limit
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_hard_vocab_limit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3368
      start: 3366
    functionDepth: 0
    functionLinenumber: 3366
    functionLinenumberEnd: 3368
    functionName: TrainerSpec::_internal_hard_vocab_limit
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_hard_vocab_limit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_hard_vocab_limit
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3372
      start: 3369
    functionDepth: 1
    functionLinenumber: 3369
    functionLinenumberEnd: 3372
    functionName: TrainerSpec::hard_vocab_limit
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 2
    functionsReached:
    - TrainerSpec::_internal_hard_vocab_limit
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::hard_vocab_limit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3376
      start: 3373
    functionDepth: 0
    functionLinenumber: 3373
    functionLinenumberEnd: 3376
    functionName: TrainerSpec::_internal_set_hard_vocab_limit
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_hard_vocab_limit(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_hard_vocab_limit
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3380
      start: 3377
    functionDepth: 1
    functionLinenumber: 3377
    functionLinenumberEnd: 3380
    functionName: TrainerSpec::set_hard_vocab_limit
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 6
    functionsReached:
    - TrainerSpec::_internal_set_hard_vocab_limit
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_hard_vocab_limit(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3386
      start: 3383
    functionDepth: 0
    functionLinenumber: 3383
    functionLinenumberEnd: 3386
    functionName: TrainerSpec::_internal_has_use_all_vocab
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_use_all_vocab() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_use_all_vocab
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3389
      start: 3387
    functionDepth: 1
    functionLinenumber: 3387
    functionLinenumberEnd: 3389
    functionName: TrainerSpec::has_use_all_vocab
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_use_all_vocab
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_use_all_vocab() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3390
    functionDepth: 0
    functionLinenumber: 3390
    functionLinenumberEnd: 3393
    functionName: TrainerSpec::clear_use_all_vocab
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_use_all_vocab()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3394
    functionDepth: 0
    functionLinenumber: 3394
    functionLinenumberEnd: 3396
    functionName: TrainerSpec::_internal_use_all_vocab
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_use_all_vocab() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_use_all_vocab
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3400
      start: 3397
    functionDepth: 1
    functionLinenumber: 3397
    functionLinenumberEnd: 3400
    functionName: TrainerSpec::use_all_vocab
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_use_all_vocab
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::use_all_vocab() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3404
      start: 3401
    functionDepth: 0
    functionLinenumber: 3401
    functionLinenumberEnd: 3404
    functionName: TrainerSpec::_internal_set_use_all_vocab
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_use_all_vocab(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_use_all_vocab
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3408
      start: 3405
    functionDepth: 1
    functionLinenumber: 3405
    functionLinenumberEnd: 3408
    functionName: TrainerSpec::set_use_all_vocab
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_use_all_vocab
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_use_all_vocab(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3414
      start: 3411
    functionDepth: 0
    functionLinenumber: 3411
    functionLinenumberEnd: 3414
    functionName: TrainerSpec::_internal_has_unk_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_unk_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_unk_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3417
      start: 3415
    functionDepth: 1
    functionLinenumber: 3415
    functionLinenumberEnd: 3417
    functionName: TrainerSpec::has_unk_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_unk_id
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_unk_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3421
      start: 3418
    functionDepth: 0
    functionLinenumber: 3418
    functionLinenumberEnd: 3421
    functionName: TrainerSpec::clear_unk_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_unk_id()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3424
      start: 3422
    functionDepth: 0
    functionLinenumber: 3422
    functionLinenumberEnd: 3424
    functionName: TrainerSpec::_internal_unk_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::_internal_unk_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_unk_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3428
      start: 3425
    functionDepth: 1
    functionLinenumber: 3425
    functionLinenumberEnd: 3428
    functionName: TrainerSpec::unk_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_unk_id
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::unk_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3432
      start: 3429
    functionDepth: 0
    functionLinenumber: 3429
    functionLinenumberEnd: 3432
    functionName: TrainerSpec::_internal_set_unk_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_unk_id(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_unk_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3436
      start: 3433
    functionDepth: 1
    functionLinenumber: 3433
    functionLinenumberEnd: 3436
    functionName: TrainerSpec::set_unk_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_unk_id
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_unk_id(::PROTOBUF_NAMESPACE_ID::int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3442
      start: 3439
    functionDepth: 0
    functionLinenumber: 3439
    functionLinenumberEnd: 3442
    functionName: TrainerSpec::_internal_has_bos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_bos_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_bos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3445
      start: 3443
    functionDepth: 1
    functionLinenumber: 3443
    functionLinenumberEnd: 3445
    functionName: TrainerSpec::has_bos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_bos_id
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_bos_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3449
      start: 3446
    functionDepth: 0
    functionLinenumber: 3446
    functionLinenumberEnd: 3449
    functionName: TrainerSpec::clear_bos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_bos_id()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3452
      start: 3450
    functionDepth: 0
    functionLinenumber: 3450
    functionLinenumberEnd: 3452
    functionName: TrainerSpec::_internal_bos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::_internal_bos_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_bos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3456
      start: 3453
    functionDepth: 1
    functionLinenumber: 3453
    functionLinenumberEnd: 3456
    functionName: TrainerSpec::bos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_bos_id
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::bos_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3460
      start: 3457
    functionDepth: 0
    functionLinenumber: 3457
    functionLinenumberEnd: 3460
    functionName: TrainerSpec::_internal_set_bos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_bos_id(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_bos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3464
      start: 3461
    functionDepth: 1
    functionLinenumber: 3461
    functionLinenumberEnd: 3464
    functionName: TrainerSpec::set_bos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_bos_id
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_bos_id(::PROTOBUF_NAMESPACE_ID::int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3470
      start: 3467
    functionDepth: 0
    functionLinenumber: 3467
    functionLinenumberEnd: 3470
    functionName: TrainerSpec::_internal_has_eos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_eos_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_eos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3473
      start: 3471
    functionDepth: 1
    functionLinenumber: 3471
    functionLinenumberEnd: 3473
    functionName: TrainerSpec::has_eos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_eos_id
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_eos_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3477
      start: 3474
    functionDepth: 0
    functionLinenumber: 3474
    functionLinenumberEnd: 3477
    functionName: TrainerSpec::clear_eos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_eos_id()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3480
      start: 3478
    functionDepth: 0
    functionLinenumber: 3478
    functionLinenumberEnd: 3480
    functionName: TrainerSpec::_internal_eos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::_internal_eos_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_eos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3484
      start: 3481
    functionDepth: 1
    functionLinenumber: 3481
    functionLinenumberEnd: 3484
    functionName: TrainerSpec::eos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_eos_id
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::eos_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3488
      start: 3485
    functionDepth: 0
    functionLinenumber: 3485
    functionLinenumberEnd: 3488
    functionName: TrainerSpec::_internal_set_eos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_eos_id(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_eos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3492
      start: 3489
    functionDepth: 1
    functionLinenumber: 3489
    functionLinenumberEnd: 3492
    functionName: TrainerSpec::set_eos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_eos_id
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_eos_id(::PROTOBUF_NAMESPACE_ID::int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3498
      start: 3495
    functionDepth: 0
    functionLinenumber: 3495
    functionLinenumberEnd: 3498
    functionName: TrainerSpec::_internal_has_pad_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_pad_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_pad_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3501
      start: 3499
    functionDepth: 1
    functionLinenumber: 3499
    functionLinenumberEnd: 3501
    functionName: TrainerSpec::has_pad_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_pad_id
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_pad_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3505
      start: 3502
    functionDepth: 0
    functionLinenumber: 3502
    functionLinenumberEnd: 3505
    functionName: TrainerSpec::clear_pad_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_pad_id()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3508
      start: 3506
    functionDepth: 0
    functionLinenumber: 3506
    functionLinenumberEnd: 3508
    functionName: TrainerSpec::_internal_pad_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::_internal_pad_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_pad_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3512
      start: 3509
    functionDepth: 1
    functionLinenumber: 3509
    functionLinenumberEnd: 3512
    functionName: TrainerSpec::pad_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_pad_id
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::int32
    signature: ::PROTOBUF_NAMESPACE_ID::int32 TrainerSpec::pad_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3516
      start: 3513
    functionDepth: 0
    functionLinenumber: 3513
    functionLinenumberEnd: 3516
    functionName: TrainerSpec::_internal_set_pad_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_pad_id(::PROTOBUF_NAMESPACE_ID::int32
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_pad_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3520
      start: 3517
    functionDepth: 1
    functionLinenumber: 3517
    functionLinenumberEnd: 3520
    functionName: TrainerSpec::set_pad_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_pad_id
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_pad_id(::PROTOBUF_NAMESPACE_ID::int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3526
      start: 3523
    functionDepth: 0
    functionLinenumber: 3523
    functionLinenumberEnd: 3526
    functionName: TrainerSpec::_internal_has_unk_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_unk_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3529
      start: 3527
    functionDepth: 1
    functionLinenumber: 3527
    functionLinenumberEnd: 3529
    functionName: TrainerSpec::has_unk_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_unk_piece
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_unk_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3531,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3533
      start: 3530
    functionDepth: 0
    functionLinenumber: 3530
    functionLinenumberEnd: 3533
    functionName: TrainerSpec::clear_unk_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToDefault
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_unk_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3536,1
    - Dst: get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3536,1
    - Dst: _internal_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3538
      start: 3534
    functionDepth: 0
    functionLinenumber: 3534
    functionLinenumberEnd: 3538
    functionName: '& TrainerSpec::unk_piece() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - IsDefault
    - _internal_unk_piece
    - get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::unk_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3542
      start: 3539
    functionDepth: 1
    functionLinenumber: 3539
    functionLinenumberEnd: 3542
    functionName: TrainerSpec::set_unk_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_unk_piece
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_unk_piece(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_mutable_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3546
      start: 3543
    functionDepth: 1
    functionLinenumber: 3543
    functionLinenumberEnd: 3546
    functionName: TrainerSpec::mutable_unk_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_mutable_unk_piece
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::mutable_unk_piece()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3549
      start: 3547
    functionDepth: 0
    functionLinenumber: 3547
    functionLinenumberEnd: 3549
    functionName: '& TrainerSpec::_internal_unk_piece() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::_internal_unk_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3552,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3553
      start: 3550
    functionDepth: 0
    functionLinenumber: 3550
    functionLinenumberEnd: 3553
    functionName: TrainerSpec::_internal_set_unk_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_unk_piece(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3556,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3557,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3559
      start: 3554
    functionDepth: 0
    functionLinenumber: 3554
    functionLinenumberEnd: 3559
    functionName: TrainerSpec::set_unk_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_unk_piece(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3561,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3563,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3563,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3565
      start: 3560
    functionDepth: 1
    functionLinenumber: 3560
    functionLinenumberEnd: 3565
    functionName: TrainerSpec::set_unk_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_unk_piece(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3569,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3569,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3570,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3572
      start: 3566
    functionDepth: 1
    functionLinenumber: 3566
    functionLinenumberEnd: 3572
    functionName: TrainerSpec::set_unk_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void TrainerSpec::set_unk_piece(const char* value,\n    size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3575,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3576
      start: 3573
    functionDepth: 0
    functionLinenumber: 3573
    functionLinenumberEnd: 3576
    functionName: TrainerSpec::_internal_mutable_unk_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::_internal_mutable_unk_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3579,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3583,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3584
      start: 3577
    functionDepth: 1
    functionLinenumber: 3577
    functionLinenumberEnd: 3584
    functionName: TrainerSpec::release_unk_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_unk_piece
    - ReleaseNonDefault
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::release_unk_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3591,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - unk_piece
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3594
      start: 3585
    functionDepth: 0
    functionLinenumber: 3585
    functionLinenumberEnd: 3594
    functionName: TrainerSpec::set_allocated_unk_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_allocated_unk_piece(std::string* unk_piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3600
      start: 3597
    functionDepth: 0
    functionLinenumber: 3597
    functionLinenumberEnd: 3600
    functionName: TrainerSpec::_internal_has_bos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_bos_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3603
      start: 3601
    functionDepth: 1
    functionLinenumber: 3601
    functionLinenumberEnd: 3603
    functionName: TrainerSpec::has_bos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_bos_piece
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_bos_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3605,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3607
      start: 3604
    functionDepth: 0
    functionLinenumber: 3604
    functionLinenumberEnd: 3607
    functionName: TrainerSpec::clear_bos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToDefault
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_bos_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3610,1
    - Dst: get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3610,1
    - Dst: _internal_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3612
      start: 3608
    functionDepth: 0
    functionLinenumber: 3608
    functionLinenumberEnd: 3612
    functionName: '& TrainerSpec::bos_piece() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_bos_piece
    - IsDefault
    - get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::bos_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3616
      start: 3613
    functionDepth: 1
    functionLinenumber: 3613
    functionLinenumberEnd: 3616
    functionName: TrainerSpec::set_bos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_bos_piece
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_bos_piece(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_mutable_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3620
      start: 3617
    functionDepth: 1
    functionLinenumber: 3617
    functionLinenumberEnd: 3620
    functionName: TrainerSpec::mutable_bos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_mutable_bos_piece
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::mutable_bos_piece()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3623
      start: 3621
    functionDepth: 0
    functionLinenumber: 3621
    functionLinenumberEnd: 3623
    functionName: '& TrainerSpec::_internal_bos_piece() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::_internal_bos_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3626,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3624
    functionDepth: 0
    functionLinenumber: 3624
    functionLinenumberEnd: 3627
    functionName: TrainerSpec::_internal_set_bos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_bos_piece(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3630,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3631,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3633
      start: 3628
    functionDepth: 0
    functionLinenumber: 3628
    functionLinenumberEnd: 3633
    functionName: TrainerSpec::set_bos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_bos_piece(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3635,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3637,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3637,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3639
      start: 3634
    functionDepth: 1
    functionLinenumber: 3634
    functionLinenumberEnd: 3639
    functionName: TrainerSpec::set_bos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_bos_piece(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3643,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3643,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3644,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3646
      start: 3640
    functionDepth: 1
    functionLinenumber: 3640
    functionLinenumberEnd: 3646
    functionName: TrainerSpec::set_bos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void TrainerSpec::set_bos_piece(const char* value,\n    size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3649,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3650
      start: 3647
    functionDepth: 0
    functionLinenumber: 3647
    functionLinenumberEnd: 3650
    functionName: TrainerSpec::_internal_mutable_bos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::_internal_mutable_bos_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3653,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3657,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3658
      start: 3651
    functionDepth: 1
    functionLinenumber: 3651
    functionLinenumberEnd: 3658
    functionName: TrainerSpec::release_bos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_bos_piece
    - ReleaseNonDefault
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::release_bos_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3665,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bos_piece
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3668
      start: 3659
    functionDepth: 0
    functionLinenumber: 3659
    functionLinenumberEnd: 3668
    functionName: TrainerSpec::set_allocated_bos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_allocated_bos_piece(std::string* bos_piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3674
      start: 3671
    functionDepth: 0
    functionLinenumber: 3671
    functionLinenumberEnd: 3674
    functionName: TrainerSpec::_internal_has_eos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_eos_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3677
      start: 3675
    functionDepth: 1
    functionLinenumber: 3675
    functionLinenumberEnd: 3677
    functionName: TrainerSpec::has_eos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_eos_piece
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_eos_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3679,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3681
      start: 3678
    functionDepth: 0
    functionLinenumber: 3678
    functionLinenumberEnd: 3681
    functionName: TrainerSpec::clear_eos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToDefault
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_eos_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3684,1
    - Dst: get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3684,1
    - Dst: _internal_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3686
      start: 3682
    functionDepth: 0
    functionLinenumber: 3682
    functionLinenumberEnd: 3686
    functionName: '& TrainerSpec::eos_piece() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - IsDefault
    - _internal_eos_piece
    - get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::eos_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3690
      start: 3687
    functionDepth: 1
    functionLinenumber: 3687
    functionLinenumberEnd: 3690
    functionName: TrainerSpec::set_eos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_eos_piece
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_eos_piece(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_mutable_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3694
      start: 3691
    functionDepth: 1
    functionLinenumber: 3691
    functionLinenumberEnd: 3694
    functionName: TrainerSpec::mutable_eos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_mutable_eos_piece
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::mutable_eos_piece()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3697
      start: 3695
    functionDepth: 0
    functionLinenumber: 3695
    functionLinenumberEnd: 3697
    functionName: '& TrainerSpec::_internal_eos_piece() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::_internal_eos_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3700,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3701
      start: 3698
    functionDepth: 0
    functionLinenumber: 3698
    functionLinenumberEnd: 3701
    functionName: TrainerSpec::_internal_set_eos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_eos_piece(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3704,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3705,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3707
      start: 3702
    functionDepth: 0
    functionLinenumber: 3702
    functionLinenumberEnd: 3707
    functionName: TrainerSpec::set_eos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_eos_piece(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3709,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3711,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3711,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3713
      start: 3708
    functionDepth: 1
    functionLinenumber: 3708
    functionLinenumberEnd: 3713
    functionName: TrainerSpec::set_eos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_eos_piece(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3717,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3717,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3718,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3720
      start: 3714
    functionDepth: 1
    functionLinenumber: 3714
    functionLinenumberEnd: 3720
    functionName: TrainerSpec::set_eos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void TrainerSpec::set_eos_piece(const char* value,\n    size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3723,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3724
      start: 3721
    functionDepth: 0
    functionLinenumber: 3721
    functionLinenumberEnd: 3724
    functionName: TrainerSpec::_internal_mutable_eos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::_internal_mutable_eos_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3727,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3731,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3732
      start: 3725
    functionDepth: 1
    functionLinenumber: 3725
    functionLinenumberEnd: 3732
    functionName: TrainerSpec::release_eos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_eos_piece
    - ReleaseNonDefault
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::release_eos_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3739,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - eos_piece
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3742
      start: 3733
    functionDepth: 0
    functionLinenumber: 3733
    functionLinenumberEnd: 3742
    functionName: TrainerSpec::set_allocated_eos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_allocated_eos_piece(std::string* eos_piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3748
      start: 3745
    functionDepth: 0
    functionLinenumber: 3745
    functionLinenumberEnd: 3748
    functionName: TrainerSpec::_internal_has_pad_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_pad_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3751
      start: 3749
    functionDepth: 1
    functionLinenumber: 3749
    functionLinenumberEnd: 3751
    functionName: TrainerSpec::has_pad_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_pad_piece
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_pad_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3753,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3755
      start: 3752
    functionDepth: 0
    functionLinenumber: 3752
    functionLinenumberEnd: 3755
    functionName: TrainerSpec::clear_pad_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToDefault
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_pad_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3758,1
    - Dst: get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3758,1
    - Dst: _internal_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3760
      start: 3756
    functionDepth: 0
    functionLinenumber: 3756
    functionLinenumberEnd: 3760
    functionName: '& TrainerSpec::pad_piece() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - IsDefault
    - get
    - _internal_pad_piece
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::pad_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3764
      start: 3761
    functionDepth: 1
    functionLinenumber: 3761
    functionLinenumberEnd: 3764
    functionName: TrainerSpec::set_pad_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_pad_piece
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_pad_piece(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_mutable_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3768
      start: 3765
    functionDepth: 1
    functionLinenumber: 3765
    functionLinenumberEnd: 3768
    functionName: TrainerSpec::mutable_pad_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_mutable_pad_piece
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::mutable_pad_piece()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3771
      start: 3769
    functionDepth: 0
    functionLinenumber: 3769
    functionLinenumberEnd: 3771
    functionName: '& TrainerSpec::_internal_pad_piece() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::_internal_pad_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3774,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3775
      start: 3772
    functionDepth: 0
    functionLinenumber: 3772
    functionLinenumberEnd: 3775
    functionName: TrainerSpec::_internal_set_pad_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_pad_piece(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3778,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3779,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3781
      start: 3776
    functionDepth: 0
    functionLinenumber: 3776
    functionLinenumberEnd: 3781
    functionName: TrainerSpec::set_pad_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_pad_piece(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3783,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3785,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3785,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3787
      start: 3782
    functionDepth: 1
    functionLinenumber: 3782
    functionLinenumberEnd: 3787
    functionName: TrainerSpec::set_pad_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_pad_piece(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3791,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3791,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3792,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3794
      start: 3788
    functionDepth: 1
    functionLinenumber: 3788
    functionLinenumberEnd: 3794
    functionName: TrainerSpec::set_pad_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void TrainerSpec::set_pad_piece(const char* value,\n    size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3797,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3798
      start: 3795
    functionDepth: 0
    functionLinenumber: 3795
    functionLinenumberEnd: 3798
    functionName: TrainerSpec::_internal_mutable_pad_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::_internal_mutable_pad_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3801,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3805,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3806
      start: 3799
    functionDepth: 1
    functionLinenumber: 3799
    functionLinenumberEnd: 3806
    functionName: TrainerSpec::release_pad_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_pad_piece
    - ReleaseNonDefault
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::release_pad_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3813,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pad_piece
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3816
      start: 3807
    functionDepth: 0
    functionLinenumber: 3807
    functionLinenumberEnd: 3816
    functionName: TrainerSpec::set_allocated_pad_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_allocated_pad_piece(std::string* pad_piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3822
      start: 3819
    functionDepth: 0
    functionLinenumber: 3819
    functionLinenumberEnd: 3822
    functionName: TrainerSpec::_internal_has_unk_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_unk_surface() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3825
      start: 3823
    functionDepth: 1
    functionLinenumber: 3823
    functionLinenumberEnd: 3825
    functionName: TrainerSpec::has_unk_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_unk_surface
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_unk_surface() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3827,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3829
      start: 3826
    functionDepth: 0
    functionLinenumber: 3826
    functionLinenumberEnd: 3829
    functionName: TrainerSpec::clear_unk_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToDefault
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_unk_surface()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3832,1
    - Dst: get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3832,1
    - Dst: _internal_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3834
      start: 3830
    functionDepth: 0
    functionLinenumber: 3830
    functionLinenumberEnd: 3834
    functionName: '& TrainerSpec::unk_surface() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - IsDefault
    - get
    - _internal_unk_surface
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::unk_surface() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3838
      start: 3835
    functionDepth: 1
    functionLinenumber: 3835
    functionLinenumberEnd: 3838
    functionName: TrainerSpec::set_unk_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_unk_surface
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_unk_surface(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_mutable_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3842
      start: 3839
    functionDepth: 1
    functionLinenumber: 3839
    functionLinenumberEnd: 3842
    functionName: TrainerSpec::mutable_unk_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_mutable_unk_surface
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::mutable_unk_surface()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3845
      start: 3843
    functionDepth: 0
    functionLinenumber: 3843
    functionLinenumberEnd: 3845
    functionName: '& TrainerSpec::_internal_unk_surface() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::_internal_unk_surface() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3848,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3849
      start: 3846
    functionDepth: 0
    functionLinenumber: 3846
    functionLinenumberEnd: 3849
    functionName: TrainerSpec::_internal_set_unk_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_unk_surface(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3852,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3853,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3855
      start: 3850
    functionDepth: 0
    functionLinenumber: 3850
    functionLinenumberEnd: 3855
    functionName: TrainerSpec::set_unk_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_unk_surface(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3857,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3859,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3859,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3861
      start: 3856
    functionDepth: 1
    functionLinenumber: 3856
    functionLinenumberEnd: 3861
    functionName: TrainerSpec::set_unk_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_unk_surface(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3865,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3865,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3866,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3868
      start: 3862
    functionDepth: 1
    functionLinenumber: 3862
    functionLinenumberEnd: 3868
    functionName: TrainerSpec::set_unk_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void TrainerSpec::set_unk_surface(const char* value,\n    size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3871,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3872
      start: 3869
    functionDepth: 0
    functionLinenumber: 3869
    functionLinenumberEnd: 3872
    functionName: TrainerSpec::_internal_mutable_unk_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::_internal_mutable_unk_surface()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3875,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3879,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3880
      start: 3873
    functionDepth: 1
    functionLinenumber: 3873
    functionLinenumberEnd: 3880
    functionName: TrainerSpec::release_unk_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ReleaseNonDefault
    - TrainerSpec::_internal_has_unk_surface
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::release_unk_surface()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3887,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - unk_surface
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3890
      start: 3881
    functionDepth: 0
    functionLinenumber: 3881
    functionLinenumberEnd: 3890
    functionName: TrainerSpec::set_allocated_unk_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_allocated_unk_surface(std::string* unk_surface)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3896
      start: 3893
    functionDepth: 0
    functionLinenumber: 3893
    functionLinenumberEnd: 3896
    functionName: TrainerSpec::_internal_has_train_extremely_large_corpus
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_train_extremely_large_corpus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_train_extremely_large_corpus
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3899
      start: 3897
    functionDepth: 1
    functionLinenumber: 3897
    functionLinenumberEnd: 3899
    functionName: TrainerSpec::has_train_extremely_large_corpus
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_train_extremely_large_corpus
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_train_extremely_large_corpus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3903
      start: 3900
    functionDepth: 0
    functionLinenumber: 3900
    functionLinenumberEnd: 3903
    functionName: TrainerSpec::clear_train_extremely_large_corpus
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_train_extremely_large_corpus()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3906
      start: 3904
    functionDepth: 0
    functionLinenumber: 3904
    functionLinenumberEnd: 3906
    functionName: TrainerSpec::_internal_train_extremely_large_corpus
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_train_extremely_large_corpus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_train_extremely_large_corpus
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3910
      start: 3907
    functionDepth: 1
    functionLinenumber: 3907
    functionLinenumberEnd: 3910
    functionName: TrainerSpec::train_extremely_large_corpus
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_train_extremely_large_corpus
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::train_extremely_large_corpus() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3914
      start: 3911
    functionDepth: 0
    functionLinenumber: 3911
    functionLinenumberEnd: 3914
    functionName: TrainerSpec::_internal_set_train_extremely_large_corpus
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_train_extremely_large_corpus(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_train_extremely_large_corpus
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3918
      start: 3915
    functionDepth: 1
    functionLinenumber: 3915
    functionLinenumberEnd: 3918
    functionName: TrainerSpec::set_train_extremely_large_corpus
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_train_extremely_large_corpus
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_train_extremely_large_corpus(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3924
      start: 3921
    functionDepth: 0
    functionLinenumber: 3921
    functionLinenumberEnd: 3924
    functionName: TrainerSpec::_internal_has_seed_sentencepieces_file
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::_internal_has_seed_sentencepieces_file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3927
      start: 3925
    functionDepth: 1
    functionLinenumber: 3925
    functionLinenumberEnd: 3927
    functionName: TrainerSpec::has_seed_sentencepieces_file
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_has_seed_sentencepieces_file
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::has_seed_sentencepieces_file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3931
      start: 3928
    functionDepth: 0
    functionLinenumber: 3928
    functionLinenumberEnd: 3931
    functionName: TrainerSpec::clear_seed_sentencepieces_file
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToEmpty
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::clear_seed_sentencepieces_file()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3935
      start: 3932
    functionDepth: 0
    functionLinenumber: 3932
    functionLinenumberEnd: 3935
    functionName: '& TrainerSpec::seed_sentencepieces_file() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_seed_sentencepieces_file
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::seed_sentencepieces_file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_set_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3939
      start: 3936
    functionDepth: 1
    functionLinenumber: 3936
    functionLinenumberEnd: 3939
    functionName: TrainerSpec::set_seed_sentencepieces_file
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_set_seed_sentencepieces_file
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_seed_sentencepieces_file(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_mutable_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3943
      start: 3940
    functionDepth: 1
    functionLinenumber: 3940
    functionLinenumberEnd: 3943
    functionName: TrainerSpec::mutable_seed_sentencepieces_file
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - TrainerSpec::_internal_mutable_seed_sentencepieces_file
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::mutable_seed_sentencepieces_file()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3946
      start: 3944
    functionDepth: 0
    functionLinenumber: 3944
    functionLinenumberEnd: 3946
    functionName: '& TrainerSpec::_internal_seed_sentencepieces_file() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & TrainerSpec::_internal_seed_sentencepieces_file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3949,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3950
      start: 3947
    functionDepth: 0
    functionLinenumber: 3947
    functionLinenumberEnd: 3950
    functionName: TrainerSpec::_internal_set_seed_sentencepieces_file
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::_internal_set_seed_sentencepieces_file(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3953,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3954,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3956
      start: 3951
    functionDepth: 0
    functionLinenumber: 3951
    functionLinenumberEnd: 3956
    functionName: TrainerSpec::set_seed_sentencepieces_file
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_seed_sentencepieces_file(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3958,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3960,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3960,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3962
      start: 3957
    functionDepth: 1
    functionLinenumber: 3957
    functionLinenumberEnd: 3962
    functionName: TrainerSpec::set_seed_sentencepieces_file
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_seed_sentencepieces_file(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3966,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3966,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3967,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3969
      start: 3963
    functionDepth: 1
    functionLinenumber: 3963
    functionLinenumberEnd: 3969
    functionName: TrainerSpec::set_seed_sentencepieces_file
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void TrainerSpec::set_seed_sentencepieces_file(const char* value,\n
      \   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3972,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3973
      start: 3970
    functionDepth: 0
    functionLinenumber: 3970
    functionLinenumberEnd: 3973
    functionName: TrainerSpec::_internal_mutable_seed_sentencepieces_file
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::_internal_mutable_seed_sentencepieces_file()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TrainerSpec::_internal_has_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3976,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3980,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3980,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3981
      start: 3974
    functionDepth: 1
    functionLinenumber: 3974
    functionLinenumberEnd: 3981
    functionName: TrainerSpec::release_seed_sentencepieces_file
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - TrainerSpec::_internal_has_seed_sentencepieces_file
    - ReleaseNonDefault
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * TrainerSpec::release_seed_sentencepieces_file()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3988,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3988,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:3989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - seed_sentencepieces_file
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3991
      start: 3982
    functionDepth: 1
    functionLinenumber: 3982
    functionLinenumberEnd: 3991
    functionName: TrainerSpec::set_allocated_seed_sentencepieces_file
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::set_allocated_seed_sentencepieces_file(std::string*
      seed_sentencepieces_file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4001
      start: 3998
    functionDepth: 0
    functionLinenumber: 3998
    functionLinenumberEnd: 4001
    functionName: NormalizerSpec::_internal_has_name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::_internal_has_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_has_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4004
      start: 4002
    functionDepth: 1
    functionLinenumber: 4002
    functionLinenumberEnd: 4004
    functionName: NormalizerSpec::has_name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - NormalizerSpec::_internal_has_name
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::has_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4008
      start: 4005
    functionDepth: 0
    functionLinenumber: 4005
    functionLinenumberEnd: 4008
    functionName: NormalizerSpec::clear_name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToEmpty
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::clear_name()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4012
      start: 4009
    functionDepth: 0
    functionLinenumber: 4009
    functionLinenumberEnd: 4012
    functionName: '& NormalizerSpec::name() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_name
    linkageType: ''
    returnType: std::string
    signature: std::string & NormalizerSpec::name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_set_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4016
      start: 4013
    functionDepth: 1
    functionLinenumber: 4013
    functionLinenumberEnd: 4016
    functionName: NormalizerSpec::set_name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 35
    functionsReached:
    - NormalizerSpec::_internal_set_name
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_name(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_mutable_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4020
      start: 4017
    functionDepth: 1
    functionLinenumber: 4017
    functionLinenumberEnd: 4020
    functionName: NormalizerSpec::mutable_name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - NormalizerSpec::_internal_mutable_name
    linkageType: ''
    returnType: std::string
    signature: std::string * NormalizerSpec::mutable_name()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4023
      start: 4021
    functionDepth: 0
    functionLinenumber: 4021
    functionLinenumberEnd: 4023
    functionName: '& NormalizerSpec::_internal_name() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & NormalizerSpec::_internal_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4026,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4027
      start: 4024
    functionDepth: 0
    functionLinenumber: 4024
    functionLinenumberEnd: 4027
    functionName: NormalizerSpec::_internal_set_name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::_internal_set_name(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4030,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4031,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4031,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4033
      start: 4028
    functionDepth: 0
    functionLinenumber: 4028
    functionLinenumberEnd: 4033
    functionName: NormalizerSpec::set_name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 35
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_name(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4035,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4037,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4037,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4039
      start: 4034
    functionDepth: 1
    functionLinenumber: 4034
    functionLinenumberEnd: 4039
    functionName: NormalizerSpec::set_name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 35
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_name(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4043,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4043,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4044,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4046
      start: 4040
    functionDepth: 1
    functionLinenumber: 4040
    functionLinenumberEnd: 4046
    functionName: NormalizerSpec::set_name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 35
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void NormalizerSpec::set_name(const char* value,\n    size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4049,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4050
      start: 4047
    functionDepth: 0
    functionLinenumber: 4047
    functionLinenumberEnd: 4050
    functionName: NormalizerSpec::_internal_mutable_name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * NormalizerSpec::_internal_mutable_name()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_has_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4053,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4057,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4057,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4058
      start: 4051
    functionDepth: 1
    functionLinenumber: 4051
    functionLinenumberEnd: 4058
    functionName: NormalizerSpec::release_name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - GetArena
    - ReleaseNonDefault
    - NormalizerSpec::_internal_has_name
    linkageType: ''
    returnType: std::string
    signature: std::string * NormalizerSpec::release_name()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4065,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4065,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4068
      start: 4059
    functionDepth: 1
    functionLinenumber: 4059
    functionLinenumberEnd: 4068
    functionName: NormalizerSpec::set_allocated_name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_allocated_name(std::string* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4074
      start: 4071
    functionDepth: 0
    functionLinenumber: 4071
    functionLinenumberEnd: 4074
    functionName: NormalizerSpec::_internal_has_precompiled_charsmap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::_internal_has_precompiled_charsmap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_has_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4077
      start: 4075
    functionDepth: 1
    functionLinenumber: 4075
    functionLinenumberEnd: 4077
    functionName: NormalizerSpec::has_precompiled_charsmap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - NormalizerSpec::_internal_has_precompiled_charsmap
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::has_precompiled_charsmap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4081
      start: 4078
    functionDepth: 0
    functionLinenumber: 4078
    functionLinenumberEnd: 4081
    functionName: NormalizerSpec::clear_precompiled_charsmap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToEmpty
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::clear_precompiled_charsmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4085
      start: 4082
    functionDepth: 0
    functionLinenumber: 4082
    functionLinenumberEnd: 4085
    functionName: '& NormalizerSpec::precompiled_charsmap() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_precompiled_charsmap
    linkageType: ''
    returnType: std::string
    signature: std::string & NormalizerSpec::precompiled_charsmap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_set_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4089
      start: 4086
    functionDepth: 1
    functionLinenumber: 4086
    functionLinenumberEnd: 4089
    functionName: NormalizerSpec::set_precompiled_charsmap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 16
    functionsReached:
    - NormalizerSpec::_internal_set_precompiled_charsmap
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_precompiled_charsmap(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 4090
    functionDepth: 1
    functionLinenumber: 4090
    functionLinenumberEnd: 4093
    functionName: NormalizerSpec::mutable_precompiled_charsmap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 10
    functionsReached:
    - NormalizerSpec::_internal_mutable_precompiled_charsmap
    linkageType: ''
    returnType: std::string
    signature: std::string * NormalizerSpec::mutable_precompiled_charsmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4096
      start: 4094
    functionDepth: 0
    functionLinenumber: 4094
    functionLinenumberEnd: 4096
    functionName: '& NormalizerSpec::_internal_precompiled_charsmap() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & NormalizerSpec::_internal_precompiled_charsmap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4099,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4100
      start: 4097
    functionDepth: 0
    functionLinenumber: 4097
    functionLinenumberEnd: 4100
    functionName: NormalizerSpec::_internal_set_precompiled_charsmap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::_internal_set_precompiled_charsmap(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4103,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4104,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4106
      start: 4101
    functionDepth: 0
    functionLinenumber: 4101
    functionLinenumberEnd: 4106
    functionName: NormalizerSpec::set_precompiled_charsmap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 16
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_precompiled_charsmap(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4108,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4110,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4110,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4112
      start: 4107
    functionDepth: 1
    functionLinenumber: 4107
    functionLinenumberEnd: 4112
    functionName: NormalizerSpec::set_precompiled_charsmap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 16
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_precompiled_charsmap(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4116,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4116,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4117,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4119
      start: 4113
    functionDepth: 1
    functionLinenumber: 4113
    functionLinenumberEnd: 4119
    functionName: NormalizerSpec::set_precompiled_charsmap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 16
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void NormalizerSpec::set_precompiled_charsmap(const void* value,\n
      \   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4122,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4123
      start: 4120
    functionDepth: 0
    functionLinenumber: 4120
    functionLinenumberEnd: 4123
    functionName: NormalizerSpec::_internal_mutable_precompiled_charsmap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * NormalizerSpec::_internal_mutable_precompiled_charsmap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_has_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4126,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4130,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4130,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4131
      start: 4124
    functionDepth: 1
    functionLinenumber: 4124
    functionLinenumberEnd: 4131
    functionName: NormalizerSpec::release_precompiled_charsmap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - NormalizerSpec::_internal_has_precompiled_charsmap
    - ReleaseNonDefault
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * NormalizerSpec::release_precompiled_charsmap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4138,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4138,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - precompiled_charsmap
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4141
      start: 4132
    functionDepth: 1
    functionLinenumber: 4132
    functionLinenumberEnd: 4141
    functionName: NormalizerSpec::set_allocated_precompiled_charsmap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_allocated_precompiled_charsmap(std::string*
      precompiled_charsmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4147
      start: 4144
    functionDepth: 0
    functionLinenumber: 4144
    functionLinenumberEnd: 4147
    functionName: NormalizerSpec::_internal_has_add_dummy_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::_internal_has_add_dummy_prefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_has_add_dummy_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4150
      start: 4148
    functionDepth: 1
    functionLinenumber: 4148
    functionLinenumberEnd: 4150
    functionName: NormalizerSpec::has_add_dummy_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - NormalizerSpec::_internal_has_add_dummy_prefix
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::has_add_dummy_prefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4154
      start: 4151
    functionDepth: 0
    functionLinenumber: 4151
    functionLinenumberEnd: 4154
    functionName: NormalizerSpec::clear_add_dummy_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::clear_add_dummy_prefix()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4157
      start: 4155
    functionDepth: 0
    functionLinenumber: 4155
    functionLinenumberEnd: 4157
    functionName: NormalizerSpec::_internal_add_dummy_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::_internal_add_dummy_prefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_add_dummy_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4161
      start: 4158
    functionDepth: 1
    functionLinenumber: 4158
    functionLinenumberEnd: 4161
    functionName: NormalizerSpec::add_dummy_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 4
    functionsReached:
    - NormalizerSpec::_internal_add_dummy_prefix
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::add_dummy_prefix() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4165
      start: 4162
    functionDepth: 0
    functionLinenumber: 4162
    functionLinenumberEnd: 4165
    functionName: NormalizerSpec::_internal_set_add_dummy_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::_internal_set_add_dummy_prefix(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_set_add_dummy_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4169
      start: 4166
    functionDepth: 1
    functionLinenumber: 4166
    functionLinenumberEnd: 4169
    functionName: NormalizerSpec::set_add_dummy_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 37
    functionsReached:
    - NormalizerSpec::_internal_set_add_dummy_prefix
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_add_dummy_prefix(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4175
      start: 4172
    functionDepth: 0
    functionLinenumber: 4172
    functionLinenumberEnd: 4175
    functionName: NormalizerSpec::_internal_has_remove_extra_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::_internal_has_remove_extra_whitespaces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_has_remove_extra_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4178
      start: 4176
    functionDepth: 1
    functionLinenumber: 4176
    functionLinenumberEnd: 4178
    functionName: NormalizerSpec::has_remove_extra_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - NormalizerSpec::_internal_has_remove_extra_whitespaces
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::has_remove_extra_whitespaces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4182
      start: 4179
    functionDepth: 0
    functionLinenumber: 4179
    functionLinenumberEnd: 4182
    functionName: NormalizerSpec::clear_remove_extra_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::clear_remove_extra_whitespaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4185
      start: 4183
    functionDepth: 0
    functionLinenumber: 4183
    functionLinenumberEnd: 4185
    functionName: NormalizerSpec::_internal_remove_extra_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::_internal_remove_extra_whitespaces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_remove_extra_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4189
      start: 4186
    functionDepth: 1
    functionLinenumber: 4186
    functionLinenumberEnd: 4189
    functionName: NormalizerSpec::remove_extra_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - NormalizerSpec::_internal_remove_extra_whitespaces
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::remove_extra_whitespaces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4193
      start: 4190
    functionDepth: 0
    functionLinenumber: 4190
    functionLinenumberEnd: 4193
    functionName: NormalizerSpec::_internal_set_remove_extra_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::_internal_set_remove_extra_whitespaces(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_set_remove_extra_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4197
      start: 4194
    functionDepth: 1
    functionLinenumber: 4194
    functionLinenumberEnd: 4197
    functionName: NormalizerSpec::set_remove_extra_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 9
    functionsReached:
    - NormalizerSpec::_internal_set_remove_extra_whitespaces
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_remove_extra_whitespaces(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4203
      start: 4200
    functionDepth: 0
    functionLinenumber: 4200
    functionLinenumberEnd: 4203
    functionName: NormalizerSpec::_internal_has_escape_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::_internal_has_escape_whitespaces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_has_escape_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4206
      start: 4204
    functionDepth: 1
    functionLinenumber: 4204
    functionLinenumberEnd: 4206
    functionName: NormalizerSpec::has_escape_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - NormalizerSpec::_internal_has_escape_whitespaces
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::has_escape_whitespaces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4210
      start: 4207
    functionDepth: 0
    functionLinenumber: 4207
    functionLinenumberEnd: 4210
    functionName: NormalizerSpec::clear_escape_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::clear_escape_whitespaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4213
      start: 4211
    functionDepth: 0
    functionLinenumber: 4211
    functionLinenumberEnd: 4213
    functionName: NormalizerSpec::_internal_escape_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::_internal_escape_whitespaces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_escape_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4217
      start: 4214
    functionDepth: 1
    functionLinenumber: 4214
    functionLinenumberEnd: 4217
    functionName: NormalizerSpec::escape_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 4
    functionsReached:
    - NormalizerSpec::_internal_escape_whitespaces
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::escape_whitespaces() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4221
      start: 4218
    functionDepth: 0
    functionLinenumber: 4218
    functionLinenumberEnd: 4221
    functionName: NormalizerSpec::_internal_set_escape_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::_internal_set_escape_whitespaces(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_set_escape_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4225
      start: 4222
    functionDepth: 1
    functionLinenumber: 4222
    functionLinenumberEnd: 4225
    functionName: NormalizerSpec::set_escape_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 9
    functionsReached:
    - NormalizerSpec::_internal_set_escape_whitespaces
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_escape_whitespaces(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4231
      start: 4228
    functionDepth: 0
    functionLinenumber: 4228
    functionLinenumberEnd: 4231
    functionName: NormalizerSpec::_internal_has_normalization_rule_tsv
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::_internal_has_normalization_rule_tsv() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_has_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4234
      start: 4232
    functionDepth: 1
    functionLinenumber: 4232
    functionLinenumberEnd: 4234
    functionName: NormalizerSpec::has_normalization_rule_tsv
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - NormalizerSpec::_internal_has_normalization_rule_tsv
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::has_normalization_rule_tsv() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4238
      start: 4235
    functionDepth: 0
    functionLinenumber: 4235
    functionLinenumberEnd: 4238
    functionName: NormalizerSpec::clear_normalization_rule_tsv
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToEmpty
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::clear_normalization_rule_tsv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4242
      start: 4239
    functionDepth: 0
    functionLinenumber: 4239
    functionLinenumberEnd: 4242
    functionName: '& NormalizerSpec::normalization_rule_tsv() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_normalization_rule_tsv
    linkageType: ''
    returnType: std::string
    signature: std::string & NormalizerSpec::normalization_rule_tsv() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_set_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4246
      start: 4243
    functionDepth: 1
    functionLinenumber: 4243
    functionLinenumberEnd: 4246
    functionName: NormalizerSpec::set_normalization_rule_tsv
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 5
    functionsReached:
    - NormalizerSpec::_internal_set_normalization_rule_tsv
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_normalization_rule_tsv(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_mutable_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4250
      start: 4247
    functionDepth: 1
    functionLinenumber: 4247
    functionLinenumberEnd: 4250
    functionName: NormalizerSpec::mutable_normalization_rule_tsv
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - NormalizerSpec::_internal_mutable_normalization_rule_tsv
    linkageType: ''
    returnType: std::string
    signature: std::string * NormalizerSpec::mutable_normalization_rule_tsv()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4253
      start: 4251
    functionDepth: 0
    functionLinenumber: 4251
    functionLinenumberEnd: 4253
    functionName: '& NormalizerSpec::_internal_normalization_rule_tsv() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & NormalizerSpec::_internal_normalization_rule_tsv() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4256,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4257
      start: 4254
    functionDepth: 0
    functionLinenumber: 4254
    functionLinenumberEnd: 4257
    functionName: NormalizerSpec::_internal_set_normalization_rule_tsv
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::_internal_set_normalization_rule_tsv(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4260,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4261,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4263
      start: 4258
    functionDepth: 0
    functionLinenumber: 4258
    functionLinenumberEnd: 4263
    functionName: NormalizerSpec::set_normalization_rule_tsv
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 5
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_normalization_rule_tsv(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4265,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4267,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4267,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4269
      start: 4264
    functionDepth: 1
    functionLinenumber: 4264
    functionLinenumberEnd: 4269
    functionName: NormalizerSpec::set_normalization_rule_tsv
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 5
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_normalization_rule_tsv(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4273,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4273,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4274,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4276
      start: 4270
    functionDepth: 1
    functionLinenumber: 4270
    functionLinenumberEnd: 4276
    functionName: NormalizerSpec::set_normalization_rule_tsv
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void NormalizerSpec::set_normalization_rule_tsv(const char* value,\n
      \   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4279,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4280
      start: 4277
    functionDepth: 0
    functionLinenumber: 4277
    functionLinenumberEnd: 4280
    functionName: NormalizerSpec::_internal_mutable_normalization_rule_tsv
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * NormalizerSpec::_internal_mutable_normalization_rule_tsv()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NormalizerSpec::_internal_has_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4283,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4287,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4287,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4288
      start: 4281
    functionDepth: 1
    functionLinenumber: 4281
    functionLinenumberEnd: 4288
    functionName: NormalizerSpec::release_normalization_rule_tsv
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - NormalizerSpec::_internal_has_normalization_rule_tsv
    - GetArena
    - ReleaseNonDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: std::string * NormalizerSpec::release_normalization_rule_tsv()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4295,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4295,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - normalization_rule_tsv
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4298
      start: 4289
    functionDepth: 1
    functionLinenumber: 4289
    functionLinenumberEnd: 4298
    functionName: NormalizerSpec::set_allocated_normalization_rule_tsv
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::set_allocated_normalization_rule_tsv(std::string*
      normalization_rule_tsv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4308
      start: 4305
    functionDepth: 0
    functionLinenumber: 4305
    functionLinenumberEnd: 4308
    functionName: SelfTestData_Sample::_internal_has_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SelfTestData_Sample::_internal_has_input() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelfTestData_Sample::_internal_has_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4311
      start: 4309
    functionDepth: 1
    functionLinenumber: 4309
    functionLinenumberEnd: 4311
    functionName: SelfTestData_Sample::has_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SelfTestData_Sample::_internal_has_input
    linkageType: ''
    returnType: bool
    signature: bool SelfTestData_Sample::has_input() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4315
      start: 4312
    functionDepth: 0
    functionLinenumber: 4312
    functionLinenumberEnd: 4315
    functionName: SelfTestData_Sample::clear_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToEmpty
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::clear_input()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4319
      start: 4316
    functionDepth: 0
    functionLinenumber: 4316
    functionLinenumberEnd: 4319
    functionName: '& SelfTestData_Sample::input() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_input
    linkageType: ''
    returnType: std::string
    signature: std::string & SelfTestData_Sample::input() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelfTestData_Sample::_internal_set_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4323
      start: 4320
    functionDepth: 1
    functionLinenumber: 4320
    functionLinenumberEnd: 4323
    functionName: SelfTestData_Sample::set_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SelfTestData_Sample::_internal_set_input
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::set_input(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelfTestData_Sample::_internal_mutable_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4327
      start: 4324
    functionDepth: 1
    functionLinenumber: 4324
    functionLinenumberEnd: 4327
    functionName: SelfTestData_Sample::mutable_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SelfTestData_Sample::_internal_mutable_input
    linkageType: ''
    returnType: std::string
    signature: std::string * SelfTestData_Sample::mutable_input()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4330
      start: 4328
    functionDepth: 0
    functionLinenumber: 4328
    functionLinenumberEnd: 4330
    functionName: '& SelfTestData_Sample::_internal_input() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & SelfTestData_Sample::_internal_input() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4333,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4334
      start: 4331
    functionDepth: 0
    functionLinenumber: 4331
    functionLinenumberEnd: 4334
    functionName: SelfTestData_Sample::_internal_set_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::_internal_set_input(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4337,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4338,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4340
      start: 4335
    functionDepth: 0
    functionLinenumber: 4335
    functionLinenumberEnd: 4340
    functionName: SelfTestData_Sample::set_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::set_input(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4342,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4344,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4344,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4346
      start: 4341
    functionDepth: 1
    functionLinenumber: 4341
    functionLinenumberEnd: 4346
    functionName: SelfTestData_Sample::set_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::set_input(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4350,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4350,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4351,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4353
      start: 4347
    functionDepth: 1
    functionLinenumber: 4347
    functionLinenumberEnd: 4353
    functionName: SelfTestData_Sample::set_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void SelfTestData_Sample::set_input(const char* value,\n    size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4356,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4354
    functionDepth: 0
    functionLinenumber: 4354
    functionLinenumberEnd: 4357
    functionName: SelfTestData_Sample::_internal_mutable_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * SelfTestData_Sample::_internal_mutable_input()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SelfTestData_Sample::_internal_has_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4360,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4364,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4364,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4365
      start: 4358
    functionDepth: 1
    functionLinenumber: 4358
    functionLinenumberEnd: 4365
    functionName: SelfTestData_Sample::release_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SelfTestData_Sample::_internal_has_input
    - ReleaseNonDefault
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * SelfTestData_Sample::release_input()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4372,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4372,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4375
      start: 4366
    functionDepth: 1
    functionLinenumber: 4366
    functionLinenumberEnd: 4375
    functionName: SelfTestData_Sample::set_allocated_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::set_allocated_input(std::string* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4381
      start: 4378
    functionDepth: 0
    functionLinenumber: 4378
    functionLinenumberEnd: 4381
    functionName: SelfTestData_Sample::_internal_has_expected
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SelfTestData_Sample::_internal_has_expected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelfTestData_Sample::_internal_has_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4384
      start: 4382
    functionDepth: 1
    functionLinenumber: 4382
    functionLinenumberEnd: 4384
    functionName: SelfTestData_Sample::has_expected
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SelfTestData_Sample::_internal_has_expected
    linkageType: ''
    returnType: bool
    signature: bool SelfTestData_Sample::has_expected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4388
      start: 4385
    functionDepth: 0
    functionLinenumber: 4385
    functionLinenumberEnd: 4388
    functionName: SelfTestData_Sample::clear_expected
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToEmpty
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::clear_expected()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4392
      start: 4389
    functionDepth: 0
    functionLinenumber: 4389
    functionLinenumberEnd: 4392
    functionName: '& SelfTestData_Sample::expected() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_expected
    linkageType: ''
    returnType: std::string
    signature: std::string & SelfTestData_Sample::expected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelfTestData_Sample::_internal_set_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4396
      start: 4393
    functionDepth: 1
    functionLinenumber: 4393
    functionLinenumberEnd: 4396
    functionName: SelfTestData_Sample::set_expected
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SelfTestData_Sample::_internal_set_expected
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::set_expected(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelfTestData_Sample::_internal_mutable_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4400
      start: 4397
    functionDepth: 1
    functionLinenumber: 4397
    functionLinenumberEnd: 4400
    functionName: SelfTestData_Sample::mutable_expected
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SelfTestData_Sample::_internal_mutable_expected
    linkageType: ''
    returnType: std::string
    signature: std::string * SelfTestData_Sample::mutable_expected()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4403
      start: 4401
    functionDepth: 0
    functionLinenumber: 4401
    functionLinenumberEnd: 4403
    functionName: '& SelfTestData_Sample::_internal_expected() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & SelfTestData_Sample::_internal_expected() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4406,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4407
      start: 4404
    functionDepth: 0
    functionLinenumber: 4404
    functionLinenumberEnd: 4407
    functionName: SelfTestData_Sample::_internal_set_expected
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::_internal_set_expected(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4410,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4411,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4413
      start: 4408
    functionDepth: 0
    functionLinenumber: 4408
    functionLinenumberEnd: 4413
    functionName: SelfTestData_Sample::set_expected
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::set_expected(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4415,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4417,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4417,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4419
      start: 4414
    functionDepth: 1
    functionLinenumber: 4414
    functionLinenumberEnd: 4419
    functionName: SelfTestData_Sample::set_expected
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::set_expected(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4423,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4423,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4424,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4426
      start: 4420
    functionDepth: 1
    functionLinenumber: 4420
    functionLinenumberEnd: 4426
    functionName: SelfTestData_Sample::set_expected
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void SelfTestData_Sample::set_expected(const char* value,\n    size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4429,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4430
      start: 4427
    functionDepth: 0
    functionLinenumber: 4427
    functionLinenumberEnd: 4430
    functionName: SelfTestData_Sample::_internal_mutable_expected
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * SelfTestData_Sample::_internal_mutable_expected()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SelfTestData_Sample::_internal_has_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4433,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4437,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4437,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4438
      start: 4431
    functionDepth: 1
    functionLinenumber: 4431
    functionLinenumberEnd: 4438
    functionName: SelfTestData_Sample::release_expected
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SelfTestData_Sample::_internal_has_expected
    - GetArena
    - ReleaseNonDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: std::string * SelfTestData_Sample::release_expected()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4445,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4445,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - expected
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4448
      start: 4439
    functionDepth: 1
    functionLinenumber: 4439
    functionLinenumberEnd: 4448
    functionName: SelfTestData_Sample::set_allocated_expected
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::set_allocated_expected(std::string* expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4457
      start: 4455
    functionDepth: 0
    functionLinenumber: 4455
    functionLinenumberEnd: 4457
    functionName: SelfTestData::_internal_samples_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int SelfTestData::_internal_samples_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelfTestData::_internal_samples_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4460
      start: 4458
    functionDepth: 1
    functionLinenumber: 4458
    functionLinenumberEnd: 4460
    functionName: SelfTestData::samples_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SelfTestData::_internal_samples_size
    linkageType: ''
    returnType: int
    signature: int SelfTestData::samples_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4463
      start: 4461
    functionDepth: 0
    functionLinenumber: 4461
    functionLinenumberEnd: 4463
    functionName: SelfTestData::clear_samples
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void SelfTestData::clear_samples()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4467
      start: 4464
    functionDepth: 0
    functionLinenumber: 4464
    functionLinenumberEnd: 4467
    functionName: SelfTestData::mutable_samples
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: ::sentencepiece::SelfTestData_Sample
    signature: ::sentencepiece::SelfTestData_Sample * SelfTestData::mutable_samples(int
      index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4472
      start: 4468
    functionDepth: 0
    functionLinenumber: 4468
    functionLinenumberEnd: 4472
    functionName: SelfTestData::mutable_samples
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample
      >
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample
      > *

      SelfTestData::mutable_samples()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4475
      start: 4473
    functionDepth: 0
    functionLinenumber: 4473
    functionLinenumberEnd: 4475
    functionName: '& SelfTestData::_internal_samples(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: ::sentencepiece::SelfTestData_Sample
    signature: ::sentencepiece::SelfTestData_Sample & SelfTestData::_internal_samples(int
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_samples
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4479
      start: 4476
    functionDepth: 0
    functionLinenumber: 4476
    functionLinenumberEnd: 4479
    functionName: '& SelfTestData::samples(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_samples
    linkageType: ''
    returnType: ::sentencepiece::SelfTestData_Sample
    signature: ::sentencepiece::SelfTestData_Sample & SelfTestData::samples(int index)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4482
      start: 4480
    functionDepth: 0
    functionLinenumber: 4480
    functionLinenumberEnd: 4482
    functionName: SelfTestData::_internal_add_samples
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: ::sentencepiece::SelfTestData_Sample
    signature: ::sentencepiece::SelfTestData_Sample * SelfTestData::_internal_add_samples()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SelfTestData::_internal_add_samples
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4486
      start: 4483
    functionDepth: 1
    functionLinenumber: 4483
    functionLinenumberEnd: 4486
    functionName: SelfTestData::add_samples
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - SelfTestData::_internal_add_samples
    linkageType: ''
    returnType: ::sentencepiece::SelfTestData_Sample
    signature: ::sentencepiece::SelfTestData_Sample * SelfTestData::add_samples()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4491
      start: 4487
    functionDepth: 0
    functionLinenumber: 4487
    functionLinenumberEnd: 4491
    functionName: '&

      SelfTestData::samples() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample
      >
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::SelfTestData_Sample
      > &

      SelfTestData::samples() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4501
      start: 4498
    functionDepth: 0
    functionLinenumber: 4498
    functionLinenumberEnd: 4501
    functionName: ModelProto_SentencePiece::_internal_has_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ModelProto_SentencePiece::_internal_has_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto_SentencePiece::_internal_has_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4504
      start: 4502
    functionDepth: 1
    functionLinenumber: 4502
    functionLinenumberEnd: 4504
    functionName: ModelProto_SentencePiece::has_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto_SentencePiece::_internal_has_piece
    linkageType: ''
    returnType: bool
    signature: bool ModelProto_SentencePiece::has_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClearToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4508
      start: 4505
    functionDepth: 0
    functionLinenumber: 4505
    functionLinenumberEnd: 4508
    functionName: ModelProto_SentencePiece::clear_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ClearToEmpty
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::clear_piece()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4512
      start: 4509
    functionDepth: 0
    functionLinenumber: 4509
    functionLinenumberEnd: 4512
    functionName: '& ModelProto_SentencePiece::piece() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_piece
    linkageType: ''
    returnType: std::string
    signature: std::string & ModelProto_SentencePiece::piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto_SentencePiece::_internal_set_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4516
      start: 4513
    functionDepth: 1
    functionLinenumber: 4513
    functionLinenumberEnd: 4516
    functionName: ModelProto_SentencePiece::set_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto_SentencePiece::_internal_set_piece
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::set_piece(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto_SentencePiece::_internal_mutable_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4520
      start: 4517
    functionDepth: 1
    functionLinenumber: 4517
    functionLinenumberEnd: 4520
    functionName: ModelProto_SentencePiece::mutable_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto_SentencePiece::_internal_mutable_piece
    linkageType: ''
    returnType: std::string
    signature: std::string * ModelProto_SentencePiece::mutable_piece()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4523
      start: 4521
    functionDepth: 0
    functionLinenumber: 4521
    functionLinenumberEnd: 4523
    functionName: '& ModelProto_SentencePiece::_internal_piece() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & ModelProto_SentencePiece::_internal_piece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4526,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4527
      start: 4524
    functionDepth: 0
    functionLinenumber: 4524
    functionLinenumberEnd: 4527
    functionName: ModelProto_SentencePiece::_internal_set_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::_internal_set_piece(const std::string&
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4530,1
    - Dst: ::std::move
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4531,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4533
      start: 4528
    functionDepth: 0
    functionLinenumber: 4528
    functionLinenumberEnd: 4533
    functionName: ModelProto_SentencePiece::set_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ::std::move
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::set_piece(std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4535,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4537,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4537,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4539
      start: 4534
    functionDepth: 1
    functionLinenumber: 4534
    functionLinenumberEnd: 4539
    functionName: ModelProto_SentencePiece::set_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - GOOGLE_DCHECK
    - Set
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::set_piece(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4543,1
    - Dst: google::protobuf::GlobalReplaceSubstring
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4543,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4544,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4546
      start: 4540
    functionDepth: 1
    functionLinenumber: 4540
    functionLinenumberEnd: 4546
    functionName: ModelProto_SentencePiece::set_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - google::protobuf::GlobalReplaceSubstring
    - GetArena
    - Set
    linkageType: ''
    returnType: void
    signature: "void ModelProto_SentencePiece::set_piece(const char* value,\n    size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4549,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4550
      start: 4547
    functionDepth: 0
    functionLinenumber: 4547
    functionLinenumberEnd: 4550
    functionName: ModelProto_SentencePiece::_internal_mutable_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 1
    functionsReached:
    - Mutable
    - GetArena
    linkageType: ''
    returnType: std::string
    signature: std::string * ModelProto_SentencePiece::_internal_mutable_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto_SentencePiece::_internal_has_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4553,1
    - Dst: ReleaseNonDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4557,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4557,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4558
      start: 4551
    functionDepth: 1
    functionLinenumber: 4551
    functionLinenumberEnd: 4558
    functionName: ModelProto_SentencePiece::release_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - GetArena
    - ReleaseNonDefault
    - ModelProto_SentencePiece::_internal_has_piece
    linkageType: ''
    returnType: std::string
    signature: std::string * ModelProto_SentencePiece::release_piece()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SetAllocated
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4565,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4565,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - piece
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4568
      start: 4559
    functionDepth: 1
    functionLinenumber: 4559
    functionLinenumberEnd: 4568
    functionName: ModelProto_SentencePiece::set_allocated_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - SetAllocated
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::set_allocated_piece(std::string* piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4574
      start: 4571
    functionDepth: 0
    functionLinenumber: 4571
    functionLinenumberEnd: 4574
    functionName: ModelProto_SentencePiece::_internal_has_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ModelProto_SentencePiece::_internal_has_score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto_SentencePiece::_internal_has_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4577
      start: 4575
    functionDepth: 1
    functionLinenumber: 4575
    functionLinenumberEnd: 4577
    functionName: ModelProto_SentencePiece::has_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto_SentencePiece::_internal_has_score
    linkageType: ''
    returnType: bool
    signature: bool ModelProto_SentencePiece::has_score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4581
      start: 4578
    functionDepth: 0
    functionLinenumber: 4578
    functionLinenumberEnd: 4581
    functionName: ModelProto_SentencePiece::clear_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::clear_score()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4584
      start: 4582
    functionDepth: 0
    functionLinenumber: 4582
    functionLinenumberEnd: 4584
    functionName: ModelProto_SentencePiece::_internal_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float ModelProto_SentencePiece::_internal_score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto_SentencePiece::_internal_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4588
      start: 4585
    functionDepth: 1
    functionLinenumber: 4585
    functionLinenumberEnd: 4588
    functionName: ModelProto_SentencePiece::score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto_SentencePiece::_internal_score
    linkageType: ''
    returnType: float
    signature: float ModelProto_SentencePiece::score() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4592
      start: 4589
    functionDepth: 0
    functionLinenumber: 4589
    functionLinenumberEnd: 4592
    functionName: ModelProto_SentencePiece::_internal_set_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::_internal_set_score(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto_SentencePiece::_internal_set_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4596
      start: 4593
    functionDepth: 1
    functionLinenumber: 4593
    functionLinenumberEnd: 4596
    functionName: ModelProto_SentencePiece::set_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto_SentencePiece::_internal_set_score
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::set_score(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4602
      start: 4599
    functionDepth: 0
    functionLinenumber: 4599
    functionLinenumberEnd: 4602
    functionName: ModelProto_SentencePiece::_internal_has_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ModelProto_SentencePiece::_internal_has_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto_SentencePiece::_internal_has_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4605
      start: 4603
    functionDepth: 1
    functionLinenumber: 4603
    functionLinenumberEnd: 4605
    functionName: ModelProto_SentencePiece::has_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto_SentencePiece::_internal_has_type
    linkageType: ''
    returnType: bool
    signature: bool ModelProto_SentencePiece::has_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4609
      start: 4606
    functionDepth: 0
    functionLinenumber: 4606
    functionLinenumberEnd: 4609
    functionName: ModelProto_SentencePiece::clear_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::clear_type()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast< ::sentencepiece::ModelProto_SentencePiece_Type >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4612
      start: 4610
    functionDepth: 0
    functionLinenumber: 4610
    functionLinenumberEnd: 4612
    functionName: ModelProto_SentencePiece::_internal_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - static_cast< ::sentencepiece::ModelProto_SentencePiece_Type >
    linkageType: ''
    returnType: ::sentencepiece::ModelProto_SentencePiece_Type
    signature: ::sentencepiece::ModelProto_SentencePiece_Type ModelProto_SentencePiece::_internal_type()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto_SentencePiece::_internal_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4616
      start: 4613
    functionDepth: 1
    functionLinenumber: 4613
    functionLinenumberEnd: 4616
    functionName: ModelProto_SentencePiece::type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto_SentencePiece::_internal_type
    linkageType: ''
    returnType: ::sentencepiece::ModelProto_SentencePiece_Type
    signature: ::sentencepiece::ModelProto_SentencePiece_Type ModelProto_SentencePiece::type()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4618,1
    - Dst: sentencepiece::ModelProto_SentencePiece_Type_IsValid
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::sentencepiece::ModelProto_SentencePiece_Type
    assertStmts:
    - condition: (::sentencepiece::ModelProto_SentencePiece_Type_IsValid(value))
      pos:
        line_end: 4617
        line_start: 4617
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    constantsTouched: []
    func_position:
      end: 4621
      start: 4617
    functionDepth: 1
    functionLinenumber: 4617
    functionLinenumberEnd: 4621
    functionName: ModelProto_SentencePiece::_internal_set_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - sentencepiece::ModelProto_SentencePiece_Type_IsValid
    - assert
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::_internal_set_type(::sentencepiece::ModelProto_SentencePiece_Type
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto_SentencePiece::_internal_set_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - ::sentencepiece::ModelProto_SentencePiece_Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4625
      start: 4622
    functionDepth: 2
    functionLinenumber: 4622
    functionLinenumberEnd: 4625
    functionName: ModelProto_SentencePiece::set_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto_SentencePiece::_internal_set_type
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::set_type(::sentencepiece::ModelProto_SentencePiece_Type
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4634
      start: 4632
    functionDepth: 0
    functionLinenumber: 4632
    functionLinenumberEnd: 4634
    functionName: ModelProto::_internal_pieces_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int ModelProto::_internal_pieces_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::_internal_pieces_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4637
      start: 4635
    functionDepth: 1
    functionLinenumber: 4635
    functionLinenumberEnd: 4637
    functionName: ModelProto::pieces_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 17
    functionsReached:
    - ModelProto::_internal_pieces_size
    linkageType: ''
    returnType: int
    signature: int ModelProto::pieces_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4640
      start: 4638
    functionDepth: 0
    functionLinenumber: 4638
    functionLinenumberEnd: 4640
    functionName: ModelProto::clear_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void ModelProto::clear_pieces()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4644
      start: 4641
    functionDepth: 0
    functionLinenumber: 4641
    functionLinenumberEnd: 4644
    functionName: ModelProto::mutable_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 64
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: ::sentencepiece::ModelProto_SentencePiece
    signature: ::sentencepiece::ModelProto_SentencePiece * ModelProto::mutable_pieces(int
      index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4649
      start: 4645
    functionDepth: 0
    functionLinenumber: 4645
    functionLinenumberEnd: 4649
    functionName: ModelProto::mutable_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece
      >
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece
      > *

      ModelProto::mutable_pieces()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4652
      start: 4650
    functionDepth: 0
    functionLinenumber: 4650
    functionLinenumberEnd: 4652
    functionName: '& ModelProto::_internal_pieces(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: ::sentencepiece::ModelProto_SentencePiece
    signature: ::sentencepiece::ModelProto_SentencePiece & ModelProto::_internal_pieces(int
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4656
      start: 4653
    functionDepth: 0
    functionLinenumber: 4653
    functionLinenumberEnd: 4656
    functionName: '& ModelProto::pieces(int index) const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_pieces
    linkageType: ''
    returnType: ::sentencepiece::ModelProto_SentencePiece
    signature: ::sentencepiece::ModelProto_SentencePiece & ModelProto::pieces(int
      index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4659
      start: 4657
    functionDepth: 0
    functionLinenumber: 4657
    functionLinenumberEnd: 4659
    functionName: ModelProto::_internal_add_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: ::sentencepiece::ModelProto_SentencePiece
    signature: ::sentencepiece::ModelProto_SentencePiece * ModelProto::_internal_add_pieces()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::_internal_add_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4663
      start: 4660
    functionDepth: 1
    functionLinenumber: 4660
    functionLinenumberEnd: 4663
    functionName: ModelProto::add_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 64
    functionsReached:
    - ModelProto::_internal_add_pieces
    linkageType: ''
    returnType: ::sentencepiece::ModelProto_SentencePiece
    signature: ::sentencepiece::ModelProto_SentencePiece * ModelProto::add_pieces()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4668
      start: 4664
    functionDepth: 0
    functionLinenumber: 4664
    functionLinenumberEnd: 4668
    functionName: '&

      ModelProto::pieces() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece
      >
    signature: '::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::sentencepiece::ModelProto_SentencePiece
      > &

      ModelProto::pieces() const'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4675
      start: 4671
    functionDepth: 0
    functionLinenumber: 4671
    functionLinenumberEnd: 4675
    functionName: ModelProto::_internal_has_trainer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_ASSUME
    linkageType: ''
    returnType: bool
    signature: bool ModelProto::_internal_has_trainer_spec() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::_internal_has_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4678
      start: 4676
    functionDepth: 1
    functionLinenumber: 4676
    functionLinenumberEnd: 4678
    functionName: ModelProto::has_trainer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto::_internal_has_trainer_spec
    linkageType: ''
    returnType: bool
    signature: bool ModelProto::has_trainer_spec() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4682
      start: 4679
    functionDepth: 0
    functionLinenumber: 4679
    functionLinenumberEnd: 4682
    functionName: ModelProto::clear_trainer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void ModelProto::clear_trainer_spec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ::sentencepiece::TrainerSpec&>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4687
      start: 4683
    functionDepth: 0
    functionLinenumber: 4683
    functionLinenumberEnd: 4687
    functionName: '& ModelProto::_internal_trainer_spec() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ::sentencepiece::TrainerSpec&>
    linkageType: ''
    returnType: ::sentencepiece::TrainerSpec
    signature: ::sentencepiece::TrainerSpec & ModelProto::_internal_trainer_spec()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4691
      start: 4688
    functionDepth: 0
    functionLinenumber: 4688
    functionLinenumberEnd: 4691
    functionName: '& ModelProto::trainer_spec() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_trainer_spec
    linkageType: ''
    returnType: ::sentencepiece::TrainerSpec
    signature: ::sentencepiece::TrainerSpec & ModelProto::trainer_spec() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4694,1
    - Dst: reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - trainer_spec
    argTypes:
    - ::sentencepiece::TrainerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4704
      start: 4692
    functionDepth: 0
    functionLinenumber: 4692
    functionLinenumberEnd: 4704
    functionName: ModelProto::unsafe_arena_set_allocated_trainer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void ModelProto::unsafe_arena_set_allocated_trainer_spec(\n    ::sentencepiece::TrainerSpec*
      trainer_spec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4709,1
    - Dst: google::protobuf::internal::DuplicateIfNonNull
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4713
      start: 4705
    functionDepth: 1
    functionLinenumber: 4705
    functionLinenumberEnd: 4713
    functionName: ModelProto::release_trainer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::DuplicateIfNonNull
    - GetArena
    linkageType: ''
    returnType: ::sentencepiece::TrainerSpec
    signature: ::sentencepiece::TrainerSpec * ModelProto::release_trainer_spec()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4720
      start: 4714
    functionDepth: 0
    functionLinenumber: 4714
    functionLinenumberEnd: 4720
    functionName: ModelProto::unsafe_arena_release_trainer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::sentencepiece::TrainerSpec
    signature: ::sentencepiece::TrainerSpec * ModelProto::unsafe_arena_release_trainer_spec()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<::sentencepiece::TrainerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4724,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4728
      start: 4721
    functionDepth: 0
    functionLinenumber: 4721
    functionLinenumberEnd: 4728
    functionName: ModelProto::_internal_mutable_trainer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<::sentencepiece::TrainerSpec>
    - GetArena
    linkageType: ''
    returnType: ::sentencepiece::TrainerSpec
    signature: ::sentencepiece::TrainerSpec * ModelProto::_internal_mutable_trainer_spec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::_internal_mutable_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4732
      start: 4729
    functionDepth: 1
    functionLinenumber: 4729
    functionLinenumberEnd: 4732
    functionName: ModelProto::mutable_trainer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 31
    functionsReached:
    - ModelProto::_internal_mutable_trainer_spec
    linkageType: ''
    returnType: ::sentencepiece::TrainerSpec
    signature: ::sentencepiece::TrainerSpec * ModelProto::mutable_trainer_spec()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4734,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4740,1
    - Dst: google::protobuf::internal::GetOwnedMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - trainer_spec
    argTypes:
    - ::sentencepiece::TrainerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4751
      start: 4733
    functionDepth: 1
    functionLinenumber: 4733
    functionLinenumberEnd: 4751
    functionName: ModelProto::set_allocated_trainer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetOwnedMessage
    - google::protobuf::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ModelProto::set_allocated_trainer_spec(::sentencepiece::TrainerSpec*
      trainer_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4758
      start: 4754
    functionDepth: 0
    functionLinenumber: 4754
    functionLinenumberEnd: 4758
    functionName: ModelProto::_internal_has_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_ASSUME
    linkageType: ''
    returnType: bool
    signature: bool ModelProto::_internal_has_normalizer_spec() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::_internal_has_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4761
      start: 4759
    functionDepth: 1
    functionLinenumber: 4759
    functionLinenumberEnd: 4761
    functionName: ModelProto::has_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto::_internal_has_normalizer_spec
    linkageType: ''
    returnType: bool
    signature: bool ModelProto::has_normalizer_spec() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4765
      start: 4762
    functionDepth: 0
    functionLinenumber: 4762
    functionLinenumberEnd: 4765
    functionName: ModelProto::clear_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void ModelProto::clear_normalizer_spec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ::sentencepiece::NormalizerSpec&>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4770
      start: 4766
    functionDepth: 0
    functionLinenumber: 4766
    functionLinenumberEnd: 4770
    functionName: '& ModelProto::_internal_normalizer_spec() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ::sentencepiece::NormalizerSpec&>
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: ::sentencepiece::NormalizerSpec & ModelProto::_internal_normalizer_spec()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4774
      start: 4771
    functionDepth: 0
    functionLinenumber: 4771
    functionLinenumberEnd: 4774
    functionName: '& ModelProto::normalizer_spec() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_normalizer_spec
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: ::sentencepiece::NormalizerSpec & ModelProto::normalizer_spec() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4777,1
    - Dst: reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - normalizer_spec
    argTypes:
    - ::sentencepiece::NormalizerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4787
      start: 4775
    functionDepth: 0
    functionLinenumber: 4775
    functionLinenumberEnd: 4787
    functionName: ModelProto::unsafe_arena_set_allocated_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void ModelProto::unsafe_arena_set_allocated_normalizer_spec(\n    ::sentencepiece::NormalizerSpec*
      normalizer_spec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4792,1
    - Dst: google::protobuf::internal::DuplicateIfNonNull
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4796
      start: 4788
    functionDepth: 1
    functionLinenumber: 4788
    functionLinenumberEnd: 4796
    functionName: ModelProto::release_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::DuplicateIfNonNull
    - GetArena
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: ::sentencepiece::NormalizerSpec * ModelProto::release_normalizer_spec()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4803
      start: 4797
    functionDepth: 0
    functionLinenumber: 4797
    functionLinenumberEnd: 4803
    functionName: ModelProto::unsafe_arena_release_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: ::sentencepiece::NormalizerSpec * ModelProto::unsafe_arena_release_normalizer_spec()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<::sentencepiece::NormalizerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4807,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4811
      start: 4804
    functionDepth: 0
    functionLinenumber: 4804
    functionLinenumberEnd: 4811
    functionName: ModelProto::_internal_mutable_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<::sentencepiece::NormalizerSpec>
    - GetArena
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: ::sentencepiece::NormalizerSpec * ModelProto::_internal_mutable_normalizer_spec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::_internal_mutable_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4815
      start: 4812
    functionDepth: 1
    functionLinenumber: 4812
    functionLinenumberEnd: 4815
    functionName: ModelProto::mutable_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 25
    functionsReached:
    - ModelProto::_internal_mutable_normalizer_spec
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: ::sentencepiece::NormalizerSpec * ModelProto::mutable_normalizer_spec()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4817,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4823,1
    - Dst: google::protobuf::internal::GetOwnedMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - normalizer_spec
    argTypes:
    - ::sentencepiece::NormalizerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4834
      start: 4816
    functionDepth: 1
    functionLinenumber: 4816
    functionLinenumberEnd: 4834
    functionName: ModelProto::set_allocated_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetOwnedMessage
    - google::protobuf::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ModelProto::set_allocated_normalizer_spec(::sentencepiece::NormalizerSpec*
      normalizer_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4841
      start: 4837
    functionDepth: 0
    functionLinenumber: 4837
    functionLinenumberEnd: 4841
    functionName: ModelProto::_internal_has_self_test_data
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_ASSUME
    linkageType: ''
    returnType: bool
    signature: bool ModelProto::_internal_has_self_test_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::_internal_has_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4844
      start: 4842
    functionDepth: 1
    functionLinenumber: 4842
    functionLinenumberEnd: 4844
    functionName: ModelProto::has_self_test_data
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto::_internal_has_self_test_data
    linkageType: ''
    returnType: bool
    signature: bool ModelProto::has_self_test_data() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4848
      start: 4845
    functionDepth: 0
    functionLinenumber: 4845
    functionLinenumberEnd: 4848
    functionName: ModelProto::clear_self_test_data
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void ModelProto::clear_self_test_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ::sentencepiece::SelfTestData&>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4853
      start: 4849
    functionDepth: 0
    functionLinenumber: 4849
    functionLinenumberEnd: 4853
    functionName: '& ModelProto::_internal_self_test_data() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ::sentencepiece::SelfTestData&>
    linkageType: ''
    returnType: ::sentencepiece::SelfTestData
    signature: ::sentencepiece::SelfTestData & ModelProto::_internal_self_test_data()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4857
      start: 4854
    functionDepth: 0
    functionLinenumber: 4854
    functionLinenumberEnd: 4857
    functionName: '& ModelProto::self_test_data() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_self_test_data
    linkageType: ''
    returnType: ::sentencepiece::SelfTestData
    signature: ::sentencepiece::SelfTestData & ModelProto::self_test_data() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4860,1
    - Dst: reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - self_test_data
    argTypes:
    - ::sentencepiece::SelfTestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4870
      start: 4858
    functionDepth: 0
    functionLinenumber: 4858
    functionLinenumberEnd: 4870
    functionName: ModelProto::unsafe_arena_set_allocated_self_test_data
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void ModelProto::unsafe_arena_set_allocated_self_test_data(\n    ::sentencepiece::SelfTestData*
      self_test_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4875,1
    - Dst: google::protobuf::internal::DuplicateIfNonNull
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4879
      start: 4871
    functionDepth: 1
    functionLinenumber: 4871
    functionLinenumberEnd: 4879
    functionName: ModelProto::release_self_test_data
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::DuplicateIfNonNull
    - GetArena
    linkageType: ''
    returnType: ::sentencepiece::SelfTestData
    signature: ::sentencepiece::SelfTestData * ModelProto::release_self_test_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4886
      start: 4880
    functionDepth: 0
    functionLinenumber: 4880
    functionLinenumberEnd: 4886
    functionName: ModelProto::unsafe_arena_release_self_test_data
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::sentencepiece::SelfTestData
    signature: ::sentencepiece::SelfTestData * ModelProto::unsafe_arena_release_self_test_data()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<::sentencepiece::SelfTestData>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4890,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4894
      start: 4887
    functionDepth: 0
    functionLinenumber: 4887
    functionLinenumberEnd: 4894
    functionName: ModelProto::_internal_mutable_self_test_data
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<::sentencepiece::SelfTestData>
    - GetArena
    linkageType: ''
    returnType: ::sentencepiece::SelfTestData
    signature: ::sentencepiece::SelfTestData * ModelProto::_internal_mutable_self_test_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::_internal_mutable_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4898
      start: 4895
    functionDepth: 1
    functionLinenumber: 4895
    functionLinenumberEnd: 4898
    functionName: ModelProto::mutable_self_test_data
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto::_internal_mutable_self_test_data
    linkageType: ''
    returnType: ::sentencepiece::SelfTestData
    signature: ::sentencepiece::SelfTestData * ModelProto::mutable_self_test_data()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4900,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4906,1
    - Dst: google::protobuf::internal::GetOwnedMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - self_test_data
    argTypes:
    - ::sentencepiece::SelfTestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4917
      start: 4899
    functionDepth: 1
    functionLinenumber: 4899
    functionLinenumberEnd: 4917
    functionName: ModelProto::set_allocated_self_test_data
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetOwnedMessage
    - google::protobuf::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ModelProto::set_allocated_self_test_data(::sentencepiece::SelfTestData*
      self_test_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4924
      start: 4920
    functionDepth: 0
    functionLinenumber: 4920
    functionLinenumberEnd: 4924
    functionName: ModelProto::_internal_has_denormalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_ASSUME
    linkageType: ''
    returnType: bool
    signature: bool ModelProto::_internal_has_denormalizer_spec() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::_internal_has_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4927
      start: 4925
    functionDepth: 1
    functionLinenumber: 4925
    functionLinenumberEnd: 4927
    functionName: ModelProto::has_denormalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto::_internal_has_denormalizer_spec
    linkageType: ''
    returnType: bool
    signature: bool ModelProto::has_denormalizer_spec() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4931
      start: 4928
    functionDepth: 0
    functionLinenumber: 4928
    functionLinenumberEnd: 4931
    functionName: ModelProto::clear_denormalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void ModelProto::clear_denormalizer_spec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ::sentencepiece::NormalizerSpec&>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4936
      start: 4932
    functionDepth: 0
    functionLinenumber: 4932
    functionLinenumberEnd: 4936
    functionName: '& ModelProto::_internal_denormalizer_spec() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ::sentencepiece::NormalizerSpec&>
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: ::sentencepiece::NormalizerSpec & ModelProto::_internal_denormalizer_spec()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _internal_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4940
      start: 4937
    functionDepth: 0
    functionLinenumber: 4937
    functionLinenumberEnd: 4940
    functionName: '& ModelProto::denormalizer_spec() const'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - _internal_denormalizer_spec
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: ::sentencepiece::NormalizerSpec & ModelProto::denormalizer_spec() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4943,1
    - Dst: reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - denormalizer_spec
    argTypes:
    - ::sentencepiece::NormalizerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4953
      start: 4941
    functionDepth: 0
    functionLinenumber: 4941
    functionLinenumberEnd: 4953
    functionName: ModelProto::unsafe_arena_set_allocated_denormalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void ModelProto::unsafe_arena_set_allocated_denormalizer_spec(\n    ::sentencepiece::NormalizerSpec*
      denormalizer_spec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4958,1
    - Dst: google::protobuf::internal::DuplicateIfNonNull
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4962
      start: 4954
    functionDepth: 1
    functionLinenumber: 4954
    functionLinenumberEnd: 4962
    functionName: ModelProto::release_denormalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::DuplicateIfNonNull
    - GetArena
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: ::sentencepiece::NormalizerSpec * ModelProto::release_denormalizer_spec()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4969
      start: 4963
    functionDepth: 0
    functionLinenumber: 4963
    functionLinenumberEnd: 4969
    functionName: ModelProto::unsafe_arena_release_denormalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: ::sentencepiece::NormalizerSpec * ModelProto::unsafe_arena_release_denormalizer_spec()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateMaybeMessage<::sentencepiece::NormalizerSpec>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4973,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4977
      start: 4970
    functionDepth: 0
    functionLinenumber: 4970
    functionLinenumberEnd: 4977
    functionName: ModelProto::_internal_mutable_denormalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - CreateMaybeMessage<::sentencepiece::NormalizerSpec>
    - GetArena
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: ::sentencepiece::NormalizerSpec * ModelProto::_internal_mutable_denormalizer_spec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ModelProto::_internal_mutable_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4981
      start: 4978
    functionDepth: 1
    functionLinenumber: 4978
    functionLinenumberEnd: 4981
    functionName: ModelProto::mutable_denormalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - ModelProto::_internal_mutable_denormalizer_spec
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: ::sentencepiece::NormalizerSpec * ModelProto::mutable_denormalizer_spec()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4983,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4989,1
    - Dst: google::protobuf::internal::GetOwnedMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h:4991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - denormalizer_spec
    argTypes:
    - ::sentencepiece::NormalizerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5000
      start: 4982
    functionDepth: 1
    functionLinenumber: 4982
    functionLinenumberEnd: 5000
    functionName: ModelProto::set_allocated_denormalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetOwnedMessage
    - google::protobuf::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ModelProto::set_allocated_denormalizer_spec(::sentencepiece::NormalizerSpec*
      denormalizer_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::sentencepiece::NBestSentencePieceText::NBestSentencePieceText
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:35,1
    - Dst: google::protobuf::OnShutdownDestroyMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: InitDefaultsscc_info_NBestSentencePieceText_sentencepiece_2eproto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::OnShutdownDestroyMessage
    - ::sentencepiece::NBestSentencePieceText::NBestSentencePieceText
    linkageType: ''
    returnType: void
    signature: void InitDefaultsscc_info_NBestSentencePieceText_sentencepiece_2eproto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::sentencepiece::SentencePieceText::SentencePieceText
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:49,1
    - Dst: google::protobuf::OnShutdownDestroyMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: InitDefaultsscc_info_SentencePieceText_sentencepiece_2eproto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - ::sentencepiece::SentencePieceText::SentencePieceText
    - google::protobuf::OnShutdownDestroyMessage
    linkageType: ''
    returnType: void
    signature: void InitDefaultsscc_info_SentencePieceText_sentencepiece_2eproto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::sentencepiece::SentencePieceText_SentencePiece::SentencePieceText_SentencePiece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:63,1
    - Dst: google::protobuf::OnShutdownDestroyMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: InitDefaultsscc_info_SentencePieceText_SentencePiece_sentencepiece_2eproto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - ::sentencepiece::SentencePieceText_SentencePiece::SentencePieceText_SentencePiece
    - google::protobuf::OnShutdownDestroyMessage
    linkageType: ''
    returnType: void
    signature: void InitDefaultsscc_info_SentencePieceText_SentencePiece_sentencepiece_2eproto()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_piece(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_id(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_surface(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_begin
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_begin(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_end
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_end(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:98,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: sentencepiece::SentencePieceText_SentencePiece::SentencePieceText_SentencePiece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::RegisterArenaDtor
    - sentencepiece::SentencePieceText_SentencePiece::SharedCtor
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::SentencePieceText_SentencePiece(::PROTOBUF_NAMESPACE_ID::Arena*
      arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:105,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:106,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:107,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:107,1
    - Dst: _internal_has_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:108,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:109,1
    - Dst: _internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:109,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:110,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:112,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:112,1
    - Dst: _internal_has_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:113,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:114,1
    - Dst: _internal_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:114,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:115,1
    - Dst: ::memcpy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:117,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:118,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:118,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 121
    functionName: sentencepiece::SentencePieceText_SentencePiece::SentencePieceText_SentencePiece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - Set
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - sentencepiece::SentencePieceText_SentencePiece::MergeFrom
    - reinterpret_cast<char*>
    - _internal_piece
    - _internal_has_piece
    - static_cast<size_t>
    - GetArena
    - ::memcpy
    - _internal_surface
    - _internal_has_surface
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::SentencePieceText_SentencePiece(const
      SentencePieceText_SentencePiece& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:124,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:125,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:125,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:126,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:126,1
    - Dst: ::memset
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:127,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:127,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:127,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:128,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:128,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:129,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:129,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: sentencepiece::SentencePieceText_SentencePiece::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::InitSCC
    - static_cast<size_t>
    - reinterpret_cast<char*>
    - ::memset
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:135,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: SentencePieceText_SentencePiece::~SentencePieceText_SentencePiece()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::~SentencePieceText_SentencePiece()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:140,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:140,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:141,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:141,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:142,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: sentencepiece::SentencePieceText_SentencePiece::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - DestroyNoArena
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< SentencePieceText_SentencePiece* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: sentencepiece::SentencePieceText_SentencePiece::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< SentencePieceText_SentencePiece* >
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: sentencepiece::SentencePieceText_SentencePiece::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: sentencepiece::SentencePieceText_SentencePiece::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:155,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: '& SentencePieceText_SentencePiece::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: SentencePieceText_SentencePiece
    signature: SentencePieceText_SentencePiece & SentencePieceText_SentencePiece::default_instance()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:166,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:170,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:173,1
    - Dst: ::memset
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:177,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:177,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:178,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:179,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:181,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 183
    functionName: sentencepiece::SentencePieceText_SentencePiece::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::Clear
    - ClearNonDefaultToEmpty
    - static_cast<size_t>
    - reinterpret_cast<char*>
    - ::memset
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::Clear()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:188,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:190,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:191,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:195,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:195,1
    - Dst: _internal_mutable_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:196,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:197,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:198,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:203,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:203,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:204,1
    - Dst: google::protobuf::ReadVarint32
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:205,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:206,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:211,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:211,1
    - Dst: _internal_mutable_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:212,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:213,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:214,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:219,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:219,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_begin
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:220,1
    - Dst: google::protobuf::ReadVarint32
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:221,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:222,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:227,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:227,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_end
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:228,1
    - Dst: google::protobuf::ReadVarint32
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:229,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:230,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:236,1
    - Dst: ParseField
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:240,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:241,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:242,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:245,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:246,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:248,1
    - Dst: Or
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:254,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 76
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 260
    functionName: sentencepiece::SentencePieceText_SentencePiece::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_end
    - ParseField
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - google::protobuf::internal::InlineGreedyStringParser
    - UnknownFieldParse
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - Or
    - google::protobuf::ReadTag
    - google::protobuf::ReadVarint32
    - _internal_mutable_surface
    - internal_default_instance
    - _internal_mutable_piece
    - PROTOBUF_PREDICT_TRUE
    - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_begin
    - CHK_
    - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_id
    linkageType: ''
    returnType: char
    signature: char * SentencePieceText_SentencePiece::_InternalParse(const char*
      ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:271,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:272,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:277,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:278,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:278,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:283,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:284,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:289,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:290,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_begin
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:290,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:295,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:296,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_end
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:296,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_InternalSerialize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:300,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:303,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:303,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:304,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:304,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:305,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 309
    functionName: sentencepiece::SentencePieceText_SentencePiece::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::_InternalSerialize
    - sentencepiece::SentencePieceText_SentencePiece::_internal_end
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - sentencepiece::SentencePieceText_SentencePiece::_internal_piece
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - unknown_fields
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
    - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    - sentencepiece::SentencePieceText_SentencePiece::_internal_begin
    - static_cast<int>
    - sentencepiece::SentencePieceText_SentencePiece::_internal_id
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::SentencePieceText_SentencePiece::_internal_surface
    - have_unknown_fields
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * SentencePieceText_SentencePiece::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:315,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:326,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:327,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:333,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:334,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:340,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:341,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:347,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_begin
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:348,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:354,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_end
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:355,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:359,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:359,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:360,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:362,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 365
    functionName: sentencepiece::SentencePieceText_SentencePiece::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::_internal_end
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - google::protobuf::internal::WireFormatLite::StringSize
    - sentencepiece::SentencePieceText_SentencePiece::_internal_piece
    - google::protobuf::internal::ToCachedSize
    - sentencepiece::SentencePieceText_SentencePiece::SetCachedSize
    - unknown_fields
    - ByteSize
    - sentencepiece::SentencePieceText_SentencePiece::_internal_begin
    - sentencepiece::SentencePieceText_SentencePiece::_internal_id
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::SentencePieceText_SentencePiece::_internal_surface
    - have_unknown_fields
    linkageType: ''
    returnType: size_t
    signature: size_t SentencePieceText_SentencePiece::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:369,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SentencePieceText_SentencePiece*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::MergeFrom
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SentencePieceText_SentencePiece*>
    linkageType: ''
    returnType: void
    signature: "void SentencePieceText_SentencePiece::CheckTypeAndMergeFrom(\n    const
      ::PROTOBUF_NAMESPACE_ID::MessageLite& from)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:375,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:376,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:377,1
    - Dst: _internal_set_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:384,1
    - Dst: _internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:384,1
    - Dst: _internal_set_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:387,1
    - Dst: _internal_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 400
    functionName: sentencepiece::SentencePieceText_SentencePiece::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_NE
    - sentencepiece::SentencePieceText_SentencePiece::MergeFrom
    - _internal_piece
    - _internal_set_piece
    - _internal_surface
    - _internal_set_surface
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::MergeFrom(const SentencePieceText_SentencePiece&
      from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:405,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: sentencepiece::SentencePieceText_SentencePiece::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::MergeFrom
    - sentencepiece::SentencePieceText_SentencePiece::Clear
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::CopyFrom(const SentencePieceText_SentencePiece&
      from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 415
    functionName: sentencepiece::SentencePieceText_SentencePiece::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText_SentencePiece::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:419,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:420,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:421,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:422,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:422,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:422,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:423,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:423,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:423,1
    - Dst: PROTOBUF_FIELD_OFFSET
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:425,1
    - Dst: PROTOBUF_FIELD_OFFSET
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:427,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::memswap<\n      PROTOBUF_FIELD_OFFSET(SentencePieceText_SentencePiece,
        end_)\n      + sizeof(SentencePieceText_SentencePiece::end_)\n      - PROTOBUF_FIELD_OFFSET(SentencePieceText_SentencePiece,
        id_)>"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:424,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:428,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - SentencePieceText_SentencePiece*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 430
    functionName: sentencepiece::SentencePieceText_SentencePiece::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - Swap
    - "::PROTOBUF_NAMESPACE_ID::internal::memswap<\n      PROTOBUF_FIELD_OFFSET(SentencePieceText_SentencePiece,
      end_)\n      + sizeof(SentencePieceText_SentencePiece::end_)\n      - PROTOBUF_FIELD_OFFSET(SentencePieceText_SentencePiece,
      id_)>"
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - reinterpret_cast<char*>
    - swap
    - GetArena
    - PROTOBUF_FIELD_OFFSET
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::InternalSwap(SentencePieceText_SentencePiece*
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: sentencepiece::SentencePieceText_SentencePiece::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SentencePieceText_SentencePiece::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: sentencepiece::SentencePieceText::_Internal::set_has_text
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_text(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 447
    functionName: sentencepiece::SentencePieceText::_Internal::set_has_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_score(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:454,1
    - Dst: sentencepiece::SentencePieceText::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 457
    functionName: sentencepiece::SentencePieceText::SentencePieceText
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceText::SharedCtor
    - sentencepiece::SentencePieceText::RegisterArenaDtor
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::SentencePieceText(::PROTOBUF_NAMESPACE_ID::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:462,1
    - Dst: sentencepiece::SentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:463,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:464,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:464,1
    - Dst: _internal_has_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:465,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:466,1
    - Dst: _internal_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:466,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 471
    functionName: sentencepiece::SentencePieceText::SentencePieceText
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceText::MergeFrom
    - Set
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - _internal_has_text
    - _internal_text
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::SentencePieceText(const SentencePieceText&
      from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:474,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:475,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 477
    functionName: sentencepiece::SentencePieceText::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::InitSCC
    - UnsafeSetDefault
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:481,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: SentencePieceText::~SentencePieceText()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::~SentencePieceText()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:486,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:486,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:487,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: sentencepiece::SentencePieceText::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - DestroyNoArena
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< SentencePieceText* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: sentencepiece::SentencePieceText::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< SentencePieceText* >
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 495
    functionName: sentencepiece::SentencePieceText::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: sentencepiece::SentencePieceText::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:500,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: '& SentencePieceText::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: SentencePieceText
    signature: SentencePieceText & SentencePieceText::default_instance()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:511,1
    - Dst: sentencepiece::SentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:512,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:515,1
    - Dst: sentencepiece::SentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:518,1
    - Dst: sentencepiece::SentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 520
    functionName: sentencepiece::SentencePieceText::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SentencePieceText::Clear
    - ClearNonDefaultToEmpty
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::Clear()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:525,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:527,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:528,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:532,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:532,1
    - Dst: _internal_mutable_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:533,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:534,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:535,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:540,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:540,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:544,1
    - Dst: _internal_add_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:544,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:545,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:546,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:547,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:552,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:552,1
    - Dst: sentencepiece::SentencePieceText::_Internal::set_has_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:553,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:554,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:561,1
    - Dst: ParseField
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:565,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:566,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:567,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:570,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:571,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:573,1
    - Dst: Or
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:579,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 585
    functionName: sentencepiece::SentencePieceText::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - google::protobuf::internal::InlineGreedyStringParser
    - CHK_
    - mutable_unknown_fields
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - google::protobuf::ReadTag
    - _internal_add_pieces
    - PROTOBUF_PREDICT_TRUE
    - ParseField
    - _internal_mutable_text
    - sentencepiece::SentencePieceText::_Internal::set_has_score
    - UnknownFieldParse
    - Or
    - internal_default_instance
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
    linkageType: ''
    returnType: char
    signature: char * SentencePieceText::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 524
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:596,1
    - Dst: sentencepiece::SentencePieceText::_internal_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:597,1
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:602,1
    - Dst: sentencepiece::SentencePieceText::_internal_pieces_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:602,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:603,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:604,1
    - Dst: sentencepiece::SentencePieceText::_internal_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:605,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:610,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:611,1
    - Dst: sentencepiece::SentencePieceText::_internal_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:611,1
    - Dst: sentencepiece::SentencePieceText::_InternalSerialize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:615,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:618,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:618,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:619,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:619,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:620,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 624
    functionName: sentencepiece::SentencePieceText::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
    - sentencepiece::SentencePieceText::_internal_text
    - static_cast<unsigned int>
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - unknown_fields
    - sentencepiece::SentencePieceText::_internal_pieces_size
    - google::protobuf::internal::WireFormatLite::WriteFloatToArray
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
    - sentencepiece::SentencePieceText::_internal_score
    - sentencepiece::SentencePieceText::_InternalSerialize
    - static_cast<int>
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::SentencePieceText::_internal_pieces
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * SentencePieceText::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:630,1
    - Dst: sentencepiece::SentencePieceText::_internal_pieces_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:637,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:640,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:648,1
    - Dst: sentencepiece::SentencePieceText::_internal_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:649,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:658,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:658,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:659,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:661,1
    - Dst: sentencepiece::SentencePieceText::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 664
    functionName: sentencepiece::SentencePieceText::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::StringSize
    - sentencepiece::SentencePieceText::_internal_text
    - google::protobuf::internal::ToCachedSize
    - unknown_fields
    - sentencepiece::SentencePieceText::_internal_pieces_size
    - ByteSize
    - sentencepiece::SentencePieceText::SetCachedSize
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::WireFormatLite::MessageSize
    linkageType: ''
    returnType: size_t
    signature: size_t SentencePieceText::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:668,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SentencePieceText*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: sentencepiece::SentencePieceText::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText::MergeFrom
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SentencePieceText*>
    linkageType: ''
    returnType: void
    signature: "void SentencePieceText::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:674,1
    - Dst: sentencepiece::SentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:675,1
    - Dst: sentencepiece::SentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:676,1
    - Dst: sentencepiece::SentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:680,1
    - Dst: _internal_set_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:684,1
    - Dst: _internal_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 691
    functionName: sentencepiece::SentencePieceText::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::SentencePieceText::MergeFrom
    - GOOGLE_DCHECK_NE
    - _internal_set_text
    - _internal_text
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::MergeFrom(const SentencePieceText& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:696,1
    - Dst: sentencepiece::SentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 693
    functionDepth: 2
    functionLinenumber: 693
    functionLinenumberEnd: 698
    functionName: sentencepiece::SentencePieceText::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText::Clear
    - sentencepiece::SentencePieceText::MergeFrom
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::CopyFrom(const SentencePieceText& from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:701,1
    - Dst: google::protobuf::internal::AllAreInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 707
    functionName: sentencepiece::SentencePieceText::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SentencePieceText::IsInitialized
    - google::protobuf::internal::AllAreInitialized
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:711,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:712,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:713,1
    - Dst: sentencepiece::SentencePieceText::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:714,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:715,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:715,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:715,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 717
    functionName: sentencepiece::SentencePieceText::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - Swap
    - sentencepiece::SentencePieceText::InternalSwap
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - swap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::InternalSwap(SentencePieceText* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 721
    functionName: sentencepiece::SentencePieceText::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SentencePieceText::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NBestSentencePieceText::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:733,1
    - Dst: sentencepiece::NBestSentencePieceText::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 736
    functionName: sentencepiece::NBestSentencePieceText::NBestSentencePieceText
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::NBestSentencePieceText::SharedCtor
    - sentencepiece::NBestSentencePieceText::RegisterArenaDtor
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::NBestSentencePieceText(::PROTOBUF_NAMESPACE_ID::Arena*
      arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NBestSentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NBestSentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 742
    functionName: sentencepiece::NBestSentencePieceText::NBestSentencePieceText
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::NBestSentencePieceText::MergeFrom
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::NBestSentencePieceText(const NBestSentencePieceText&
      from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: sentencepiece::NBestSentencePieceText::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::InitSCC
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:750,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: NBestSentencePieceText::~NBestSentencePieceText()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::~NBestSentencePieceText()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:755,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 756
    functionName: sentencepiece::NBestSentencePieceText::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< NBestSentencePieceText* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 761
    functionName: sentencepiece::NBestSentencePieceText::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< NBestSentencePieceText* >
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 763
    functionName: sentencepiece::NBestSentencePieceText::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 766
    functionName: sentencepiece::NBestSentencePieceText::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:768,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 770
    functionName: '& NBestSentencePieceText::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: NBestSentencePieceText
    signature: NBestSentencePieceText & NBestSentencePieceText::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NBestSentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:779,1
    - Dst: sentencepiece::NBestSentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 781
    functionName: sentencepiece::NBestSentencePieceText::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::NBestSentencePieceText::Clear
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::Clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:785,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:787,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:788,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:792,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:792,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:796,1
    - Dst: _internal_add_nbests
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:796,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:797,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:798,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:799,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:805,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:808,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:809,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:811,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 822
    functionName: sentencepiece::NBestSentencePieceText::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - _internal_add_nbests
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - UnknownFieldParse
    - google::protobuf::ReadTag
    - PROTOBUF_PREDICT_TRUE
    - CHK_
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
    linkageType: ''
    returnType: char
    signature: char * NBestSentencePieceText::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 785
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:832,1
    - Dst: sentencepiece::NBestSentencePieceText::_internal_nbests_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:832,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:833,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:834,1
    - Dst: sentencepiece::NBestSentencePieceText::_internal_nbests
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:835,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:838,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:838,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:839,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:839,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:840,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 844
    functionName: sentencepiece::NBestSentencePieceText::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::NBestSentencePieceText::_internal_nbests_size
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
    - static_cast<unsigned int>
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - unknown_fields
    - sentencepiece::NBestSentencePieceText::_internal_nbests
    - static_cast<int>
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * NBestSentencePieceText::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NBestSentencePieceText::_internal_nbests_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:855,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:858,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:861,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:861,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:862,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:864,1
    - Dst: sentencepiece::NBestSentencePieceText::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:865,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 867
    functionName: sentencepiece::NBestSentencePieceText::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::NBestSentencePieceText::_internal_nbests_size
    - google::protobuf::internal::ToCachedSize
    - unknown_fields
    - sentencepiece::NBestSentencePieceText::SetCachedSize
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::WireFormatLite::MessageSize
    linkageType: ''
    returnType: size_t
    signature: size_t NBestSentencePieceText::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NBestSentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:871,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const NBestSentencePieceText*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 873
    functionName: sentencepiece::NBestSentencePieceText::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const NBestSentencePieceText*>
    - sentencepiece::NBestSentencePieceText::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void NBestSentencePieceText::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:877,1
    - Dst: sentencepiece::NBestSentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:878,1
    - Dst: sentencepiece::NBestSentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NBestSentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 883
    functionName: sentencepiece::NBestSentencePieceText::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_NE
    - sentencepiece::NBestSentencePieceText::MergeFrom
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::MergeFrom(const NBestSentencePieceText&
      from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NBestSentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:888,1
    - Dst: sentencepiece::NBestSentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NBestSentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: sentencepiece::NBestSentencePieceText::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::NBestSentencePieceText::Clear
    - sentencepiece::NBestSentencePieceText::MergeFrom
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::CopyFrom(const NBestSentencePieceText&
      from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AllAreInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 895
    functionName: sentencepiece::NBestSentencePieceText::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AllAreInitialized
    linkageType: ''
    returnType: bool
    signature: bool NBestSentencePieceText::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:899,1
    - Dst: sentencepiece::NBestSentencePieceText::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - NBestSentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 901
    functionName: sentencepiece::NBestSentencePieceText::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - Swap
    - sentencepiece::NBestSentencePieceText::InternalSwap
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::InternalSwap(NBestSentencePieceText* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 905
    functionName: sentencepiece::NBestSentencePieceText::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NBestSentencePieceText::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_piece(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_id(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_surface(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_begin
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_begin(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_end
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_end(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:98,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: sentencepiece::SentencePieceText_SentencePiece::SentencePieceText_SentencePiece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::RegisterArenaDtor
    - sentencepiece::SentencePieceText_SentencePiece::SharedCtor
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::SentencePieceText_SentencePiece(::PROTOBUF_NAMESPACE_ID::Arena*
      arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:105,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:106,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:107,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:107,1
    - Dst: _internal_has_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:108,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:109,1
    - Dst: _internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:109,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:110,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:112,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:112,1
    - Dst: _internal_has_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:113,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:114,1
    - Dst: _internal_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:114,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:115,1
    - Dst: ::memcpy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:117,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:118,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:118,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 121
    functionName: sentencepiece::SentencePieceText_SentencePiece::SentencePieceText_SentencePiece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - Set
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - sentencepiece::SentencePieceText_SentencePiece::MergeFrom
    - reinterpret_cast<char*>
    - _internal_piece
    - _internal_has_piece
    - static_cast<size_t>
    - GetArena
    - ::memcpy
    - _internal_surface
    - _internal_has_surface
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::SentencePieceText_SentencePiece(const
      SentencePieceText_SentencePiece& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:124,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:125,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:125,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:126,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:126,1
    - Dst: ::memset
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:127,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:127,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:127,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:128,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:128,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:129,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:129,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: sentencepiece::SentencePieceText_SentencePiece::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached:
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::InitSCC
    - static_cast<size_t>
    - reinterpret_cast<char*>
    - ::memset
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:135,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: SentencePieceText_SentencePiece::~SentencePieceText_SentencePiece()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::~SentencePieceText_SentencePiece()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:140,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:140,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:141,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:141,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:142,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: sentencepiece::SentencePieceText_SentencePiece::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - DestroyNoArena
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< SentencePieceText_SentencePiece* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: sentencepiece::SentencePieceText_SentencePiece::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< SentencePieceText_SentencePiece* >
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: sentencepiece::SentencePieceText_SentencePiece::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: sentencepiece::SentencePieceText_SentencePiece::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:155,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: '& SentencePieceText_SentencePiece::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: SentencePieceText_SentencePiece
    signature: SentencePieceText_SentencePiece & SentencePieceText_SentencePiece::default_instance()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:166,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:170,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:173,1
    - Dst: ::memset
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:177,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:177,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:178,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:179,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:181,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 183
    functionName: sentencepiece::SentencePieceText_SentencePiece::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::Clear
    - ClearNonDefaultToEmpty
    - static_cast<size_t>
    - reinterpret_cast<char*>
    - ::memset
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::Clear()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:188,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:190,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:191,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:195,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:195,1
    - Dst: _internal_mutable_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:196,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:197,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:198,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:203,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:203,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:204,1
    - Dst: google::protobuf::ReadVarint32
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:205,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:206,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:211,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:211,1
    - Dst: _internal_mutable_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:212,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:213,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:214,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:219,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:219,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_begin
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:220,1
    - Dst: google::protobuf::ReadVarint32
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:221,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:222,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:227,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:227,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_end
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:228,1
    - Dst: google::protobuf::ReadVarint32
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:229,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:230,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:236,1
    - Dst: ParseField
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:240,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:241,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:242,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:245,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:246,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:248,1
    - Dst: Or
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:254,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 76
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 260
    functionName: sentencepiece::SentencePieceText_SentencePiece::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_end
    - ParseField
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - google::protobuf::internal::InlineGreedyStringParser
    - UnknownFieldParse
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - Or
    - google::protobuf::ReadTag
    - google::protobuf::ReadVarint32
    - _internal_mutable_surface
    - internal_default_instance
    - _internal_mutable_piece
    - PROTOBUF_PREDICT_TRUE
    - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_begin
    - CHK_
    - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_id
    linkageType: ''
    returnType: char
    signature: char * SentencePieceText_SentencePiece::_InternalParse(const char*
      ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:271,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:272,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:277,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:278,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:278,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:283,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:284,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:289,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:290,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_begin
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:290,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:295,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:296,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_end
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:296,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_InternalSerialize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:300,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:303,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:303,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:304,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:304,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:305,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 309
    functionName: sentencepiece::SentencePieceText_SentencePiece::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::_InternalSerialize
    - sentencepiece::SentencePieceText_SentencePiece::_internal_end
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - sentencepiece::SentencePieceText_SentencePiece::_internal_piece
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - unknown_fields
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
    - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    - sentencepiece::SentencePieceText_SentencePiece::_internal_begin
    - static_cast<int>
    - sentencepiece::SentencePieceText_SentencePiece::_internal_id
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::SentencePieceText_SentencePiece::_internal_surface
    - have_unknown_fields
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * SentencePieceText_SentencePiece::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:315,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:326,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:327,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:333,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:334,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:340,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:341,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:347,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_begin
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:348,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:354,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::_internal_end
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:355,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:359,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:359,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:360,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:362,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 365
    functionName: sentencepiece::SentencePieceText_SentencePiece::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::_internal_end
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - google::protobuf::internal::WireFormatLite::StringSize
    - sentencepiece::SentencePieceText_SentencePiece::_internal_piece
    - google::protobuf::internal::ToCachedSize
    - sentencepiece::SentencePieceText_SentencePiece::SetCachedSize
    - unknown_fields
    - ByteSize
    - sentencepiece::SentencePieceText_SentencePiece::_internal_begin
    - sentencepiece::SentencePieceText_SentencePiece::_internal_id
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::SentencePieceText_SentencePiece::_internal_surface
    - have_unknown_fields
    linkageType: ''
    returnType: size_t
    signature: size_t SentencePieceText_SentencePiece::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:369,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SentencePieceText_SentencePiece*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::MergeFrom
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SentencePieceText_SentencePiece*>
    linkageType: ''
    returnType: void
    signature: "void SentencePieceText_SentencePiece::CheckTypeAndMergeFrom(\n    const
      ::PROTOBUF_NAMESPACE_ID::MessageLite& from)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:375,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:376,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:377,1
    - Dst: _internal_set_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:384,1
    - Dst: _internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:384,1
    - Dst: _internal_set_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:387,1
    - Dst: _internal_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 400
    functionName: sentencepiece::SentencePieceText_SentencePiece::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 7
    functionsReached:
    - GOOGLE_DCHECK_NE
    - sentencepiece::SentencePieceText_SentencePiece::MergeFrom
    - _internal_piece
    - _internal_set_piece
    - _internal_surface
    - _internal_set_surface
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::MergeFrom(const SentencePieceText_SentencePiece&
      from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:405,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: sentencepiece::SentencePieceText_SentencePiece::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::MergeFrom
    - sentencepiece::SentencePieceText_SentencePiece::Clear
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::CopyFrom(const SentencePieceText_SentencePiece&
      from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 415
    functionName: sentencepiece::SentencePieceText_SentencePiece::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText_SentencePiece::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:419,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:420,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:421,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:422,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:422,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:422,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:423,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:423,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:423,1
    - Dst: PROTOBUF_FIELD_OFFSET
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:425,1
    - Dst: PROTOBUF_FIELD_OFFSET
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:427,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::memswap<\n      PROTOBUF_FIELD_OFFSET(SentencePieceText_SentencePiece,
        end_)\n      + sizeof(SentencePieceText_SentencePiece::end_)\n      - PROTOBUF_FIELD_OFFSET(SentencePieceText_SentencePiece,
        id_)>"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:424,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:428,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - SentencePieceText_SentencePiece*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 430
    functionName: sentencepiece::SentencePieceText_SentencePiece::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - Swap
    - "::PROTOBUF_NAMESPACE_ID::internal::memswap<\n      PROTOBUF_FIELD_OFFSET(SentencePieceText_SentencePiece,
      end_)\n      + sizeof(SentencePieceText_SentencePiece::end_)\n      - PROTOBUF_FIELD_OFFSET(SentencePieceText_SentencePiece,
      id_)>"
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - reinterpret_cast<char*>
    - swap
    - GetArena
    - PROTOBUF_FIELD_OFFSET
    linkageType: ''
    returnType: void
    signature: void SentencePieceText_SentencePiece::InternalSwap(SentencePieceText_SentencePiece*
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: sentencepiece::SentencePieceText_SentencePiece::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SentencePieceText_SentencePiece::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: sentencepiece::SentencePieceText::_Internal::set_has_text
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_text(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 447
    functionName: sentencepiece::SentencePieceText::_Internal::set_has_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_score(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:454,1
    - Dst: sentencepiece::SentencePieceText::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 457
    functionName: sentencepiece::SentencePieceText::SentencePieceText
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceText::SharedCtor
    - sentencepiece::SentencePieceText::RegisterArenaDtor
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::SentencePieceText(::PROTOBUF_NAMESPACE_ID::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:462,1
    - Dst: sentencepiece::SentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:463,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:464,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:464,1
    - Dst: _internal_has_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:465,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:466,1
    - Dst: _internal_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:466,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 471
    functionName: sentencepiece::SentencePieceText::SentencePieceText
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceText::MergeFrom
    - Set
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - _internal_has_text
    - _internal_text
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::SentencePieceText(const SentencePieceText&
      from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:474,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:475,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 477
    functionName: sentencepiece::SentencePieceText::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::InitSCC
    - UnsafeSetDefault
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:481,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: SentencePieceText::~SentencePieceText()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::~SentencePieceText()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:486,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:486,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:487,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: sentencepiece::SentencePieceText::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - DestroyNoArena
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< SentencePieceText* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: sentencepiece::SentencePieceText::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< SentencePieceText* >
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 495
    functionName: sentencepiece::SentencePieceText::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: sentencepiece::SentencePieceText::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:500,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: '& SentencePieceText::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: SentencePieceText
    signature: SentencePieceText & SentencePieceText::default_instance()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:511,1
    - Dst: sentencepiece::SentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:512,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:515,1
    - Dst: sentencepiece::SentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:518,1
    - Dst: sentencepiece::SentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 520
    functionName: sentencepiece::SentencePieceText::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::SentencePieceText::Clear
    - ClearNonDefaultToEmpty
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::Clear()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:525,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:527,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:528,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:532,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:532,1
    - Dst: _internal_mutable_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:533,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:534,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:535,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:540,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:540,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:544,1
    - Dst: _internal_add_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:544,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:545,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:546,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:547,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:552,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:552,1
    - Dst: sentencepiece::SentencePieceText::_Internal::set_has_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:553,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:554,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:561,1
    - Dst: ParseField
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:565,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:566,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:567,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:570,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:571,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:573,1
    - Dst: Or
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:579,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 585
    functionName: sentencepiece::SentencePieceText::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - google::protobuf::internal::InlineGreedyStringParser
    - CHK_
    - mutable_unknown_fields
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - google::protobuf::ReadTag
    - _internal_add_pieces
    - PROTOBUF_PREDICT_TRUE
    - ParseField
    - _internal_mutable_text
    - sentencepiece::SentencePieceText::_Internal::set_has_score
    - UnknownFieldParse
    - Or
    - internal_default_instance
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
    linkageType: ''
    returnType: char
    signature: char * SentencePieceText::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 524
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:596,1
    - Dst: sentencepiece::SentencePieceText::_internal_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:597,1
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:602,1
    - Dst: sentencepiece::SentencePieceText::_internal_pieces_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:602,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:603,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:604,1
    - Dst: sentencepiece::SentencePieceText::_internal_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:605,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:610,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:611,1
    - Dst: sentencepiece::SentencePieceText::_internal_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:611,1
    - Dst: sentencepiece::SentencePieceText::_InternalSerialize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:615,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:618,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:618,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:619,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:619,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:620,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 624
    functionName: sentencepiece::SentencePieceText::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
    - sentencepiece::SentencePieceText::_internal_text
    - static_cast<unsigned int>
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - unknown_fields
    - sentencepiece::SentencePieceText::_internal_pieces_size
    - google::protobuf::internal::WireFormatLite::WriteFloatToArray
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
    - sentencepiece::SentencePieceText::_internal_score
    - sentencepiece::SentencePieceText::_InternalSerialize
    - static_cast<int>
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::SentencePieceText::_internal_pieces
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * SentencePieceText::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:630,1
    - Dst: sentencepiece::SentencePieceText::_internal_pieces_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:637,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:640,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:648,1
    - Dst: sentencepiece::SentencePieceText::_internal_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:649,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:658,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:658,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:659,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:661,1
    - Dst: sentencepiece::SentencePieceText::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 664
    functionName: sentencepiece::SentencePieceText::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::StringSize
    - sentencepiece::SentencePieceText::_internal_text
    - google::protobuf::internal::ToCachedSize
    - unknown_fields
    - sentencepiece::SentencePieceText::_internal_pieces_size
    - ByteSize
    - sentencepiece::SentencePieceText::SetCachedSize
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::WireFormatLite::MessageSize
    linkageType: ''
    returnType: size_t
    signature: size_t SentencePieceText::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:668,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SentencePieceText*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: sentencepiece::SentencePieceText::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText::MergeFrom
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SentencePieceText*>
    linkageType: ''
    returnType: void
    signature: "void SentencePieceText::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:674,1
    - Dst: sentencepiece::SentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:675,1
    - Dst: sentencepiece::SentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:676,1
    - Dst: sentencepiece::SentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:680,1
    - Dst: _internal_set_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:684,1
    - Dst: _internal_text
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 691
    functionName: sentencepiece::SentencePieceText::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 7
    functionsReached:
    - sentencepiece::SentencePieceText::MergeFrom
    - GOOGLE_DCHECK_NE
    - _internal_set_text
    - _internal_text
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::MergeFrom(const SentencePieceText& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:696,1
    - Dst: sentencepiece::SentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 693
    functionDepth: 2
    functionLinenumber: 693
    functionLinenumberEnd: 698
    functionName: sentencepiece::SentencePieceText::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText::Clear
    - sentencepiece::SentencePieceText::MergeFrom
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::CopyFrom(const SentencePieceText& from)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:701,1
    - Dst: google::protobuf::internal::AllAreInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 707
    functionName: sentencepiece::SentencePieceText::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceText::IsInitialized
    - google::protobuf::internal::AllAreInitialized
    linkageType: ''
    returnType: bool
    signature: bool SentencePieceText::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:711,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:712,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:713,1
    - Dst: sentencepiece::SentencePieceText::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:714,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:715,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:715,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:715,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - SentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 717
    functionName: sentencepiece::SentencePieceText::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached:
    - Swap
    - sentencepiece::SentencePieceText::InternalSwap
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - swap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SentencePieceText::InternalSwap(SentencePieceText* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 721
    functionName: sentencepiece::SentencePieceText::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SentencePieceText::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NBestSentencePieceText::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:733,1
    - Dst: sentencepiece::NBestSentencePieceText::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 736
    functionName: sentencepiece::NBestSentencePieceText::NBestSentencePieceText
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::NBestSentencePieceText::SharedCtor
    - sentencepiece::NBestSentencePieceText::RegisterArenaDtor
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::NBestSentencePieceText(::PROTOBUF_NAMESPACE_ID::Arena*
      arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NBestSentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NBestSentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 742
    functionName: sentencepiece::NBestSentencePieceText::NBestSentencePieceText
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::NBestSentencePieceText::MergeFrom
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::NBestSentencePieceText(const NBestSentencePieceText&
      from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: sentencepiece::NBestSentencePieceText::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::InitSCC
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:750,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: NBestSentencePieceText::~NBestSentencePieceText()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::~NBestSentencePieceText()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:755,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 756
    functionName: sentencepiece::NBestSentencePieceText::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< NBestSentencePieceText* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 761
    functionName: sentencepiece::NBestSentencePieceText::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< NBestSentencePieceText* >
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 763
    functionName: sentencepiece::NBestSentencePieceText::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 766
    functionName: sentencepiece::NBestSentencePieceText::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 1
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:768,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 770
    functionName: '& NBestSentencePieceText::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: NBestSentencePieceText
    signature: NBestSentencePieceText & NBestSentencePieceText::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NBestSentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:779,1
    - Dst: sentencepiece::NBestSentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 781
    functionName: sentencepiece::NBestSentencePieceText::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::NBestSentencePieceText::Clear
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::Clear()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:785,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:787,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:788,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:792,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:792,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:796,1
    - Dst: _internal_add_nbests
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:796,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:797,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:798,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:799,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:805,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:808,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:809,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:811,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 822
    functionName: sentencepiece::NBestSentencePieceText::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - _internal_add_nbests
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - UnknownFieldParse
    - google::protobuf::ReadTag
    - PROTOBUF_PREDICT_TRUE
    - CHK_
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
    linkageType: ''
    returnType: char
    signature: char * NBestSentencePieceText::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 785
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:832,1
    - Dst: sentencepiece::NBestSentencePieceText::_internal_nbests_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:832,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:833,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:834,1
    - Dst: sentencepiece::NBestSentencePieceText::_internal_nbests
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:835,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:838,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:838,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:839,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:839,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:840,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 844
    functionName: sentencepiece::NBestSentencePieceText::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::NBestSentencePieceText::_internal_nbests_size
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
    - static_cast<unsigned int>
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - unknown_fields
    - sentencepiece::NBestSentencePieceText::_internal_nbests
    - static_cast<int>
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * NBestSentencePieceText::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NBestSentencePieceText::_internal_nbests_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:855,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:858,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:861,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:861,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:862,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:864,1
    - Dst: sentencepiece::NBestSentencePieceText::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:865,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 867
    functionName: sentencepiece::NBestSentencePieceText::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::NBestSentencePieceText::_internal_nbests_size
    - google::protobuf::internal::ToCachedSize
    - unknown_fields
    - sentencepiece::NBestSentencePieceText::SetCachedSize
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::WireFormatLite::MessageSize
    linkageType: ''
    returnType: size_t
    signature: size_t NBestSentencePieceText::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NBestSentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:871,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const NBestSentencePieceText*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 873
    functionName: sentencepiece::NBestSentencePieceText::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const NBestSentencePieceText*>
    - sentencepiece::NBestSentencePieceText::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void NBestSentencePieceText::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:877,1
    - Dst: sentencepiece::NBestSentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:878,1
    - Dst: sentencepiece::NBestSentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NBestSentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 883
    functionName: sentencepiece::NBestSentencePieceText::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 7
    functionsReached:
    - GOOGLE_DCHECK_NE
    - sentencepiece::NBestSentencePieceText::MergeFrom
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::MergeFrom(const NBestSentencePieceText&
      from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NBestSentencePieceText::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:888,1
    - Dst: sentencepiece::NBestSentencePieceText::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NBestSentencePieceText
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: sentencepiece::NBestSentencePieceText::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::NBestSentencePieceText::Clear
    - sentencepiece::NBestSentencePieceText::MergeFrom
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::CopyFrom(const NBestSentencePieceText&
      from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AllAreInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 895
    functionName: sentencepiece::NBestSentencePieceText::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AllAreInitialized
    linkageType: ''
    returnType: bool
    signature: bool NBestSentencePieceText::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:899,1
    - Dst: sentencepiece::NBestSentencePieceText::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - NBestSentencePieceText*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 901
    functionName: sentencepiece::NBestSentencePieceText::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 2
    functionsReached:
    - Swap
    - sentencepiece::NBestSentencePieceText::InternalSwap
    linkageType: ''
    returnType: void
    signature: void NBestSentencePieceText::InternalSwap(NBestSentencePieceText* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 905
    functionName: sentencepiece::NBestSentencePieceText::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NBestSentencePieceText::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessageInternal< ::sentencepiece::SentencePieceText_SentencePiece
        >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 913
    functionName: '* Arena::CreateMaybeMessage< ::sentencepiece::SentencePieceText_SentencePiece
      >(Arena* arena)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateMessageInternal< ::sentencepiece::SentencePieceText_SentencePiece
      >
    linkageType: ''
    returnType: PROTOBUF_NAMESPACE_OPEN
    signature: PROTOBUF_NAMESPACE_OPEN * Arena::CreateMaybeMessage< ::sentencepiece::SentencePieceText_SentencePiece
      >(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessageInternal< ::sentencepiece::SentencePieceText >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 916
    functionName: '* Arena::CreateMaybeMessage< ::sentencepiece::SentencePieceText
      >(Arena* arena)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateMessageInternal< ::sentencepiece::SentencePieceText >
    linkageType: ''
    returnType: PROTOBUF_NOINLINE ::sentencepiece::SentencePieceText
    signature: PROTOBUF_NOINLINE ::sentencepiece::SentencePieceText * Arena::CreateMaybeMessage<
      ::sentencepiece::SentencePieceText >(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessageInternal< ::sentencepiece::NBestSentencePieceText >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 919
    functionName: '* Arena::CreateMaybeMessage< ::sentencepiece::NBestSentencePieceText
      >(Arena* arena)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateMessageInternal< ::sentencepiece::NBestSentencePieceText >
    linkageType: ''
    returnType: PROTOBUF_NOINLINE ::sentencepiece::NBestSentencePieceText
    signature: PROTOBUF_NOINLINE ::sentencepiece::NBestSentencePieceText * Arena::CreateMaybeMessage<
      ::sentencepiece::NBestSentencePieceText >(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::sentencepiece::ModelProto::ModelProto
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:50,1
    - Dst: google::protobuf::OnShutdownDestroyMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: InitDefaultsscc_info_ModelProto_sentencepiece_5fmodel_2eproto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::OnShutdownDestroyMessage
    - ::sentencepiece::ModelProto::ModelProto
    linkageType: ''
    returnType: void
    signature: void InitDefaultsscc_info_ModelProto_sentencepiece_5fmodel_2eproto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::sentencepiece::ModelProto_SentencePiece::ModelProto_SentencePiece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:67,1
    - Dst: google::protobuf::OnShutdownDestroyMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: InitDefaultsscc_info_ModelProto_SentencePiece_sentencepiece_5fmodel_2eproto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - ::sentencepiece::ModelProto_SentencePiece::ModelProto_SentencePiece
    - google::protobuf::OnShutdownDestroyMessage
    linkageType: ''
    returnType: void
    signature: void InitDefaultsscc_info_ModelProto_SentencePiece_sentencepiece_5fmodel_2eproto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::sentencepiece::NormalizerSpec::NormalizerSpec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:80,1
    - Dst: google::protobuf::OnShutdownDestroyMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: InitDefaultsscc_info_NormalizerSpec_sentencepiece_5fmodel_2eproto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - ::sentencepiece::NormalizerSpec::NormalizerSpec
    - google::protobuf::OnShutdownDestroyMessage
    linkageType: ''
    returnType: void
    signature: void InitDefaultsscc_info_NormalizerSpec_sentencepiece_5fmodel_2eproto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::sentencepiece::SelfTestData::SelfTestData
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:93,1
    - Dst: google::protobuf::OnShutdownDestroyMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: InitDefaultsscc_info_SelfTestData_sentencepiece_5fmodel_2eproto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - ::sentencepiece::SelfTestData::SelfTestData
    - google::protobuf::OnShutdownDestroyMessage
    linkageType: ''
    returnType: void
    signature: void InitDefaultsscc_info_SelfTestData_sentencepiece_5fmodel_2eproto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::sentencepiece::SelfTestData_Sample::SelfTestData_Sample
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:107,1
    - Dst: google::protobuf::OnShutdownDestroyMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: InitDefaultsscc_info_SelfTestData_Sample_sentencepiece_5fmodel_2eproto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - ::sentencepiece::SelfTestData_Sample::SelfTestData_Sample
    - google::protobuf::OnShutdownDestroyMessage
    linkageType: ''
    returnType: void
    signature: void InitDefaultsscc_info_SelfTestData_Sample_sentencepiece_5fmodel_2eproto()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::sentencepiece::TrainerSpec::TrainerSpec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:120,1
    - Dst: google::protobuf::OnShutdownDestroyMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: InitDefaultsscc_info_TrainerSpec_sentencepiece_5fmodel_2eproto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::OnShutdownDestroyMessage
    - ::sentencepiece::TrainerSpec::TrainerSpec
    linkageType: ''
    returnType: void
    signature: void InitDefaultsscc_info_TrainerSpec_sentencepiece_5fmodel_2eproto()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: sentencepiece::TrainerSpec_ModelType_IsValid
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec_ModelType_IsValid(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitializeEnumStrings
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:166,1
    - Dst: google::protobuf::internal::LookUpEnumName
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:171,1
    - Dst: google::protobuf::internal::GetEmptyString
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:175,1
    - Dst: get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - TrainerSpec_ModelType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: sentencepiece::TrainerSpec_ModelType_Name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyString
    - get
    - google::protobuf::internal::LookUpEnumName
    - google::protobuf::internal::InitializeEnumStrings
    linkageType: ''
    returnType: std::string
    signature: "std::string & TrainerSpec_ModelType_Name(\n    TrainerSpec_ModelType
      value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::LookUpEnumValue
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:181,1
    - Dst: static_cast<TrainerSpec_ModelType>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::ConstStringParam
    - TrainerSpec_ModelType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: sentencepiece::TrainerSpec_ModelType_Parse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - static_cast<TrainerSpec_ModelType>
    - google::protobuf::internal::LookUpEnumValue
    linkageType: ''
    returnType: bool
    signature: "bool TrainerSpec_ModelType_Parse(\n    ::PROTOBUF_NAMESPACE_ID::ConstStringParam
      name, TrainerSpec_ModelType* value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: sentencepiece::ModelProto_SentencePiece_Type_IsValid
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ModelProto_SentencePiece_Type_IsValid(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitializeEnumStrings
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:242,1
    - Dst: google::protobuf::internal::LookUpEnumName
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:247,1
    - Dst: google::protobuf::internal::GetEmptyString
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:251,1
    - Dst: get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ModelProto_SentencePiece_Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 253
    functionName: sentencepiece::ModelProto_SentencePiece_Type_Name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyString
    - get
    - google::protobuf::internal::LookUpEnumName
    - google::protobuf::internal::InitializeEnumStrings
    linkageType: ''
    returnType: std::string
    signature: "std::string & ModelProto_SentencePiece_Type_Name(\n    ModelProto_SentencePiece_Type
      value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::LookUpEnumValue
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:257,1
    - Dst: static_cast<ModelProto_SentencePiece_Type>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::ConstStringParam
    - ModelProto_SentencePiece_Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: sentencepiece::ModelProto_SentencePiece_Type_Parse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - static_cast<ModelProto_SentencePiece_Type>
    - google::protobuf::internal::LookUpEnumValue
    linkageType: ''
    returnType: bool
    signature: "bool ModelProto_SentencePiece_Type_Parse(\n    ::PROTOBUF_NAMESPACE_ID::ConstStringParam
      name, ModelProto_SentencePiece_Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_input_format
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_input_format(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_model_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_model_prefix(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_model_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_model_type(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_vocab_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_vocab_size(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_self_test_sample_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_self_test_sample_size(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_enable_differential_privacy
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_enable_differential_privacy(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_noise_level
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_differential_privacy_noise_level(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_clipping_threshold
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_differential_privacy_clipping_threshold(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_character_coverage
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_character_coverage(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_input_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_input_sentence_size(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_shuffle_input_sentence
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_shuffle_input_sentence(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_mining_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_mining_sentence_size(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_training_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_training_sentence_size(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_seed_sentencepiece_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_seed_sentencepiece_size(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_shrinking_factor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_shrinking_factor(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_max_sentence_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_max_sentence_length(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_num_threads
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_num_threads(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_num_sub_iterations
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_num_sub_iterations(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_max_sentencepiece_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_max_sentencepiece_length(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_split_by_unicode_script
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_split_by_unicode_script(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_split_by_number
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_split_by_number(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_split_by_whitespace
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_split_by_whitespace(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_treat_whitespace_as_suffix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_treat_whitespace_as_suffix(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_allow_whitespace_only_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_allow_whitespace_only_pieces(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_split_digits
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_split_digits(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_pretokenization_delimiter
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_pretokenization_delimiter(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_required_chars
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_required_chars(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_byte_fallback
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_byte_fallback(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_vocabulary_output_piece_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_vocabulary_output_piece_score(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_hard_vocab_limit
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_hard_vocab_limit(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_use_all_vocab
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_use_all_vocab(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_unk_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_unk_id(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_bos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_bos_id(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_eos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_eos_id(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_pad_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_pad_id(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_unk_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_unk_piece(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_bos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_bos_piece(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_eos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_eos_piece(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_pad_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_pad_piece(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_unk_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_unk_surface(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_train_extremely_large_corpus
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_train_extremely_large_corpus(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_seed_sentencepieces_file
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_seed_sentencepieces_file(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerSpec::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:421,1
    - Dst: sentencepiece::TrainerSpec::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: sentencepiece::TrainerSpec::TrainerSpec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::TrainerSpec::RegisterArenaDtor
    - sentencepiece::TrainerSpec::SharedCtor
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::TrainerSpec(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:432,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:433,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:434,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:434,1
    - Dst: _internal_has_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:435,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:436,1
    - Dst: _internal_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:436,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:437,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:439,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:439,1
    - Dst: _internal_has_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:440,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:441,1
    - Dst: _internal_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:441,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:442,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:444,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:444,1
    - Dst: _internal_has_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:445,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:446,1
    - Dst: _internal_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:446,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:447,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:449,1
    - Dst: _internal_has_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:450,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:451,1
    - Dst: _internal_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:451,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:452,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:454,1
    - Dst: _internal_has_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:455,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:456,1
    - Dst: _internal_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:456,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:457,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:459,1
    - Dst: _internal_has_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:460,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:461,1
    - Dst: _internal_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:461,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:462,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:464,1
    - Dst: _internal_has_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:465,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:466,1
    - Dst: _internal_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:466,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:467,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:469,1
    - Dst: _internal_has_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:470,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:471,1
    - Dst: _internal_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:471,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:472,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:474,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:474,1
    - Dst: _internal_has_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:475,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:476,1
    - Dst: _internal_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:476,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:477,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:479,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:479,1
    - Dst: _internal_has_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:480,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:481,1
    - Dst: _internal_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:481,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:482,1
    - Dst: ::memcpy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:484,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:485,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:485,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:486,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 488
    functionName: sentencepiece::TrainerSpec::TrainerSpec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - _internal_model_prefix
    - _internal_has_required_chars
    - _internal_unk_surface
    - sentencepiece::TrainerSpec::MergeFrom
    - static_cast<size_t>
    - _internal_has_eos_piece
    - _internal_input_format
    - reinterpret_cast<char*>
    - _internal_bos_piece
    - _internal_required_chars
    - _internal_has_seed_sentencepieces_file
    - _internal_has_pad_piece
    - _internal_unk_piece
    - Set
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - _internal_has_bos_piece
    - _internal_pretokenization_delimiter
    - _internal_has_model_prefix
    - _internal_has_unk_surface
    - _internal_pad_piece
    - ::memcpy
    - _internal_eos_piece
    - _internal_seed_sentencepieces_file
    - GetArena
    - _internal_has_pretokenization_delimiter
    - _internal_has_input_format
    - _internal_has_unk_piece
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::TrainerSpec(const TrainerSpec& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:491,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:492,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:492,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:493,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:493,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:494,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:494,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:495,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:496,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:497,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:498,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:499,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:500,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:500,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:501,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:501,1
    - Dst: ::memset
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:502,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:502,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:502,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:503,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:503,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:504,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:504,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 524
    functionName: sentencepiece::TrainerSpec::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::InitSCC
    - static_cast<size_t>
    - reinterpret_cast<char*>
    - ::memset
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:528,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 530
    functionName: TrainerSpec::~TrainerSpec()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::~TrainerSpec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:533,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:533,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:534,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:534,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:535,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:535,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:536,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:536,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:537,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:538,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:539,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:540,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:541,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:542,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:542,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:543,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 544
    functionName: sentencepiece::TrainerSpec::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - DestroyNoArena
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< TrainerSpec* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: sentencepiece::TrainerSpec::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< TrainerSpec* >
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 551
    functionName: sentencepiece::TrainerSpec::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 554
    functionName: sentencepiece::TrainerSpec::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:556,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: '& TrainerSpec::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: TrainerSpec
    signature: TrainerSpec & TrainerSpec::default_instance()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:567,1
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:568,1
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:569,1
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:570,1
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:571,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:575,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:578,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:581,1
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:584,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:584,1
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:587,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:587,1
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:590,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:590,1
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:593,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:593,1
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:596,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:596,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:601,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:604,1
    - Dst: ::memset
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:608,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:608,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:609,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:610,1
    - Dst: ::memset
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:613,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:613,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:614,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:615,1
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:642,1
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:643,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 644
    functionName: sentencepiece::TrainerSpec::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<char*>
    - ClearNonDefaultToEmpty
    - static_cast<size_t>
    - ClearToDefault
    - GetArena
    - sentencepiece::TrainerSpec::Clear
    - ::memset
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::Clear()
  - BBCount: 101
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:648,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:650,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:651,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:655,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:655,1
    - Dst: _internal_add_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:659,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:660,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:661,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:662,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:663,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:668,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:668,1
    - Dst: _internal_mutable_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:669,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:670,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:671,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:676,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:676,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:677,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:678,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:679,1
    - Dst: sentencepiece::TrainerSpec_ModelType_IsValid
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:679,1
    - Dst: _internal_set_model_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:680,1
    - Dst: static_cast<::sentencepiece::TrainerSpec_ModelType>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:680,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:682,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:682,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:688,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:688,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_vocab_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:689,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:690,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:691,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:696,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:696,1
    - Dst: _internal_add_accept_language
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:700,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:701,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:702,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:703,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:704,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:709,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:709,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_self_test_sample_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:710,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:711,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:712,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:717,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:717,1
    - Dst: _internal_mutable_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:718,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:719,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:720,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:725,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:725,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_character_coverage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:726,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:727,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:733,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:733,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_input_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:734,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:735,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:736,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:741,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:741,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_mining_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:742,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:743,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:744,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:749,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:749,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_training_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:750,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:751,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:752,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:757,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:757,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_seed_sentencepiece_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:758,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:759,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:760,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:765,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:765,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_shrinking_factor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:766,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:767,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:773,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:773,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_num_threads
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:774,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:775,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:776,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:781,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:781,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_num_sub_iterations
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:782,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:783,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:784,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:789,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:789,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_max_sentence_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:790,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:791,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:792,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:797,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:797,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_shuffle_input_sentence
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:798,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:799,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:800,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:805,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:805,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_max_sentencepiece_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:806,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:807,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:808,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:813,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:813,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_split_by_unicode_script
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:814,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:815,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:816,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:821,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:821,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_split_by_whitespace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:822,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:823,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:824,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:829,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:829,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_split_by_number
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:830,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:831,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:832,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:837,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:837,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:838,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:839,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:840,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:845,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:845,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_split_digits
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:846,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:847,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:848,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:853,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:853,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:854,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:855,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:856,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:861,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:861,1
    - Dst: _internal_add_control_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:865,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:866,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:867,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:868,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<242>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:869,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:874,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:874,1
    - Dst: _internal_add_user_defined_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:878,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:879,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:880,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:881,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<250>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:882,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:887,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:887,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_vocabulary_output_piece_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:888,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:889,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:890,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:895,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:895,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_hard_vocab_limit
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:896,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:897,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:898,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:903,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:903,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_use_all_vocab
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:904,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:905,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:906,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:911,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:911,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_byte_fallback
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:912,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:913,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:914,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:919,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:919,1
    - Dst: _internal_mutable_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:920,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:921,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:922,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:927,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:927,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_unk_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:928,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:929,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:930,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:935,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:935,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_bos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:936,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:937,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:938,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:943,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:943,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_eos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:944,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:945,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:946,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:951,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:951,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_pad_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:952,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:953,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:954,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:959,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:959,1
    - Dst: _internal_mutable_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:960,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:961,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:962,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:967,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:967,1
    - Dst: _internal_mutable_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:968,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:969,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:970,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:975,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:975,1
    - Dst: _internal_mutable_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:976,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:977,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:978,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:983,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:983,1
    - Dst: _internal_mutable_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:984,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:985,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:986,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:991,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:991,1
    - Dst: _internal_mutable_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:992,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:993,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:994,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:999,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:999,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_train_extremely_large_corpus
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1000,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1001,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1002,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1007,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1007,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_enable_differential_privacy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1008,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1009,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1010,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1015,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1015,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_noise_level
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1016,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1017,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1023,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1023,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_clipping_threshold
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1024,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1025,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1026,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1031,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1031,1
    - Dst: _internal_mutable_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1032,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1033,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1034,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1039,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1039,1
    - Dst: _internal_mutable_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1040,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1041,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1042,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1048,1
    - Dst: ParseField
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1052,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1053,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1054,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1057,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1058,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1060,1
    CyclomaticComplexity: 160
    EdgeCount: 160
    ICount: 459
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 1071
    functionName: sentencepiece::TrainerSpec::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerSpec::_Internal::set_has_training_sentence_size
    - sentencepiece::TrainerSpec::_Internal::set_has_vocab_size
    - sentencepiece::TrainerSpec::_Internal::set_has_input_sentence_size
    - sentencepiece::TrainerSpec::_Internal::set_has_shuffle_input_sentence
    - _internal_mutable_model_prefix
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - google::protobuf::internal::InlineGreedyStringParser
    - sentencepiece::TrainerSpec::_Internal::set_has_bos_id
    - sentencepiece::TrainerSpec::_Internal::set_has_unk_id
    - CHK_
    - sentencepiece::TrainerSpec::_Internal::set_has_split_by_unicode_script
    - sentencepiece::TrainerSpec::_Internal::set_has_max_sentence_length
    - sentencepiece::TrainerSpec::_Internal::set_has_num_sub_iterations
    - mutable_unknown_fields
    - sentencepiece::TrainerSpec::_Internal::set_has_character_coverage
    - sentencepiece::TrainerSpec::_Internal::set_has_pad_id
    - sentencepiece::TrainerSpec::_Internal::set_has_train_extremely_large_corpus
    - _internal_set_model_type
    - sentencepiece::TrainerSpec::_Internal::set_has_treat_whitespace_as_suffix
    - _internal_mutable_input_format
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<250>
    - sentencepiece::TrainerSpec::_Internal::set_has_use_all_vocab
    - _internal_add_input
    - sentencepiece::TrainerSpec::_Internal::set_has_hard_vocab_limit
    - _internal_mutable_bos_piece
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
    - sentencepiece::TrainerSpec::_Internal::set_has_enable_differential_privacy
    - _internal_mutable_eos_piece
    - sentencepiece::TrainerSpec::_Internal::set_has_allow_whitespace_only_pieces
    - google::protobuf::ReadVarint64
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>
    - sentencepiece::TrainerSpec::_Internal::set_has_split_by_whitespace
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<242>
    - _internal_add_user_defined_symbols
    - sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_clipping_threshold
    - sentencepiece::TrainerSpec::_Internal::set_has_num_threads
    - sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_noise_level
    - _internal_mutable_seed_sentencepieces_file
    - sentencepiece::TrainerSpec::_Internal::set_has_eos_id
    - _internal_mutable_pad_piece
    - _internal_mutable_unk_piece
    - sentencepiece::TrainerSpec_ModelType_IsValid
    - sentencepiece::TrainerSpec::_Internal::set_has_split_digits
    - static_cast<::sentencepiece::TrainerSpec_ModelType>
    - google::protobuf::internal::WriteVarint
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - google::protobuf::ReadTag
    - _internal_mutable_required_chars
    - sentencepiece::TrainerSpec::_Internal::set_has_self_test_sample_size
    - sentencepiece::TrainerSpec::_Internal::set_has_max_sentencepiece_length
    - PROTOBUF_PREDICT_TRUE
    - _internal_mutable_unk_surface
    - sentencepiece::TrainerSpec::_Internal::set_has_vocabulary_output_piece_score
    - sentencepiece::TrainerSpec::_Internal::set_has_mining_sentence_size
    - ParseField
    - _internal_mutable_pretokenization_delimiter
    - _internal_add_accept_language
    - sentencepiece::TrainerSpec::_Internal::set_has_split_by_number
    - UnknownFieldParse
    - sentencepiece::TrainerSpec::_Internal::set_has_byte_fallback
    - _internal_add_control_symbols
    - internal_default_instance
    - sentencepiece::TrainerSpec::_Internal::set_has_seed_sentencepiece_size
    - sentencepiece::TrainerSpec::_Internal::set_has_shrinking_factor
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
    linkageType: ''
    returnType: char
    signature: char * TrainerSpec::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 648
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerSpec::_internal_input_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1080,1
    - Dst: sentencepiece::TrainerSpec::_internal_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1081,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteString
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1082,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1088,1
    - Dst: sentencepiece::TrainerSpec::_internal_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1089,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1094,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1095,1
    - Dst: sentencepiece::TrainerSpec::_internal_model_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1096,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1101,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1102,1
    - Dst: sentencepiece::TrainerSpec::_internal_vocab_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1102,1
    - Dst: sentencepiece::TrainerSpec::_internal_accept_language_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1106,1
    - Dst: sentencepiece::TrainerSpec::_internal_accept_language
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1107,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteString
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1108,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1113,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1114,1
    - Dst: sentencepiece::TrainerSpec::_internal_self_test_sample_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1114,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1119,1
    - Dst: sentencepiece::TrainerSpec::_internal_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1120,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1125,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1126,1
    - Dst: sentencepiece::TrainerSpec::_internal_character_coverage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1126,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1131,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1132,1
    - Dst: sentencepiece::TrainerSpec::_internal_input_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1132,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1137,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1138,1
    - Dst: sentencepiece::TrainerSpec::_internal_mining_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1138,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1143,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1144,1
    - Dst: sentencepiece::TrainerSpec::_internal_training_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1144,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1149,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1150,1
    - Dst: sentencepiece::TrainerSpec::_internal_seed_sentencepiece_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1150,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1155,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1156,1
    - Dst: sentencepiece::TrainerSpec::_internal_shrinking_factor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1156,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1161,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1162,1
    - Dst: sentencepiece::TrainerSpec::_internal_num_threads
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1162,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1167,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1168,1
    - Dst: sentencepiece::TrainerSpec::_internal_num_sub_iterations
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1168,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1173,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1174,1
    - Dst: sentencepiece::TrainerSpec::_internal_max_sentence_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1174,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1180,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1181,1
    - Dst: sentencepiece::TrainerSpec::_internal_shuffle_input_sentence
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1181,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1186,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1187,1
    - Dst: sentencepiece::TrainerSpec::_internal_max_sentencepiece_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1187,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1192,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1193,1
    - Dst: sentencepiece::TrainerSpec::_internal_split_by_unicode_script
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1193,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1198,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1199,1
    - Dst: sentencepiece::TrainerSpec::_internal_split_by_whitespace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1199,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1204,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1205,1
    - Dst: sentencepiece::TrainerSpec::_internal_split_by_number
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1205,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1211,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1212,1
    - Dst: sentencepiece::TrainerSpec::_internal_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1212,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1217,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1218,1
    - Dst: sentencepiece::TrainerSpec::_internal_split_digits
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1218,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1223,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1224,1
    - Dst: sentencepiece::TrainerSpec::_internal_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1224,1
    - Dst: sentencepiece::TrainerSpec::_internal_control_symbols_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1228,1
    - Dst: sentencepiece::TrainerSpec::_internal_control_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1229,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteString
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1230,1
    - Dst: sentencepiece::TrainerSpec::_internal_user_defined_symbols_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1234,1
    - Dst: sentencepiece::TrainerSpec::_internal_user_defined_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1235,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteString
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1236,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1242,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1243,1
    - Dst: sentencepiece::TrainerSpec::_internal_vocabulary_output_piece_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1243,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1248,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1249,1
    - Dst: sentencepiece::TrainerSpec::_internal_hard_vocab_limit
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1249,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1255,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1256,1
    - Dst: sentencepiece::TrainerSpec::_internal_use_all_vocab
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1256,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1261,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1262,1
    - Dst: sentencepiece::TrainerSpec::_internal_byte_fallback
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1262,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1267,1
    - Dst: sentencepiece::TrainerSpec::_internal_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1268,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1273,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1274,1
    - Dst: sentencepiece::TrainerSpec::_internal_unk_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1274,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1280,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1281,1
    - Dst: sentencepiece::TrainerSpec::_internal_bos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1281,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1286,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1287,1
    - Dst: sentencepiece::TrainerSpec::_internal_eos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1287,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1292,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1293,1
    - Dst: sentencepiece::TrainerSpec::_internal_pad_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1293,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1299,1
    - Dst: sentencepiece::TrainerSpec::_internal_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1300,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1305,1
    - Dst: sentencepiece::TrainerSpec::_internal_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1306,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1311,1
    - Dst: sentencepiece::TrainerSpec::_internal_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1312,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1317,1
    - Dst: sentencepiece::TrainerSpec::_internal_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1318,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1323,1
    - Dst: sentencepiece::TrainerSpec::_internal_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1324,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1329,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1330,1
    - Dst: sentencepiece::TrainerSpec::_internal_train_extremely_large_corpus
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1330,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1335,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1336,1
    - Dst: sentencepiece::TrainerSpec::_internal_enable_differential_privacy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1336,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1341,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1342,1
    - Dst: sentencepiece::TrainerSpec::_internal_differential_privacy_noise_level
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1342,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1347,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1348,1
    - Dst: sentencepiece::TrainerSpec::_internal_differential_privacy_clipping_threshold
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1348,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1353,1
    - Dst: sentencepiece::TrainerSpec::_internal_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1354,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1359,1
    - Dst: sentencepiece::TrainerSpec::_internal_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1360,1
    - Dst: sentencepiece::TrainerSpec::_InternalSerialize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1364,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1367,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1367,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1368,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1368,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1369,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1369,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 184
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1373
    functionName: sentencepiece::TrainerSpec::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::TrainerSpec::_internal_split_digits
    - sentencepiece::TrainerSpec::_internal_train_extremely_large_corpus
    - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    - sentencepiece::TrainerSpec::_internal_input_sentence_size
    - sentencepiece::TrainerSpec::_internal_control_symbols_size
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - sentencepiece::TrainerSpec::_internal_user_defined_symbols
    - unknown_fields
    - sentencepiece::TrainerSpec::_internal_differential_privacy_clipping_threshold
    - google::protobuf::internal::WireFormatLite::WriteBoolToArray
    - sentencepiece::TrainerSpec::_internal_num_threads
    - sentencepiece::TrainerSpec::_internal_pad_id
    - sentencepiece::TrainerSpec::_internal_training_sentence_size
    - sentencepiece::TrainerSpec::_internal_bos_id
    - sentencepiece::TrainerSpec::_internal_shuffle_input_sentence
    - sentencepiece::TrainerSpec::_internal_pad_piece
    - sentencepiece::TrainerSpec::_internal_user_defined_symbols_size
    - sentencepiece::TrainerSpec::_internal_split_by_number
    - sentencepiece::TrainerSpec::_internal_input_size
    - google::protobuf::internal::WireFormatLite::WriteEnumToArray
    - sentencepiece::TrainerSpec::_internal_unk_piece
    - sentencepiece::TrainerSpec::_internal_split_by_whitespace
    - sentencepiece::TrainerSpec::_internal_vocab_size
    - sentencepiece::TrainerSpec::_internal_input
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteString
    - sentencepiece::TrainerSpec::_internal_seed_sentencepiece_size
    - sentencepiece::TrainerSpec::_internal_input_format
    - sentencepiece::TrainerSpec::_internal_model_type
    - sentencepiece::TrainerSpec::_internal_shrinking_factor
    - sentencepiece::TrainerSpec::_internal_byte_fallback
    - sentencepiece::TrainerSpec::_internal_eos_piece
    - have_unknown_fields
    - sentencepiece::TrainerSpec::_internal_unk_id
    - sentencepiece::TrainerSpec::_internal_model_prefix
    - sentencepiece::TrainerSpec::_InternalSerialize
    - sentencepiece::TrainerSpec::_internal_vocabulary_output_piece_score
    - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    - sentencepiece::TrainerSpec::_internal_differential_privacy_noise_level
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - sentencepiece::TrainerSpec::_internal_bos_piece
    - sentencepiece::TrainerSpec::_internal_max_sentencepiece_length
    - google::protobuf::internal::WireFormatLite::WriteFloatToArray
    - sentencepiece::TrainerSpec::_internal_pretokenization_delimiter
    - sentencepiece::TrainerSpec::_internal_character_coverage
    - static_cast<int>
    - sentencepiece::TrainerSpec::_internal_hard_vocab_limit
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::TrainerSpec::_internal_split_by_unicode_script
    - sentencepiece::TrainerSpec::_internal_unk_surface
    - sentencepiece::TrainerSpec::_internal_allow_whitespace_only_pieces
    - sentencepiece::TrainerSpec::_internal_use_all_vocab
    - sentencepiece::TrainerSpec::_internal_seed_sentencepieces_file
    - sentencepiece::TrainerSpec::_internal_self_test_sample_size
    - sentencepiece::TrainerSpec::_internal_treat_whitespace_as_suffix
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
    - sentencepiece::TrainerSpec::_internal_required_chars
    - sentencepiece::TrainerSpec::_internal_accept_language
    - sentencepiece::TrainerSpec::_internal_eos_id
    - sentencepiece::TrainerSpec::_internal_accept_language_size
    - sentencepiece::TrainerSpec::_internal_mining_sentence_size
    - sentencepiece::TrainerSpec::_internal_num_sub_iterations
    - sentencepiece::TrainerSpec::_internal_enable_differential_privacy
    - sentencepiece::TrainerSpec::_internal_max_sentence_length
    - sentencepiece::TrainerSpec::_internal_control_symbols
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * TrainerSpec::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1379,1
    - Dst: google::protobuf::internal::FromIntSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1387,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1387,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1388,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1389,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1390,1
    - Dst: google::protobuf::internal::FromIntSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1395,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1395,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1396,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1397,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1398,1
    - Dst: google::protobuf::internal::FromIntSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1403,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1403,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1404,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1405,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1406,1
    - Dst: google::protobuf::internal::FromIntSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1411,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1411,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1412,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1413,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1414,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1422,1
    - Dst: sentencepiece::TrainerSpec::_internal_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1423,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1429,1
    - Dst: sentencepiece::TrainerSpec::_internal_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1430,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1436,1
    - Dst: sentencepiece::TrainerSpec::_internal_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1437,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1443,1
    - Dst: sentencepiece::TrainerSpec::_internal_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1444,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1450,1
    - Dst: sentencepiece::TrainerSpec::_internal_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1451,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1457,1
    - Dst: sentencepiece::TrainerSpec::_internal_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1458,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1464,1
    - Dst: sentencepiece::TrainerSpec::_internal_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1465,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1471,1
    - Dst: sentencepiece::TrainerSpec::_internal_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1472,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1480,1
    - Dst: sentencepiece::TrainerSpec::_internal_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1481,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1487,1
    - Dst: sentencepiece::TrainerSpec::_internal_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1488,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1494,1
    - Dst: sentencepiece::TrainerSpec::_internal_self_test_sample_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1495,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1501,1
    - Dst: sentencepiece::TrainerSpec::_internal_mining_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1502,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt64Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1508,1
    - Dst: sentencepiece::TrainerSpec::_internal_input_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1509,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1515,1
    - Dst: sentencepiece::TrainerSpec::_internal_training_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1516,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1559,1
    - Dst: sentencepiece::TrainerSpec::_internal_unk_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1560,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt64Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1571,1
    - Dst: sentencepiece::TrainerSpec::_internal_differential_privacy_clipping_threshold
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1572,1
    - Dst: google::protobuf::internal::WireFormatLite::EnumSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1580,1
    - Dst: sentencepiece::TrainerSpec::_internal_model_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1580,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1586,1
    - Dst: sentencepiece::TrainerSpec::_internal_vocab_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1587,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1598,1
    - Dst: sentencepiece::TrainerSpec::_internal_seed_sentencepiece_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1599,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1610,1
    - Dst: sentencepiece::TrainerSpec::_internal_num_threads
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1611,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1617,1
    - Dst: sentencepiece::TrainerSpec::_internal_num_sub_iterations
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1618,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1624,1
    - Dst: sentencepiece::TrainerSpec::_internal_max_sentence_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1625,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1634,1
    - Dst: sentencepiece::TrainerSpec::_internal_max_sentencepiece_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1635,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1671,1
    - Dst: sentencepiece::TrainerSpec::_internal_bos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1672,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1680,1
    - Dst: sentencepiece::TrainerSpec::_internal_eos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1681,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1687,1
    - Dst: sentencepiece::TrainerSpec::_internal_pad_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1688,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1692,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1692,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1693,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1695,1
    - Dst: sentencepiece::TrainerSpec::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1696,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 164
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1375
    functionDepth: 1
    functionLinenumber: 1375
    functionLinenumberEnd: 1698
    functionName: sentencepiece::TrainerSpec::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerSpec::_internal_input_sentence_size
    - unknown_fields
    - sentencepiece::TrainerSpec::_internal_num_threads
    - sentencepiece::TrainerSpec::_internal_pad_id
    - sentencepiece::TrainerSpec::_internal_training_sentence_size
    - sentencepiece::TrainerSpec::_internal_bos_id
    - sentencepiece::TrainerSpec::_internal_pad_piece
    - sentencepiece::TrainerSpec::_internal_unk_piece
    - google::protobuf::internal::FromIntSize
    - google::protobuf::internal::WireFormatLite::EnumSize
    - sentencepiece::TrainerSpec::_internal_vocab_size
    - ByteSize
    - sentencepiece::TrainerSpec::_internal_seed_sentencepiece_size
    - sentencepiece::TrainerSpec::_internal_input_format
    - sentencepiece::TrainerSpec::_internal_eos_piece
    - Get
    - sentencepiece::TrainerSpec::_internal_model_type
    - have_unknown_fields
    - sentencepiece::TrainerSpec::_internal_unk_id
    - sentencepiece::TrainerSpec::_internal_model_prefix
    - size
    - sentencepiece::TrainerSpec::SetCachedSize
    - google::protobuf::internal::ToCachedSize
    - sentencepiece::TrainerSpec::_internal_bos_piece
    - google::protobuf::internal::WireFormatLite::UInt64Size
    - sentencepiece::TrainerSpec::_internal_max_sentencepiece_length
    - sentencepiece::TrainerSpec::_internal_pretokenization_delimiter
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::WireFormatLite::Int32Size
    - sentencepiece::TrainerSpec::_internal_unk_surface
    - sentencepiece::TrainerSpec::_internal_num_sub_iterations
    - google::protobuf::internal::WireFormatLite::StringSize
    - sentencepiece::TrainerSpec::_internal_seed_sentencepieces_file
    - sentencepiece::TrainerSpec::_internal_self_test_sample_size
    - sentencepiece::TrainerSpec::_internal_eos_id
    - sentencepiece::TrainerSpec::_internal_required_chars
    - sentencepiece::TrainerSpec::_internal_mining_sentence_size
    - sentencepiece::TrainerSpec::_internal_differential_privacy_clipping_threshold
    - sentencepiece::TrainerSpec::_internal_max_sentence_length
    linkageType: ''
    returnType: size_t
    signature: size_t TrainerSpec::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1702,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const TrainerSpec*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1700
    functionDepth: 1
    functionLinenumber: 1700
    functionLinenumberEnd: 1704
    functionName: sentencepiece::TrainerSpec::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerSpec::MergeFrom
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const TrainerSpec*>
    linkageType: ''
    returnType: void
    signature: "void TrainerSpec::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1708,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1709,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1710,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1714,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1715,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1716,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1717,1
    - Dst: _internal_set_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1721,1
    - Dst: _internal_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1721,1
    - Dst: _internal_set_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1724,1
    - Dst: _internal_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1724,1
    - Dst: _internal_set_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1727,1
    - Dst: _internal_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1727,1
    - Dst: _internal_set_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1730,1
    - Dst: _internal_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1730,1
    - Dst: _internal_set_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1733,1
    - Dst: _internal_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1733,1
    - Dst: _internal_set_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1736,1
    - Dst: _internal_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1736,1
    - Dst: _internal_set_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1739,1
    - Dst: _internal_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1739,1
    - Dst: _internal_set_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1742,1
    - Dst: _internal_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1742,1
    - Dst: _internal_set_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1747,1
    - Dst: _internal_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1747,1
    - Dst: _internal_set_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1750,1
    - Dst: _internal_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1750,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 154
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1706
    functionDepth: 1
    functionLinenumber: 1706
    functionLinenumberEnd: 1863
    functionName: sentencepiece::TrainerSpec::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached:
    - _internal_model_prefix
    - GOOGLE_DCHECK_NE
    - _internal_set_eos_piece
    - _internal_unk_surface
    - sentencepiece::TrainerSpec::MergeFrom
    - _internal_input_format
    - _internal_bos_piece
    - _internal_required_chars
    - _internal_unk_piece
    - _internal_pretokenization_delimiter
    - _internal_set_pad_piece
    - _internal_set_unk_surface
    - _internal_pad_piece
    - _internal_set_model_prefix
    - _internal_set_bos_piece
    - _internal_set_seed_sentencepieces_file
    - _internal_set_unk_piece
    - _internal_set_input_format
    - _internal_set_pretokenization_delimiter
    - _internal_set_required_chars
    - _internal_eos_piece
    - _internal_seed_sentencepieces_file
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::MergeFrom(const TrainerSpec& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1868,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1865
    functionDepth: 2
    functionLinenumber: 1865
    functionLinenumberEnd: 1870
    functionName: sentencepiece::TrainerSpec::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerSpec::MergeFrom
    - sentencepiece::TrainerSpec::Clear
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::CopyFrom(const TrainerSpec& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerSpec::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1872
    functionDepth: 1
    functionLinenumber: 1872
    functionLinenumberEnd: 1878
    functionName: sentencepiece::TrainerSpec::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::TrainerSpec::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1882,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1883,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1884,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1885,1
    - Dst: sentencepiece::TrainerSpec::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1886,1
    - Dst: sentencepiece::TrainerSpec::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1887,1
    - Dst: sentencepiece::TrainerSpec::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1888,1
    - Dst: sentencepiece::TrainerSpec::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1889,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1890,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1890,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1890,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1891,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1891,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1891,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1892,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1892,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1892,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1893,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1893,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1894,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1894,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1895,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1895,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1896,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1896,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1897,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1897,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1898,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1898,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1898,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1899,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1899,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1899,1
    - Dst: PROTOBUF_FIELD_OFFSET
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1901,1
    - Dst: PROTOBUF_FIELD_OFFSET
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1903,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::memswap<\n      PROTOBUF_FIELD_OFFSET(TrainerSpec,
        differential_privacy_clipping_threshold_)\n      + sizeof(TrainerSpec::differential_privacy_clipping_threshold_)\n
        \     - PROTOBUF_FIELD_OFFSET(TrainerSpec, self_test_sample_size_)>"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1900,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1904,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1905,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1906,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1907,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1908,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1909,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1910,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1911,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1912,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1913,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1914,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1915,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1916,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1917,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1918,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1919,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1920,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1921,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1922,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 1
    argNames:
    - other
    argTypes:
    - TrainerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1880
    functionDepth: 1
    functionLinenumber: 1880
    functionLinenumberEnd: 1924
    functionName: sentencepiece::TrainerSpec::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - Swap
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - reinterpret_cast<char*>
    - PROTOBUF_FIELD_OFFSET
    - swap
    - "::PROTOBUF_NAMESPACE_ID::internal::memswap<\n      PROTOBUF_FIELD_OFFSET(TrainerSpec,
      differential_privacy_clipping_threshold_)\n      + sizeof(TrainerSpec::differential_privacy_clipping_threshold_)\n
      \     - PROTOBUF_FIELD_OFFSET(TrainerSpec, self_test_sample_size_)>"
    - GetArena
    - sentencepiece::TrainerSpec::InternalSwap
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::InternalSwap(TrainerSpec* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1928
    functionName: sentencepiece::TrainerSpec::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TrainerSpec::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1938
    functionName: sentencepiece::NormalizerSpec::_Internal::set_has_name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_name(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1941
    functionName: sentencepiece::NormalizerSpec::_Internal::set_has_precompiled_charsmap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_precompiled_charsmap(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1944
    functionName: sentencepiece::NormalizerSpec::_Internal::set_has_add_dummy_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_add_dummy_prefix(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1947
    functionName: sentencepiece::NormalizerSpec::_Internal::set_has_remove_extra_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_remove_extra_whitespaces(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1950
    functionName: sentencepiece::NormalizerSpec::_Internal::set_has_escape_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_escape_whitespaces(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1953
    functionName: sentencepiece::NormalizerSpec::_Internal::set_has_normalization_rule_tsv
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_normalization_rule_tsv(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NormalizerSpec::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1959,1
    - Dst: sentencepiece::NormalizerSpec::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1962
    functionName: sentencepiece::NormalizerSpec::NormalizerSpec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::NormalizerSpec::SharedCtor
    - sentencepiece::NormalizerSpec::RegisterArenaDtor
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::NormalizerSpec(::PROTOBUF_NAMESPACE_ID::Arena*
      arena)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NormalizerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1966,1
    - Dst: sentencepiece::NormalizerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1967,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1968,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1968,1
    - Dst: _internal_has_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1969,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1970,1
    - Dst: _internal_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1970,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1971,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1973,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1973,1
    - Dst: _internal_has_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1974,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1975,1
    - Dst: _internal_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1975,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1976,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1978,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1978,1
    - Dst: _internal_has_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1979,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1980,1
    - Dst: _internal_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1980,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1981,1
    - Dst: ::memcpy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1983,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1984,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1984,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1963
    functionDepth: 1
    functionLinenumber: 1963
    functionLinenumberEnd: 1987
    functionName: sentencepiece::NormalizerSpec::NormalizerSpec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached:
    - _internal_precompiled_charsmap
    - Set
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - _internal_has_normalization_rule_tsv
    - reinterpret_cast<char*>
    - _internal_name
    - _internal_normalization_rule_tsv
    - static_cast<size_t>
    - _internal_has_precompiled_charsmap
    - GetArena
    - ::memcpy
    - sentencepiece::NormalizerSpec::MergeFrom
    - _internal_has_name
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::NormalizerSpec(const NormalizerSpec& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1990,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1991,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1991,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1992,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1992,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1993,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1989
    functionDepth: 1
    functionLinenumber: 1989
    functionLinenumberEnd: 1997
    functionName: sentencepiece::NormalizerSpec::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::InitSCC
    - UnsafeSetDefault
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2001,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2003
    functionName: NormalizerSpec::~NormalizerSpec()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::~NormalizerSpec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2006,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2006,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2007,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2007,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2008,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2008,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2009,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 2005
    functionDepth: 1
    functionLinenumber: 2005
    functionLinenumberEnd: 2010
    functionName: sentencepiece::NormalizerSpec::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - DestroyNoArena
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< NormalizerSpec* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2015
    functionName: sentencepiece::NormalizerSpec::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< NormalizerSpec* >
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2017
    functionName: sentencepiece::NormalizerSpec::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2020
    functionName: sentencepiece::NormalizerSpec::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2022,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 2021
    functionDepth: 1
    functionLinenumber: 2021
    functionLinenumberEnd: 2024
    functionName: '& NormalizerSpec::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec & NormalizerSpec::default_instance()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NormalizerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2033,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2037,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2040,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2043,1
    - Dst: sentencepiece::NormalizerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2049,1
    - Dst: sentencepiece::NormalizerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2027
    functionDepth: 1
    functionLinenumber: 2027
    functionLinenumberEnd: 2051
    functionName: sentencepiece::NormalizerSpec::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::NormalizerSpec::Clear
    - ClearNonDefaultToEmpty
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::Clear()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2056,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2058,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2059,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2063,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2063,1
    - Dst: _internal_mutable_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2064,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2065,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2066,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2071,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2071,1
    - Dst: _internal_mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2072,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2073,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2074,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2079,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2079,1
    - Dst: sentencepiece::NormalizerSpec::_Internal::set_has_add_dummy_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2080,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2081,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2082,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2087,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2087,1
    - Dst: sentencepiece::NormalizerSpec::_Internal::set_has_remove_extra_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2088,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2089,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2090,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2095,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2095,1
    - Dst: sentencepiece::NormalizerSpec::_Internal::set_has_escape_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2096,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2097,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2098,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2103,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2103,1
    - Dst: _internal_mutable_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2104,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2105,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2106,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2112,1
    - Dst: ParseField
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2116,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2117,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2118,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2121,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2122,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2124,1
    - Dst: Or
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2130,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2053
    functionDepth: 1
    functionLinenumber: 2053
    functionLinenumberEnd: 2136
    functionName: sentencepiece::NormalizerSpec::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::NormalizerSpec::_Internal::set_has_add_dummy_prefix
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - google::protobuf::internal::InlineGreedyStringParser
    - _internal_mutable_normalization_rule_tsv
    - CHK_
    - mutable_unknown_fields
    - google::protobuf::ReadVarint64
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - google::protobuf::ReadTag
    - _internal_mutable_precompiled_charsmap
    - sentencepiece::NormalizerSpec::_Internal::set_has_escape_whitespaces
    - PROTOBUF_PREDICT_TRUE
    - sentencepiece::NormalizerSpec::_Internal::set_has_remove_extra_whitespaces
    - _internal_mutable_name
    - ParseField
    - UnknownFieldParse
    - Or
    - internal_default_instance
    linkageType: ''
    returnType: char
    signature: char * NormalizerSpec::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2055
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2147,1
    - Dst: sentencepiece::NormalizerSpec::_internal_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2148,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteBytesMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2153,1
    - Dst: sentencepiece::NormalizerSpec::_internal_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2154,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2159,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2160,1
    - Dst: sentencepiece::NormalizerSpec::_internal_add_dummy_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2160,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2165,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2166,1
    - Dst: sentencepiece::NormalizerSpec::_internal_remove_extra_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2166,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2171,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2172,1
    - Dst: sentencepiece::NormalizerSpec::_internal_escape_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2172,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2177,1
    - Dst: sentencepiece::NormalizerSpec::_internal_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2178,1
    - Dst: sentencepiece::NormalizerSpec::_InternalSerialize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2182,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2185,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2185,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2186,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2186,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2187,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2187,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2138
    functionDepth: 1
    functionLinenumber: 2138
    functionLinenumberEnd: 2191
    functionName: sentencepiece::NormalizerSpec::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::NormalizerSpec::_internal_precompiled_charsmap
    - sentencepiece::NormalizerSpec::_internal_name
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - sentencepiece::NormalizerSpec::_internal_add_dummy_prefix
    - sentencepiece::NormalizerSpec::_InternalSerialize
    - sentencepiece::NormalizerSpec::_internal_escape_whitespaces
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - sentencepiece::NormalizerSpec::_internal_remove_extra_whitespaces
    - unknown_fields
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
    - google::protobuf::internal::WireFormatLite::WriteBoolToArray
    - static_cast<int>
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteBytesMaybeAliased
    - sentencepiece::NormalizerSpec::_internal_normalization_rule_tsv
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * NormalizerSpec::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2197,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2208,1
    - Dst: sentencepiece::NormalizerSpec::_internal_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2209,1
    - Dst: google::protobuf::internal::WireFormatLite::BytesSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2215,1
    - Dst: sentencepiece::NormalizerSpec::_internal_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2216,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2222,1
    - Dst: sentencepiece::NormalizerSpec::_internal_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2223,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2242,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2242,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2243,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2245,1
    - Dst: sentencepiece::NormalizerSpec::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2246,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2248
    functionName: sentencepiece::NormalizerSpec::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::NormalizerSpec::_internal_precompiled_charsmap
    - sentencepiece::NormalizerSpec::_internal_name
    - google::protobuf::internal::WireFormatLite::BytesSize
    - google::protobuf::internal::WireFormatLite::StringSize
    - google::protobuf::internal::ToCachedSize
    - unknown_fields
    - sentencepiece::NormalizerSpec::SetCachedSize
    - ByteSize
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::NormalizerSpec::_internal_normalization_rule_tsv
    linkageType: ''
    returnType: size_t
    signature: size_t NormalizerSpec::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NormalizerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2252,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const NormalizerSpec*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2250
    functionDepth: 1
    functionLinenumber: 2250
    functionLinenumberEnd: 2254
    functionName: sentencepiece::NormalizerSpec::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::NormalizerSpec::MergeFrom
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const NormalizerSpec*>
    linkageType: ''
    returnType: void
    signature: "void NormalizerSpec::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2258,1
    - Dst: sentencepiece::NormalizerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2259,1
    - Dst: sentencepiece::NormalizerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2260,1
    - Dst: _internal_set_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2267,1
    - Dst: _internal_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2267,1
    - Dst: _internal_set_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2270,1
    - Dst: _internal_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2270,1
    - Dst: _internal_set_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2273,1
    - Dst: _internal_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2256
    functionDepth: 1
    functionLinenumber: 2256
    functionLinenumberEnd: 2286
    functionName: sentencepiece::NormalizerSpec::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached:
    - _internal_set_name
    - _internal_precompiled_charsmap
    - GOOGLE_DCHECK_NE
    - _internal_name
    - _internal_set_precompiled_charsmap
    - _internal_set_normalization_rule_tsv
    - sentencepiece::NormalizerSpec::MergeFrom
    - _internal_normalization_rule_tsv
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::MergeFrom(const NormalizerSpec& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NormalizerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2291,1
    - Dst: sentencepiece::NormalizerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2288
    functionDepth: 2
    functionLinenumber: 2288
    functionLinenumberEnd: 2293
    functionName: sentencepiece::NormalizerSpec::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::NormalizerSpec::MergeFrom
    - sentencepiece::NormalizerSpec::Clear
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::CopyFrom(const NormalizerSpec& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NormalizerSpec::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2295
    functionDepth: 1
    functionLinenumber: 2295
    functionLinenumberEnd: 2301
    functionName: sentencepiece::NormalizerSpec::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::NormalizerSpec::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2305,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2306,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2307,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2308,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2308,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2308,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2309,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2309,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2309,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2310,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2310,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2310,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2311,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2312,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - NormalizerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2303
    functionDepth: 1
    functionLinenumber: 2303
    functionLinenumberEnd: 2314
    functionName: sentencepiece::NormalizerSpec::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - Swap
    - swap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::InternalSwap(NormalizerSpec* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2318
    functionName: sentencepiece::NormalizerSpec::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NormalizerSpec::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2328
    functionName: sentencepiece::SelfTestData_Sample::_Internal::set_has_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_input(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2331
    functionName: sentencepiece::SelfTestData_Sample::_Internal::set_has_expected
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_expected(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData_Sample::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2336,1
    - Dst: sentencepiece::SelfTestData_Sample::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2339
      start: 2334
    functionDepth: 1
    functionLinenumber: 2334
    functionLinenumberEnd: 2339
    functionName: sentencepiece::SelfTestData_Sample::SelfTestData_Sample
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SelfTestData_Sample::RegisterArenaDtor
    - sentencepiece::SelfTestData_Sample::SharedCtor
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::SelfTestData_Sample(::PROTOBUF_NAMESPACE_ID::Arena*
      arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData_Sample::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2343,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2344,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2344,1
    - Dst: _internal_has_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2345,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2346,1
    - Dst: _internal_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2346,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2347,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2349,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2349,1
    - Dst: _internal_has_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2350,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2351,1
    - Dst: _internal_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2351,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData_Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2340
    functionDepth: 1
    functionLinenumber: 2340
    functionLinenumberEnd: 2355
    functionName: sentencepiece::SelfTestData_Sample::SelfTestData_Sample
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SelfTestData_Sample::MergeFrom
    - _internal_has_input
    - Set
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - _internal_input
    - GetArena
    - _internal_expected
    - _internal_has_expected
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::SelfTestData_Sample(const SelfTestData_Sample&
      from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2358,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2359,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2359,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2360,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2357
    functionDepth: 1
    functionLinenumber: 2357
    functionLinenumberEnd: 2361
    functionName: sentencepiece::SelfTestData_Sample::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::InitSCC
    - UnsafeSetDefault
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2365,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2363
    functionDepth: 0
    functionLinenumber: 2363
    functionLinenumberEnd: 2367
    functionName: SelfTestData_Sample::~SelfTestData_Sample()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::~SelfTestData_Sample()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2370,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2370,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2371,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2371,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2372,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2369
    functionDepth: 1
    functionLinenumber: 2369
    functionLinenumberEnd: 2373
    functionName: sentencepiece::SelfTestData_Sample::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - DestroyNoArena
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< SelfTestData_Sample* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2375
    functionDepth: 0
    functionLinenumber: 2375
    functionLinenumberEnd: 2378
    functionName: sentencepiece::SelfTestData_Sample::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< SelfTestData_Sample* >
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2380
    functionName: sentencepiece::SelfTestData_Sample::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2381
    functionDepth: 0
    functionLinenumber: 2381
    functionLinenumberEnd: 2383
    functionName: sentencepiece::SelfTestData_Sample::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2385,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2384
    functionDepth: 1
    functionLinenumber: 2384
    functionLinenumberEnd: 2387
    functionName: '& SelfTestData_Sample::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: SelfTestData_Sample
    signature: SelfTestData_Sample & SelfTestData_Sample::default_instance()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2399,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2402,1
    - Dst: sentencepiece::SelfTestData_Sample::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2405,1
    - Dst: sentencepiece::SelfTestData_Sample::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2390
    functionDepth: 1
    functionLinenumber: 2390
    functionLinenumberEnd: 2407
    functionName: sentencepiece::SelfTestData_Sample::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - ClearNonDefaultToEmpty
    - sentencepiece::SelfTestData_Sample::Clear
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::Clear()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2412,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2414,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2415,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2419,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2419,1
    - Dst: _internal_mutable_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2420,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2421,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2422,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2427,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2427,1
    - Dst: _internal_mutable_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2428,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2429,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2430,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2436,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2439,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2440,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2442,1
    - Dst: Or
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2448,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2409
    functionDepth: 1
    functionLinenumber: 2409
    functionLinenumberEnd: 2454
    functionName: sentencepiece::SelfTestData_Sample::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - _internal_mutable_expected
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - google::protobuf::internal::InlineGreedyStringParser
    - UnknownFieldParse
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - Or
    - google::protobuf::ReadTag
    - PROTOBUF_PREDICT_TRUE
    - CHK_
    - _internal_mutable_input
    linkageType: ''
    returnType: char
    signature: char * SelfTestData_Sample::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2411
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2411
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2465,1
    - Dst: sentencepiece::SelfTestData_Sample::_internal_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2466,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2471,1
    - Dst: sentencepiece::SelfTestData_Sample::_internal_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2472,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2475,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2475,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2476,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2476,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2477,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2456
    functionDepth: 0
    functionLinenumber: 2456
    functionLinenumberEnd: 2481
    functionName: sentencepiece::SelfTestData_Sample::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - sentencepiece::SelfTestData_Sample::_internal_expected
    - unknown_fields
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
    - sentencepiece::SelfTestData_Sample::_internal_input
    - static_cast<int>
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * SelfTestData_Sample::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2496,1
    - Dst: sentencepiece::SelfTestData_Sample::_internal_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2497,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2503,1
    - Dst: sentencepiece::SelfTestData_Sample::_internal_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2504,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2508,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2508,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2509,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2511,1
    - Dst: sentencepiece::SelfTestData_Sample::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2483
    functionDepth: 1
    functionLinenumber: 2483
    functionLinenumberEnd: 2514
    functionName: sentencepiece::SelfTestData_Sample::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SelfTestData_Sample::SetCachedSize
    - google::protobuf::internal::WireFormatLite::StringSize
    - google::protobuf::internal::ToCachedSize
    - sentencepiece::SelfTestData_Sample::_internal_expected
    - unknown_fields
    - sentencepiece::SelfTestData_Sample::_internal_input
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: size_t
    signature: size_t SelfTestData_Sample::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData_Sample::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2518,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SelfTestData_Sample*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2516
    functionDepth: 1
    functionLinenumber: 2516
    functionLinenumberEnd: 2520
    functionName: sentencepiece::SelfTestData_Sample::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SelfTestData_Sample*>
    - sentencepiece::SelfTestData_Sample::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void SelfTestData_Sample::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2524,1
    - Dst: sentencepiece::SelfTestData_Sample::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2525,1
    - Dst: _internal_set_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2532,1
    - Dst: _internal_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2532,1
    - Dst: _internal_set_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2535,1
    - Dst: _internal_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData_Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2522
    functionDepth: 1
    functionLinenumber: 2522
    functionLinenumberEnd: 2538
    functionName: sentencepiece::SelfTestData_Sample::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached:
    - _internal_set_input
    - GOOGLE_DCHECK_NE
    - sentencepiece::SelfTestData_Sample::MergeFrom
    - _internal_input
    - _internal_set_expected
    - _internal_expected
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::MergeFrom(const SelfTestData_Sample& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData_Sample::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2543,1
    - Dst: sentencepiece::SelfTestData_Sample::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData_Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2540
    functionDepth: 2
    functionLinenumber: 2540
    functionLinenumberEnd: 2545
    functionName: sentencepiece::SelfTestData_Sample::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SelfTestData_Sample::Clear
    - sentencepiece::SelfTestData_Sample::MergeFrom
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::CopyFrom(const SelfTestData_Sample& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2547
    functionDepth: 0
    functionLinenumber: 2547
    functionLinenumberEnd: 2549
    functionName: sentencepiece::SelfTestData_Sample::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SelfTestData_Sample::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2553,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2554,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2555,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2555,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2555,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2556,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2556,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - SelfTestData_Sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2551
    functionDepth: 1
    functionLinenumber: 2551
    functionLinenumberEnd: 2557
    functionName: sentencepiece::SelfTestData_Sample::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - Swap
    - swap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::InternalSwap(SelfTestData_Sample* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2561
    functionName: sentencepiece::SelfTestData_Sample::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SelfTestData_Sample::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2574,1
    - Dst: sentencepiece::SelfTestData::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2570
    functionDepth: 1
    functionLinenumber: 2570
    functionLinenumberEnd: 2577
    functionName: sentencepiece::SelfTestData::SelfTestData
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SelfTestData::RegisterArenaDtor
    - sentencepiece::SelfTestData::SharedCtor
    linkageType: ''
    returnType: void
    signature: void SelfTestData::SelfTestData(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2581,1
    - Dst: sentencepiece::SelfTestData::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2578
    functionDepth: 1
    functionLinenumber: 2578
    functionLinenumberEnd: 2584
    functionName: sentencepiece::SelfTestData::SelfTestData
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SelfTestData::MergeFrom
    linkageType: ''
    returnType: void
    signature: void SelfTestData::SelfTestData(const SelfTestData& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2588
      start: 2586
    functionDepth: 1
    functionLinenumber: 2586
    functionLinenumberEnd: 2588
    functionName: sentencepiece::SelfTestData::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::InitSCC
    linkageType: ''
    returnType: void
    signature: void SelfTestData::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2592,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2590
    functionDepth: 0
    functionLinenumber: 2590
    functionLinenumberEnd: 2594
    functionName: SelfTestData::~SelfTestData()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void SelfTestData::~SelfTestData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2597,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2596
    functionDepth: 1
    functionLinenumber: 2596
    functionLinenumberEnd: 2598
    functionName: sentencepiece::SelfTestData::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SelfTestData::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< SelfTestData* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2603
    functionName: sentencepiece::SelfTestData::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< SelfTestData* >
    linkageType: ''
    returnType: void
    signature: void SelfTestData::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2604
    functionDepth: 0
    functionLinenumber: 2604
    functionLinenumberEnd: 2605
    functionName: sentencepiece::SelfTestData::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SelfTestData::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2608
    functionName: sentencepiece::SelfTestData::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void SelfTestData::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2610,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2609
    functionDepth: 1
    functionLinenumber: 2609
    functionLinenumberEnd: 2612
    functionName: '& SelfTestData::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: SelfTestData
    signature: SelfTestData & SelfTestData::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2621,1
    - Dst: sentencepiece::SelfTestData::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2622,1
    - Dst: sentencepiece::SelfTestData::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2624
      start: 2615
    functionDepth: 1
    functionLinenumber: 2615
    functionLinenumberEnd: 2624
    functionName: sentencepiece::SelfTestData::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SelfTestData::Clear
    linkageType: ''
    returnType: void
    signature: void SelfTestData::Clear()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2628,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2630,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2631,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2635,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2635,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2639,1
    - Dst: _internal_add_samples
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2639,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2640,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2641,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2642,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2648,1
    - Dst: ParseField
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2652,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2653,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2654,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2657,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2658,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2660,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2626
    functionDepth: 1
    functionLinenumber: 2626
    functionLinenumberEnd: 2671
    functionName: sentencepiece::SelfTestData::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - ParseField
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - UnknownFieldParse
    - google::protobuf::ReadTag
    - internal_default_instance
    - _internal_add_samples
    - PROTOBUF_PREDICT_TRUE
    - CHK_
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
    linkageType: ''
    returnType: char
    signature: char * SelfTestData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2628
      start: 2627
    functionDepth: 0
    functionLinenumber: 2627
    functionLinenumberEnd: 2628
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2681,1
    - Dst: sentencepiece::SelfTestData::_internal_samples_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2681,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2682,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2683,1
    - Dst: sentencepiece::SelfTestData::_internal_samples
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2684,1
    - Dst: sentencepiece::SelfTestData::_InternalSerialize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2688,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2691,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2691,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2692,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2692,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2693,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2673
    functionDepth: 1
    functionLinenumber: 2673
    functionLinenumberEnd: 2697
    functionName: sentencepiece::SelfTestData::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - sentencepiece::SelfTestData::_InternalSerialize
    - "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
    - static_cast<unsigned int>
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - sentencepiece::SelfTestData::_internal_samples
    - unknown_fields
    - static_cast<int>
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::SelfTestData::_internal_samples_size
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * SelfTestData::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2703,1
    - Dst: sentencepiece::SelfTestData::_internal_samples_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2710,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2713,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2716,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2716,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2717,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2719,1
    - Dst: sentencepiece::SelfTestData::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2699
    functionDepth: 1
    functionLinenumber: 2699
    functionLinenumberEnd: 2722
    functionName: sentencepiece::SelfTestData::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToCachedSize
    - unknown_fields
    - ByteSize
    - sentencepiece::SelfTestData::SetCachedSize
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::SelfTestData::_internal_samples_size
    - google::protobuf::internal::WireFormatLite::MessageSize
    linkageType: ''
    returnType: size_t
    signature: size_t SelfTestData::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2726,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SelfTestData*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2728
      start: 2724
    functionDepth: 1
    functionLinenumber: 2724
    functionLinenumberEnd: 2728
    functionName: sentencepiece::SelfTestData::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SelfTestData::MergeFrom
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SelfTestData*>
    linkageType: ''
    returnType: void
    signature: "void SelfTestData::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2732,1
    - Dst: sentencepiece::SelfTestData::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2733,1
    - Dst: sentencepiece::SelfTestData::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2734,1
    - Dst: sentencepiece::SelfTestData::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2730
    functionDepth: 1
    functionLinenumber: 2730
    functionLinenumberEnd: 2739
    functionName: sentencepiece::SelfTestData::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_NE
    - sentencepiece::SelfTestData::MergeFrom
    linkageType: ''
    returnType: void
    signature: void SelfTestData::MergeFrom(const SelfTestData& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2744,1
    - Dst: sentencepiece::SelfTestData::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2741
    functionDepth: 2
    functionLinenumber: 2741
    functionLinenumberEnd: 2746
    functionName: sentencepiece::SelfTestData::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SelfTestData::MergeFrom
    - sentencepiece::SelfTestData::Clear
    linkageType: ''
    returnType: void
    signature: void SelfTestData::CopyFrom(const SelfTestData& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2748
    functionDepth: 1
    functionLinenumber: 2748
    functionLinenumberEnd: 2754
    functionName: sentencepiece::SelfTestData::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SelfTestData::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool SelfTestData::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2758,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2759,1
    - Dst: sentencepiece::SelfTestData::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - SelfTestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2756
    functionDepth: 1
    functionLinenumber: 2756
    functionLinenumberEnd: 2761
    functionName: sentencepiece::SelfTestData::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SelfTestData::InternalSwap
    - Swap
    linkageType: ''
    returnType: void
    signature: void SelfTestData::InternalSwap(SelfTestData* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2765
    functionName: sentencepiece::SelfTestData::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SelfTestData::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: sentencepiece::ModelProto_SentencePiece::_Internal::set_has_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_piece(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2778
      start: 2776
    functionDepth: 0
    functionLinenumber: 2776
    functionLinenumberEnd: 2778
    functionName: sentencepiece::ModelProto_SentencePiece::_Internal::set_has_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_score(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2781
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2781
    functionName: sentencepiece::ModelProto_SentencePiece::_Internal::set_has_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_type(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto_SentencePiece::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2787,1
    - Dst: sentencepiece::ModelProto_SentencePiece::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2784
    functionDepth: 1
    functionLinenumber: 2784
    functionLinenumberEnd: 2790
    functionName: sentencepiece::ModelProto_SentencePiece::ModelProto_SentencePiece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::ModelProto_SentencePiece::SharedCtor
    - sentencepiece::ModelProto_SentencePiece::RegisterArenaDtor
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::ModelProto_SentencePiece(::PROTOBUF_NAMESPACE_ID::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2794,1
    - Dst: sentencepiece::ModelProto_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2795,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2796,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2796,1
    - Dst: _internal_has_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2797,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2798,1
    - Dst: _internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2798,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2799,1
    - Dst: ::memcpy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2801,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2802,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2802,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2791
    functionDepth: 1
    functionLinenumber: 2791
    functionLinenumberEnd: 2805
    functionName: sentencepiece::ModelProto_SentencePiece::ModelProto_SentencePiece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - Set
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - reinterpret_cast<char*>
    - _internal_piece
    - _internal_has_piece
    - static_cast<size_t>
    - ::memcpy
    - GetArena
    - sentencepiece::ModelProto_SentencePiece::MergeFrom
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::ModelProto_SentencePiece(const ModelProto_SentencePiece&
      from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2808,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2809,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2807
    functionDepth: 1
    functionLinenumber: 2807
    functionLinenumberEnd: 2812
    functionName: sentencepiece::ModelProto_SentencePiece::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::InitSCC
    - UnsafeSetDefault
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2816,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2814
    functionDepth: 0
    functionLinenumber: 2814
    functionLinenumberEnd: 2818
    functionName: ModelProto_SentencePiece::~ModelProto_SentencePiece()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::~ModelProto_SentencePiece()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2821,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2821,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2822,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2823
      start: 2820
    functionDepth: 1
    functionLinenumber: 2820
    functionLinenumberEnd: 2823
    functionName: sentencepiece::ModelProto_SentencePiece::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - DestroyNoArena
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< ModelProto_SentencePiece* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2825
    functionDepth: 0
    functionLinenumber: 2825
    functionLinenumberEnd: 2828
    functionName: sentencepiece::ModelProto_SentencePiece::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< ModelProto_SentencePiece* >
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2830
    functionName: sentencepiece::ModelProto_SentencePiece::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2831
    functionDepth: 0
    functionLinenumber: 2831
    functionLinenumberEnd: 2833
    functionName: sentencepiece::ModelProto_SentencePiece::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2835,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2834
    functionDepth: 1
    functionLinenumber: 2834
    functionLinenumberEnd: 2837
    functionName: '& ModelProto_SentencePiece::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: ModelProto_SentencePiece
    signature: ModelProto_SentencePiece & ModelProto_SentencePiece::default_instance()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2846,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2849,1
    - Dst: sentencepiece::ModelProto_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2855,1
    - Dst: sentencepiece::ModelProto_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2857
      start: 2840
    functionDepth: 1
    functionLinenumber: 2840
    functionLinenumberEnd: 2857
    functionName: sentencepiece::ModelProto_SentencePiece::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - ClearNonDefaultToEmpty
    - sentencepiece::ModelProto_SentencePiece::Clear
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::Clear()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2862,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2864,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2865,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2869,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2869,1
    - Dst: _internal_mutable_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2870,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2871,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2872,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2877,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2877,1
    - Dst: sentencepiece::ModelProto_SentencePiece::_Internal::set_has_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2878,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2879,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2885,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2885,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2886,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2887,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2888,1
    - Dst: sentencepiece::ModelProto_SentencePiece_Type_IsValid
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2888,1
    - Dst: _internal_set_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2889,1
    - Dst: static_cast<::sentencepiece::ModelProto_SentencePiece_Type>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2889,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2891,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2891,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2898,1
    - Dst: ParseField
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2902,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2903,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2904,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2907,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2908,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2910,1
    - Dst: Or
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2916,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2922
      start: 2859
    functionDepth: 1
    functionLinenumber: 2859
    functionLinenumberEnd: 2922
    functionName: sentencepiece::ModelProto_SentencePiece::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - google::protobuf::internal::InlineGreedyStringParser
    - CHK_
    - mutable_unknown_fields
    - sentencepiece::ModelProto_SentencePiece::_Internal::set_has_score
    - static_cast<::sentencepiece::ModelProto_SentencePiece_Type>
    - _internal_mutable_piece
    - google::protobuf::ReadVarint64
    - google::protobuf::internal::WriteVarint
    - _internal_set_type
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - google::protobuf::ReadTag
    - PROTOBUF_PREDICT_TRUE
    - ParseField
    - UnknownFieldParse
    - Or
    - sentencepiece::ModelProto_SentencePiece_Type_IsValid
    - internal_default_instance
    linkageType: ''
    returnType: char
    signature: char * ModelProto_SentencePiece::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2861
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2861
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2933,1
    - Dst: sentencepiece::ModelProto_SentencePiece::_internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2934,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2939,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2940,1
    - Dst: sentencepiece::ModelProto_SentencePiece::_internal_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2940,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2945,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2946,1
    - Dst: sentencepiece::ModelProto_SentencePiece::_internal_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2947,1
    - Dst: sentencepiece::ModelProto_SentencePiece::_InternalSerialize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2951,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2954,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2954,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2955,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2955,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2956,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2960
      start: 2924
    functionDepth: 1
    functionLinenumber: 2924
    functionLinenumberEnd: 2960
    functionName: sentencepiece::ModelProto_SentencePiece::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - sentencepiece::ModelProto_SentencePiece::_internal_score
    - sentencepiece::ModelProto_SentencePiece::_internal_type
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - unknown_fields
    - sentencepiece::ModelProto_SentencePiece::_internal_piece
    - google::protobuf::internal::WireFormatLite::WriteFloatToArray
    - google::protobuf::internal::WireFormatLite::WriteEnumToArray
    - sentencepiece::ModelProto_SentencePiece::_InternalSerialize
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
    - static_cast<int>
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * ModelProto_SentencePiece::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2966,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2977,1
    - Dst: sentencepiece::ModelProto_SentencePiece::_internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2978,1
    - Dst: google::protobuf::internal::WireFormatLite::EnumSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2989,1
    - Dst: sentencepiece::ModelProto_SentencePiece::_internal_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2989,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2993,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2993,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2994,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2996,1
    - Dst: sentencepiece::ModelProto_SentencePiece::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2999
      start: 2962
    functionDepth: 1
    functionLinenumber: 2962
    functionLinenumberEnd: 2999
    functionName: sentencepiece::ModelProto_SentencePiece::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::StringSize
    - google::protobuf::internal::ToCachedSize
    - sentencepiece::ModelProto_SentencePiece::_internal_type
    - sentencepiece::ModelProto_SentencePiece::SetCachedSize
    - unknown_fields
    - sentencepiece::ModelProto_SentencePiece::_internal_piece
    - google::protobuf::internal::WireFormatLite::EnumSize
    - ByteSize
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: size_t
    signature: size_t ModelProto_SentencePiece::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3003,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const ModelProto_SentencePiece*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 3001
    functionDepth: 1
    functionLinenumber: 3001
    functionLinenumberEnd: 3005
    functionName: sentencepiece::ModelProto_SentencePiece::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::ModelProto_SentencePiece::MergeFrom
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const ModelProto_SentencePiece*>
    linkageType: ''
    returnType: void
    signature: "void ModelProto_SentencePiece::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3009,1
    - Dst: sentencepiece::ModelProto_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3010,1
    - Dst: sentencepiece::ModelProto_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3011,1
    - Dst: _internal_set_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3018,1
    - Dst: _internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3018,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 3007
    functionDepth: 1
    functionLinenumber: 3007
    functionLinenumberEnd: 3028
    functionName: sentencepiece::ModelProto_SentencePiece::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::ModelProto_SentencePiece::MergeFrom
    - GOOGLE_DCHECK_NE
    - _internal_piece
    - _internal_set_piece
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::MergeFrom(const ModelProto_SentencePiece&
      from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3033,1
    - Dst: sentencepiece::ModelProto_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3035
      start: 3030
    functionDepth: 2
    functionLinenumber: 3030
    functionLinenumberEnd: 3035
    functionName: sentencepiece::ModelProto_SentencePiece::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::ModelProto_SentencePiece::MergeFrom
    - sentencepiece::ModelProto_SentencePiece::Clear
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::CopyFrom(const ModelProto_SentencePiece&
      from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto_SentencePiece::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3043
      start: 3037
    functionDepth: 1
    functionLinenumber: 3037
    functionLinenumberEnd: 3043
    functionName: sentencepiece::ModelProto_SentencePiece::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::ModelProto_SentencePiece::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool ModelProto_SentencePiece::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3047,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3048,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3049,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3050,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3050,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3050,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3051,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - ModelProto_SentencePiece*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3045
    functionDepth: 1
    functionLinenumber: 3045
    functionLinenumberEnd: 3053
    functionName: sentencepiece::ModelProto_SentencePiece::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - Swap
    - swap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::InternalSwap(ModelProto_SentencePiece*
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3055
    functionDepth: 0
    functionLinenumber: 3055
    functionLinenumberEnd: 3057
    functionName: sentencepiece::ModelProto_SentencePiece::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ModelProto_SentencePiece::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 3066
    functionDepth: 0
    functionLinenumber: 3066
    functionLinenumberEnd: 3068
    functionName: sentencepiece::ModelProto::_Internal::set_has_trainer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_trainer_spec(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3072
      start: 3070
    functionDepth: 0
    functionLinenumber: 3070
    functionLinenumberEnd: 3072
    functionName: sentencepiece::ModelProto::_Internal::set_has_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_normalizer_spec(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3076
      start: 3074
    functionDepth: 0
    functionLinenumber: 3074
    functionLinenumberEnd: 3076
    functionName: sentencepiece::ModelProto::_Internal::set_has_self_test_data
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_self_test_data(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3078
    functionDepth: 0
    functionLinenumber: 3078
    functionLinenumberEnd: 3080
    functionName: sentencepiece::ModelProto::_Internal::set_has_denormalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_denormalizer_spec(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3086
      start: 3083
    functionDepth: 0
    functionLinenumber: 3083
    functionLinenumberEnd: 3086
    functionName: '&

      ModelProto::_Internal::trainer_spec(const ModelProto* msg)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::sentencepiece::TrainerSpec
    signature: '::sentencepiece::TrainerSpec &

      ModelProto::_Internal::trainer_spec(const ModelProto* msg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3087
    functionDepth: 0
    functionLinenumber: 3087
    functionLinenumberEnd: 3090
    functionName: '&

      ModelProto::_Internal::normalizer_spec(const ModelProto* msg)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: '::sentencepiece::NormalizerSpec &

      ModelProto::_Internal::normalizer_spec(const ModelProto* msg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3094
    functionName: '&

      ModelProto::_Internal::self_test_data(const ModelProto* msg)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::sentencepiece::SelfTestData
    signature: '::sentencepiece::SelfTestData &

      ModelProto::_Internal::self_test_data(const ModelProto* msg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3098
      start: 3095
    functionDepth: 0
    functionLinenumber: 3095
    functionLinenumberEnd: 3098
    functionName: '&

      ModelProto::_Internal::denormalizer_spec(const ModelProto* msg)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: '::sentencepiece::NormalizerSpec &

      ModelProto::_Internal::denormalizer_spec(const ModelProto* msg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3103,1
    - Dst: sentencepiece::ModelProto::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3106
      start: 3099
    functionDepth: 1
    functionLinenumber: 3099
    functionLinenumberEnd: 3106
    functionName: sentencepiece::ModelProto::ModelProto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::ModelProto::RegisterArenaDtor
    - sentencepiece::ModelProto::SharedCtor
    linkageType: ''
    returnType: void
    signature: void ModelProto::ModelProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3111,1
    - Dst: sentencepiece::ModelProto::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3112,1
    - Dst: _internal_has_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3113,1
    - Dst: ::sentencepiece::TrainerSpec::TrainerSpec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3114,1
    - Dst: _internal_has_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3118,1
    - Dst: ::sentencepiece::NormalizerSpec::NormalizerSpec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3119,1
    - Dst: _internal_has_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3123,1
    - Dst: ::sentencepiece::SelfTestData::SelfTestData
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3124,1
    - Dst: _internal_has_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3128,1
    - Dst: ::sentencepiece::NormalizerSpec::NormalizerSpec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3107
    functionDepth: 1
    functionLinenumber: 3107
    functionLinenumberEnd: 3134
    functionName: sentencepiece::ModelProto::ModelProto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - _internal_has_self_test_data
    - _internal_has_normalizer_spec
    - _internal_has_trainer_spec
    - _internal_has_denormalizer_spec
    - sentencepiece::ModelProto::MergeFrom
    - ::sentencepiece::SelfTestData::SelfTestData
    - ::sentencepiece::NormalizerSpec::NormalizerSpec
    - ::sentencepiece::TrainerSpec::TrainerSpec
    linkageType: ''
    returnType: void
    signature: void ModelProto::ModelProto(const ModelProto& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3137,1
    - Dst: ::memset
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3138,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3138,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3138,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3139,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3139,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3140,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3140,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3142
      start: 3136
    functionDepth: 1
    functionLinenumber: 3136
    functionLinenumberEnd: 3142
    functionName: sentencepiece::ModelProto::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - ::memset
    - static_cast<size_t>
    - google::protobuf::InitSCC
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void ModelProto::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3146,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3148
      start: 3144
    functionDepth: 0
    functionLinenumber: 3144
    functionLinenumberEnd: 3148
    functionName: ModelProto::~ModelProto()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void ModelProto::~ModelProto()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3151,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3151,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3152,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3153,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3154,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3156
      start: 3150
    functionDepth: 1
    functionLinenumber: 3150
    functionLinenumberEnd: 3156
    functionName: sentencepiece::ModelProto::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - internal_default_instance
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ModelProto::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< ModelProto* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3161
      start: 3158
    functionDepth: 0
    functionLinenumber: 3158
    functionLinenumberEnd: 3161
    functionName: sentencepiece::ModelProto::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< ModelProto* >
    linkageType: ''
    returnType: void
    signature: void ModelProto::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3162
    functionDepth: 0
    functionLinenumber: 3162
    functionLinenumberEnd: 3163
    functionName: sentencepiece::ModelProto::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3166
      start: 3164
    functionDepth: 0
    functionLinenumber: 3164
    functionLinenumberEnd: 3166
    functionName: sentencepiece::ModelProto::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void ModelProto::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3168,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3170
      start: 3167
    functionDepth: 1
    functionLinenumber: 3167
    functionLinenumberEnd: 3170
    functionName: '& ModelProto::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto & ModelProto::default_instance()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3179,1
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3180,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3184,1
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3185,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3188,1
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3189,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3192,1
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3193,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3196,1
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3197,1
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3200,1
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3173
    functionDepth: 1
    functionLinenumber: 3173
    functionLinenumberEnd: 3202
    functionName: sentencepiece::ModelProto::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::ModelProto::Clear
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: void ModelProto::Clear()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3207,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3209,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3210,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3214,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3214,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3218,1
    - Dst: _internal_add_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3218,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3219,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3220,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3221,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3226,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3226,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3227,1
    - Dst: _internal_mutable_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3227,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3228,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3233,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3233,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3234,1
    - Dst: _internal_mutable_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3234,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3235,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3240,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3240,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3241,1
    - Dst: _internal_mutable_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3241,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3242,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3247,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3247,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3248,1
    - Dst: _internal_mutable_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3248,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3249,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3255,1
    - Dst: ParseField
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3259,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3260,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3261,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3264,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3265,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3267,1
    - Dst: Or
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3273,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3279
      start: 3204
    functionDepth: 1
    functionLinenumber: 3204
    functionLinenumberEnd: 3279
    functionName: sentencepiece::ModelProto::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - CHK_
    - mutable_unknown_fields
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - _internal_mutable_denormalizer_spec
    - google::protobuf::ReadTag
    - _internal_add_pieces
    - PROTOBUF_PREDICT_TRUE
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
    - _internal_mutable_normalizer_spec
    - ParseField
    - _internal_mutable_self_test_data
    - UnknownFieldParse
    - Or
    - internal_default_instance
    - _internal_mutable_trainer_spec
    linkageType: ''
    returnType: char
    signature: char * ModelProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3206
      start: 3205
    functionDepth: 0
    functionLinenumber: 3205
    functionLinenumberEnd: 3206
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3289,1
    - Dst: sentencepiece::ModelProto::_internal_pieces_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3289,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3290,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3291,1
    - Dst: sentencepiece::ModelProto::_internal_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3292,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3298,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3299,1
    - Dst: ModelProto::_internal_has_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3301,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3306,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3307,1
    - Dst: sentencepiece::SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3309,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3314,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3315,1
    - Dst: ModelProto::_internal_has_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3317,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3322,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3323,1
    - Dst: ModelProto::_internal_has_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3325,1
    - Dst: sentencepiece::ModelProto::_InternalSerialize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3329,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3332,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3332,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3333,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3333,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3334,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3338
      start: 3281
    functionDepth: 1
    functionLinenumber: 3281
    functionLinenumberEnd: 3338
    functionName: sentencepiece::ModelProto::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
    - sentencepiece::ModelProto::_InternalSerialize
    - static_cast<unsigned int>
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - ModelProto::_internal_has_denormalizer_spec
    - unknown_fields
    - sentencepiece::ModelProto::_internal_pieces_size
    - static_cast<int>
    - ModelProto::_internal_has_trainer_spec
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::ModelProto::_internal_pieces
    - have_unknown_fields
    - sentencepiece::SentencePieceNormalizer::mutable_normalizer_spec
    - ModelProto::_internal_has_self_test_data
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * ModelProto::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3344,1
    - Dst: sentencepiece::ModelProto::_internal_pieces_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3351,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3354,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3362,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3369,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3376,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3383,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3388,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3388,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3389,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3391,1
    - Dst: sentencepiece::ModelProto::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3394
      start: 3340
    functionDepth: 1
    functionLinenumber: 3340
    functionLinenumberEnd: 3394
    functionName: sentencepiece::ModelProto::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToCachedSize
    - unknown_fields
    - sentencepiece::ModelProto::SetCachedSize
    - sentencepiece::ModelProto::_internal_pieces_size
    - ByteSize
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::WireFormatLite::MessageSize
    linkageType: ''
    returnType: size_t
    signature: size_t ModelProto::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3398,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const ModelProto*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3400
      start: 3396
    functionDepth: 1
    functionLinenumber: 3396
    functionLinenumberEnd: 3400
    functionName: sentencepiece::ModelProto::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const ModelProto*>
    - sentencepiece::ModelProto::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void ModelProto::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3404,1
    - Dst: sentencepiece::ModelProto::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3405,1
    - Dst: sentencepiece::ModelProto::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3406,1
    - Dst: sentencepiece::ModelProto::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3410,1
    - Dst: _internal_mutable_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3414,1
    - Dst: _internal_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3414,1
    - Dst: _internal_mutable_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3417,1
    - Dst: _internal_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3417,1
    - Dst: _internal_mutable_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3420,1
    - Dst: _internal_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3420,1
    - Dst: _internal_mutable_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3423,1
    - Dst: _internal_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3426
      start: 3402
    functionDepth: 1
    functionLinenumber: 3402
    functionLinenumberEnd: 3426
    functionName: sentencepiece::ModelProto::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached:
    - _internal_normalizer_spec
    - GOOGLE_DCHECK_NE
    - _internal_trainer_spec
    - _internal_mutable_normalizer_spec
    - _internal_mutable_self_test_data
    - sentencepiece::ModelProto::MergeFrom
    - _internal_denormalizer_spec
    - _internal_mutable_denormalizer_spec
    - _internal_self_test_data
    - _internal_mutable_trainer_spec
    linkageType: ''
    returnType: void
    signature: void ModelProto::MergeFrom(const ModelProto& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3431,1
    - Dst: sentencepiece::ModelProto::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3433
      start: 3428
    functionDepth: 2
    functionLinenumber: 3428
    functionLinenumberEnd: 3433
    functionName: sentencepiece::ModelProto::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::ModelProto::Clear
    - sentencepiece::ModelProto::MergeFrom
    linkageType: ''
    returnType: void
    signature: void ModelProto::CopyFrom(const ModelProto& from)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3436,1
    - Dst: google::protobuf::internal::AllAreInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3440,1
    - Dst: _internal_has_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3441,1
    - Dst: sentencepiece::ModelProto::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3442,1
    - Dst: _internal_has_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3444,1
    - Dst: sentencepiece::ModelProto::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3445,1
    - Dst: _internal_has_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3447,1
    - Dst: sentencepiece::ModelProto::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3448,1
    - Dst: _internal_has_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3450,1
    - Dst: sentencepiece::ModelProto::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3451,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3454
      start: 3435
    functionDepth: 1
    functionLinenumber: 3435
    functionLinenumberEnd: 3454
    functionName: sentencepiece::ModelProto::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - _internal_has_self_test_data
    - _internal_has_normalizer_spec
    - _internal_has_trainer_spec
    - _internal_has_denormalizer_spec
    - sentencepiece::ModelProto::IsInitialized
    - google::protobuf::internal::AllAreInitialized
    linkageType: ''
    returnType: bool
    signature: bool ModelProto::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3458,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3459,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3460,1
    - Dst: sentencepiece::ModelProto::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3461,1
    - Dst: PROTOBUF_FIELD_OFFSET
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3463,1
    - Dst: PROTOBUF_FIELD_OFFSET
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3465,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::memswap<\n      PROTOBUF_FIELD_OFFSET(ModelProto,
        denormalizer_spec_)\n      + sizeof(ModelProto::denormalizer_spec_)\n      -
        PROTOBUF_FIELD_OFFSET(ModelProto, trainer_spec_)>"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3462,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3466,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3468
      start: 3456
    functionDepth: 1
    functionLinenumber: 3456
    functionLinenumberEnd: 3468
    functionName: sentencepiece::ModelProto::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - Swap
    - swap
    - reinterpret_cast<char*>
    - sentencepiece::ModelProto::InternalSwap
    - PROTOBUF_FIELD_OFFSET
    - "::PROTOBUF_NAMESPACE_ID::internal::memswap<\n      PROTOBUF_FIELD_OFFSET(ModelProto,
      denormalizer_spec_)\n      + sizeof(ModelProto::denormalizer_spec_)\n      -
      PROTOBUF_FIELD_OFFSET(ModelProto, trainer_spec_)>"
    linkageType: ''
    returnType: void
    signature: void ModelProto::InternalSwap(ModelProto* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3472
      start: 3470
    functionDepth: 0
    functionLinenumber: 3470
    functionLinenumberEnd: 3472
    functionName: sentencepiece::ModelProto::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ModelProto::GetTypeName() const
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: sentencepiece::TrainerSpec_ModelType_IsValid
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec_ModelType_IsValid(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitializeEnumStrings
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:166,1
    - Dst: google::protobuf::internal::LookUpEnumName
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:171,1
    - Dst: google::protobuf::internal::GetEmptyString
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:175,1
    - Dst: get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - TrainerSpec_ModelType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: sentencepiece::TrainerSpec_ModelType_Name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyString
    - get
    - google::protobuf::internal::LookUpEnumName
    - google::protobuf::internal::InitializeEnumStrings
    linkageType: ''
    returnType: std::string
    signature: "std::string & TrainerSpec_ModelType_Name(\n    TrainerSpec_ModelType
      value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::LookUpEnumValue
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:181,1
    - Dst: static_cast<TrainerSpec_ModelType>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::ConstStringParam
    - TrainerSpec_ModelType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: sentencepiece::TrainerSpec_ModelType_Parse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - static_cast<TrainerSpec_ModelType>
    - google::protobuf::internal::LookUpEnumValue
    linkageType: ''
    returnType: bool
    signature: "bool TrainerSpec_ModelType_Parse(\n    ::PROTOBUF_NAMESPACE_ID::ConstStringParam
      name, TrainerSpec_ModelType* value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 209
    functionName: sentencepiece::ModelProto_SentencePiece_Type_IsValid
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ModelProto_SentencePiece_Type_IsValid(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitializeEnumStrings
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:242,1
    - Dst: google::protobuf::internal::LookUpEnumName
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:247,1
    - Dst: google::protobuf::internal::GetEmptyString
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:251,1
    - Dst: get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - ModelProto_SentencePiece_Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 253
    functionName: sentencepiece::ModelProto_SentencePiece_Type_Name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyString
    - get
    - google::protobuf::internal::LookUpEnumName
    - google::protobuf::internal::InitializeEnumStrings
    linkageType: ''
    returnType: std::string
    signature: "std::string & ModelProto_SentencePiece_Type_Name(\n    ModelProto_SentencePiece_Type
      value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::LookUpEnumValue
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:257,1
    - Dst: static_cast<ModelProto_SentencePiece_Type>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::ConstStringParam
    - ModelProto_SentencePiece_Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: sentencepiece::ModelProto_SentencePiece_Type_Parse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - static_cast<ModelProto_SentencePiece_Type>
    - google::protobuf::internal::LookUpEnumValue
    linkageType: ''
    returnType: bool
    signature: "bool ModelProto_SentencePiece_Type_Parse(\n    ::PROTOBUF_NAMESPACE_ID::ConstStringParam
      name, ModelProto_SentencePiece_Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_input_format
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_input_format(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_model_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_model_prefix(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_model_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_model_type(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_vocab_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_vocab_size(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_self_test_sample_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_self_test_sample_size(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_enable_differential_privacy
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_enable_differential_privacy(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_noise_level
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_differential_privacy_noise_level(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_clipping_threshold
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_differential_privacy_clipping_threshold(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_character_coverage
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_character_coverage(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_input_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_input_sentence_size(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_shuffle_input_sentence
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_shuffle_input_sentence(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_mining_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_mining_sentence_size(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_training_sentence_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_training_sentence_size(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_seed_sentencepiece_size
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_seed_sentencepiece_size(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_shrinking_factor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_shrinking_factor(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_max_sentence_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_max_sentence_length(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_num_threads
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_num_threads(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_num_sub_iterations
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_num_sub_iterations(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_max_sentencepiece_length
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_max_sentencepiece_length(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_split_by_unicode_script
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_split_by_unicode_script(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_split_by_number
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_split_by_number(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_split_by_whitespace
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_split_by_whitespace(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_treat_whitespace_as_suffix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_treat_whitespace_as_suffix(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_allow_whitespace_only_pieces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_allow_whitespace_only_pieces(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_split_digits
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_split_digits(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_pretokenization_delimiter
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_pretokenization_delimiter(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_required_chars
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_required_chars(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_byte_fallback
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_byte_fallback(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_vocabulary_output_piece_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_vocabulary_output_piece_score(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_hard_vocab_limit
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_hard_vocab_limit(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_use_all_vocab
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_use_all_vocab(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_unk_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_unk_id(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_bos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_bos_id(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_eos_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_eos_id(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_pad_id
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_pad_id(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_unk_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_unk_piece(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_bos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_bos_piece(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_eos_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_eos_piece(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_pad_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_pad_piece(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_unk_surface
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_unk_surface(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_train_extremely_large_corpus
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_train_extremely_large_corpus(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: sentencepiece::TrainerSpec::_Internal::set_has_seed_sentencepieces_file
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_seed_sentencepieces_file(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerSpec::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:421,1
    - Dst: sentencepiece::TrainerSpec::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: sentencepiece::TrainerSpec::TrainerSpec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::TrainerSpec::RegisterArenaDtor
    - sentencepiece::TrainerSpec::SharedCtor
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::TrainerSpec(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:432,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:433,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:434,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:434,1
    - Dst: _internal_has_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:435,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:436,1
    - Dst: _internal_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:436,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:437,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:439,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:439,1
    - Dst: _internal_has_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:440,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:441,1
    - Dst: _internal_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:441,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:442,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:444,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:444,1
    - Dst: _internal_has_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:445,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:446,1
    - Dst: _internal_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:446,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:447,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:449,1
    - Dst: _internal_has_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:450,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:451,1
    - Dst: _internal_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:451,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:452,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:454,1
    - Dst: _internal_has_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:455,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:456,1
    - Dst: _internal_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:456,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:457,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:459,1
    - Dst: _internal_has_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:460,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:461,1
    - Dst: _internal_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:461,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:462,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:464,1
    - Dst: _internal_has_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:465,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:466,1
    - Dst: _internal_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:466,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:467,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:469,1
    - Dst: _internal_has_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:470,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:471,1
    - Dst: _internal_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:471,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:472,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:474,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:474,1
    - Dst: _internal_has_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:475,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:476,1
    - Dst: _internal_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:476,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:477,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:479,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:479,1
    - Dst: _internal_has_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:480,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:481,1
    - Dst: _internal_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:481,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:482,1
    - Dst: ::memcpy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:484,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:485,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:485,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:486,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 488
    functionName: sentencepiece::TrainerSpec::TrainerSpec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - _internal_model_prefix
    - _internal_has_required_chars
    - _internal_unk_surface
    - sentencepiece::TrainerSpec::MergeFrom
    - static_cast<size_t>
    - _internal_has_eos_piece
    - _internal_input_format
    - reinterpret_cast<char*>
    - _internal_bos_piece
    - _internal_required_chars
    - _internal_has_seed_sentencepieces_file
    - _internal_has_pad_piece
    - _internal_unk_piece
    - Set
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - _internal_has_bos_piece
    - _internal_pretokenization_delimiter
    - _internal_has_model_prefix
    - _internal_has_unk_surface
    - _internal_pad_piece
    - ::memcpy
    - _internal_eos_piece
    - _internal_seed_sentencepieces_file
    - GetArena
    - _internal_has_pretokenization_delimiter
    - _internal_has_input_format
    - _internal_has_unk_piece
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::TrainerSpec(const TrainerSpec& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:491,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:492,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:492,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:493,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:493,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:494,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:494,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:495,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:496,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:497,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:498,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:499,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:500,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:500,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:501,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:501,1
    - Dst: ::memset
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:502,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:502,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:502,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:503,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:503,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:504,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:504,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 524
    functionName: sentencepiece::TrainerSpec::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::InitSCC
    - static_cast<size_t>
    - reinterpret_cast<char*>
    - ::memset
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:528,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 530
    functionName: TrainerSpec::~TrainerSpec()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::~TrainerSpec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:533,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:533,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:534,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:534,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:535,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:535,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:536,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:536,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:537,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:538,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:539,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:540,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:541,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:542,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:542,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:543,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 544
    functionName: sentencepiece::TrainerSpec::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - DestroyNoArena
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< TrainerSpec* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: sentencepiece::TrainerSpec::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< TrainerSpec* >
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 551
    functionName: sentencepiece::TrainerSpec::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 554
    functionName: sentencepiece::TrainerSpec::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:556,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: '& TrainerSpec::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: TrainerSpec
    signature: TrainerSpec & TrainerSpec::default_instance()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:567,1
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:568,1
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:569,1
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:570,1
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:571,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:575,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:578,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:581,1
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:584,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:584,1
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:587,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:587,1
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:590,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:590,1
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:593,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:593,1
    - Dst: ClearToDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:596,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:596,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:601,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:604,1
    - Dst: ::memset
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:608,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:608,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:609,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:610,1
    - Dst: ::memset
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:613,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:613,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:614,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:615,1
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:642,1
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:643,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 644
    functionName: sentencepiece::TrainerSpec::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached:
    - reinterpret_cast<char*>
    - ClearNonDefaultToEmpty
    - static_cast<size_t>
    - ClearToDefault
    - GetArena
    - sentencepiece::TrainerSpec::Clear
    - ::memset
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::Clear()
  - BBCount: 101
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:648,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:650,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:651,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:655,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:655,1
    - Dst: _internal_add_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:659,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:660,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:661,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:662,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:663,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:668,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:668,1
    - Dst: _internal_mutable_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:669,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:670,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:671,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:676,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:676,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:677,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:678,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:679,1
    - Dst: sentencepiece::TrainerSpec_ModelType_IsValid
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:679,1
    - Dst: _internal_set_model_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:680,1
    - Dst: static_cast<::sentencepiece::TrainerSpec_ModelType>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:680,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:682,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:682,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:688,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:688,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_vocab_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:689,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:690,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:691,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:696,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:696,1
    - Dst: _internal_add_accept_language
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:700,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:701,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:702,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:703,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:704,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:709,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:709,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_self_test_sample_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:710,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:711,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:712,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:717,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:717,1
    - Dst: _internal_mutable_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:718,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:719,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:720,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:725,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:725,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_character_coverage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:726,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:727,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:733,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:733,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_input_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:734,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:735,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:736,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:741,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:741,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_mining_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:742,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:743,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:744,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:749,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:749,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_training_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:750,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:751,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:752,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:757,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:757,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_seed_sentencepiece_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:758,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:759,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:760,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:765,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:765,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_shrinking_factor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:766,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:767,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:773,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:773,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_num_threads
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:774,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:775,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:776,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:781,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:781,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_num_sub_iterations
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:782,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:783,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:784,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:789,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:789,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_max_sentence_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:790,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:791,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:792,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:797,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:797,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_shuffle_input_sentence
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:798,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:799,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:800,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:805,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:805,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_max_sentencepiece_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:806,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:807,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:808,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:813,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:813,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_split_by_unicode_script
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:814,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:815,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:816,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:821,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:821,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_split_by_whitespace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:822,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:823,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:824,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:829,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:829,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_split_by_number
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:830,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:831,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:832,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:837,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:837,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:838,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:839,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:840,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:845,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:845,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_split_digits
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:846,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:847,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:848,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:853,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:853,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:854,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:855,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:856,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:861,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:861,1
    - Dst: _internal_add_control_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:865,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:866,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:867,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:868,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<242>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:869,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:874,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:874,1
    - Dst: _internal_add_user_defined_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:878,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:879,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:880,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:881,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<250>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:882,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:887,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:887,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_vocabulary_output_piece_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:888,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:889,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:890,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:895,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:895,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_hard_vocab_limit
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:896,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:897,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:898,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:903,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:903,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_use_all_vocab
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:904,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:905,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:906,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:911,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:911,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_byte_fallback
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:912,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:913,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:914,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:919,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:919,1
    - Dst: _internal_mutable_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:920,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:921,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:922,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:927,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:927,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_unk_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:928,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:929,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:930,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:935,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:935,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_bos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:936,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:937,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:938,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:943,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:943,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_eos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:944,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:945,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:946,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:951,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:951,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_pad_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:952,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:953,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:954,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:959,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:959,1
    - Dst: _internal_mutable_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:960,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:961,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:962,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:967,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:967,1
    - Dst: _internal_mutable_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:968,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:969,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:970,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:975,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:975,1
    - Dst: _internal_mutable_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:976,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:977,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:978,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:983,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:983,1
    - Dst: _internal_mutable_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:984,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:985,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:986,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:991,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:991,1
    - Dst: _internal_mutable_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:992,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:993,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:994,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:999,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:999,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_train_extremely_large_corpus
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1000,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1001,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1002,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1007,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1007,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_enable_differential_privacy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1008,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1009,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1010,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1015,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1015,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_noise_level
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1016,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1017,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1023,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1023,1
    - Dst: sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_clipping_threshold
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1024,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1025,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1026,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1031,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1031,1
    - Dst: _internal_mutable_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1032,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1033,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1034,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1039,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1039,1
    - Dst: _internal_mutable_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1040,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1041,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1042,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1048,1
    - Dst: ParseField
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1052,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1053,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1054,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1057,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1058,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1060,1
    CyclomaticComplexity: 160
    EdgeCount: 160
    ICount: 459
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 1071
    functionName: sentencepiece::TrainerSpec::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerSpec::_Internal::set_has_training_sentence_size
    - sentencepiece::TrainerSpec::_Internal::set_has_vocab_size
    - sentencepiece::TrainerSpec::_Internal::set_has_input_sentence_size
    - sentencepiece::TrainerSpec::_Internal::set_has_shuffle_input_sentence
    - _internal_mutable_model_prefix
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - google::protobuf::internal::InlineGreedyStringParser
    - sentencepiece::TrainerSpec::_Internal::set_has_bos_id
    - sentencepiece::TrainerSpec::_Internal::set_has_unk_id
    - CHK_
    - sentencepiece::TrainerSpec::_Internal::set_has_split_by_unicode_script
    - sentencepiece::TrainerSpec::_Internal::set_has_max_sentence_length
    - sentencepiece::TrainerSpec::_Internal::set_has_num_sub_iterations
    - mutable_unknown_fields
    - sentencepiece::TrainerSpec::_Internal::set_has_character_coverage
    - sentencepiece::TrainerSpec::_Internal::set_has_pad_id
    - sentencepiece::TrainerSpec::_Internal::set_has_train_extremely_large_corpus
    - _internal_set_model_type
    - sentencepiece::TrainerSpec::_Internal::set_has_treat_whitespace_as_suffix
    - _internal_mutable_input_format
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<250>
    - sentencepiece::TrainerSpec::_Internal::set_has_use_all_vocab
    - _internal_add_input
    - sentencepiece::TrainerSpec::_Internal::set_has_hard_vocab_limit
    - _internal_mutable_bos_piece
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
    - sentencepiece::TrainerSpec::_Internal::set_has_enable_differential_privacy
    - _internal_mutable_eos_piece
    - sentencepiece::TrainerSpec::_Internal::set_has_allow_whitespace_only_pieces
    - google::protobuf::ReadVarint64
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>
    - sentencepiece::TrainerSpec::_Internal::set_has_split_by_whitespace
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<242>
    - _internal_add_user_defined_symbols
    - sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_clipping_threshold
    - sentencepiece::TrainerSpec::_Internal::set_has_num_threads
    - sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_noise_level
    - _internal_mutable_seed_sentencepieces_file
    - sentencepiece::TrainerSpec::_Internal::set_has_eos_id
    - _internal_mutable_pad_piece
    - _internal_mutable_unk_piece
    - sentencepiece::TrainerSpec_ModelType_IsValid
    - sentencepiece::TrainerSpec::_Internal::set_has_split_digits
    - static_cast<::sentencepiece::TrainerSpec_ModelType>
    - google::protobuf::internal::WriteVarint
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - google::protobuf::ReadTag
    - _internal_mutable_required_chars
    - sentencepiece::TrainerSpec::_Internal::set_has_self_test_sample_size
    - sentencepiece::TrainerSpec::_Internal::set_has_max_sentencepiece_length
    - PROTOBUF_PREDICT_TRUE
    - _internal_mutable_unk_surface
    - sentencepiece::TrainerSpec::_Internal::set_has_vocabulary_output_piece_score
    - sentencepiece::TrainerSpec::_Internal::set_has_mining_sentence_size
    - ParseField
    - _internal_mutable_pretokenization_delimiter
    - _internal_add_accept_language
    - sentencepiece::TrainerSpec::_Internal::set_has_split_by_number
    - UnknownFieldParse
    - sentencepiece::TrainerSpec::_Internal::set_has_byte_fallback
    - _internal_add_control_symbols
    - internal_default_instance
    - sentencepiece::TrainerSpec::_Internal::set_has_seed_sentencepiece_size
    - sentencepiece::TrainerSpec::_Internal::set_has_shrinking_factor
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
    linkageType: ''
    returnType: char
    signature: char * TrainerSpec::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 648
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerSpec::_internal_input_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1080,1
    - Dst: sentencepiece::TrainerSpec::_internal_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1081,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteString
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1082,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1088,1
    - Dst: sentencepiece::TrainerSpec::_internal_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1089,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1094,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1095,1
    - Dst: sentencepiece::TrainerSpec::_internal_model_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1096,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1101,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1102,1
    - Dst: sentencepiece::TrainerSpec::_internal_vocab_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1102,1
    - Dst: sentencepiece::TrainerSpec::_internal_accept_language_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1106,1
    - Dst: sentencepiece::TrainerSpec::_internal_accept_language
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1107,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteString
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1108,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1113,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1114,1
    - Dst: sentencepiece::TrainerSpec::_internal_self_test_sample_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1114,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1119,1
    - Dst: sentencepiece::TrainerSpec::_internal_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1120,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1125,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1126,1
    - Dst: sentencepiece::TrainerSpec::_internal_character_coverage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1126,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1131,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1132,1
    - Dst: sentencepiece::TrainerSpec::_internal_input_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1132,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1137,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1138,1
    - Dst: sentencepiece::TrainerSpec::_internal_mining_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1138,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1143,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1144,1
    - Dst: sentencepiece::TrainerSpec::_internal_training_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1144,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1149,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1150,1
    - Dst: sentencepiece::TrainerSpec::_internal_seed_sentencepiece_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1150,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1155,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1156,1
    - Dst: sentencepiece::TrainerSpec::_internal_shrinking_factor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1156,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1161,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1162,1
    - Dst: sentencepiece::TrainerSpec::_internal_num_threads
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1162,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1167,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1168,1
    - Dst: sentencepiece::TrainerSpec::_internal_num_sub_iterations
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1168,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1173,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1174,1
    - Dst: sentencepiece::TrainerSpec::_internal_max_sentence_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1174,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1180,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1181,1
    - Dst: sentencepiece::TrainerSpec::_internal_shuffle_input_sentence
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1181,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1186,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1187,1
    - Dst: sentencepiece::TrainerSpec::_internal_max_sentencepiece_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1187,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1192,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1193,1
    - Dst: sentencepiece::TrainerSpec::_internal_split_by_unicode_script
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1193,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1198,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1199,1
    - Dst: sentencepiece::TrainerSpec::_internal_split_by_whitespace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1199,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1204,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1205,1
    - Dst: sentencepiece::TrainerSpec::_internal_split_by_number
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1205,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1211,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1212,1
    - Dst: sentencepiece::TrainerSpec::_internal_treat_whitespace_as_suffix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1212,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1217,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1218,1
    - Dst: sentencepiece::TrainerSpec::_internal_split_digits
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1218,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1223,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1224,1
    - Dst: sentencepiece::TrainerSpec::_internal_allow_whitespace_only_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1224,1
    - Dst: sentencepiece::TrainerSpec::_internal_control_symbols_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1228,1
    - Dst: sentencepiece::TrainerSpec::_internal_control_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1229,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteString
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1230,1
    - Dst: sentencepiece::TrainerSpec::_internal_user_defined_symbols_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1234,1
    - Dst: sentencepiece::TrainerSpec::_internal_user_defined_symbols
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1235,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteString
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1236,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1242,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1243,1
    - Dst: sentencepiece::TrainerSpec::_internal_vocabulary_output_piece_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1243,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1248,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1249,1
    - Dst: sentencepiece::TrainerSpec::_internal_hard_vocab_limit
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1249,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1255,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1256,1
    - Dst: sentencepiece::TrainerSpec::_internal_use_all_vocab
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1256,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1261,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1262,1
    - Dst: sentencepiece::TrainerSpec::_internal_byte_fallback
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1262,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1267,1
    - Dst: sentencepiece::TrainerSpec::_internal_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1268,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1273,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1274,1
    - Dst: sentencepiece::TrainerSpec::_internal_unk_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1274,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1280,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1281,1
    - Dst: sentencepiece::TrainerSpec::_internal_bos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1281,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1286,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1287,1
    - Dst: sentencepiece::TrainerSpec::_internal_eos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1287,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1292,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1293,1
    - Dst: sentencepiece::TrainerSpec::_internal_pad_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1293,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1299,1
    - Dst: sentencepiece::TrainerSpec::_internal_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1300,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1305,1
    - Dst: sentencepiece::TrainerSpec::_internal_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1306,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1311,1
    - Dst: sentencepiece::TrainerSpec::_internal_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1312,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1317,1
    - Dst: sentencepiece::TrainerSpec::_internal_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1318,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1323,1
    - Dst: sentencepiece::TrainerSpec::_internal_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1324,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1329,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1330,1
    - Dst: sentencepiece::TrainerSpec::_internal_train_extremely_large_corpus
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1330,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1335,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1336,1
    - Dst: sentencepiece::TrainerSpec::_internal_enable_differential_privacy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1336,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1341,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1342,1
    - Dst: sentencepiece::TrainerSpec::_internal_differential_privacy_noise_level
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1342,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1347,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1348,1
    - Dst: sentencepiece::TrainerSpec::_internal_differential_privacy_clipping_threshold
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1348,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1353,1
    - Dst: sentencepiece::TrainerSpec::_internal_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1354,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1359,1
    - Dst: sentencepiece::TrainerSpec::_internal_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1360,1
    - Dst: sentencepiece::TrainerSpec::_InternalSerialize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1364,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1367,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1367,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1368,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1368,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1369,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1369,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 184
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1373
    functionName: sentencepiece::TrainerSpec::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::TrainerSpec::_internal_split_digits
    - sentencepiece::TrainerSpec::_internal_train_extremely_large_corpus
    - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    - sentencepiece::TrainerSpec::_internal_input_sentence_size
    - sentencepiece::TrainerSpec::_internal_control_symbols_size
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - sentencepiece::TrainerSpec::_internal_user_defined_symbols
    - unknown_fields
    - sentencepiece::TrainerSpec::_internal_differential_privacy_clipping_threshold
    - google::protobuf::internal::WireFormatLite::WriteBoolToArray
    - sentencepiece::TrainerSpec::_internal_num_threads
    - sentencepiece::TrainerSpec::_internal_pad_id
    - sentencepiece::TrainerSpec::_internal_training_sentence_size
    - sentencepiece::TrainerSpec::_internal_bos_id
    - sentencepiece::TrainerSpec::_internal_shuffle_input_sentence
    - sentencepiece::TrainerSpec::_internal_pad_piece
    - sentencepiece::TrainerSpec::_internal_user_defined_symbols_size
    - sentencepiece::TrainerSpec::_internal_split_by_number
    - sentencepiece::TrainerSpec::_internal_input_size
    - google::protobuf::internal::WireFormatLite::WriteEnumToArray
    - sentencepiece::TrainerSpec::_internal_unk_piece
    - sentencepiece::TrainerSpec::_internal_split_by_whitespace
    - sentencepiece::TrainerSpec::_internal_vocab_size
    - sentencepiece::TrainerSpec::_internal_input
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteString
    - sentencepiece::TrainerSpec::_internal_seed_sentencepiece_size
    - sentencepiece::TrainerSpec::_internal_input_format
    - sentencepiece::TrainerSpec::_internal_model_type
    - sentencepiece::TrainerSpec::_internal_shrinking_factor
    - sentencepiece::TrainerSpec::_internal_byte_fallback
    - sentencepiece::TrainerSpec::_internal_eos_piece
    - have_unknown_fields
    - sentencepiece::TrainerSpec::_internal_unk_id
    - sentencepiece::TrainerSpec::_internal_model_prefix
    - sentencepiece::TrainerSpec::_InternalSerialize
    - sentencepiece::TrainerSpec::_internal_vocabulary_output_piece_score
    - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    - sentencepiece::TrainerSpec::_internal_differential_privacy_noise_level
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - sentencepiece::TrainerSpec::_internal_bos_piece
    - sentencepiece::TrainerSpec::_internal_max_sentencepiece_length
    - google::protobuf::internal::WireFormatLite::WriteFloatToArray
    - sentencepiece::TrainerSpec::_internal_pretokenization_delimiter
    - sentencepiece::TrainerSpec::_internal_character_coverage
    - static_cast<int>
    - sentencepiece::TrainerSpec::_internal_hard_vocab_limit
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::TrainerSpec::_internal_split_by_unicode_script
    - sentencepiece::TrainerSpec::_internal_unk_surface
    - sentencepiece::TrainerSpec::_internal_allow_whitespace_only_pieces
    - sentencepiece::TrainerSpec::_internal_use_all_vocab
    - sentencepiece::TrainerSpec::_internal_seed_sentencepieces_file
    - sentencepiece::TrainerSpec::_internal_self_test_sample_size
    - sentencepiece::TrainerSpec::_internal_treat_whitespace_as_suffix
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
    - sentencepiece::TrainerSpec::_internal_required_chars
    - sentencepiece::TrainerSpec::_internal_accept_language
    - sentencepiece::TrainerSpec::_internal_eos_id
    - sentencepiece::TrainerSpec::_internal_accept_language_size
    - sentencepiece::TrainerSpec::_internal_mining_sentence_size
    - sentencepiece::TrainerSpec::_internal_num_sub_iterations
    - sentencepiece::TrainerSpec::_internal_enable_differential_privacy
    - sentencepiece::TrainerSpec::_internal_max_sentence_length
    - sentencepiece::TrainerSpec::_internal_control_symbols
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * TrainerSpec::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1379,1
    - Dst: google::protobuf::internal::FromIntSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1387,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1387,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1388,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1389,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1390,1
    - Dst: google::protobuf::internal::FromIntSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1395,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1395,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1396,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1397,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1398,1
    - Dst: google::protobuf::internal::FromIntSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1403,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1403,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1404,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1405,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1406,1
    - Dst: google::protobuf::internal::FromIntSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1411,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1411,1
    - Dst: size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1412,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1413,1
    - Dst: Get
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1414,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1422,1
    - Dst: sentencepiece::TrainerSpec::_internal_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1423,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1429,1
    - Dst: sentencepiece::TrainerSpec::_internal_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1430,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1436,1
    - Dst: sentencepiece::TrainerSpec::_internal_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1437,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1443,1
    - Dst: sentencepiece::TrainerSpec::_internal_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1444,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1450,1
    - Dst: sentencepiece::TrainerSpec::_internal_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1451,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1457,1
    - Dst: sentencepiece::TrainerSpec::_internal_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1458,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1464,1
    - Dst: sentencepiece::TrainerSpec::_internal_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1465,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1471,1
    - Dst: sentencepiece::TrainerSpec::_internal_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1472,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1480,1
    - Dst: sentencepiece::TrainerSpec::_internal_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1481,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1487,1
    - Dst: sentencepiece::TrainerSpec::_internal_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1488,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1494,1
    - Dst: sentencepiece::TrainerSpec::_internal_self_test_sample_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1495,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1501,1
    - Dst: sentencepiece::TrainerSpec::_internal_mining_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1502,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt64Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1508,1
    - Dst: sentencepiece::TrainerSpec::_internal_input_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1509,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1515,1
    - Dst: sentencepiece::TrainerSpec::_internal_training_sentence_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1516,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1559,1
    - Dst: sentencepiece::TrainerSpec::_internal_unk_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1560,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt64Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1571,1
    - Dst: sentencepiece::TrainerSpec::_internal_differential_privacy_clipping_threshold
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1572,1
    - Dst: google::protobuf::internal::WireFormatLite::EnumSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1580,1
    - Dst: sentencepiece::TrainerSpec::_internal_model_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1580,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1586,1
    - Dst: sentencepiece::TrainerSpec::_internal_vocab_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1587,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1598,1
    - Dst: sentencepiece::TrainerSpec::_internal_seed_sentencepiece_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1599,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1610,1
    - Dst: sentencepiece::TrainerSpec::_internal_num_threads
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1611,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1617,1
    - Dst: sentencepiece::TrainerSpec::_internal_num_sub_iterations
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1618,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1624,1
    - Dst: sentencepiece::TrainerSpec::_internal_max_sentence_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1625,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1634,1
    - Dst: sentencepiece::TrainerSpec::_internal_max_sentencepiece_length
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1635,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1671,1
    - Dst: sentencepiece::TrainerSpec::_internal_bos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1672,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1680,1
    - Dst: sentencepiece::TrainerSpec::_internal_eos_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1681,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1687,1
    - Dst: sentencepiece::TrainerSpec::_internal_pad_id
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1688,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1692,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1692,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1693,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1695,1
    - Dst: sentencepiece::TrainerSpec::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1696,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 164
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1375
    functionDepth: 1
    functionLinenumber: 1375
    functionLinenumberEnd: 1698
    functionName: sentencepiece::TrainerSpec::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerSpec::_internal_input_sentence_size
    - unknown_fields
    - sentencepiece::TrainerSpec::_internal_num_threads
    - sentencepiece::TrainerSpec::_internal_pad_id
    - sentencepiece::TrainerSpec::_internal_training_sentence_size
    - sentencepiece::TrainerSpec::_internal_bos_id
    - sentencepiece::TrainerSpec::_internal_pad_piece
    - sentencepiece::TrainerSpec::_internal_unk_piece
    - google::protobuf::internal::FromIntSize
    - google::protobuf::internal::WireFormatLite::EnumSize
    - sentencepiece::TrainerSpec::_internal_vocab_size
    - ByteSize
    - sentencepiece::TrainerSpec::_internal_seed_sentencepiece_size
    - sentencepiece::TrainerSpec::_internal_input_format
    - sentencepiece::TrainerSpec::_internal_eos_piece
    - Get
    - sentencepiece::TrainerSpec::_internal_model_type
    - have_unknown_fields
    - sentencepiece::TrainerSpec::_internal_unk_id
    - sentencepiece::TrainerSpec::_internal_model_prefix
    - size
    - sentencepiece::TrainerSpec::SetCachedSize
    - google::protobuf::internal::ToCachedSize
    - sentencepiece::TrainerSpec::_internal_bos_piece
    - google::protobuf::internal::WireFormatLite::UInt64Size
    - sentencepiece::TrainerSpec::_internal_max_sentencepiece_length
    - sentencepiece::TrainerSpec::_internal_pretokenization_delimiter
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::WireFormatLite::Int32Size
    - sentencepiece::TrainerSpec::_internal_unk_surface
    - sentencepiece::TrainerSpec::_internal_num_sub_iterations
    - google::protobuf::internal::WireFormatLite::StringSize
    - sentencepiece::TrainerSpec::_internal_seed_sentencepieces_file
    - sentencepiece::TrainerSpec::_internal_self_test_sample_size
    - sentencepiece::TrainerSpec::_internal_eos_id
    - sentencepiece::TrainerSpec::_internal_required_chars
    - sentencepiece::TrainerSpec::_internal_mining_sentence_size
    - sentencepiece::TrainerSpec::_internal_differential_privacy_clipping_threshold
    - sentencepiece::TrainerSpec::_internal_max_sentence_length
    linkageType: ''
    returnType: size_t
    signature: size_t TrainerSpec::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1702,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const TrainerSpec*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1700
    functionDepth: 2
    functionLinenumber: 1700
    functionLinenumberEnd: 1704
    functionName: sentencepiece::TrainerSpec::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerSpec::MergeFrom
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const TrainerSpec*>
    linkageType: ''
    returnType: void
    signature: "void TrainerSpec::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1708,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1709,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1710,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1714,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1715,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1716,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1717,1
    - Dst: _internal_set_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1721,1
    - Dst: _internal_model_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1721,1
    - Dst: _internal_set_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1724,1
    - Dst: _internal_input_format
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1724,1
    - Dst: _internal_set_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1727,1
    - Dst: _internal_required_chars
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1727,1
    - Dst: _internal_set_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1730,1
    - Dst: _internal_unk_surface
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1730,1
    - Dst: _internal_set_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1733,1
    - Dst: _internal_unk_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1733,1
    - Dst: _internal_set_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1736,1
    - Dst: _internal_bos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1736,1
    - Dst: _internal_set_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1739,1
    - Dst: _internal_eos_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1739,1
    - Dst: _internal_set_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1742,1
    - Dst: _internal_pad_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1742,1
    - Dst: _internal_set_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1747,1
    - Dst: _internal_pretokenization_delimiter
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1747,1
    - Dst: _internal_set_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1750,1
    - Dst: _internal_seed_sentencepieces_file
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1750,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 154
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1706
    functionDepth: 1
    functionLinenumber: 1706
    functionLinenumberEnd: 1863
    functionName: sentencepiece::TrainerSpec::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 7
    functionsReached:
    - _internal_model_prefix
    - GOOGLE_DCHECK_NE
    - _internal_set_eos_piece
    - _internal_unk_surface
    - sentencepiece::TrainerSpec::MergeFrom
    - _internal_input_format
    - _internal_bos_piece
    - _internal_required_chars
    - _internal_unk_piece
    - _internal_pretokenization_delimiter
    - _internal_set_pad_piece
    - _internal_set_unk_surface
    - _internal_pad_piece
    - _internal_set_model_prefix
    - _internal_set_bos_piece
    - _internal_set_seed_sentencepieces_file
    - _internal_set_unk_piece
    - _internal_set_input_format
    - _internal_set_pretokenization_delimiter
    - _internal_set_required_chars
    - _internal_eos_piece
    - _internal_seed_sentencepieces_file
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::MergeFrom(const TrainerSpec& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1868,1
    - Dst: sentencepiece::TrainerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - TrainerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1865
    functionDepth: 2
    functionLinenumber: 1865
    functionLinenumberEnd: 1870
    functionName: sentencepiece::TrainerSpec::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerSpec::MergeFrom
    - sentencepiece::TrainerSpec::Clear
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::CopyFrom(const TrainerSpec& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerSpec::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1872
    functionDepth: 1
    functionLinenumber: 1872
    functionLinenumberEnd: 1878
    functionName: sentencepiece::TrainerSpec::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::TrainerSpec::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool TrainerSpec::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1882,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1883,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1884,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1885,1
    - Dst: sentencepiece::TrainerSpec::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1886,1
    - Dst: sentencepiece::TrainerSpec::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1887,1
    - Dst: sentencepiece::TrainerSpec::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1888,1
    - Dst: sentencepiece::TrainerSpec::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1889,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1890,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1890,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1890,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1891,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1891,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1891,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1892,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1892,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1892,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1893,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1893,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1894,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1894,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1895,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1895,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1896,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1896,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1897,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1897,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1898,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1898,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1898,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1899,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1899,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1899,1
    - Dst: PROTOBUF_FIELD_OFFSET
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1901,1
    - Dst: PROTOBUF_FIELD_OFFSET
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1903,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::memswap<\n      PROTOBUF_FIELD_OFFSET(TrainerSpec,
        differential_privacy_clipping_threshold_)\n      + sizeof(TrainerSpec::differential_privacy_clipping_threshold_)\n
        \     - PROTOBUF_FIELD_OFFSET(TrainerSpec, self_test_sample_size_)>"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1900,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1904,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1905,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1906,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1907,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1908,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1909,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1910,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1911,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1912,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1913,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1914,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1915,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1916,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1917,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1918,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1919,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1920,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1921,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1922,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 1
    argNames:
    - other
    argTypes:
    - TrainerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1880
    functionDepth: 1
    functionLinenumber: 1880
    functionLinenumberEnd: 1924
    functionName: sentencepiece::TrainerSpec::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - Swap
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - reinterpret_cast<char*>
    - PROTOBUF_FIELD_OFFSET
    - swap
    - "::PROTOBUF_NAMESPACE_ID::internal::memswap<\n      PROTOBUF_FIELD_OFFSET(TrainerSpec,
      differential_privacy_clipping_threshold_)\n      + sizeof(TrainerSpec::differential_privacy_clipping_threshold_)\n
      \     - PROTOBUF_FIELD_OFFSET(TrainerSpec, self_test_sample_size_)>"
    - GetArena
    - sentencepiece::TrainerSpec::InternalSwap
    linkageType: ''
    returnType: void
    signature: void TrainerSpec::InternalSwap(TrainerSpec* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1928
    functionName: sentencepiece::TrainerSpec::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TrainerSpec::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1938
    functionName: sentencepiece::NormalizerSpec::_Internal::set_has_name
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_name(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1941
    functionName: sentencepiece::NormalizerSpec::_Internal::set_has_precompiled_charsmap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_precompiled_charsmap(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1944
    functionName: sentencepiece::NormalizerSpec::_Internal::set_has_add_dummy_prefix
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_add_dummy_prefix(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1947
    functionName: sentencepiece::NormalizerSpec::_Internal::set_has_remove_extra_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_remove_extra_whitespaces(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1950
    functionName: sentencepiece::NormalizerSpec::_Internal::set_has_escape_whitespaces
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_escape_whitespaces(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1953
    functionName: sentencepiece::NormalizerSpec::_Internal::set_has_normalization_rule_tsv
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_normalization_rule_tsv(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NormalizerSpec::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1959,1
    - Dst: sentencepiece::NormalizerSpec::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1956
    functionDepth: 2
    functionLinenumber: 1956
    functionLinenumberEnd: 1962
    functionName: sentencepiece::NormalizerSpec::NormalizerSpec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 4
    functionsReached:
    - sentencepiece::NormalizerSpec::SharedCtor
    - sentencepiece::NormalizerSpec::RegisterArenaDtor
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::NormalizerSpec(::PROTOBUF_NAMESPACE_ID::Arena*
      arena)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NormalizerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1966,1
    - Dst: sentencepiece::NormalizerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1967,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1968,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1968,1
    - Dst: _internal_has_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1969,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1970,1
    - Dst: _internal_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1970,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1971,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1973,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1973,1
    - Dst: _internal_has_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1974,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1975,1
    - Dst: _internal_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1975,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1976,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1978,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1978,1
    - Dst: _internal_has_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1979,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1980,1
    - Dst: _internal_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1980,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1981,1
    - Dst: ::memcpy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1983,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1984,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1984,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1963
    functionDepth: 2
    functionLinenumber: 1963
    functionLinenumberEnd: 1987
    functionName: sentencepiece::NormalizerSpec::NormalizerSpec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 4
    functionsReached:
    - _internal_precompiled_charsmap
    - Set
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - _internal_has_normalization_rule_tsv
    - reinterpret_cast<char*>
    - _internal_name
    - _internal_normalization_rule_tsv
    - static_cast<size_t>
    - _internal_has_precompiled_charsmap
    - GetArena
    - ::memcpy
    - sentencepiece::NormalizerSpec::MergeFrom
    - _internal_has_name
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::NormalizerSpec(const NormalizerSpec& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1990,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1991,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1991,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1992,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1992,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1993,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:1993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1989
    functionDepth: 1
    functionLinenumber: 1989
    functionLinenumberEnd: 1997
    functionName: sentencepiece::NormalizerSpec::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::InitSCC
    - UnsafeSetDefault
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2001,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2003
    functionName: NormalizerSpec::~NormalizerSpec()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::~NormalizerSpec()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2006,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2006,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2007,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2007,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2008,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2008,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2009,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 2005
    functionDepth: 1
    functionLinenumber: 2005
    functionLinenumberEnd: 2010
    functionName: sentencepiece::NormalizerSpec::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - DestroyNoArena
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< NormalizerSpec* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2015
    functionName: sentencepiece::NormalizerSpec::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< NormalizerSpec* >
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2017
    functionName: sentencepiece::NormalizerSpec::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2020
    functionName: sentencepiece::NormalizerSpec::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2022,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 2021
    functionDepth: 1
    functionLinenumber: 2021
    functionLinenumberEnd: 2024
    functionName: '& NormalizerSpec::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: NormalizerSpec
    signature: NormalizerSpec & NormalizerSpec::default_instance()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NormalizerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2033,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2037,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2040,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2043,1
    - Dst: sentencepiece::NormalizerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2049,1
    - Dst: sentencepiece::NormalizerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2027
    functionDepth: 1
    functionLinenumber: 2027
    functionLinenumberEnd: 2051
    functionName: sentencepiece::NormalizerSpec::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::NormalizerSpec::Clear
    - ClearNonDefaultToEmpty
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::Clear()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2056,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2058,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2059,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2063,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2063,1
    - Dst: _internal_mutable_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2064,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2065,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2066,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2071,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2071,1
    - Dst: _internal_mutable_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2072,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2073,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2074,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2079,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2079,1
    - Dst: sentencepiece::NormalizerSpec::_Internal::set_has_add_dummy_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2080,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2081,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2082,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2087,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2087,1
    - Dst: sentencepiece::NormalizerSpec::_Internal::set_has_remove_extra_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2088,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2089,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2090,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2095,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2095,1
    - Dst: sentencepiece::NormalizerSpec::_Internal::set_has_escape_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2096,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2097,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2098,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2103,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2103,1
    - Dst: _internal_mutable_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2104,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2105,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2106,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2112,1
    - Dst: ParseField
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2116,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2117,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2118,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2121,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2122,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2124,1
    - Dst: Or
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2130,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2053
    functionDepth: 1
    functionLinenumber: 2053
    functionLinenumberEnd: 2136
    functionName: sentencepiece::NormalizerSpec::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::NormalizerSpec::_Internal::set_has_add_dummy_prefix
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - google::protobuf::internal::InlineGreedyStringParser
    - _internal_mutable_normalization_rule_tsv
    - CHK_
    - mutable_unknown_fields
    - google::protobuf::ReadVarint64
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - google::protobuf::ReadTag
    - _internal_mutable_precompiled_charsmap
    - sentencepiece::NormalizerSpec::_Internal::set_has_escape_whitespaces
    - PROTOBUF_PREDICT_TRUE
    - sentencepiece::NormalizerSpec::_Internal::set_has_remove_extra_whitespaces
    - _internal_mutable_name
    - ParseField
    - UnknownFieldParse
    - Or
    - internal_default_instance
    linkageType: ''
    returnType: char
    signature: char * NormalizerSpec::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2055
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2147,1
    - Dst: sentencepiece::NormalizerSpec::_internal_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2148,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteBytesMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2153,1
    - Dst: sentencepiece::NormalizerSpec::_internal_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2154,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2159,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2160,1
    - Dst: sentencepiece::NormalizerSpec::_internal_add_dummy_prefix
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2160,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2165,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2166,1
    - Dst: sentencepiece::NormalizerSpec::_internal_remove_extra_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2166,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2171,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2172,1
    - Dst: sentencepiece::NormalizerSpec::_internal_escape_whitespaces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2172,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2177,1
    - Dst: sentencepiece::NormalizerSpec::_internal_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2178,1
    - Dst: sentencepiece::NormalizerSpec::_InternalSerialize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2182,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2185,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2185,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2186,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2186,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2187,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2187,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2138
    functionDepth: 1
    functionLinenumber: 2138
    functionLinenumberEnd: 2191
    functionName: sentencepiece::NormalizerSpec::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::NormalizerSpec::_internal_precompiled_charsmap
    - sentencepiece::NormalizerSpec::_internal_name
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - sentencepiece::NormalizerSpec::_internal_add_dummy_prefix
    - sentencepiece::NormalizerSpec::_InternalSerialize
    - sentencepiece::NormalizerSpec::_internal_escape_whitespaces
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - sentencepiece::NormalizerSpec::_internal_remove_extra_whitespaces
    - unknown_fields
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
    - google::protobuf::internal::WireFormatLite::WriteBoolToArray
    - static_cast<int>
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteBytesMaybeAliased
    - sentencepiece::NormalizerSpec::_internal_normalization_rule_tsv
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * NormalizerSpec::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2197,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2208,1
    - Dst: sentencepiece::NormalizerSpec::_internal_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2209,1
    - Dst: google::protobuf::internal::WireFormatLite::BytesSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2215,1
    - Dst: sentencepiece::NormalizerSpec::_internal_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2216,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2222,1
    - Dst: sentencepiece::NormalizerSpec::_internal_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2223,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2242,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2242,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2243,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2245,1
    - Dst: sentencepiece::NormalizerSpec::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2246,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2248
    functionName: sentencepiece::NormalizerSpec::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::NormalizerSpec::_internal_precompiled_charsmap
    - sentencepiece::NormalizerSpec::_internal_name
    - google::protobuf::internal::WireFormatLite::BytesSize
    - google::protobuf::internal::WireFormatLite::StringSize
    - google::protobuf::internal::ToCachedSize
    - unknown_fields
    - sentencepiece::NormalizerSpec::SetCachedSize
    - ByteSize
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::NormalizerSpec::_internal_normalization_rule_tsv
    linkageType: ''
    returnType: size_t
    signature: size_t NormalizerSpec::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NormalizerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2252,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const NormalizerSpec*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2250
    functionDepth: 2
    functionLinenumber: 2250
    functionLinenumberEnd: 2254
    functionName: sentencepiece::NormalizerSpec::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::NormalizerSpec::MergeFrom
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const NormalizerSpec*>
    linkageType: ''
    returnType: void
    signature: "void NormalizerSpec::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2258,1
    - Dst: sentencepiece::NormalizerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2259,1
    - Dst: sentencepiece::NormalizerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2260,1
    - Dst: _internal_set_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2267,1
    - Dst: _internal_name
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2267,1
    - Dst: _internal_set_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2270,1
    - Dst: _internal_precompiled_charsmap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2270,1
    - Dst: _internal_set_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2273,1
    - Dst: _internal_normalization_rule_tsv
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2256
    functionDepth: 1
    functionLinenumber: 2256
    functionLinenumberEnd: 2286
    functionName: sentencepiece::NormalizerSpec::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 7
    functionsReached:
    - _internal_set_name
    - _internal_precompiled_charsmap
    - GOOGLE_DCHECK_NE
    - _internal_name
    - _internal_set_precompiled_charsmap
    - _internal_set_normalization_rule_tsv
    - sentencepiece::NormalizerSpec::MergeFrom
    - _internal_normalization_rule_tsv
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::MergeFrom(const NormalizerSpec& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NormalizerSpec::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2291,1
    - Dst: sentencepiece::NormalizerSpec::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - NormalizerSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2288
    functionDepth: 2
    functionLinenumber: 2288
    functionLinenumberEnd: 2293
    functionName: sentencepiece::NormalizerSpec::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::NormalizerSpec::MergeFrom
    - sentencepiece::NormalizerSpec::Clear
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::CopyFrom(const NormalizerSpec& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::NormalizerSpec::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2295
    functionDepth: 1
    functionLinenumber: 2295
    functionLinenumberEnd: 2301
    functionName: sentencepiece::NormalizerSpec::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::NormalizerSpec::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool NormalizerSpec::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2305,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2306,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2307,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2308,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2308,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2308,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2309,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2309,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2309,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2310,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2310,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2310,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2311,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2312,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - NormalizerSpec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2303
    functionDepth: 1
    functionLinenumber: 2303
    functionLinenumberEnd: 2314
    functionName: sentencepiece::NormalizerSpec::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - Swap
    - swap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void NormalizerSpec::InternalSwap(NormalizerSpec* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2318
    functionName: sentencepiece::NormalizerSpec::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string NormalizerSpec::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2328
    functionName: sentencepiece::SelfTestData_Sample::_Internal::set_has_input
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_input(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2331
    functionName: sentencepiece::SelfTestData_Sample::_Internal::set_has_expected
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_expected(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData_Sample::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2336,1
    - Dst: sentencepiece::SelfTestData_Sample::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2339
      start: 2334
    functionDepth: 2
    functionLinenumber: 2334
    functionLinenumberEnd: 2339
    functionName: sentencepiece::SelfTestData_Sample::SelfTestData_Sample
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SelfTestData_Sample::RegisterArenaDtor
    - sentencepiece::SelfTestData_Sample::SharedCtor
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::SelfTestData_Sample(::PROTOBUF_NAMESPACE_ID::Arena*
      arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData_Sample::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2343,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2344,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2344,1
    - Dst: _internal_has_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2345,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2346,1
    - Dst: _internal_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2346,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2347,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2349,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2349,1
    - Dst: _internal_has_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2350,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2351,1
    - Dst: _internal_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2351,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData_Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2340
    functionDepth: 2
    functionLinenumber: 2340
    functionLinenumberEnd: 2355
    functionName: sentencepiece::SelfTestData_Sample::SelfTestData_Sample
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::SelfTestData_Sample::MergeFrom
    - _internal_has_input
    - Set
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - _internal_input
    - GetArena
    - _internal_expected
    - _internal_has_expected
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::SelfTestData_Sample(const SelfTestData_Sample&
      from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2358,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2359,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2359,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2360,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2357
    functionDepth: 1
    functionLinenumber: 2357
    functionLinenumberEnd: 2361
    functionName: sentencepiece::SelfTestData_Sample::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::InitSCC
    - UnsafeSetDefault
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2365,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2363
    functionDepth: 0
    functionLinenumber: 2363
    functionLinenumberEnd: 2367
    functionName: SelfTestData_Sample::~SelfTestData_Sample()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::~SelfTestData_Sample()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2370,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2370,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2371,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2371,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2372,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2369
    functionDepth: 1
    functionLinenumber: 2369
    functionLinenumberEnd: 2373
    functionName: sentencepiece::SelfTestData_Sample::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - DestroyNoArena
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< SelfTestData_Sample* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2375
    functionDepth: 0
    functionLinenumber: 2375
    functionLinenumberEnd: 2378
    functionName: sentencepiece::SelfTestData_Sample::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< SelfTestData_Sample* >
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2380
    functionName: sentencepiece::SelfTestData_Sample::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2381
    functionDepth: 0
    functionLinenumber: 2381
    functionLinenumberEnd: 2383
    functionName: sentencepiece::SelfTestData_Sample::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2385,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2384
    functionDepth: 1
    functionLinenumber: 2384
    functionLinenumberEnd: 2387
    functionName: '& SelfTestData_Sample::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: SelfTestData_Sample
    signature: SelfTestData_Sample & SelfTestData_Sample::default_instance()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2399,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2402,1
    - Dst: sentencepiece::SelfTestData_Sample::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2405,1
    - Dst: sentencepiece::SelfTestData_Sample::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2390
    functionDepth: 1
    functionLinenumber: 2390
    functionLinenumberEnd: 2407
    functionName: sentencepiece::SelfTestData_Sample::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached:
    - ClearNonDefaultToEmpty
    - sentencepiece::SelfTestData_Sample::Clear
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::Clear()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2412,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2414,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2415,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2419,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2419,1
    - Dst: _internal_mutable_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2420,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2421,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2422,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2427,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2427,1
    - Dst: _internal_mutable_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2428,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2429,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2430,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2436,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2439,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2440,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2442,1
    - Dst: Or
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2448,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2409
    functionDepth: 1
    functionLinenumber: 2409
    functionLinenumberEnd: 2454
    functionName: sentencepiece::SelfTestData_Sample::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - _internal_mutable_expected
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - google::protobuf::internal::InlineGreedyStringParser
    - UnknownFieldParse
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - Or
    - google::protobuf::ReadTag
    - PROTOBUF_PREDICT_TRUE
    - CHK_
    - _internal_mutable_input
    linkageType: ''
    returnType: char
    signature: char * SelfTestData_Sample::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2411
      start: 2410
    functionDepth: 0
    functionLinenumber: 2410
    functionLinenumberEnd: 2411
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2465,1
    - Dst: sentencepiece::SelfTestData_Sample::_internal_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2466,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2471,1
    - Dst: sentencepiece::SelfTestData_Sample::_internal_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2472,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2475,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2475,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2476,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2476,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2477,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2456
    functionDepth: 0
    functionLinenumber: 2456
    functionLinenumberEnd: 2481
    functionName: sentencepiece::SelfTestData_Sample::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - sentencepiece::SelfTestData_Sample::_internal_expected
    - unknown_fields
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
    - sentencepiece::SelfTestData_Sample::_internal_input
    - static_cast<int>
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * SelfTestData_Sample::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2496,1
    - Dst: sentencepiece::SelfTestData_Sample::_internal_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2497,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2503,1
    - Dst: sentencepiece::SelfTestData_Sample::_internal_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2504,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2508,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2508,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2509,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2511,1
    - Dst: sentencepiece::SelfTestData_Sample::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2483
    functionDepth: 1
    functionLinenumber: 2483
    functionLinenumberEnd: 2514
    functionName: sentencepiece::SelfTestData_Sample::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SelfTestData_Sample::SetCachedSize
    - google::protobuf::internal::WireFormatLite::StringSize
    - google::protobuf::internal::ToCachedSize
    - sentencepiece::SelfTestData_Sample::_internal_expected
    - unknown_fields
    - sentencepiece::SelfTestData_Sample::_internal_input
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: size_t
    signature: size_t SelfTestData_Sample::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData_Sample::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2518,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SelfTestData_Sample*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2516
    functionDepth: 2
    functionLinenumber: 2516
    functionLinenumberEnd: 2520
    functionName: sentencepiece::SelfTestData_Sample::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SelfTestData_Sample*>
    - sentencepiece::SelfTestData_Sample::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void SelfTestData_Sample::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2524,1
    - Dst: sentencepiece::SelfTestData_Sample::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2525,1
    - Dst: _internal_set_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2532,1
    - Dst: _internal_input
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2532,1
    - Dst: _internal_set_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2535,1
    - Dst: _internal_expected
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData_Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2522
    functionDepth: 1
    functionLinenumber: 2522
    functionLinenumberEnd: 2538
    functionName: sentencepiece::SelfTestData_Sample::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 7
    functionsReached:
    - _internal_set_input
    - GOOGLE_DCHECK_NE
    - sentencepiece::SelfTestData_Sample::MergeFrom
    - _internal_input
    - _internal_set_expected
    - _internal_expected
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::MergeFrom(const SelfTestData_Sample& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData_Sample::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2543,1
    - Dst: sentencepiece::SelfTestData_Sample::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData_Sample
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2540
    functionDepth: 2
    functionLinenumber: 2540
    functionLinenumberEnd: 2545
    functionName: sentencepiece::SelfTestData_Sample::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SelfTestData_Sample::Clear
    - sentencepiece::SelfTestData_Sample::MergeFrom
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::CopyFrom(const SelfTestData_Sample& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2547
    functionDepth: 0
    functionLinenumber: 2547
    functionLinenumberEnd: 2549
    functionName: sentencepiece::SelfTestData_Sample::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool SelfTestData_Sample::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2553,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2554,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2555,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2555,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2555,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2556,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2556,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - SelfTestData_Sample*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2551
    functionDepth: 1
    functionLinenumber: 2551
    functionLinenumberEnd: 2557
    functionName: sentencepiece::SelfTestData_Sample::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - Swap
    - swap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SelfTestData_Sample::InternalSwap(SelfTestData_Sample* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2561
    functionName: sentencepiece::SelfTestData_Sample::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SelfTestData_Sample::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2574,1
    - Dst: sentencepiece::SelfTestData::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2570
    functionDepth: 2
    functionLinenumber: 2570
    functionLinenumberEnd: 2577
    functionName: sentencepiece::SelfTestData::SelfTestData
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SelfTestData::RegisterArenaDtor
    - sentencepiece::SelfTestData::SharedCtor
    linkageType: ''
    returnType: void
    signature: void SelfTestData::SelfTestData(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2581,1
    - Dst: sentencepiece::SelfTestData::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2578
    functionDepth: 2
    functionLinenumber: 2578
    functionLinenumberEnd: 2584
    functionName: sentencepiece::SelfTestData::SelfTestData
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SelfTestData::MergeFrom
    linkageType: ''
    returnType: void
    signature: void SelfTestData::SelfTestData(const SelfTestData& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2588
      start: 2586
    functionDepth: 1
    functionLinenumber: 2586
    functionLinenumberEnd: 2588
    functionName: sentencepiece::SelfTestData::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::InitSCC
    linkageType: ''
    returnType: void
    signature: void SelfTestData::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2592,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2590
    functionDepth: 0
    functionLinenumber: 2590
    functionLinenumberEnd: 2594
    functionName: SelfTestData::~SelfTestData()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void SelfTestData::~SelfTestData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2597,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2596
    functionDepth: 1
    functionLinenumber: 2596
    functionLinenumberEnd: 2598
    functionName: sentencepiece::SelfTestData::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void SelfTestData::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< SelfTestData* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2603
    functionName: sentencepiece::SelfTestData::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< SelfTestData* >
    linkageType: ''
    returnType: void
    signature: void SelfTestData::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2604
    functionDepth: 0
    functionLinenumber: 2604
    functionLinenumberEnd: 2605
    functionName: sentencepiece::SelfTestData::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SelfTestData::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2608
    functionName: sentencepiece::SelfTestData::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void SelfTestData::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2610,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2609
    functionDepth: 1
    functionLinenumber: 2609
    functionLinenumberEnd: 2612
    functionName: '& SelfTestData::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: SelfTestData
    signature: SelfTestData & SelfTestData::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2621,1
    - Dst: sentencepiece::SelfTestData::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2622,1
    - Dst: sentencepiece::SelfTestData::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2624
      start: 2615
    functionDepth: 1
    functionLinenumber: 2615
    functionLinenumberEnd: 2624
    functionName: sentencepiece::SelfTestData::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::SelfTestData::Clear
    linkageType: ''
    returnType: void
    signature: void SelfTestData::Clear()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2628,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2630,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2631,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2635,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2635,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2639,1
    - Dst: _internal_add_samples
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2639,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2640,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2641,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2642,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2648,1
    - Dst: ParseField
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2652,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2653,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2654,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2657,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2658,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2660,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2626
    functionDepth: 1
    functionLinenumber: 2626
    functionLinenumberEnd: 2671
    functionName: sentencepiece::SelfTestData::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - ParseField
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - UnknownFieldParse
    - google::protobuf::ReadTag
    - internal_default_instance
    - _internal_add_samples
    - PROTOBUF_PREDICT_TRUE
    - CHK_
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
    linkageType: ''
    returnType: char
    signature: char * SelfTestData::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2628
      start: 2627
    functionDepth: 0
    functionLinenumber: 2627
    functionLinenumberEnd: 2628
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2681,1
    - Dst: sentencepiece::SelfTestData::_internal_samples_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2681,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2682,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2683,1
    - Dst: sentencepiece::SelfTestData::_internal_samples
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2684,1
    - Dst: sentencepiece::SelfTestData::_InternalSerialize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2688,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2691,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2691,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2692,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2692,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2693,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2673
    functionDepth: 1
    functionLinenumber: 2673
    functionLinenumberEnd: 2697
    functionName: sentencepiece::SelfTestData::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - sentencepiece::SelfTestData::_InternalSerialize
    - "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
    - static_cast<unsigned int>
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - sentencepiece::SelfTestData::_internal_samples
    - unknown_fields
    - static_cast<int>
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::SelfTestData::_internal_samples_size
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * SelfTestData::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2703,1
    - Dst: sentencepiece::SelfTestData::_internal_samples_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2710,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2713,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2716,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2716,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2717,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2719,1
    - Dst: sentencepiece::SelfTestData::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2699
    functionDepth: 1
    functionLinenumber: 2699
    functionLinenumberEnd: 2722
    functionName: sentencepiece::SelfTestData::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToCachedSize
    - unknown_fields
    - ByteSize
    - sentencepiece::SelfTestData::SetCachedSize
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::SelfTestData::_internal_samples_size
    - google::protobuf::internal::WireFormatLite::MessageSize
    linkageType: ''
    returnType: size_t
    signature: size_t SelfTestData::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2726,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SelfTestData*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2728
      start: 2724
    functionDepth: 2
    functionLinenumber: 2724
    functionLinenumberEnd: 2728
    functionName: sentencepiece::SelfTestData::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SelfTestData::MergeFrom
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const SelfTestData*>
    linkageType: ''
    returnType: void
    signature: "void SelfTestData::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2732,1
    - Dst: sentencepiece::SelfTestData::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2733,1
    - Dst: sentencepiece::SelfTestData::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2734,1
    - Dst: sentencepiece::SelfTestData::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2730
    functionDepth: 1
    functionLinenumber: 2730
    functionLinenumberEnd: 2739
    functionName: sentencepiece::SelfTestData::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 7
    functionsReached:
    - GOOGLE_DCHECK_NE
    - sentencepiece::SelfTestData::MergeFrom
    linkageType: ''
    returnType: void
    signature: void SelfTestData::MergeFrom(const SelfTestData& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2744,1
    - Dst: sentencepiece::SelfTestData::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - SelfTestData
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2746
      start: 2741
    functionDepth: 2
    functionLinenumber: 2741
    functionLinenumberEnd: 2746
    functionName: sentencepiece::SelfTestData::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SelfTestData::MergeFrom
    - sentencepiece::SelfTestData::Clear
    linkageType: ''
    returnType: void
    signature: void SelfTestData::CopyFrom(const SelfTestData& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SelfTestData::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2748
    functionDepth: 1
    functionLinenumber: 2748
    functionLinenumberEnd: 2754
    functionName: sentencepiece::SelfTestData::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SelfTestData::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool SelfTestData::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2758,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2759,1
    - Dst: sentencepiece::SelfTestData::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - SelfTestData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2756
    functionDepth: 1
    functionLinenumber: 2756
    functionLinenumberEnd: 2761
    functionName: sentencepiece::SelfTestData::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SelfTestData::InternalSwap
    - Swap
    linkageType: ''
    returnType: void
    signature: void SelfTestData::InternalSwap(SelfTestData* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2765
    functionName: sentencepiece::SelfTestData::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SelfTestData::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2775
    functionName: sentencepiece::ModelProto_SentencePiece::_Internal::set_has_piece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_piece(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2778
      start: 2776
    functionDepth: 0
    functionLinenumber: 2776
    functionLinenumberEnd: 2778
    functionName: sentencepiece::ModelProto_SentencePiece::_Internal::set_has_score
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_score(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2781
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2781
    functionName: sentencepiece::ModelProto_SentencePiece::_Internal::set_has_type
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_type(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto_SentencePiece::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2787,1
    - Dst: sentencepiece::ModelProto_SentencePiece::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2784
    functionDepth: 2
    functionLinenumber: 2784
    functionLinenumberEnd: 2790
    functionName: sentencepiece::ModelProto_SentencePiece::ModelProto_SentencePiece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::ModelProto_SentencePiece::SharedCtor
    - sentencepiece::ModelProto_SentencePiece::RegisterArenaDtor
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::ModelProto_SentencePiece(::PROTOBUF_NAMESPACE_ID::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2794,1
    - Dst: sentencepiece::ModelProto_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2795,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2796,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2796,1
    - Dst: _internal_has_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2797,1
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2798,1
    - Dst: _internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2798,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2799,1
    - Dst: ::memcpy
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2801,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2802,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2802,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2791
    functionDepth: 2
    functionLinenumber: 2791
    functionLinenumberEnd: 2805
    functionName: sentencepiece::ModelProto_SentencePiece::ModelProto_SentencePiece
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - Set
    - UnsafeSetDefault
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - reinterpret_cast<char*>
    - _internal_piece
    - _internal_has_piece
    - static_cast<size_t>
    - ::memcpy
    - GetArena
    - sentencepiece::ModelProto_SentencePiece::MergeFrom
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::ModelProto_SentencePiece(const ModelProto_SentencePiece&
      from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2808,1
    - Dst: UnsafeSetDefault
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2809,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2807
    functionDepth: 1
    functionLinenumber: 2807
    functionLinenumberEnd: 2812
    functionName: sentencepiece::ModelProto_SentencePiece::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::InitSCC
    - UnsafeSetDefault
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2816,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2814
    functionDepth: 0
    functionLinenumber: 2814
    functionLinenumberEnd: 2818
    functionName: ModelProto_SentencePiece::~ModelProto_SentencePiece()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::~ModelProto_SentencePiece()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2821,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2821,1
    - Dst: DestroyNoArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2822,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2823
      start: 2820
    functionDepth: 1
    functionLinenumber: 2820
    functionLinenumberEnd: 2823
    functionName: sentencepiece::ModelProto_SentencePiece::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - DestroyNoArena
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< ModelProto_SentencePiece* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2825
    functionDepth: 0
    functionLinenumber: 2825
    functionLinenumberEnd: 2828
    functionName: sentencepiece::ModelProto_SentencePiece::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< ModelProto_SentencePiece* >
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2830
    functionName: sentencepiece::ModelProto_SentencePiece::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2831
    functionDepth: 0
    functionLinenumber: 2831
    functionLinenumberEnd: 2833
    functionName: sentencepiece::ModelProto_SentencePiece::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2835,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2834
    functionDepth: 1
    functionLinenumber: 2834
    functionLinenumberEnd: 2837
    functionName: '& ModelProto_SentencePiece::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: ModelProto_SentencePiece
    signature: ModelProto_SentencePiece & ModelProto_SentencePiece::default_instance()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2846,1
    - Dst: ClearNonDefaultToEmpty
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2849,1
    - Dst: sentencepiece::ModelProto_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2855,1
    - Dst: sentencepiece::ModelProto_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2857
      start: 2840
    functionDepth: 1
    functionLinenumber: 2840
    functionLinenumberEnd: 2857
    functionName: sentencepiece::ModelProto_SentencePiece::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached:
    - ClearNonDefaultToEmpty
    - sentencepiece::ModelProto_SentencePiece::Clear
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::Clear()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2862,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2864,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2865,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2869,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2869,1
    - Dst: _internal_mutable_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2870,1
    - Dst: google::protobuf::internal::InlineGreedyStringParser
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2871,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2872,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2877,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2877,1
    - Dst: sentencepiece::ModelProto_SentencePiece::_Internal::set_has_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2878,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2879,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2885,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2885,1
    - Dst: google::protobuf::ReadVarint64
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2886,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2887,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2888,1
    - Dst: sentencepiece::ModelProto_SentencePiece_Type_IsValid
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2888,1
    - Dst: _internal_set_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2889,1
    - Dst: static_cast<::sentencepiece::ModelProto_SentencePiece_Type>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2889,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2891,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2891,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2898,1
    - Dst: ParseField
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2902,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2903,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2904,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2907,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2908,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2910,1
    - Dst: Or
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2916,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2922
      start: 2859
    functionDepth: 1
    functionLinenumber: 2859
    functionLinenumberEnd: 2922
    functionName: sentencepiece::ModelProto_SentencePiece::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - google::protobuf::internal::InlineGreedyStringParser
    - CHK_
    - mutable_unknown_fields
    - sentencepiece::ModelProto_SentencePiece::_Internal::set_has_score
    - static_cast<::sentencepiece::ModelProto_SentencePiece_Type>
    - _internal_mutable_piece
    - google::protobuf::ReadVarint64
    - google::protobuf::internal::WriteVarint
    - _internal_set_type
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - google::protobuf::ReadTag
    - PROTOBUF_PREDICT_TRUE
    - ParseField
    - UnknownFieldParse
    - Or
    - sentencepiece::ModelProto_SentencePiece_Type_IsValid
    - internal_default_instance
    linkageType: ''
    returnType: char
    signature: char * ModelProto_SentencePiece::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2861
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2861
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2933,1
    - Dst: sentencepiece::ModelProto_SentencePiece::_internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2934,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2939,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2940,1
    - Dst: sentencepiece::ModelProto_SentencePiece::_internal_score
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2940,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2945,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumToArray
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2946,1
    - Dst: sentencepiece::ModelProto_SentencePiece::_internal_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2947,1
    - Dst: sentencepiece::ModelProto_SentencePiece::_InternalSerialize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2951,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2954,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2954,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2955,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2955,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2956,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2960
      start: 2924
    functionDepth: 1
    functionLinenumber: 2924
    functionLinenumberEnd: 2960
    functionName: sentencepiece::ModelProto_SentencePiece::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - sentencepiece::ModelProto_SentencePiece::_internal_score
    - sentencepiece::ModelProto_SentencePiece::_internal_type
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - unknown_fields
    - sentencepiece::ModelProto_SentencePiece::_internal_piece
    - google::protobuf::internal::WireFormatLite::WriteFloatToArray
    - google::protobuf::internal::WireFormatLite::WriteEnumToArray
    - sentencepiece::ModelProto_SentencePiece::_InternalSerialize
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteStringMaybeAliased
    - static_cast<int>
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * ModelProto_SentencePiece::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2966,1
    - Dst: google::protobuf::internal::WireFormatLite::StringSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2977,1
    - Dst: sentencepiece::ModelProto_SentencePiece::_internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2978,1
    - Dst: google::protobuf::internal::WireFormatLite::EnumSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2989,1
    - Dst: sentencepiece::ModelProto_SentencePiece::_internal_type
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2989,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2993,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2993,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2994,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2996,1
    - Dst: sentencepiece::ModelProto_SentencePiece::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:2997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2999
      start: 2962
    functionDepth: 1
    functionLinenumber: 2962
    functionLinenumberEnd: 2999
    functionName: sentencepiece::ModelProto_SentencePiece::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::StringSize
    - google::protobuf::internal::ToCachedSize
    - sentencepiece::ModelProto_SentencePiece::_internal_type
    - sentencepiece::ModelProto_SentencePiece::SetCachedSize
    - unknown_fields
    - sentencepiece::ModelProto_SentencePiece::_internal_piece
    - google::protobuf::internal::WireFormatLite::EnumSize
    - ByteSize
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: size_t
    signature: size_t ModelProto_SentencePiece::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3003,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const ModelProto_SentencePiece*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 3001
    functionDepth: 2
    functionLinenumber: 3001
    functionLinenumberEnd: 3005
    functionName: sentencepiece::ModelProto_SentencePiece::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::ModelProto_SentencePiece::MergeFrom
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const ModelProto_SentencePiece*>
    linkageType: ''
    returnType: void
    signature: "void ModelProto_SentencePiece::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3009,1
    - Dst: sentencepiece::ModelProto_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3010,1
    - Dst: sentencepiece::ModelProto_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3011,1
    - Dst: _internal_set_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3018,1
    - Dst: _internal_piece
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3018,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 3007
    functionDepth: 1
    functionLinenumber: 3007
    functionLinenumberEnd: 3028
    functionName: sentencepiece::ModelProto_SentencePiece::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 7
    functionsReached:
    - sentencepiece::ModelProto_SentencePiece::MergeFrom
    - GOOGLE_DCHECK_NE
    - _internal_piece
    - _internal_set_piece
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::MergeFrom(const ModelProto_SentencePiece&
      from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto_SentencePiece::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3033,1
    - Dst: sentencepiece::ModelProto_SentencePiece::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto_SentencePiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3035
      start: 3030
    functionDepth: 2
    functionLinenumber: 3030
    functionLinenumberEnd: 3035
    functionName: sentencepiece::ModelProto_SentencePiece::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::ModelProto_SentencePiece::MergeFrom
    - sentencepiece::ModelProto_SentencePiece::Clear
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::CopyFrom(const ModelProto_SentencePiece&
      from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto_SentencePiece::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3043
      start: 3037
    functionDepth: 1
    functionLinenumber: 3037
    functionLinenumberEnd: 3043
    functionName: sentencepiece::ModelProto_SentencePiece::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::ModelProto_SentencePiece::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool ModelProto_SentencePiece::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3047,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3048,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3049,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3050,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3050,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3050,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3051,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - ModelProto_SentencePiece*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3045
    functionDepth: 1
    functionLinenumber: 3045
    functionLinenumberEnd: 3053
    functionName: sentencepiece::ModelProto_SentencePiece::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - Swap
    - swap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ModelProto_SentencePiece::InternalSwap(ModelProto_SentencePiece*
      other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3055
    functionDepth: 0
    functionLinenumber: 3055
    functionLinenumberEnd: 3057
    functionName: sentencepiece::ModelProto_SentencePiece::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ModelProto_SentencePiece::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 3066
    functionDepth: 0
    functionLinenumber: 3066
    functionLinenumberEnd: 3068
    functionName: sentencepiece::ModelProto::_Internal::set_has_trainer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_trainer_spec(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3072
      start: 3070
    functionDepth: 0
    functionLinenumber: 3070
    functionLinenumberEnd: 3072
    functionName: sentencepiece::ModelProto::_Internal::set_has_normalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_normalizer_spec(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3076
      start: 3074
    functionDepth: 0
    functionLinenumber: 3074
    functionLinenumberEnd: 3076
    functionName: sentencepiece::ModelProto::_Internal::set_has_self_test_data
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_self_test_data(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_bits
    argTypes:
    - HasBits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3078
    functionDepth: 0
    functionLinenumber: 3078
    functionLinenumberEnd: 3080
    functionName: sentencepiece::ModelProto::_Internal::set_has_denormalizer_spec
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_denormalizer_spec(HasBits* has_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3086
      start: 3083
    functionDepth: 0
    functionLinenumber: 3083
    functionLinenumberEnd: 3086
    functionName: '&

      ModelProto::_Internal::trainer_spec(const ModelProto* msg)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::sentencepiece::TrainerSpec
    signature: '::sentencepiece::TrainerSpec &

      ModelProto::_Internal::trainer_spec(const ModelProto* msg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3087
    functionDepth: 0
    functionLinenumber: 3087
    functionLinenumberEnd: 3090
    functionName: '&

      ModelProto::_Internal::normalizer_spec(const ModelProto* msg)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: '::sentencepiece::NormalizerSpec &

      ModelProto::_Internal::normalizer_spec(const ModelProto* msg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3094
    functionName: '&

      ModelProto::_Internal::self_test_data(const ModelProto* msg)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::sentencepiece::SelfTestData
    signature: '::sentencepiece::SelfTestData &

      ModelProto::_Internal::self_test_data(const ModelProto* msg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3098
      start: 3095
    functionDepth: 0
    functionLinenumber: 3095
    functionLinenumberEnd: 3098
    functionName: '&

      ModelProto::_Internal::denormalizer_spec(const ModelProto* msg)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::sentencepiece::NormalizerSpec
    signature: '::sentencepiece::NormalizerSpec &

      ModelProto::_Internal::denormalizer_spec(const ModelProto* msg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto::SharedCtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3103,1
    - Dst: sentencepiece::ModelProto::RegisterArenaDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3106
      start: 3099
    functionDepth: 2
    functionLinenumber: 3099
    functionLinenumberEnd: 3106
    functionName: sentencepiece::ModelProto::ModelProto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - sentencepiece::ModelProto::RegisterArenaDtor
    - sentencepiece::ModelProto::SharedCtor
    linkageType: ''
    returnType: void
    signature: void ModelProto::ModelProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3111,1
    - Dst: sentencepiece::ModelProto::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3112,1
    - Dst: _internal_has_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3113,1
    - Dst: ::sentencepiece::TrainerSpec::TrainerSpec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3114,1
    - Dst: _internal_has_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3118,1
    - Dst: ::sentencepiece::NormalizerSpec::NormalizerSpec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3119,1
    - Dst: _internal_has_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3123,1
    - Dst: ::sentencepiece::SelfTestData::SelfTestData
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3124,1
    - Dst: _internal_has_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3128,1
    - Dst: ::sentencepiece::NormalizerSpec::NormalizerSpec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3107
    functionDepth: 2
    functionLinenumber: 3107
    functionLinenumberEnd: 3134
    functionName: sentencepiece::ModelProto::ModelProto
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - _internal_has_self_test_data
    - _internal_has_normalizer_spec
    - _internal_has_trainer_spec
    - _internal_has_denormalizer_spec
    - sentencepiece::ModelProto::MergeFrom
    - ::sentencepiece::SelfTestData::SelfTestData
    - ::sentencepiece::NormalizerSpec::NormalizerSpec
    - ::sentencepiece::TrainerSpec::TrainerSpec
    linkageType: ''
    returnType: void
    signature: void ModelProto::ModelProto(const ModelProto& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3137,1
    - Dst: ::memset
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3138,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3138,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3138,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3139,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3139,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3140,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3140,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3142
      start: 3136
    functionDepth: 1
    functionLinenumber: 3136
    functionLinenumberEnd: 3142
    functionName: sentencepiece::ModelProto::SharedCtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - ::memset
    - static_cast<size_t>
    - google::protobuf::InitSCC
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void ModelProto::SharedCtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SharedDtor
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3146,1
    - Dst: Delete
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3148
      start: 3144
    functionDepth: 0
    functionLinenumber: 3144
    functionLinenumberEnd: 3148
    functionName: ModelProto::~ModelProto()
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - SharedDtor
    - Delete
    linkageType: ''
    returnType: void
    signature: void ModelProto::~ModelProto()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3151,1
    - Dst: GetArena
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3151,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3152,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3153,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3154,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3156
      start: 3150
    functionDepth: 1
    functionLinenumber: 3150
    functionLinenumberEnd: 3156
    functionName: sentencepiece::ModelProto::SharedDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - internal_default_instance
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ModelProto::SharedDtor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast< ModelProto* >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3161
      start: 3158
    functionDepth: 0
    functionLinenumber: 3158
    functionLinenumberEnd: 3161
    functionName: sentencepiece::ModelProto::ArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast< ModelProto* >
    linkageType: ''
    returnType: void
    signature: void ModelProto::ArenaDtor(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3162
    functionDepth: 0
    functionLinenumber: 3162
    functionLinenumberEnd: 3163
    functionName: sentencepiece::ModelProto::RegisterArenaDtor
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ModelProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Set
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3166
      start: 3164
    functionDepth: 0
    functionLinenumber: 3164
    functionLinenumberEnd: 3166
    functionName: sentencepiece::ModelProto::SetCachedSize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 1
    functionsReached:
    - Set
    linkageType: ''
    returnType: void
    signature: void ModelProto::SetCachedSize(int size) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InitSCC
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3168,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3170
      start: 3167
    functionDepth: 1
    functionLinenumber: 3167
    functionLinenumberEnd: 3170
    functionName: '& ModelProto::default_instance()'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InitSCC
    - internal_default_instance
    linkageType: ''
    returnType: ModelProto
    signature: ModelProto & ModelProto::default_instance()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3179,1
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3180,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3184,1
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3185,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3188,1
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3189,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3192,1
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3193,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3196,1
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3197,1
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3200,1
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3173
    functionDepth: 1
    functionLinenumber: 3173
    functionLinenumberEnd: 3202
    functionName: sentencepiece::ModelProto::Clear
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 3
    functionsReached:
    - sentencepiece::ModelProto::Clear
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: void ModelProto::Clear()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3207,1
    - Dst: google::protobuf::ReadTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3209,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3210,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3214,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3214,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3218,1
    - Dst: _internal_add_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3218,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3219,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3220,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3221,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3226,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3226,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3227,1
    - Dst: _internal_mutable_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3227,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3228,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3233,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3233,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3234,1
    - Dst: _internal_mutable_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3234,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3235,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3240,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3240,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3241,1
    - Dst: _internal_mutable_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3241,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3242,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3247,1
    - Dst: static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3247,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3248,1
    - Dst: _internal_mutable_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3248,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3249,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3255,1
    - Dst: ParseField
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3259,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3260,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3261,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3264,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3265,1
    - Dst: CHK_
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3267,1
    - Dst: Or
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3273,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3279
      start: 3204
    functionDepth: 1
    functionLinenumber: 3204
    functionLinenumberEnd: 3279
    functionName: sentencepiece::ModelProto::_InternalParse
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::Done
    - CHK_
    - mutable_unknown_fields
    - ::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::ParseMessage
    - static_cast<::PROTOBUF_NAMESPACE_ID::uint8>
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::SetLastTag
    - _internal_mutable_denormalizer_spec
    - google::protobuf::ReadTag
    - _internal_add_pieces
    - PROTOBUF_PREDICT_TRUE
    - ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*::DataAvailable
    - _internal_mutable_normalizer_spec
    - ParseField
    - _internal_mutable_self_test_data
    - UnknownFieldParse
    - Or
    - internal_default_instance
    - _internal_mutable_trainer_spec
    linkageType: ''
    returnType: char
    signature: char * ModelProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3206
      start: 3205
    functionDepth: 0
    functionLinenumber: 3205
    functionLinenumberEnd: 3206
    functionName: CHK_
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHK_(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3289,1
    - Dst: sentencepiece::ModelProto::_internal_pieces_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3289,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3290,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3291,1
    - Dst: sentencepiece::ModelProto::_internal_pieces
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3292,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3298,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3299,1
    - Dst: ModelProto::_internal_has_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3301,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3306,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3307,1
    - Dst: sentencepiece::SentencePieceNormalizer::mutable_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3309,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3314,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3315,1
    - Dst: ModelProto::_internal_has_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3317,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3322,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3323,1
    - Dst: ModelProto::_internal_has_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3325,1
    - Dst: sentencepiece::ModelProto::_InternalSerialize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3329,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3332,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3332,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3333,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3333,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3334,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::uint8*
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3338
      start: 3281
    functionDepth: 1
    functionLinenumber: 3281
    functionLinenumberEnd: 3338
    functionName: sentencepiece::ModelProto::_InternalSerialize
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::WriteRaw
    - "::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::\n      InternalWriteMessage"
    - sentencepiece::ModelProto::_InternalSerialize
    - static_cast<unsigned int>
    - ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*::EnsureSpace
    - ModelProto::_internal_has_denormalizer_spec
    - unknown_fields
    - sentencepiece::ModelProto::_internal_pieces_size
    - static_cast<int>
    - ModelProto::_internal_has_trainer_spec
    - PROTOBUF_PREDICT_FALSE
    - sentencepiece::ModelProto::_internal_pieces
    - have_unknown_fields
    - sentencepiece::SentencePieceNormalizer::mutable_normalizer_spec
    - ModelProto::_internal_has_self_test_data
    linkageType: ''
    returnType: ::PROTOBUF_NAMESPACE_ID::uint8
    signature: "::PROTOBUF_NAMESPACE_ID::uint8 * ModelProto::_InternalSerialize(\n
      \   ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream*
      stream) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3344,1
    - Dst: sentencepiece::ModelProto::_internal_pieces_size
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3351,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3354,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3362,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3369,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3376,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3383,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3388,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3388,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3389,1
    - Dst: google::protobuf::internal::ToCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3391,1
    - Dst: sentencepiece::ModelProto::SetCachedSize
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3394
      start: 3340
    functionDepth: 1
    functionLinenumber: 3340
    functionLinenumberEnd: 3394
    functionName: sentencepiece::ModelProto::ByteSizeLong
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToCachedSize
    - unknown_fields
    - sentencepiece::ModelProto::SetCachedSize
    - sentencepiece::ModelProto::_internal_pieces_size
    - ByteSize
    - have_unknown_fields
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::WireFormatLite::MessageSize
    linkageType: ''
    returnType: size_t
    signature: size_t ModelProto::ByteSizeLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3398,1
    - Dst: ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const ModelProto*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ::PROTOBUF_NAMESPACE_ID::MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3400
      start: 3396
    functionDepth: 2
    functionLinenumber: 3396
    functionLinenumberEnd: 3400
    functionName: sentencepiece::ModelProto::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - ::PROTOBUF_NAMESPACE_ID::internal::DownCast<const ModelProto*>
    - sentencepiece::ModelProto::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void ModelProto::CheckTypeAndMergeFrom(\n    const ::PROTOBUF_NAMESPACE_ID::MessageLite&
      from)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3404,1
    - Dst: sentencepiece::ModelProto::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3405,1
    - Dst: sentencepiece::ModelProto::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3406,1
    - Dst: sentencepiece::ModelProto::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3410,1
    - Dst: _internal_mutable_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3414,1
    - Dst: _internal_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3414,1
    - Dst: _internal_mutable_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3417,1
    - Dst: _internal_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3417,1
    - Dst: _internal_mutable_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3420,1
    - Dst: _internal_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3420,1
    - Dst: _internal_mutable_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3423,1
    - Dst: _internal_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3426
      start: 3402
    functionDepth: 1
    functionLinenumber: 3402
    functionLinenumberEnd: 3426
    functionName: sentencepiece::ModelProto::MergeFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 7
    functionsReached:
    - _internal_normalizer_spec
    - GOOGLE_DCHECK_NE
    - _internal_trainer_spec
    - _internal_mutable_normalizer_spec
    - _internal_mutable_self_test_data
    - sentencepiece::ModelProto::MergeFrom
    - _internal_denormalizer_spec
    - _internal_mutable_denormalizer_spec
    - _internal_self_test_data
    - _internal_mutable_trainer_spec
    linkageType: ''
    returnType: void
    signature: void ModelProto::MergeFrom(const ModelProto& from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto::Clear
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3431,1
    - Dst: sentencepiece::ModelProto::MergeFrom
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - ModelProto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3433
      start: 3428
    functionDepth: 2
    functionLinenumber: 3428
    functionLinenumberEnd: 3433
    functionName: sentencepiece::ModelProto::CopyFrom
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::ModelProto::Clear
    - sentencepiece::ModelProto::MergeFrom
    linkageType: ''
    returnType: void
    signature: void ModelProto::CopyFrom(const ModelProto& from)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::ModelProto::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3436,1
    - Dst: google::protobuf::internal::AllAreInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3440,1
    - Dst: _internal_has_trainer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3441,1
    - Dst: sentencepiece::ModelProto::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3442,1
    - Dst: _internal_has_normalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3444,1
    - Dst: sentencepiece::ModelProto::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3445,1
    - Dst: _internal_has_self_test_data
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3447,1
    - Dst: sentencepiece::ModelProto::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3448,1
    - Dst: _internal_has_denormalizer_spec
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3450,1
    - Dst: sentencepiece::ModelProto::IsInitialized
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3451,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3454
      start: 3435
    functionDepth: 1
    functionLinenumber: 3435
    functionLinenumberEnd: 3454
    functionName: sentencepiece::ModelProto::IsInitialized
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - _internal_has_self_test_data
    - _internal_has_normalizer_spec
    - _internal_has_trainer_spec
    - _internal_has_denormalizer_spec
    - sentencepiece::ModelProto::IsInitialized
    - google::protobuf::internal::AllAreInitialized
    linkageType: ''
    returnType: bool
    signature: bool ModelProto::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3458,1
    - Dst: Swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3459,1
    - Dst: swap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3460,1
    - Dst: sentencepiece::ModelProto::InternalSwap
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3461,1
    - Dst: PROTOBUF_FIELD_OFFSET
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3463,1
    - Dst: PROTOBUF_FIELD_OFFSET
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3465,1
    - Dst: "::PROTOBUF_NAMESPACE_ID::internal::memswap<\n      PROTOBUF_FIELD_OFFSET(ModelProto,
        denormalizer_spec_)\n      + sizeof(ModelProto::denormalizer_spec_)\n      -
        PROTOBUF_FIELD_OFFSET(ModelProto, trainer_spec_)>"
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3462,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3466,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - ModelProto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3468
      start: 3456
    functionDepth: 1
    functionLinenumber: 3456
    functionLinenumberEnd: 3468
    functionName: sentencepiece::ModelProto::InternalSwap
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 2
    functionsReached:
    - Swap
    - swap
    - reinterpret_cast<char*>
    - sentencepiece::ModelProto::InternalSwap
    - PROTOBUF_FIELD_OFFSET
    - "::PROTOBUF_NAMESPACE_ID::internal::memswap<\n      PROTOBUF_FIELD_OFFSET(ModelProto,
      denormalizer_spec_)\n      + sizeof(ModelProto::denormalizer_spec_)\n      -
      PROTOBUF_FIELD_OFFSET(ModelProto, trainer_spec_)>"
    linkageType: ''
    returnType: void
    signature: void ModelProto::InternalSwap(ModelProto* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3472
      start: 3470
    functionDepth: 0
    functionLinenumber: 3470
    functionLinenumberEnd: 3472
    functionName: sentencepiece::ModelProto::GetTypeName
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string ModelProto::GetTypeName() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessageInternal< ::sentencepiece::TrainerSpec >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3480
      start: 3477
    functionDepth: 0
    functionLinenumber: 3477
    functionLinenumberEnd: 3480
    functionName: '* Arena::CreateMaybeMessage< ::sentencepiece::TrainerSpec >(Arena*
      arena)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateMessageInternal< ::sentencepiece::TrainerSpec >
    linkageType: ''
    returnType: PROTOBUF_NAMESPACE_OPEN
    signature: PROTOBUF_NAMESPACE_OPEN * Arena::CreateMaybeMessage< ::sentencepiece::TrainerSpec
      >(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessageInternal< ::sentencepiece::NormalizerSpec >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3483
      start: 3481
    functionDepth: 0
    functionLinenumber: 3481
    functionLinenumberEnd: 3483
    functionName: '* Arena::CreateMaybeMessage< ::sentencepiece::NormalizerSpec >(Arena*
      arena)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateMessageInternal< ::sentencepiece::NormalizerSpec >
    linkageType: ''
    returnType: PROTOBUF_NOINLINE ::sentencepiece::NormalizerSpec
    signature: PROTOBUF_NOINLINE ::sentencepiece::NormalizerSpec * Arena::CreateMaybeMessage<
      ::sentencepiece::NormalizerSpec >(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessageInternal< ::sentencepiece::SelfTestData_Sample >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3486
      start: 3484
    functionDepth: 0
    functionLinenumber: 3484
    functionLinenumberEnd: 3486
    functionName: '* Arena::CreateMaybeMessage< ::sentencepiece::SelfTestData_Sample
      >(Arena* arena)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateMessageInternal< ::sentencepiece::SelfTestData_Sample >
    linkageType: ''
    returnType: PROTOBUF_NOINLINE ::sentencepiece::SelfTestData_Sample
    signature: PROTOBUF_NOINLINE ::sentencepiece::SelfTestData_Sample * Arena::CreateMaybeMessage<
      ::sentencepiece::SelfTestData_Sample >(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessageInternal< ::sentencepiece::SelfTestData >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3489
      start: 3487
    functionDepth: 0
    functionLinenumber: 3487
    functionLinenumberEnd: 3489
    functionName: '* Arena::CreateMaybeMessage< ::sentencepiece::SelfTestData >(Arena*
      arena)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateMessageInternal< ::sentencepiece::SelfTestData >
    linkageType: ''
    returnType: PROTOBUF_NOINLINE ::sentencepiece::SelfTestData
    signature: PROTOBUF_NOINLINE ::sentencepiece::SelfTestData * Arena::CreateMaybeMessage<
      ::sentencepiece::SelfTestData >(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessageInternal< ::sentencepiece::ModelProto_SentencePiece
        >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3492
      start: 3490
    functionDepth: 0
    functionLinenumber: 3490
    functionLinenumberEnd: 3492
    functionName: '* Arena::CreateMaybeMessage< ::sentencepiece::ModelProto_SentencePiece
      >(Arena* arena)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateMessageInternal< ::sentencepiece::ModelProto_SentencePiece >
    linkageType: ''
    returnType: PROTOBUF_NOINLINE ::sentencepiece::ModelProto_SentencePiece
    signature: PROTOBUF_NOINLINE ::sentencepiece::ModelProto_SentencePiece * Arena::CreateMaybeMessage<
      ::sentencepiece::ModelProto_SentencePiece >(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessageInternal< ::sentencepiece::ModelProto >
      Src: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc:3494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3495
      start: 3493
    functionDepth: 0
    functionLinenumber: 3493
    functionLinenumberEnd: 3495
    functionName: '* Arena::CreateMaybeMessage< ::sentencepiece::ModelProto >(Arena*
      arena)'
    functionSourceFile: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateMessageInternal< ::sentencepiece::ModelProto >
    linkageType: ''
    returnType: PROTOBUF_NOINLINE ::sentencepiece::ModelProto
    signature: PROTOBUF_NOINLINE ::sentencepiece::ModelProto * Arena::CreateMaybeMessage<
      ::sentencepiece::ModelProto >(Arena* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: py::isinstance<py::bytes>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:29,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:31,1
    - Dst: py::isinstance<py::str>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:32,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:34,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - py::object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: PyInputStringView
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - cast
    - py::type_error
    - py::isinstance<py::bytes>
    - py::isinstance<py::str>
    linkageType: ''
    returnType: void
    signature: void PyInputStringView(const py::object& obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:44,1
    - Dst: google::protobuf::StringPiece::substr
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - is_bytes
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: ToPyString
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - py::bytes
    - google::protobuf::StringPiece::substr
    linkageType: ''
    returnType: py::object
    signature: py::object ToPyString(const std::string& str, bool is_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:53,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:55,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:56,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:59,1
    - Dst: google::protobuf::StringPiece::substr
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' vec'
    - is_bytes
    argTypes:
    - std::vector<std::string>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: ToPyStringList
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - py::bytes
    - google::protobuf::StringPiece::substr
    - size
    linkageType: ''
    returnType: py::list
    signature: py::list ToPyStringList(const std::vector<std::string>& vec, bool is_bytes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: py::register_exception_translator
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:68,1
    - Dst: std::rethrow_exception
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:70,1
    - Dst: ToString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:72,1
    - Dst: code
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:73,1
    - Dst: std::runtime_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:75,1
    - Dst: std::out_of_range
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:77,1
    - Dst: std::invalid_argument
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:79,1
    - Dst: std::runtime_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: RegisterExceptionTranslator
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - py::register_exception_translator
    - std::invalid_argument
    - ToString
    - std::runtime_error
    - std::out_of_range
    - code
    - std::rethrow_exception
    linkageType: ''
    returnType: void
    signature: void RegisterExceptionTranslator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:91,1
    - Dst: PySentenceIterator::Next
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - py::iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: PySentenceIterator::PySentenceIterator
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - std::move
    - PySentenceIterator::Next
    linkageType: ''
    returnType: void
    signature: void PySentenceIterator(py::iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: PySentenceIterator::done
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool done() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: py::iterator::sentinel
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:97,1
    - Dst: py::reinterpret_borrow<py::object>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:102,1
    - Dst: py::isinstance<py::str>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:103,1
    - Dst: py::isinstance<py::bytes>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:103,1
    - Dst: py::object::cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:104,1
    - Dst: google::protobuf::util::Status::Status
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:106,1
    - Dst: empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:112,1
    - Dst: back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:113,1
    - Dst: back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:113,1
    - Dst: pop_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:114,1
    - Dst: google::protobuf::util::Status::Status
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:118,1
    - Dst: what
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 121
    functionName: PySentenceIterator::Next
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 1
    functionsReached:
    - back
    - py::isinstance<py::str>
    - what
    - google::protobuf::util::Status::Status
    - pop_back
    - py::object::cast
    - empty
    - py::isinstance<py::bytes>
    - py::reinterpret_borrow<py::object>
    - py::iterator::sentinel
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: '& value() const override'
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: PySentenceIterator::status
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:138,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:139,1
    - Dst: eos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:142,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:143,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:146,1
    - Dst: std::reverse
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:147,1
    - Dst: std::vector<int>*::begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:147,1
    - Dst: std::vector<int>*::end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:147,1
    - Dst: std::vector<int>*::insert
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:149,1
    - Dst: std::vector<int>*::begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:149,1
    - Dst: bos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:149,1
    - Dst: std::vector<int>*::push_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:152,1
    - Dst: eos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:152,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - ' sp'
    - ids
    - add_bos
    - add_eos
    - reverse
    argTypes:
    - sentencepiece::SentencePieceProcessor
    - std::vector<int>*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: RewriteIds
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - absl::InvalidArgumentError
    - std::reverse
    - std::vector<int>*::begin
    - std::vector<int>*::end
    - absl::OkStatus
    - eos_id
    - std::vector<int>*::insert
    - bos_id
    - std::vector<int>*::push_back
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status RewriteIds(const sentencepiece::SentencePieceProcessor&
      sp,\n                        std::vector<int>* ids, bool add_bos, bool add_eos,\n
      \                       bool reverse)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:160,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:161,1
    - Dst: eos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:164,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:165,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:169,1
    - Dst: std::reverse
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:170,1
    - Dst: std::vector<std::string>*::begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:170,1
    - Dst: std::vector<std::string>*::end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:170,1
    - Dst: std::vector<std::string>*::insert
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:172,1
    - Dst: std::vector<std::string>*::begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:172,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:172,1
    - Dst: bos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:172,1
    - Dst: std::vector<std::string>*::push_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:175,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:175,1
    - Dst: eos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:175,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:178,1
    - Dst: unk_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:178,1
    - Dst: PieceToId
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:180,1
    - Dst: unk_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:181,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:186,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 6
    argNames:
    - ' sp'
    - pieces
    - add_bos
    - add_eos
    - reverse
    - emit_unk_piece
    argTypes:
    - sentencepiece::SentencePieceProcessor
    - std::vector<std::string>*
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 187
    functionName: RewriteIds
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - absl::InvalidArgumentError
    - std::reverse
    - std::vector<std::string>*::end
    - PieceToId
    - absl::OkStatus
    - eos_id
    - std::vector<std::string>*::insert
    - std::vector<std::string>*::push_back
    - unk_id
    - bos_id
    - IdToPiece
    - std::vector<std::string>*::begin
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status RewriteIds(const sentencepiece::SentencePieceProcessor&
      sp,\n                        std::vector<std::string>* pieces, bool add_bos,\n
      \                       bool add_eos, bool reverse, bool emit_unk_piece)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RewriteIds
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:192,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 5
    argNames:
    - ' sp'
    - ids
    - add_bos
    - add_eos
    - reverse
    argTypes:
    - sentencepiece::SentencePieceProcessor
    - std::vector<int>*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: RewriteIdsThrowException
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - RewriteIds
    - auto::ok
    linkageType: ''
    returnType: void
    signature: "void RewriteIdsThrowException(const sentencepiece::SentencePieceProcessor&
      sp,\n                              std::vector<int>* ids, bool add_bos, bool
      add_eos,\n                              bool reverse)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RewriteIds
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:200,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 6
    argNames:
    - ' sp'
    - pieces
    - add_bos
    - add_eos
    - reverse
    - emit_unk_piece
    argTypes:
    - sentencepiece::SentencePieceProcessor
    - std::vector<std::string>*
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: RewriteIdsThrowException
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - RewriteIds
    - auto::ok
    linkageType: ''
    returnType: void
    signature: "void RewriteIdsThrowException(const sentencepiece::SentencePieceProcessor&
      sp,\n                              std::vector<std::string>* pieces, bool add_bos,\n
      \                             bool add_eos, bool reverse, bool emit_unk_piece)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::Status::Status
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:207,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ids
    - num_pieces
    argTypes:
    - absl::Span<const int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: CheckIds
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - absl::OkStatus
    - google::protobuf::util::Status::Status
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status CheckIds(absl::Span<const int> ids, int num_pieces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckIds
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:215,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ids
    - num_pieces
    argTypes:
    - absl::Span<const int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: CheckIdsThrowException
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - CheckIds
    - auto::ok
    linkageType: ''
    returnType: void
    signature: void CheckIdsThrowException(absl::Span<const int> ids, int num_pieces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::hardware_concurrency
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:221,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:223,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - num_threads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: GetNumThreads
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - std::max<int>
    - std::thread::hardware_concurrency
    - std::min<int>
    linkageType: ''
    returnType: int
    signature: int GetNumThreads(int num_threads)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetNumThreads
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:229,1
    - Dst: std::make_unique<sentencepiece::ThreadPool>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - num_threads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: PyThreadPool::PyThreadPool
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - GetNumThreads
    - std::make_unique<sentencepiece::ThreadPool>
    linkageType: ''
    returnType: void
    signature: void PyThreadPool(int num_threads)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyThreadPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: PyThreadPool::get
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 1
    functionsReached:
    - PyThreadPool::get
    linkageType: ''
    returnType: sentencepiece::ThreadPool
    signature: sentencepiece::ThreadPool * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: PyThreadPool::num_threads
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_threads() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: py::object::is_none
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:244,1
    - Dst: py::object::cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:245,1
    - Dst: std::make_unique<sentencepiece::ThreadPool>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:247,1
    - Dst: GetNumThreads
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:248,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - num_threads
    - thread_pool
    argTypes:
    - int
    - py::object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: WorkerPool::WorkerPool
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - py::object::is_none
    - py::object::cast
    - WorkerPool::get
    - GetNumThreads
    - std::make_unique<sentencepiece::ThreadPool>
    linkageType: ''
    returnType: void
    signature: void WorkerPool(int num_threads, py::object thread_pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: WorkerPool::get
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: sentencepiece::ThreadPool
    signature: sentencepiece::ThreadPool * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:265,1
    - Dst: PyListStringViewVector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:265,1
    - Dst: reserve
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:266,1
    - Dst: PyListStringViewVector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:266,1
    - Dst: PyListStringViewVector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:267,1
    - Dst: py::reinterpret_borrow<py::object>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:269,1
    - Dst: push_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:270,1
    - Dst: py::object::cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:270,1
    - Dst: push_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:271,1
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:271,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' ins'
    argTypes:
    - py::list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: PyListStringViewVector::PyListStringViewVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - reserve
    - py::type_error
    - py::object::cast
    - PyListStringViewVector::size
    - std::move
    - py::reinterpret_borrow<py::object>
    - push_back
    linkageType: ''
    returnType: void
    signature: void PyListStringViewVector(const py::list& ins)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: PyListStringViewVector::views
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Span<const absl::string_view>
    signature: absl::Span<const absl::string_view> views() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyListStringViewVector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: PyListStringViewVector::size
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 2
    functionsReached:
    - PyListStringViewVector::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyListStringViewVector::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: PyListStringViewVector::empty
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 1
    functionsReached:
    - PyListStringViewVector::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: operator[](size_t i) const
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operator[](size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: IntSpanOrVector::IntSpanOrVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntSpanOrVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - span
    argTypes:
    - absl::Span<const int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: IntSpanOrVector::IntSpanOrVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntSpanOrVector(absl::Span<const int> span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: IntSpanOrVector::IntSpanOrVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void IntSpanOrVector(std::vector<int>&& vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: IntSpanOrVector::IntSpanOrVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntSpanOrVector(const IntSpanOrVector&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: '& operator=(const IntSpanOrVector&)'
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntSpanOrVector
    signature: IntSpanOrVector & operator=(const IntSpanOrVector&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: IntSpanOrVector::IntSpanOrVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntSpanOrVector(IntSpanOrVector&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: '& operator=(IntSpanOrVector&&)'
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntSpanOrVector
    signature: IntSpanOrVector & operator=(IntSpanOrVector&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<const int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: IntSpanOrVector::span
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - absl::Span<const int>
    linkageType: ''
    returnType: absl::Span<const int>
    signature: absl::Span<const int> span() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: VectorBuffer::VectorBuffer
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: VectorBuffer::VectorBuffer
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void VectorBuffer(std::vector<int>&& vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VectorBuffer::data
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: VectorBuffer::data
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 1
    functionsReached:
    - VectorBuffer::data
    linkageType: ''
    returnType: int
    signature: int * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VectorBuffer::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: VectorBuffer::size
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 1
    functionsReached:
    - VectorBuffer::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:326,1
    - Dst: back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:327,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: IsIntegerFormat
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - empty
    - back
    linkageType: ''
    returnType: bool
    signature: bool IsIntegerFormat(const std::string& format)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: py::isinstance<py::buffer>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:336,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:338,1
    - Dst: IsIntegerFormat
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:339,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:340,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:343,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:346,1
    - Dst: py::buffer_info::strides::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:351,1
    - Dst: IntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:355,1
    - Dst: absl::Span<const int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:355,1
    - Dst: static_cast<const int*>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:356,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:360,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:363,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:363,1
    - Dst: reinterpret_cast<const int32_t*>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:366,1
    - Dst: reinterpret_cast<const int64_t*>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:371,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:372,1
    - Dst: IntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:375,1
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:375,1
    - Dst: IntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:382,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:382,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:384,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 1
    argNames:
    - ' ids_obj'
    argTypes:
    - py::object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 388
    functionName: CastToIntSpanOrVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - py::type_error
    - IntSpanOrVector
    - static_cast<const char*>
    - static_cast<const int*>
    - std::memcpy
    - reinterpret_cast<const int64_t*>
    - cast
    - reinterpret_cast<const int32_t*>
    - IsIntegerFormat
    - py::isinstance<py::buffer>
    - static_cast<int>
    - std::move
    - absl::Span<const int>
    - std::vector::data
    - py::buffer_info::strides::empty
    linkageType: ''
    returnType: IntSpanOrVector
    signature: IntSpanOrVector CastToIntSpanOrVector(const py::object& ids_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:396,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:398,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:402,1
    - Dst: py::sequence::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:402,1
    - Dst: py::sequence::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:403,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:404,1
    - Dst: CastToIntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:405,1
    - Dst: py::reinterpret_borrow<py::object>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' ins_obj'
    argTypes:
    - py::object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 408
    functionName: CastToVectorIntSpanOrVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - py::type_error
    - CastToIntSpanOrVector
    - py::sequence::size
    - cast
    - std::vector::push_back
    - py::reinterpret_borrow<py::object>
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<IntSpanOrVector>
    signature: "std::vector<IntSpanOrVector> CastToVectorIntSpanOrVector(\n    const
      py::object& ins_obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:413,1
    - Dst: absl::Span<const int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:413,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' self'
    - id
    - func
    argTypes:
    - sentencepiece::SentencePieceProcessor
    - int
    - FuncType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: SingleCall
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - absl::Span<const int>
    - GetPieceSize
    - CheckIdsThrowException
    linkageType: ''
    returnType: decltype(auto)
    signature: "decltype(auto) SingleCall(const sentencepiece::SentencePieceProcessor&
      self,\n                          int id, FuncType func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CastToIntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:420,1
    - Dst: CheckIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:421,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:421,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:421,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:422,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:423,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' self'
    - ' ids_obj'
    - func
    argTypes:
    - sentencepiece::SentencePieceProcessor
    - py::object
    - FuncType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 427
    functionName: BatchCall
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - GetPieceSize
    - IntSpanOrVector::span
    - CastToIntSpanOrVector
    - CheckIdsThrowException
    linkageType: ''
    returnType: py::list
    signature: "py::list BatchCall(const sentencepiece::SentencePieceProcessor& self,\n
      \                  const py::object& ids_obj, FuncType func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 440
    functionName: REGISTER_ID_METHOD
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGISTER_ID_METHOD(NAME)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::Status::Status
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - add_bos
    - add_eos
    - reverse
    - emit_unk_piece
    argTypes:
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 448
    functionName: CheckProtoArgsThrowException
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::Status::Status
    linkageType: ''
    returnType: void
    signature: "void CheckProtoArgsThrowException(bool add_bos, bool add_eos, bool
      reverse,\n                                  bool emit_unk_piece)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: OneCharLen
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t OneCharLen(const char* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:455,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:459,1
    - Dst: std::min
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:461,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:461,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:462,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:462,1
    - Dst: OneCharLen
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:462,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:462,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - orig
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 472
    functionName: BuildUtf8ToUnicodeMap
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::empty
    - absl::string_view::remove_prefix
    - OneCharLen
    - std::max<int>
    - std::min
    - absl::string_view::data
    - static_cast<size_t>
    - absl::string_view::size
    linkageType: ''
    returnType: std::vector<int>
    signature: std::vector<int> BuildUtf8ToUnicodeMap(absl::string_view orig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BuildUtf8ToUnicodeMap
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:477,1
    - Dst: text
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:477,1
    - Dst: pieces_size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:480,1
    - Dst: pieces
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:486,1
    - Dst: id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:487,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:489,1
    - Dst: piece
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:489,1
    - Dst: py::make_tuple
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:490,1
    - Dst: begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:490,1
    - Dst: end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:490,1
    - Dst: google::protobuf::StringPiece::substr
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:492,1
    - Dst: piece
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:492,1
    - Dst: begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:494,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:494,1
    - Dst: end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:496,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:496,1
    - Dst: py::value_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:497,1
    - Dst: begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:500,1
    - Dst: end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:502,1
    - Dst: py::make_tuple
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:503,1
    - Dst: ToPyString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:508,1
    - Dst: text
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ' spt'
    - return_bytes
    argTypes:
    - sentencepiece::SentencePieceText
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 513
    functionName: ExtractOffsetMapping
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - id
    - end
    - piece
    - begin
    - py::value_error
    - text
    - py::bytes
    - std::vector::size
    - ToPyString
    - pieces
    - py::make_tuple
    - pieces_size
    - BuildUtf8ToUnicodeMap
    - google::protobuf::StringPiece::substr
    linkageType: ''
    returnType: py::dict
    signature: "py::dict ExtractOffsetMapping(const sentencepiece::SentencePieceText&
      spt,\n                              bool return_bytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: py::isinstance<py::bytes>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:29,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:31,1
    - Dst: py::isinstance<py::str>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:32,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:34,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' obj'
    argTypes:
    - py::object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: PyInputStringView
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - cast
    - py::type_error
    - py::isinstance<py::bytes>
    - py::isinstance<py::str>
    linkageType: ''
    returnType: void
    signature: void PyInputStringView(const py::object& obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:44,1
    - Dst: google::protobuf::StringPiece::substr
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - is_bytes
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: ToPyString
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 1
    functionsReached:
    - py::bytes
    - google::protobuf::StringPiece::substr
    linkageType: ''
    returnType: py::object
    signature: py::object ToPyString(const std::string& str, bool is_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:53,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:55,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:56,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:59,1
    - Dst: google::protobuf::StringPiece::substr
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' vec'
    - is_bytes
    argTypes:
    - std::vector<std::string>
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: ToPyStringList
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - py::bytes
    - google::protobuf::StringPiece::substr
    - size
    linkageType: ''
    returnType: py::list
    signature: py::list ToPyStringList(const std::vector<std::string>& vec, bool is_bytes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: py::register_exception_translator
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:68,1
    - Dst: std::rethrow_exception
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:70,1
    - Dst: ToString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:72,1
    - Dst: code
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:73,1
    - Dst: std::runtime_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:75,1
    - Dst: std::out_of_range
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:77,1
    - Dst: std::invalid_argument
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:79,1
    - Dst: std::runtime_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: RegisterExceptionTranslator
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - py::register_exception_translator
    - std::invalid_argument
    - ToString
    - std::runtime_error
    - std::out_of_range
    - code
    - std::rethrow_exception
    linkageType: ''
    returnType: void
    signature: void RegisterExceptionTranslator()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:91,1
    - Dst: PySentenceIterator::Next
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - py::iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: PySentenceIterator::PySentenceIterator
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - std::move
    - PySentenceIterator::Next
    linkageType: ''
    returnType: void
    signature: void PySentenceIterator(py::iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: PySentenceIterator::done
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool done() const override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: py::iterator::sentinel
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:97,1
    - Dst: py::reinterpret_borrow<py::object>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:102,1
    - Dst: py::isinstance<py::str>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:103,1
    - Dst: py::isinstance<py::bytes>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:103,1
    - Dst: py::object::cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:104,1
    - Dst: google::protobuf::util::Status::Status
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:106,1
    - Dst: empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:112,1
    - Dst: back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:113,1
    - Dst: back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:113,1
    - Dst: pop_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:114,1
    - Dst: google::protobuf::util::Status::Status
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:118,1
    - Dst: what
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 121
    functionName: PySentenceIterator::Next
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 2
    functionsReached:
    - back
    - py::isinstance<py::str>
    - what
    - google::protobuf::util::Status::Status
    - pop_back
    - py::object::cast
    - empty
    - py::isinstance<py::bytes>
    - py::reinterpret_borrow<py::object>
    - py::iterator::sentinel
    linkageType: ''
    returnType: void
    signature: void Next() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: '& value() const override'
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & value() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: PySentenceIterator::status
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status status() const override
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:138,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:139,1
    - Dst: eos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:142,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:143,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:146,1
    - Dst: std::reverse
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:147,1
    - Dst: std::vector<int>*::begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:147,1
    - Dst: std::vector<int>*::end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:147,1
    - Dst: std::vector<int>*::insert
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:149,1
    - Dst: std::vector<int>*::begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:149,1
    - Dst: bos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:149,1
    - Dst: std::vector<int>*::push_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:152,1
    - Dst: eos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:152,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - ' sp'
    - ids
    - add_bos
    - add_eos
    - reverse
    argTypes:
    - sentencepiece::SentencePieceProcessor
    - std::vector<int>*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 155
    functionName: RewriteIds
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 2
    functionsReached:
    - absl::InvalidArgumentError
    - std::reverse
    - std::vector<int>*::begin
    - std::vector<int>*::end
    - absl::OkStatus
    - eos_id
    - std::vector<int>*::insert
    - bos_id
    - std::vector<int>*::push_back
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status RewriteIds(const sentencepiece::SentencePieceProcessor&
      sp,\n                        std::vector<int>* ids, bool add_bos, bool add_eos,\n
      \                       bool reverse)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:160,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:161,1
    - Dst: eos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:164,1
    - Dst: absl::InvalidArgumentError
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:165,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:169,1
    - Dst: std::reverse
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:170,1
    - Dst: std::vector<std::string>*::begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:170,1
    - Dst: std::vector<std::string>*::end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:170,1
    - Dst: std::vector<std::string>*::insert
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:172,1
    - Dst: std::vector<std::string>*::begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:172,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:172,1
    - Dst: bos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:172,1
    - Dst: std::vector<std::string>*::push_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:175,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:175,1
    - Dst: eos_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:175,1
    - Dst: IdToPiece
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:178,1
    - Dst: unk_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:178,1
    - Dst: PieceToId
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:180,1
    - Dst: unk_id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:181,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:186,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 6
    argNames:
    - ' sp'
    - pieces
    - add_bos
    - add_eos
    - reverse
    - emit_unk_piece
    argTypes:
    - sentencepiece::SentencePieceProcessor
    - std::vector<std::string>*
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 187
    functionName: RewriteIds
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 2
    functionsReached:
    - absl::InvalidArgumentError
    - std::reverse
    - std::vector<std::string>*::end
    - PieceToId
    - absl::OkStatus
    - eos_id
    - std::vector<std::string>*::insert
    - std::vector<std::string>*::push_back
    - unk_id
    - bos_id
    - IdToPiece
    - std::vector<std::string>*::begin
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status RewriteIds(const sentencepiece::SentencePieceProcessor&
      sp,\n                        std::vector<std::string>* pieces, bool add_bos,\n
      \                       bool add_eos, bool reverse, bool emit_unk_piece)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RewriteIds
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:192,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 5
    argNames:
    - ' sp'
    - ids
    - add_bos
    - add_eos
    - reverse
    argTypes:
    - sentencepiece::SentencePieceProcessor
    - std::vector<int>*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: RewriteIdsThrowException
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - RewriteIds
    - auto::ok
    linkageType: ''
    returnType: void
    signature: "void RewriteIdsThrowException(const sentencepiece::SentencePieceProcessor&
      sp,\n                              std::vector<int>* ids, bool add_bos, bool
      add_eos,\n                              bool reverse)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RewriteIds
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:200,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 6
    argNames:
    - ' sp'
    - pieces
    - add_bos
    - add_eos
    - reverse
    - emit_unk_piece
    argTypes:
    - sentencepiece::SentencePieceProcessor
    - std::vector<std::string>*
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: RewriteIdsThrowException
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - RewriteIds
    - auto::ok
    linkageType: ''
    returnType: void
    signature: "void RewriteIdsThrowException(const sentencepiece::SentencePieceProcessor&
      sp,\n                              std::vector<std::string>* pieces, bool add_bos,\n
      \                             bool add_eos, bool reverse, bool emit_unk_piece)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::Status::Status
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:207,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ids
    - num_pieces
    argTypes:
    - absl::Span<const int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: CheckIds
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 1
    functionsReached:
    - absl::OkStatus
    - google::protobuf::util::Status::Status
    linkageType: ''
    returnType: absl::Status
    signature: absl::Status CheckIds(absl::Span<const int> ids, int num_pieces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckIds
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:215,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ids
    - num_pieces
    argTypes:
    - absl::Span<const int>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: CheckIdsThrowException
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 2
    functionsReached:
    - CheckIds
    - auto::ok
    linkageType: ''
    returnType: void
    signature: void CheckIdsThrowException(absl::Span<const int> ids, int num_pieces)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::hardware_concurrency
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:221,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:223,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - num_threads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: GetNumThreads
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 2
    functionsReached:
    - std::max<int>
    - std::thread::hardware_concurrency
    - std::min<int>
    linkageType: ''
    returnType: int
    signature: int GetNumThreads(int num_threads)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetNumThreads
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:229,1
    - Dst: std::make_unique<sentencepiece::ThreadPool>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - num_threads
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: PyThreadPool::PyThreadPool
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - GetNumThreads
    - std::make_unique<sentencepiece::ThreadPool>
    linkageType: ''
    returnType: void
    signature: void PyThreadPool(int num_threads)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyThreadPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 232
    functionName: PyThreadPool::get
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 2
    functionsReached:
    - PyThreadPool::get
    linkageType: ''
    returnType: sentencepiece::ThreadPool
    signature: sentencepiece::ThreadPool * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: PyThreadPool::num_threads
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int num_threads() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: py::object::is_none
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:244,1
    - Dst: py::object::cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:245,1
    - Dst: std::make_unique<sentencepiece::ThreadPool>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:247,1
    - Dst: GetNumThreads
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:248,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - num_threads
    - thread_pool
    argTypes:
    - int
    - py::object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: WorkerPool::WorkerPool
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - py::object::is_none
    - py::object::cast
    - WorkerPool::get
    - GetNumThreads
    - std::make_unique<sentencepiece::ThreadPool>
    linkageType: ''
    returnType: void
    signature: void WorkerPool(int num_threads, py::object thread_pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: WorkerPool::get
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: sentencepiece::ThreadPool
    signature: sentencepiece::ThreadPool * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:265,1
    - Dst: PyListStringViewVector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:265,1
    - Dst: reserve
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:266,1
    - Dst: PyListStringViewVector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:266,1
    - Dst: PyListStringViewVector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:267,1
    - Dst: py::reinterpret_borrow<py::object>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:269,1
    - Dst: push_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:270,1
    - Dst: py::object::cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:270,1
    - Dst: push_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:271,1
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:271,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' ins'
    argTypes:
    - py::list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: PyListStringViewVector::PyListStringViewVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - reserve
    - py::type_error
    - py::object::cast
    - PyListStringViewVector::size
    - std::move
    - py::reinterpret_borrow<py::object>
    - push_back
    linkageType: ''
    returnType: void
    signature: void PyListStringViewVector(const py::list& ins)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: PyListStringViewVector::views
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::Span<const absl::string_view>
    signature: absl::Span<const absl::string_view> views() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyListStringViewVector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: PyListStringViewVector::size
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 4
    functionsReached:
    - PyListStringViewVector::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyListStringViewVector::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 280
    functionName: PyListStringViewVector::empty
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 2
    functionsReached:
    - PyListStringViewVector::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 281
    functionName: operator[](size_t i) const
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operator[](size_t i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: IntSpanOrVector::IntSpanOrVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntSpanOrVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - span
    argTypes:
    - absl::Span<const int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: IntSpanOrVector::IntSpanOrVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntSpanOrVector(absl::Span<const int> span)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: IntSpanOrVector::IntSpanOrVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void IntSpanOrVector(std::vector<int>&& vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 297
    functionName: IntSpanOrVector::IntSpanOrVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntSpanOrVector(const IntSpanOrVector&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: '& operator=(const IntSpanOrVector&)'
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntSpanOrVector
    signature: IntSpanOrVector & operator=(const IntSpanOrVector&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: IntSpanOrVector::IntSpanOrVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IntSpanOrVector(IntSpanOrVector&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: '& operator=(IntSpanOrVector&&)'
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: IntSpanOrVector
    signature: IntSpanOrVector & operator=(IntSpanOrVector&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<const int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: IntSpanOrVector::span
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 1
    functionsReached:
    - absl::Span<const int>
    linkageType: ''
    returnType: absl::Span<const int>
    signature: absl::Span<const int> span() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: VectorBuffer::VectorBuffer
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VectorBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' vec'
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: VectorBuffer::VectorBuffer
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void VectorBuffer(std::vector<int>&& vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VectorBuffer::data
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: VectorBuffer::data
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 2
    functionsReached:
    - VectorBuffer::data
    linkageType: ''
    returnType: int
    signature: int * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VectorBuffer::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: VectorBuffer::size
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 2
    functionsReached:
    - VectorBuffer::size
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:326,1
    - Dst: back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:327,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: IsIntegerFormat
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 1
    functionsReached:
    - empty
    - back
    linkageType: ''
    returnType: bool
    signature: bool IsIntegerFormat(const std::string& format)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: py::isinstance<py::buffer>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:336,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:338,1
    - Dst: IsIntegerFormat
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:339,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:340,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:343,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:346,1
    - Dst: py::buffer_info::strides::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:351,1
    - Dst: IntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:355,1
    - Dst: absl::Span<const int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:355,1
    - Dst: static_cast<const int*>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:356,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:360,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:363,1
    - Dst: std::vector::data
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:363,1
    - Dst: reinterpret_cast<const int32_t*>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:366,1
    - Dst: reinterpret_cast<const int64_t*>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:371,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:372,1
    - Dst: IntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:375,1
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:375,1
    - Dst: IntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:382,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:382,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:384,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 1
    argNames:
    - ' ids_obj'
    argTypes:
    - py::object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 388
    functionName: CastToIntSpanOrVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 2
    functionsReached:
    - py::type_error
    - IntSpanOrVector
    - static_cast<const char*>
    - static_cast<const int*>
    - std::memcpy
    - reinterpret_cast<const int64_t*>
    - cast
    - reinterpret_cast<const int32_t*>
    - IsIntegerFormat
    - py::isinstance<py::buffer>
    - static_cast<int>
    - std::move
    - absl::Span<const int>
    - std::vector::data
    - py::buffer_info::strides::empty
    linkageType: ''
    returnType: IntSpanOrVector
    signature: IntSpanOrVector CastToIntSpanOrVector(const py::object& ids_obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:396,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:398,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:402,1
    - Dst: py::sequence::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:402,1
    - Dst: py::sequence::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:403,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:404,1
    - Dst: CastToIntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:405,1
    - Dst: py::reinterpret_borrow<py::object>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' ins_obj'
    argTypes:
    - py::object
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 408
    functionName: CastToVectorIntSpanOrVector
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - py::type_error
    - CastToIntSpanOrVector
    - py::sequence::size
    - cast
    - std::vector::push_back
    - py::reinterpret_borrow<py::object>
    - std::vector::reserve
    linkageType: ''
    returnType: std::vector<IntSpanOrVector>
    signature: "std::vector<IntSpanOrVector> CastToVectorIntSpanOrVector(\n    const
      py::object& ins_obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:413,1
    - Dst: absl::Span<const int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:413,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' self'
    - id
    - func
    argTypes:
    - sentencepiece::SentencePieceProcessor
    - int
    - FuncType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: SingleCall
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - absl::Span<const int>
    - GetPieceSize
    - CheckIdsThrowException
    linkageType: ''
    returnType: decltype(auto)
    signature: "decltype(auto) SingleCall(const sentencepiece::SentencePieceProcessor&
      self,\n                          int id, FuncType func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CastToIntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:420,1
    - Dst: CheckIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:421,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:421,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:421,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:422,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:423,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' self'
    - ' ids_obj'
    - func
    argTypes:
    - sentencepiece::SentencePieceProcessor
    - py::object
    - FuncType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 427
    functionName: BatchCall
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - GetPieceSize
    - IntSpanOrVector::span
    - CastToIntSpanOrVector
    - CheckIdsThrowException
    linkageType: ''
    returnType: py::list
    signature: "py::list BatchCall(const sentencepiece::SentencePieceProcessor& self,\n
      \                  const py::object& ids_obj, FuncType func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 440
    functionName: REGISTER_ID_METHOD
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGISTER_ID_METHOD(NAME)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::Status::Status
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - add_bos
    - add_eos
    - reverse
    - emit_unk_piece
    argTypes:
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 448
    functionName: CheckProtoArgsThrowException
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::Status::Status
    linkageType: ''
    returnType: void
    signature: "void CheckProtoArgsThrowException(bool add_bos, bool add_eos, bool
      reverse,\n                                  bool emit_unk_piece)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: OneCharLen
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t OneCharLen(const char* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:455,1
    - Dst: absl::string_view::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:459,1
    - Dst: std::min
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:461,1
    - Dst: absl::string_view::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:461,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:462,1
    - Dst: std::max<int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:462,1
    - Dst: OneCharLen
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:462,1
    - Dst: absl::string_view::data
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:462,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - orig
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 472
    functionName: BuildUtf8ToUnicodeMap
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::empty
    - absl::string_view::remove_prefix
    - OneCharLen
    - std::max<int>
    - std::min
    - absl::string_view::data
    - static_cast<size_t>
    - absl::string_view::size
    linkageType: ''
    returnType: std::vector<int>
    signature: std::vector<int> BuildUtf8ToUnicodeMap(absl::string_view orig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BuildUtf8ToUnicodeMap
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:477,1
    - Dst: text
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:477,1
    - Dst: pieces_size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:480,1
    - Dst: pieces
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:486,1
    - Dst: id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:487,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:489,1
    - Dst: piece
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:489,1
    - Dst: py::make_tuple
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:490,1
    - Dst: begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:490,1
    - Dst: end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:490,1
    - Dst: google::protobuf::StringPiece::substr
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:492,1
    - Dst: piece
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:492,1
    - Dst: begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:494,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:494,1
    - Dst: end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:496,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:496,1
    - Dst: py::value_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:497,1
    - Dst: begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:500,1
    - Dst: end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:502,1
    - Dst: py::make_tuple
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:503,1
    - Dst: ToPyString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:508,1
    - Dst: text
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ' spt'
    - return_bytes
    argTypes:
    - sentencepiece::SentencePieceText
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 513
    functionName: ExtractOffsetMapping
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - id
    - end
    - piece
    - begin
    - py::value_error
    - text
    - py::bytes
    - std::vector::size
    - ToPyString
    - pieces
    - py::make_tuple
    - pieces_size
    - BuildUtf8ToUnicodeMap
    - google::protobuf::StringPiece::substr
    linkageType: ''
    returnType: py::dict
    signature: "py::dict ExtractOffsetMapping(const sentencepiece::SentencePieceText&
      spt,\n                              bool return_bytes)"
  - BBCount: 107
    BranchProfiles: []
    Callsites:
    - Dst: RegisterExceptionTranslator
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:518,1
    - Dst: py::class_<VectorBuffer>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:520,1
    - Dst: py::buffer_protocol
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:520,1
    - Dst: py::buffer_info
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:522,1
    - Dst: const_cast<int*>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:522,1
    - Dst: data
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:522,1
    - Dst: TrainerSpec::_internal_has_input_format
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:523,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:524,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:529,1
    - Dst: data
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:529,1
    - Dst: def
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:533,1
    - Dst: def
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:534,1
    - Dst: def
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:535,1
    - Dst: def
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:536,1
    - Dst: sentencepiece::SetDataDir
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:537,1
    - Dst: py::class_<PyThreadPool>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:540,1
    - Dst: py::init<int>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:541,1
    - Dst: py::class_<sentencepiece::SentencePieceProcessor>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:544,1
    - Dst: py::init<>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:545,1
    - Dst: Load
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:550,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:551,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:558,1
    - Dst: LoadFromSerializedProto
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:560,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:561,1
    - Dst: SampleEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:581,1
    - Dst: Encode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:583,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:585,1
    - Dst: RewriteIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:586,1
    - Dst: SampleEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:600,1
    - Dst: Encode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:602,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:604,1
    - Dst: RewriteIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:605,1
    - Dst: VectorBuffer
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:607,1
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:607,1
    - Dst: SampleEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:621,1
    - Dst: Encode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:623,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:625,1
    - Dst: RewriteIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:626,1
    - Dst: ToPyStringList
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:629,1
    - Dst: CheckProtoArgsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:636,1
    - Dst: sentencepiece::SentencePieceText::SentencePieceText
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:639,1
    - Dst: SampleEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:644,1
    - Dst: Encode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:646,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:648,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:650,1
    - Dst: sentencepiece::SentencePieceText::SerializeAsString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:650,1
    - Dst: sentencepiece::SentencePieceText::SentencePieceText
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:658,1
    - Dst: SampleEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:663,1
    - Dst: Encode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:665,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:667,1
    - Dst: BuildUtf8ToUnicodeMap
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:672,1
    - Dst: sentencepiece::SentencePieceText::pieces_size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:675,1
    - Dst: sentencepiece::SentencePieceText::pieces
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:681,1
    - Dst: id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:682,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:684,1
    - Dst: piece
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:684,1
    - Dst: py::make_tuple
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:685,1
    - Dst: begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:685,1
    - Dst: end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:685,1
    - Dst: google::protobuf::StringPiece::substr
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:687,1
    - Dst: piece
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:687,1
    - Dst: begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:689,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:689,1
    - Dst: end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:691,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:691,1
    - Dst: py::value_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:692,1
    - Dst: begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:696,1
    - Dst: end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:698,1
    - Dst: py::make_tuple
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:699,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:717,1
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:721,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:722,1
    - Dst: SampleEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:727,1
    - Dst: Encode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:729,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:731,1
    - Dst: RewriteIds
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:732,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:733,1
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:734,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:735,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:737,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:738,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:748,1
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:752,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:753,1
    - Dst: SampleEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:758,1
    - Dst: Encode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:760,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:762,1
    - Dst: RewriteIds
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:763,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:764,1
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:765,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:766,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:768,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:769,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:771,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:772,1
    - Dst: VectorBuffer
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:773,1
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:773,1
    - Dst: empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:783,1
    - Dst: py::list
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:783,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:785,1
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:789,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:790,1
    - Dst: SampleEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:795,1
    - Dst: Encode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:797,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:799,1
    - Dst: RewriteIds
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:800,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:802,1
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:803,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:804,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:806,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:807,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:809,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:810,1
    - Dst: ToPyStringList
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:811,1
    - Dst: CheckProtoArgsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:820,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:823,1
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:827,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:828,1
    - Dst: sentencepiece::SentencePieceText::SentencePieceText
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:830,1
    - Dst: SampleEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:833,1
    - Dst: Encode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:835,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:837,1
    - Dst: sentencepiece::SentencePieceText::SerializeAsString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:838,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:839,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:841,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:842,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:844,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:845,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:846,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:857,1
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:861,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:862,1
    - Dst: SampleEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:866,1
    - Dst: Encode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:869,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:871,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:872,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:874,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:875,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:878,1
    - Dst: size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:879,1
    - Dst: BuildUtf8ToUnicodeMap
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:885,1
    - Dst: sentencepiece::SentencePieceText::pieces_size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:888,1
    - Dst: sentencepiece::SentencePieceText::pieces
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:894,1
    - Dst: id
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:895,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:897,1
    - Dst: piece
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:897,1
    - Dst: py::make_tuple
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:898,1
    - Dst: begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:898,1
    - Dst: end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:898,1
    - Dst: google::protobuf::StringPiece::substr
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:900,1
    - Dst: piece
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:900,1
    - Dst: begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:902,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:902,1
    - Dst: end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:904,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:904,1
    - Dst: py::value_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:905,1
    - Dst: begin
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:909,1
    - Dst: end
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:911,1
    - Dst: py::make_tuple
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:912,1
    - Dst: CastToIntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:929,1
    - Dst: CheckIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:933,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:933,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:933,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:934,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:934,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:935,1
    - Dst: google::protobuf::StringPiece::substr
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:937,1
    - Dst: CastToIntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:942,1
    - Dst: CheckIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:946,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:946,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:946,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:947,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:947,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:948,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:950,1
    - Dst: py::list::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:955,1
    - Dst: google::protobuf::internal::arena_destruct_object
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:955,1
    - Dst: google::protobuf::StringPiece::substr
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:955,1
    - Dst: py::isinstance<py::bytes>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:956,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:961,1
    - Dst: PyListStringViewVector::views
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:961,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:962,1
    - Dst: ToPyString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:964,1
    - Dst: py::list::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:969,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:969,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:974,1
    - Dst: PyListStringViewVector::views
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:974,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:975,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:977,1
    - Dst: CastToIntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:982,1
    - Dst: sentencepiece::SentencePieceText::SentencePieceText
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:983,1
    - Dst: CheckIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:986,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:986,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:986,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:987,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:987,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:988,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:990,1
    - Dst: sentencepiece::SentencePieceText::SerializeAsString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:990,1
    - Dst: sentencepiece::SentencePieceText::SentencePieceText
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:996,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:999,1
    - Dst: PyListStringViewVector::views
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:999,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1000,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1002,1
    - Dst: sentencepiece::SentencePieceText::SerializeAsString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1002,1
    - Dst: py::isinstance<py::tuple>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1009,1
    - Dst: py::list
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1010,1
    - Dst: py::isinstance<py::list>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1016,1
    - Dst: py::sequence::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1018,1
    - Dst: py::isinstance<py::str>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1020,1
    - Dst: py::isinstance<py::bytes>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1022,1
    - Dst: sentencepiece::SentencePieceText::SentencePieceText
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1033,1
    - Dst: py::object::cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1036,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1039,1
    - Dst: PyListStringViewVector::views
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1039,1
    - Dst: CastToIntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1042,1
    - Dst: CheckIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1045,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1045,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1045,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1046,1
    - Dst: IntSpanOrVector::span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1046,1
    - Dst: absl::Status::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1049,1
    - Dst: ExtractOffsetMapping
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1051,1
    - Dst: CastToVectorIntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1060,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1061,1
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1065,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1066,1
    - Dst: CheckIds
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1068,1
    - Dst: span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1068,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1068,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1069,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1070,1
    - Dst: span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1070,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1072,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1073,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1075,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1076,1
    - Dst: google::protobuf::StringPiece::substr
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1077,1
    - Dst: CastToVectorIntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1086,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1087,1
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1091,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1092,1
    - Dst: CheckIds
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1094,1
    - Dst: span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1094,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1094,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1095,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1096,1
    - Dst: span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1096,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1098,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1099,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1101,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1102,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1103,1
    - Dst: CastToVectorIntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1112,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1113,1
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1117,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1118,1
    - Dst: CheckIds
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1120,1
    - Dst: span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1120,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1120,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1121,1
    - Dst: sentencepiece::SentencePieceText::SentencePieceText
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1122,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1123,1
    - Dst: span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1123,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1124,1
    - Dst: sentencepiece::SentencePieceText::SerializeAsString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1125,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1126,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1128,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1129,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1131,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1132,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1133,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1140,1
    - Dst: py::list
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1140,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1141,1
    - Dst: py::list::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1142,1
    - Dst: py::list
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1142,1
    - Dst: py::isinstance<py::bytes>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1143,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1146,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1146,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1147,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1148,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1149,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1149,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1150,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1152,1
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1156,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1157,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1158,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1159,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1160,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1162,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1163,1
    - Dst: ToPyString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1164,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1171,1
    - Dst: py::list
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1171,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1173,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1173,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1174,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1175,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1176,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1176,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1177,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1179,1
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1184,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1185,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1186,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1187,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1189,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1190,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1191,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1198,1
    - Dst: py::list
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1198,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1200,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1200,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1201,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1202,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1203,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1203,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1204,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1206,1
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1210,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1211,1
    - Dst: sentencepiece::SentencePieceText::SentencePieceText
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1213,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1214,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1215,1
    - Dst: sentencepiece::SentencePieceText::SerializeAsString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1216,1
    - Dst: absl::OkStatus
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1217,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1219,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1220,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1222,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1223,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1224,1
    - Dst: py::isinstance<py::tuple>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1234,1
    - Dst: py::list
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1235,1
    - Dst: py::sequence::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1239,1
    - Dst: py::list
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1239,1
    - Dst: py::sequence::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1241,1
    - Dst: py::sequence::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1242,1
    - Dst: py::isinstance<py::tuple>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1244,1
    - Dst: py::list
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1245,1
    - Dst: py::list::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1254,1
    - Dst: py::isinstance<py::list>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1256,1
    - Dst: py::isinstance<py::tuple>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1257,1
    - Dst: py::sequence::empty
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1259,1
    - Dst: py::isinstance<py::str>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1261,1
    - Dst: py::isinstance<py::bytes>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1263,1
    - Dst: py::list::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1275,1
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1280,1
    - Dst: py::list::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1280,1
    - Dst: py::list::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1282,1
    - Dst: py::list::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1283,1
    - Dst: std::vector::emplace_back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1284,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1284,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1285,1
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1289,1
    - Dst: py::list::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1290,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1291,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1292,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1293,1
    - Dst: CastToVectorIntSpanOrVector
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1297,1
    - Dst: sentencepiece::RunBatch
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1301,1
    - Dst: py::list::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1302,1
    - Dst: CheckIds
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1304,1
    - Dst: span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1304,1
    - Dst: GetPieceSize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1304,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1305,1
    - Dst: Decode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1306,1
    - Dst: span
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1306,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1308,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1309,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1313,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1314,1
    - Dst: ExtractOffsetMapping
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1315,1
    - Dst: NBestEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1329,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1330,1
    - Dst: RewriteIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1332,1
    - Dst: NBestEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1346,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1347,1
    - Dst: RewriteIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1349,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1353,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1354,1
    - Dst: VectorBuffer
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1355,1
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1355,1
    - Dst: NBestEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1368,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1369,1
    - Dst: RewriteIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1371,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1375,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1376,1
    - Dst: ToPyStringList
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1377,1
    - Dst: CheckProtoArgsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1385,1
    - Dst: sentencepiece::NBestSentencePieceText::NBestSentencePieceText
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1388,1
    - Dst: NBestEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1391,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1392,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1394,1
    - Dst: sentencepiece::NBestSentencePieceText::SerializeAsString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1394,1
    - Dst: ParallelEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1411,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1411,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1412,1
    - Dst: RewriteIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1413,1
    - Dst: ParallelEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1428,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1428,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1429,1
    - Dst: RewriteIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1430,1
    - Dst: VectorBuffer
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1432,1
    - Dst: std::move
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1432,1
    - Dst: ParallelEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1444,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1445,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1446,1
    - Dst: RewriteIdsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1447,1
    - Dst: ToPyStringList
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1450,1
    - Dst: CheckProtoArgsThrowException
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1457,1
    - Dst: sentencepiece::SentencePieceText::SentencePieceText
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1460,1
    - Dst: ParallelEncode
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1465,1
    - Dst: WorkerPool::get
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1465,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1466,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1468,1
    - Dst: sentencepiece::SentencePieceText::SerializeAsString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1468,1
    - Dst: Normalize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1479,1
    - Dst: ToPyString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1481,1
    - Dst: Normalize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1491,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1492,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1495,1
    - Dst: py::make_tuple
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1498,1
    - Dst: ToPyString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1498,1
    - Dst: PieceToId
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1505,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1509,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1510,1
    - Dst: PieceToId
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1512,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1512,1
    - Dst: py::type_error
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1514,1
    - Dst: REGISTER_ID_METHOD
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1518,1
    - Dst: REGISTER_ID_METHOD
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1518,1
    - Dst: REGISTER_ID_METHOD
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1519,1
    - Dst: REGISTER_ID_METHOD
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1519,1
    - Dst: REGISTER_ID_METHOD
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1520,1
    - Dst: REGISTER_ID_METHOD
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1520,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1529,1
    - Dst: serialized_model_proto
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1529,1
    - Dst: "py::class_<\n      sentencepiece::SentencePieceTrainer,\n      std::unique_ptr<sentencepiece::SentencePieceTrainer,
        py::nodelete>>"
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1534,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1542,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1543,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1550,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1551,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1560,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1562,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1571,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1573,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1575,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1584,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1586,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1588,1
    - Dst: py::class_<sentencepiece::SentencePieceNormalizer>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1592,1
    - Dst: py::init<>
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1594,1
    - Dst: Load
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1599,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1600,1
    - Dst: cast
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1607,1
    - Dst: LoadFromSerializedProto
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1609,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1610,1
    - Dst: LoadFromRuleTSV
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1617,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1618,1
    - Dst: LoadFromRuleName
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1625,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1626,1
    - Dst: LoadFromMap
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1634,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1635,1
    - Dst: Decompile
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1643,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1644,1
    - Dst: Normalize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1655,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1656,1
    - Dst: ToPyString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1658,1
    - Dst: Normalize
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1668,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1669,1
    - Dst: sentencepiece::ConvertToUnicodeAlignment
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1672,1
    - Dst: py::make_tuple
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1675,1
    - Dst: ToPyString
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1675,1
    - Dst: sentencepiece::SentencePieceTrainer::SetProtoField
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1680,1
    - Dst: mutable_normalizer_spec
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1681,1
    - Dst: auto::ok
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1682,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1686,1
    - Dst: serialized_model_proto
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1686,1
    - Dst: py::bytes
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1690,1
    - Dst: serialized_normalizer_spec
      Src: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc:1690,1
    CyclomaticComplexity: 187
    EdgeCount: 187
    ICount: 586
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 517
    functionDepth: 3
    functionLinenumber: 517
    functionLinenumberEnd: 1692
    functionName: PYBIND11_MODULE
    functionSourceFile: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SetDataDir
    - def
    - sentencepiece::SentencePieceText::pieces_size
    - serialized_normalizer_spec
    - py::isinstance<py::str>
    - ToPyStringList
    - py::isinstance<py::tuple>
    - GetPieceSize
    - py::isinstance<py::list>
    - RewriteIdsThrowException
    - py::init<int>
    - std::vector::empty
    - py::list::size
    - std::vector::size
    - google::protobuf::StringPiece::substr
    - sentencepiece::SentencePieceText::SerializeAsString
    - sentencepiece::SentencePieceTrainer::Train
    - py::buffer_info
    - end
    - "py::class_<\n      sentencepiece::SentencePieceTrainer,\n      std::unique_ptr<sentencepiece::SentencePieceTrainer,
      py::nodelete>>"
    - Encode
    - Decompile
    - sentencepiece::SentencePieceTrainer::SetProtoField
    - py::type_error
    - py::value_error
    - sentencepiece::SentencePieceText::pieces
    - BuildUtf8ToUnicodeMap
    - reinterpret_cast<uintptr_t>
    - empty
    - py::list
    - py::sequence::size
    - Load
    - piece
    - absl::OkStatus
    - SampleEncode
    - CheckProtoArgsThrowException
    - sentencepiece::SentencePieceText::SentencePieceText
    - sentencepiece::RunBatch
    - TrainerSpec::_internal_has_input_format
    - serialized_model_proto
    - data
    - py::bytes
    - PyListStringViewVector::views
    - ToPyString
    - NBestEncode
    - CheckIds
    - CastToIntSpanOrVector
    - span
    - std::vector::back
    - LoadFromRuleTSV
    - RewriteIds
    - VectorBuffer
    - LoadFromMap
    - py::make_tuple
    - size
    - ExtractOffsetMapping
    - ParallelEncode
    - py::isinstance<py::bytes>
    - WorkerPool::get
    - absl::Status::ok
    - py::buffer_protocol
    - CheckIdsThrowException
    - py::class_<sentencepiece::SentencePieceNormalizer>
    - CastToVectorIntSpanOrVector
    - py::class_<VectorBuffer>
    - const_cast<int*>
    - auto::ok
    - mutable_normalizer_spec
    - py::class_<PyThreadPool>
    - id
    - begin
    - Normalize
    - LoadFromRuleName
    - std::vector::reserve
    - sentencepiece::NBestSentencePieceText::SerializeAsString
    - RegisterExceptionTranslator
    - google::protobuf::internal::arena_destruct_object
    - sentencepiece::ConvertToUnicodeAlignment
    - py::init<>
    - Decode
    - py::class_<sentencepiece::SentencePieceProcessor>
    - cast
    - py::list::empty
    - std::vector::emplace_back
    - REGISTER_ID_METHOD
    - PieceToId
    - py::sequence::empty
    - sentencepiece::NBestSentencePieceText::NBestSentencePieceText
    - LoadFromSerializedProto
    - IntSpanOrVector::span
    - py::object::cast
    - std::move
    linkageType: ''
    returnType: void
    signature: void PYBIND11_MODULE(_sentencepiece, m, py::mod_gil_not_used())
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: std::unordered_map::find
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:29,1
    - Dst: std::unordered_map::end
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:30,1
    - Dst: static_cast<int32_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:31,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:31,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:33,1
    - Dst: first::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:46,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:51,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:53,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:60,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:60,1
    - Dst: WordSeq::ids::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:61,1
    - Dst: get_or_add
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:61,1
    - Dst: auto::substr
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:61,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:64,1
    - Dst: std::move
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:64,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:67,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:67,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:68,1
    - Dst: NodeArena::from_seq
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:77,1
    - Dst: WordSeq::ids::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:78,1
    - Dst: insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:81,1
    - Dst: WordSeq::ids::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:84,1
    - Dst: WordSeq::ids::back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:84,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:93,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:93,1
    - Dst: MaxHeap::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:94,1
    - Dst: MaxHeap::pop
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:97,1
    - Dst: HeapDirty::find
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:98,1
    - Dst: HeapDirty::end
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:98,1
    - Dst: HeapDirty::find
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:99,1
    - Dst: HeapDirty::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:101,1
    - Dst: MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:103,1
    - Dst: MaxHeap::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:104,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:105,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:105,1
    - Dst: util::OkStatus
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:107,1
    - Dst: std::tie
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:109,1
    - Dst: MaxHeap::pop
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:109,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:118,1
    - Dst: is_valid
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:119,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:122,1
    - Dst: static_cast<int32_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:125,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:125,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:126,1
    - Dst: std::vector<std::pair<std::string, float>>*::emplace_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:128,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:129,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:129,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:131,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:132,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:133,1
    - Dst: std::move
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:143,1
    - Dst: BigramIndex::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:144,1
    - Dst: sentencepiece::nlcodec::is_unlinked
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:150,1
    - Dst: auto*::unlink
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:168,1
    - Dst: erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:173,1
    - Dst: empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:174,1
    - Dst: BigramIndex::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:174,1
    - Dst: insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:176,1
    - Dst: erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:180,1
    - Dst: empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:181,1
    - Dst: BigramIndex::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:181,1
    - Dst: insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:183,1
    - Dst: MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:189,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:195,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:195,1
    - Dst: util::OkStatus
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:197,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 100
    argCount: 4
    argNames:
    - sentences
    - vocab_size
    - final_pieces
    - is_valid
    argTypes:
    - TrainerInterface::Sentences
    - int
    - std::vector<std::pair<std::string, float>>*
    - std::function<bool(const string_util::UnicodeText &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 198
    functionName: sentencepiece::nlcodec::RunFastBPEMerges
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc
    functionUses: 2
    functionsReached:
    - std::vector<std::pair<std::string, float>>*::emplace_back
    - HeapDirty::find
    - erase
    - absl::flat_hash_set::insert
    - insert
    - std::tie
    - get_or_add
    - LOG
    - HeapDirty::erase
    - empty
    - static_cast<int32_t>
    - MaxHeap::pop
    - MaxHeap::push
    - sentencepiece::string_util::UTF8ToUnicodeText
    - WordSeq::ids::push_back
    - MaxHeap::empty
    - NodeArena::from_seq
    - util::OkStatus
    - std::unordered_map::find
    - static_cast<unsigned char>
    - std::vector<std::pair<std::string, float>>*::size
    - static_cast<float>
    - BigramIndex::erase
    - WordSeq::ids::empty
    - first::empty
    - std::vector::size
    - sentencepiece::nlcodec::is_unlinked
    - static_cast<int>
    - is_valid
    - auto*::unlink
    - std::unordered_map::end
    - HeapDirty::end
    - auto::substr
    - WordSeq::ids::size
    - auto::size
    - WordSeq::ids::back
    - std::move
    - std::vector::push_back
    linkageType: ''
    returnType: auto
    signature: "auto RunFastBPEMerges(\n    const TrainerInterface::Sentences &sentences,
      int vocab_size,\n    std::vector<std::pair<std::string, float>> *final_pieces,\n
      \   std::function<bool(const string_util::UnicodeText &)> is_valid)\n    ->
      util::Status"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: std::unordered_map::find
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:29,1
    - Dst: std::unordered_map::end
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:30,1
    - Dst: static_cast<int32_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:31,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:31,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:33,1
    - Dst: first::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:46,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:51,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:53,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:60,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:60,1
    - Dst: WordSeq::ids::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:61,1
    - Dst: get_or_add
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:61,1
    - Dst: auto::substr
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:61,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:64,1
    - Dst: std::move
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:64,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:67,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:67,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:68,1
    - Dst: NodeArena::from_seq
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:77,1
    - Dst: WordSeq::ids::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:78,1
    - Dst: insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:81,1
    - Dst: WordSeq::ids::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:84,1
    - Dst: WordSeq::ids::back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:84,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:93,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:93,1
    - Dst: MaxHeap::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:94,1
    - Dst: MaxHeap::pop
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:97,1
    - Dst: HeapDirty::find
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:98,1
    - Dst: HeapDirty::end
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:98,1
    - Dst: HeapDirty::find
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:99,1
    - Dst: HeapDirty::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:101,1
    - Dst: MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:103,1
    - Dst: MaxHeap::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:104,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:105,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:105,1
    - Dst: util::OkStatus
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:107,1
    - Dst: std::tie
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:109,1
    - Dst: MaxHeap::pop
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:109,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:118,1
    - Dst: is_valid
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:119,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:122,1
    - Dst: static_cast<int32_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:125,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:125,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:126,1
    - Dst: std::vector<std::pair<std::string, float>>*::emplace_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:128,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:129,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:129,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:131,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:132,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:133,1
    - Dst: std::move
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:143,1
    - Dst: BigramIndex::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:144,1
    - Dst: sentencepiece::nlcodec::is_unlinked
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:150,1
    - Dst: auto*::unlink
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:168,1
    - Dst: erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:173,1
    - Dst: empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:174,1
    - Dst: BigramIndex::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:174,1
    - Dst: insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:176,1
    - Dst: erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:180,1
    - Dst: empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:181,1
    - Dst: BigramIndex::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:181,1
    - Dst: insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:183,1
    - Dst: MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:189,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:195,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:195,1
    - Dst: util::OkStatus
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:197,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 100
    argCount: 4
    argNames:
    - sentences
    - vocab_size
    - final_pieces
    - is_valid
    argTypes:
    - TrainerInterface::Sentences
    - int
    - std::vector<std::pair<std::string, float>>*
    - std::function<bool(const string_util::UnicodeText &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 198
    functionName: sentencepiece::nlcodec::RunFastBPEMerges
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc
    functionUses: 2
    functionsReached:
    - std::vector<std::pair<std::string, float>>*::emplace_back
    - HeapDirty::find
    - erase
    - absl::flat_hash_set::insert
    - insert
    - std::tie
    - get_or_add
    - LOG
    - HeapDirty::erase
    - empty
    - static_cast<int32_t>
    - MaxHeap::pop
    - MaxHeap::push
    - sentencepiece::string_util::UTF8ToUnicodeText
    - WordSeq::ids::push_back
    - MaxHeap::empty
    - NodeArena::from_seq
    - util::OkStatus
    - std::unordered_map::find
    - static_cast<unsigned char>
    - std::vector<std::pair<std::string, float>>*::size
    - static_cast<float>
    - BigramIndex::erase
    - WordSeq::ids::empty
    - first::empty
    - std::vector::size
    - sentencepiece::nlcodec::is_unlinked
    - static_cast<int>
    - is_valid
    - auto*::unlink
    - std::unordered_map::end
    - HeapDirty::end
    - auto::substr
    - WordSeq::ids::size
    - auto::size
    - WordSeq::ids::back
    - std::move
    - std::vector::push_back
    linkageType: ''
    returnType: auto
    signature: "auto RunFastBPEMerges(\n    const TrainerInterface::Sentences &sentences,
      int vocab_size,\n    std::vector<std::pair<std::string, float>> *final_pieces,\n
      \   std::function<bool(const string_util::UnicodeText &)> is_valid)\n    ->
      util::Status"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: std::unordered_map::find
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:29,1
    - Dst: std::unordered_map::end
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:30,1
    - Dst: static_cast<int32_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:31,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:31,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:33,1
    - Dst: first::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:46,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:51,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:53,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:60,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:60,1
    - Dst: WordSeq::ids::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:61,1
    - Dst: get_or_add
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:61,1
    - Dst: auto::substr
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:61,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:64,1
    - Dst: std::move
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:64,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:67,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:67,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:68,1
    - Dst: NodeArena::from_seq
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:77,1
    - Dst: WordSeq::ids::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:78,1
    - Dst: insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:81,1
    - Dst: WordSeq::ids::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:84,1
    - Dst: WordSeq::ids::back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:84,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:93,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:93,1
    - Dst: MaxHeap::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:94,1
    - Dst: MaxHeap::pop
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:97,1
    - Dst: HeapDirty::find
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:98,1
    - Dst: HeapDirty::end
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:98,1
    - Dst: HeapDirty::find
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:99,1
    - Dst: HeapDirty::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:101,1
    - Dst: MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:103,1
    - Dst: MaxHeap::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:104,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:105,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:105,1
    - Dst: util::OkStatus
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:107,1
    - Dst: std::tie
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:109,1
    - Dst: MaxHeap::pop
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:109,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:118,1
    - Dst: is_valid
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:119,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:122,1
    - Dst: static_cast<int32_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:125,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:125,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:126,1
    - Dst: std::vector<std::pair<std::string, float>>*::emplace_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:128,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:129,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:129,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:131,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:132,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:133,1
    - Dst: std::move
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:143,1
    - Dst: BigramIndex::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:144,1
    - Dst: sentencepiece::nlcodec::is_unlinked
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:150,1
    - Dst: auto*::unlink
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:168,1
    - Dst: erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:173,1
    - Dst: empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:174,1
    - Dst: BigramIndex::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:174,1
    - Dst: insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:176,1
    - Dst: erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:180,1
    - Dst: empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:181,1
    - Dst: BigramIndex::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:181,1
    - Dst: insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:183,1
    - Dst: MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:189,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:195,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:195,1
    - Dst: util::OkStatus
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:197,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 100
    argCount: 4
    argNames:
    - sentences
    - vocab_size
    - final_pieces
    - is_valid
    argTypes:
    - TrainerInterface::Sentences
    - int
    - std::vector<std::pair<std::string, float>>*
    - std::function<bool(const string_util::UnicodeText &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 198
    functionName: sentencepiece::nlcodec::RunFastBPEMerges
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc
    functionUses: 2
    functionsReached:
    - std::vector<std::pair<std::string, float>>*::emplace_back
    - HeapDirty::find
    - erase
    - absl::flat_hash_set::insert
    - insert
    - std::tie
    - get_or_add
    - LOG
    - HeapDirty::erase
    - empty
    - static_cast<int32_t>
    - MaxHeap::pop
    - MaxHeap::push
    - sentencepiece::string_util::UTF8ToUnicodeText
    - WordSeq::ids::push_back
    - MaxHeap::empty
    - NodeArena::from_seq
    - util::OkStatus
    - std::unordered_map::find
    - static_cast<unsigned char>
    - std::vector<std::pair<std::string, float>>*::size
    - static_cast<float>
    - BigramIndex::erase
    - WordSeq::ids::empty
    - first::empty
    - std::vector::size
    - sentencepiece::nlcodec::is_unlinked
    - static_cast<int>
    - is_valid
    - auto*::unlink
    - std::unordered_map::end
    - HeapDirty::end
    - auto::substr
    - WordSeq::ids::size
    - auto::size
    - WordSeq::ids::back
    - std::move
    - std::vector::push_back
    linkageType: ''
    returnType: auto
    signature: "auto RunFastBPEMerges(\n    const TrainerInterface::Sentences &sentences,
      int vocab_size,\n    std::vector<std::pair<std::string, float>> *final_pieces,\n
      \   std::function<bool(const string_util::UnicodeText &)> is_valid)\n    ->
      util::Status"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: std::unordered_map::find
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:29,1
    - Dst: std::unordered_map::end
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:30,1
    - Dst: static_cast<int32_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:31,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:31,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:33,1
    - Dst: first::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:46,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:51,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:53,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:60,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:60,1
    - Dst: WordSeq::ids::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:61,1
    - Dst: get_or_add
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:61,1
    - Dst: auto::substr
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:61,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:64,1
    - Dst: std::move
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:64,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:67,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:67,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:68,1
    - Dst: NodeArena::from_seq
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:77,1
    - Dst: WordSeq::ids::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:78,1
    - Dst: insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:81,1
    - Dst: WordSeq::ids::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:84,1
    - Dst: WordSeq::ids::back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:84,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:93,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:93,1
    - Dst: MaxHeap::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:94,1
    - Dst: MaxHeap::pop
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:97,1
    - Dst: HeapDirty::find
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:98,1
    - Dst: HeapDirty::end
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:98,1
    - Dst: HeapDirty::find
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:99,1
    - Dst: HeapDirty::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:101,1
    - Dst: MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:103,1
    - Dst: MaxHeap::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:104,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:105,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:105,1
    - Dst: util::OkStatus
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:107,1
    - Dst: std::tie
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:109,1
    - Dst: MaxHeap::pop
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:109,1
    - Dst: sentencepiece::string_util::UTF8ToUnicodeText
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:118,1
    - Dst: is_valid
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:119,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:122,1
    - Dst: static_cast<int32_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:125,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:125,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:126,1
    - Dst: std::vector<std::pair<std::string, float>>*::emplace_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:128,1
    - Dst: static_cast<float>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:129,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:129,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:131,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:132,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:133,1
    - Dst: std::move
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:143,1
    - Dst: BigramIndex::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:144,1
    - Dst: sentencepiece::nlcodec::is_unlinked
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:150,1
    - Dst: auto*::unlink
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:168,1
    - Dst: erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:173,1
    - Dst: empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:174,1
    - Dst: BigramIndex::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:174,1
    - Dst: insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:176,1
    - Dst: erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:180,1
    - Dst: empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:181,1
    - Dst: BigramIndex::erase
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:181,1
    - Dst: insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:183,1
    - Dst: MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:189,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:195,1
    - Dst: std::vector<std::pair<std::string, float>>*::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:195,1
    - Dst: util::OkStatus
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc:197,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 100
    argCount: 4
    argNames:
    - sentences
    - vocab_size
    - final_pieces
    - is_valid
    argTypes:
    - TrainerInterface::Sentences
    - int
    - std::vector<std::pair<std::string, float>>*
    - std::function<bool(const string_util::UnicodeText &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 198
    functionName: sentencepiece::nlcodec::RunFastBPEMerges
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc
    functionUses: 2
    functionsReached:
    - std::vector<std::pair<std::string, float>>*::emplace_back
    - HeapDirty::find
    - erase
    - absl::flat_hash_set::insert
    - insert
    - std::tie
    - get_or_add
    - LOG
    - HeapDirty::erase
    - empty
    - static_cast<int32_t>
    - MaxHeap::pop
    - MaxHeap::push
    - sentencepiece::string_util::UTF8ToUnicodeText
    - WordSeq::ids::push_back
    - MaxHeap::empty
    - NodeArena::from_seq
    - util::OkStatus
    - std::unordered_map::find
    - static_cast<unsigned char>
    - std::vector<std::pair<std::string, float>>*::size
    - static_cast<float>
    - BigramIndex::erase
    - WordSeq::ids::empty
    - first::empty
    - std::vector::size
    - sentencepiece::nlcodec::is_unlinked
    - static_cast<int>
    - is_valid
    - auto*::unlink
    - std::unordered_map::end
    - HeapDirty::end
    - auto::substr
    - WordSeq::ids::size
    - auto::size
    - WordSeq::ids::back
    - std::move
    - std::vector::push_back
    linkageType: ''
    returnType: auto
    signature: "auto RunFastBPEMerges(\n    const TrainerInterface::Sentences &sentences,
      int vocab_size,\n    std::vector<std::pair<std::string, float>> *final_pieces,\n
      \   std::function<bool(const string_util::UnicodeText &)> is_valid)\n    ->
      util::Status"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:30,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:32,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:33,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:34,1
    - Dst: std::to_string
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:36,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:46,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - input_file
    - vocab_size
    - use_nlcodec
    argTypes:
    - std::string
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 51
    functionName: sentencepiece::nlcodec::TrainAndGetPieces
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - SentencePieceProcessor::IdToPiece
    - std::to_string
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: "std::set<std::string> TrainAndGetPieces(\n    const std::string &input_file,
      int vocab_size, bool use_nlcodec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:60,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:61,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:62,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:69,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, ProducesValidModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:88,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabSizeMatchesDefault)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:101,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:102,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:103,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 130
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, EncodesDecodesCorrectly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:136,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:137,1
    - Dst: auto::count
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:141,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:147,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:149,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:151,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:152,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - auto::count
    - EXPECT_GT
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - static_cast<double>
    - static_cast<int>
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabOverlapsWithDefault)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:30,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:32,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:33,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:34,1
    - Dst: std::to_string
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:36,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:46,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - input_file
    - vocab_size
    - use_nlcodec
    argTypes:
    - std::string
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 51
    functionName: sentencepiece::nlcodec::TrainAndGetPieces
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 2
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - SentencePieceProcessor::IdToPiece
    - std::to_string
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: "std::set<std::string> TrainAndGetPieces(\n    const std::string &input_file,
      int vocab_size, bool use_nlcodec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:60,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:61,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:62,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:69,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, ProducesValidModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:88,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabSizeMatchesDefault)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:101,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:102,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:103,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 130
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, EncodesDecodesCorrectly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:136,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:137,1
    - Dst: auto::count
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:141,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:147,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:149,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:151,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:152,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - auto::count
    - EXPECT_GT
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - static_cast<double>
    - static_cast<int>
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabOverlapsWithDefault)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:30,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:32,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:33,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:34,1
    - Dst: std::to_string
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:36,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:46,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - input_file
    - vocab_size
    - use_nlcodec
    argTypes:
    - std::string
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 51
    functionName: sentencepiece::nlcodec::TrainAndGetPieces
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 4
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - SentencePieceProcessor::IdToPiece
    - std::to_string
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: "std::set<std::string> TrainAndGetPieces(\n    const std::string &input_file,
      int vocab_size, bool use_nlcodec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:60,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:61,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:62,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:69,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, ProducesValidModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:88,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabSizeMatchesDefault)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:101,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:102,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:103,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 130
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, EncodesDecodesCorrectly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:136,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:137,1
    - Dst: auto::count
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:141,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:147,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:149,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:151,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:152,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - auto::count
    - EXPECT_GT
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - static_cast<double>
    - static_cast<int>
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabOverlapsWithDefault)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:30,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:32,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:33,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:34,1
    - Dst: std::to_string
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:36,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:46,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - input_file
    - vocab_size
    - use_nlcodec
    argTypes:
    - std::string
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 51
    functionName: sentencepiece::nlcodec::TrainAndGetPieces
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 6
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - SentencePieceProcessor::IdToPiece
    - std::to_string
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: "std::set<std::string> TrainAndGetPieces(\n    const std::string &input_file,
      int vocab_size, bool use_nlcodec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:60,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:61,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:62,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:69,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, ProducesValidModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:88,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabSizeMatchesDefault)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:101,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:102,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:103,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 130
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, EncodesDecodesCorrectly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:136,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:137,1
    - Dst: auto::count
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:141,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:147,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:149,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:151,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:152,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - auto::count
    - EXPECT_GT
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - static_cast<double>
    - static_cast<int>
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabOverlapsWithDefault)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:30,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:32,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:33,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:34,1
    - Dst: std::to_string
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:36,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:46,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - input_file
    - vocab_size
    - use_nlcodec
    argTypes:
    - std::string
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 51
    functionName: sentencepiece::nlcodec::TrainAndGetPieces
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 8
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - SentencePieceProcessor::IdToPiece
    - std::to_string
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: "std::set<std::string> TrainAndGetPieces(\n    const std::string &input_file,
      int vocab_size, bool use_nlcodec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:60,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:61,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:62,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:69,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, ProducesValidModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:88,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabSizeMatchesDefault)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:101,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:102,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:103,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 130
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, EncodesDecodesCorrectly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:136,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:137,1
    - Dst: auto::count
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:141,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:147,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:149,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:151,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:152,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - auto::count
    - EXPECT_GT
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - static_cast<double>
    - static_cast<int>
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabOverlapsWithDefault)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:30,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:32,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:33,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:34,1
    - Dst: std::to_string
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:36,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:46,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - input_file
    - vocab_size
    - use_nlcodec
    argTypes:
    - std::string
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 51
    functionName: sentencepiece::nlcodec::TrainAndGetPieces
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 10
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - SentencePieceProcessor::IdToPiece
    - std::to_string
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: "std::set<std::string> TrainAndGetPieces(\n    const std::string &input_file,
      int vocab_size, bool use_nlcodec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:60,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:61,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:62,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:69,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, ProducesValidModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:88,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabSizeMatchesDefault)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:101,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:102,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:103,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 130
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, EncodesDecodesCorrectly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:136,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:137,1
    - Dst: auto::count
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:141,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:147,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:149,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:151,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:152,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - auto::count
    - EXPECT_GT
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - static_cast<double>
    - static_cast<int>
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabOverlapsWithDefault)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:30,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:32,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:33,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:34,1
    - Dst: std::to_string
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:36,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:46,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - input_file
    - vocab_size
    - use_nlcodec
    argTypes:
    - std::string
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 51
    functionName: sentencepiece::nlcodec::TrainAndGetPieces
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 12
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - SentencePieceProcessor::IdToPiece
    - std::to_string
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: "std::set<std::string> TrainAndGetPieces(\n    const std::string &input_file,
      int vocab_size, bool use_nlcodec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:60,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:61,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:62,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:69,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, ProducesValidModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:88,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabSizeMatchesDefault)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:101,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:102,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:103,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 130
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, EncodesDecodesCorrectly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:136,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:137,1
    - Dst: auto::count
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:141,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:147,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:149,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:151,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:152,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - auto::count
    - EXPECT_GT
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - static_cast<double>
    - static_cast<int>
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabOverlapsWithDefault)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:27,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:30,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:32,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:33,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:34,1
    - Dst: std::to_string
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:36,1
    - Dst: EXPECT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:43,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:46,1
    - Dst: SentencePieceProcessor::IsUnknown
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: SentencePieceProcessor::IsControl
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:47,1
    - Dst: std::set::insert
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    - Dst: SentencePieceProcessor::IdToPiece
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - input_file
    - vocab_size
    - use_nlcodec
    argTypes:
    - std::string
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 51
    functionName: sentencepiece::nlcodec::TrainAndGetPieces
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 14
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::IsControl
    - EXPECT_TRUE
    - sentencepiece::util::JoinPath
    - google::protobuf::StrCat
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::IsUnknown
    - SentencePieceProcessor::IdToPiece
    - std::to_string
    - std::set::insert
    linkageType: ''
    returnType: std::set<std::string>
    signature: "std::set<std::string> TrainAndGetPieces(\n    const std::string &input_file,
      int vocab_size, bool use_nlcodec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:55,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:57,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:60,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:61,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:62,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:69,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: SentencePieceProcessor::GetPieceSize
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:77,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:80,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_EQ
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::GetPieceSize
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, ProducesValidModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:86,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:88,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabSizeMatchesDefault)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:96,1
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: testing::TempDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:98,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:101,1
    - Dst: sentencepiece::SentencePieceTrainer::Train
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:102,1
    - Dst: google::protobuf::StrCat
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:103,1
    - Dst: absl::SetFlag
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: SentencePieceProcessor::Load
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:113,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: SentencePieceProcessor::Encode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:123,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: SentencePieceProcessor::Decode
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:127,1
    - Dst: EXPECT_FALSE
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 130
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceTrainer::Train
    - absl::SetFlag
    - std::string::empty
    - ASSERT_TRUE
    - testing::TempDir
    - SentencePieceProcessor::Load
    - SentencePieceProcessor::Encode
    - std::vector::empty
    - EXPECT_FALSE
    - google::protobuf::StrCat
    - sentencepiece::util::JoinPath
    - SentencePieceProcessor::Decode
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, EncodesDecodesCorrectly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::util::JoinPath
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: testing::SrcDir
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:134,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:136,1
    - Dst: sentencepiece::nlcodec::TrainAndGetPieces
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:137,1
    - Dst: auto::count
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:141,1
    - Dst: static_cast<double>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:145,1
    - Dst: EXPECT_GT
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:147,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:149,1
    - Dst: LOG
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:151,1
    - Dst: auto::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:152,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: sentencepiece::nlcodec::TEST
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
    functionUses: 0
    functionsReached:
    - LOG
    - auto::count
    - EXPECT_GT
    - auto::size
    - sentencepiece::nlcodec::TrainAndGetPieces
    - sentencepiece::util::JoinPath
    - static_cast<double>
    - static_cast<int>
    - testing::SrcDir
    linkageType: ''
    returnType: void
    signature: void TEST(NlcodecBPETest, VocabOverlapsWithDefault)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: sentencepiece::nlcodec::unlink
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unlink()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: sentencepiece::nlcodec::is_unlinked
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_unlinked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<LnNode>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: sentencepiece::nlcodec::NodeArena::NodeArena
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - std::vector<LnNode>
    linkageType: ''
    returnType: void
    signature: void NodeArena(size_t cap = 1 << 20)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:54,1
    - Dst: push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:55,1
    - Dst: std::vector<LnNode>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:55,1
    - Dst: size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - val
    - freq
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: sentencepiece::nlcodec::NodeArena::alloc
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - push_back
    - std::vector<LnNode>
    - size
    linkageType: ''
    returnType: LnNode
    signature: LnNode *alloc(int32_t val, int64_t freq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:69,1
    - Dst: std::vector<int32_t>::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:69,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:70,1
    - Dst: sentencepiece::nlcodec::NodeArena::alloc
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:70,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:71,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - seq
    - freq
    argTypes:
    - std::vector<int32_t>
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: sentencepiece::nlcodec::NodeArena::from_seq
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - sentencepiece::nlcodec::NodeArena::alloc
    - std::vector<int32_t>::size
    - std::vector::size
    - std::vector::push_back
    - std::vector::reserve
    linkageType: ''
    returnType: auto
    signature: "auto from_seq(const std::vector<int32_t> &seq, int64_t freq)\n      ->
      std::vector<LnNode *>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:88,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Bigram
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: operator()(const Bigram &b) const
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Bigram &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::nlcodec::MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::unordered_map<Bigram, int64_t, BigramHash>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: sentencepiece::nlcodec::MaxHeap::MaxHeap
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - sentencepiece::nlcodec::MaxHeap::push
    linkageType: ''
    returnType: void
    signature: "void MaxHeap(\n      const std::unordered_map<Bigram, int64_t, BigramHash>
      &items)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::nlcodec::MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bg
    - freq
    argTypes:
    - Bigram
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: sentencepiece::nlcodec::MaxHeap::push
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 2
    functionsReached:
    - sentencepiece::nlcodec::MaxHeap::push
    linkageType: ''
    returnType: void
    signature: void push(const Bigram &bg, int64_t freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: top
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:105,1
    - Dst: sentencepiece::nlcodec::MaxHeap::pop
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: sentencepiece::nlcodec::MaxHeap::pop
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 1
    functionsReached:
    - top
    - sentencepiece::nlcodec::MaxHeap::pop
    linkageType: ''
    returnType: auto
    signature: auto pop() -> std::pair<Bigram, int64_t>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::nlcodec::MaxHeap::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: sentencepiece::nlcodec::MaxHeap::empty
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 1
    functionsReached:
    - sentencepiece::nlcodec::MaxHeap::empty
    linkageType: ''
    returnType: auto
    signature: auto empty() const -> bool
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: sentencepiece::nlcodec::unlink
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unlink()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: sentencepiece::nlcodec::is_unlinked
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_unlinked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<LnNode>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: sentencepiece::nlcodec::NodeArena::NodeArena
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - std::vector<LnNode>
    linkageType: ''
    returnType: void
    signature: void NodeArena(size_t cap = 1 << 20)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:54,1
    - Dst: push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:55,1
    - Dst: std::vector<LnNode>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:55,1
    - Dst: size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - val
    - freq
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: sentencepiece::nlcodec::NodeArena::alloc
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 1
    functionsReached:
    - push_back
    - std::vector<LnNode>
    - size
    linkageType: ''
    returnType: LnNode
    signature: LnNode *alloc(int32_t val, int64_t freq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:69,1
    - Dst: std::vector<int32_t>::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:69,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:70,1
    - Dst: sentencepiece::nlcodec::NodeArena::alloc
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:70,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:71,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - seq
    - freq
    argTypes:
    - std::vector<int32_t>
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: sentencepiece::nlcodec::NodeArena::from_seq
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - sentencepiece::nlcodec::NodeArena::alloc
    - std::vector<int32_t>::size
    - std::vector::size
    - std::vector::push_back
    - std::vector::reserve
    linkageType: ''
    returnType: auto
    signature: "auto from_seq(const std::vector<int32_t> &seq, int64_t freq)\n      ->
      std::vector<LnNode *>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:88,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Bigram
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: operator()(const Bigram &b) const
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Bigram &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::nlcodec::MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::unordered_map<Bigram, int64_t, BigramHash>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: sentencepiece::nlcodec::MaxHeap::MaxHeap
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - sentencepiece::nlcodec::MaxHeap::push
    linkageType: ''
    returnType: void
    signature: "void MaxHeap(\n      const std::unordered_map<Bigram, int64_t, BigramHash>
      &items)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::nlcodec::MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bg
    - freq
    argTypes:
    - Bigram
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: sentencepiece::nlcodec::MaxHeap::push
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 4
    functionsReached:
    - sentencepiece::nlcodec::MaxHeap::push
    linkageType: ''
    returnType: void
    signature: void push(const Bigram &bg, int64_t freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: top
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:105,1
    - Dst: sentencepiece::nlcodec::MaxHeap::pop
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: sentencepiece::nlcodec::MaxHeap::pop
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 2
    functionsReached:
    - top
    - sentencepiece::nlcodec::MaxHeap::pop
    linkageType: ''
    returnType: auto
    signature: auto pop() -> std::pair<Bigram, int64_t>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::nlcodec::MaxHeap::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: sentencepiece::nlcodec::MaxHeap::empty
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 2
    functionsReached:
    - sentencepiece::nlcodec::MaxHeap::empty
    linkageType: ''
    returnType: auto
    signature: auto empty() const -> bool
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: sentencepiece::nlcodec::unlink
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unlink()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: sentencepiece::nlcodec::is_unlinked
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_unlinked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<LnNode>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: sentencepiece::nlcodec::NodeArena::NodeArena
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - std::vector<LnNode>
    linkageType: ''
    returnType: void
    signature: void NodeArena(size_t cap = 1 << 20)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:54,1
    - Dst: push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:55,1
    - Dst: std::vector<LnNode>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:55,1
    - Dst: size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - val
    - freq
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: sentencepiece::nlcodec::NodeArena::alloc
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 2
    functionsReached:
    - push_back
    - std::vector<LnNode>
    - size
    linkageType: ''
    returnType: LnNode
    signature: LnNode *alloc(int32_t val, int64_t freq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:69,1
    - Dst: std::vector<int32_t>::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:69,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:70,1
    - Dst: sentencepiece::nlcodec::NodeArena::alloc
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:70,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:71,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - seq
    - freq
    argTypes:
    - std::vector<int32_t>
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: sentencepiece::nlcodec::NodeArena::from_seq
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - sentencepiece::nlcodec::NodeArena::alloc
    - std::vector<int32_t>::size
    - std::vector::size
    - std::vector::push_back
    - std::vector::reserve
    linkageType: ''
    returnType: auto
    signature: "auto from_seq(const std::vector<int32_t> &seq, int64_t freq)\n      ->
      std::vector<LnNode *>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:88,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Bigram
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: operator()(const Bigram &b) const
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Bigram &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::nlcodec::MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::unordered_map<Bigram, int64_t, BigramHash>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: sentencepiece::nlcodec::MaxHeap::MaxHeap
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - sentencepiece::nlcodec::MaxHeap::push
    linkageType: ''
    returnType: void
    signature: "void MaxHeap(\n      const std::unordered_map<Bigram, int64_t, BigramHash>
      &items)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::nlcodec::MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bg
    - freq
    argTypes:
    - Bigram
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: sentencepiece::nlcodec::MaxHeap::push
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 6
    functionsReached:
    - sentencepiece::nlcodec::MaxHeap::push
    linkageType: ''
    returnType: void
    signature: void push(const Bigram &bg, int64_t freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: top
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:105,1
    - Dst: sentencepiece::nlcodec::MaxHeap::pop
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: sentencepiece::nlcodec::MaxHeap::pop
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 3
    functionsReached:
    - top
    - sentencepiece::nlcodec::MaxHeap::pop
    linkageType: ''
    returnType: auto
    signature: auto pop() -> std::pair<Bigram, int64_t>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::nlcodec::MaxHeap::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: sentencepiece::nlcodec::MaxHeap::empty
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 3
    functionsReached:
    - sentencepiece::nlcodec::MaxHeap::empty
    linkageType: ''
    returnType: auto
    signature: auto empty() const -> bool
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: sentencepiece::nlcodec::unlink
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unlink()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: sentencepiece::nlcodec::is_unlinked
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_unlinked() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<LnNode>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: sentencepiece::nlcodec::NodeArena::NodeArena
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - std::vector<LnNode>
    linkageType: ''
    returnType: void
    signature: void NodeArena(size_t cap = 1 << 20)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:54,1
    - Dst: push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:55,1
    - Dst: std::vector<LnNode>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:55,1
    - Dst: size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - val
    - freq
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: sentencepiece::nlcodec::NodeArena::alloc
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 3
    functionsReached:
    - push_back
    - std::vector<LnNode>
    - size
    linkageType: ''
    returnType: LnNode
    signature: LnNode *alloc(int32_t val, int64_t freq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:69,1
    - Dst: std::vector<int32_t>::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:69,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:70,1
    - Dst: sentencepiece::nlcodec::NodeArena::alloc
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:70,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:71,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - seq
    - freq
    argTypes:
    - std::vector<int32_t>
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: sentencepiece::nlcodec::NodeArena::from_seq
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - sentencepiece::nlcodec::NodeArena::alloc
    - std::vector<int32_t>::size
    - std::vector::size
    - std::vector::push_back
    - std::vector::reserve
    linkageType: ''
    returnType: auto
    signature: "auto from_seq(const std::vector<int32_t> &seq, int64_t freq)\n      ->
      std::vector<LnNode *>"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:88,1
    - Dst: static_cast<uint32_t>
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - Bigram
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: operator()(const Bigram &b) const
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Bigram &b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::nlcodec::MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - items
    argTypes:
    - std::unordered_map<Bigram, int64_t, BigramHash>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: sentencepiece::nlcodec::MaxHeap::MaxHeap
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 0
    functionsReached:
    - sentencepiece::nlcodec::MaxHeap::push
    linkageType: ''
    returnType: void
    signature: "void MaxHeap(\n      const std::unordered_map<Bigram, int64_t, BigramHash>
      &items)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::nlcodec::MaxHeap::push
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bg
    - freq
    argTypes:
    - Bigram
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: sentencepiece::nlcodec::MaxHeap::push
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 8
    functionsReached:
    - sentencepiece::nlcodec::MaxHeap::push
    linkageType: ''
    returnType: void
    signature: void push(const Bigram &bg, int64_t freq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: top
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:105,1
    - Dst: sentencepiece::nlcodec::MaxHeap::pop
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: sentencepiece::nlcodec::MaxHeap::pop
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 4
    functionsReached:
    - top
    - sentencepiece::nlcodec::MaxHeap::pop
    linkageType: ''
    returnType: auto
    signature: auto pop() -> std::pair<Bigram, int64_t>
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::nlcodec::MaxHeap::empty
      Src: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: sentencepiece::nlcodec::MaxHeap::empty
    functionSourceFile: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    functionUses: 4
    functionsReached:
    - sentencepiece::nlcodec::MaxHeap::empty
    linkageType: ''
    returnType: auto
    signature: auto empty() const -> bool
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: DARTS_INT_TO_STR
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DARTS_INT_TO_STR(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: DARTS_LINE_TO_STR
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DARTS_LINE_TO_STR(line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: DARTS_THROW
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DARTS_THROW(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Darts::Details::DoubleArrayUnit::DoubleArrayUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayUnit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Darts::Details::DoubleArrayUnit::has_leaf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_leaf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: Darts::Details::DoubleArrayUnit::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    linkageType: ''
    returnType: value_type
    signature: value_type value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Darts::Details::DoubleArrayUnit::label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type label() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Darts::Details::DoubleArrayUnit::offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type offset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Darts::Details::Exception::Exception
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception(const char *msg = NULL) throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Darts::Details::Exception::Exception
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception(const Exception &rhs) throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~Exception() throw()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Exception() throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Darts::Details::Exception::what
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *what() const throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Darts::Details::DoubleArrayUnit::DoubleArrayUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayUnit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Darts::Details::DoubleArrayUnit::has_leaf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_leaf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: Darts::Details::DoubleArrayUnit::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    linkageType: ''
    returnType: value_type
    signature: value_type value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Darts::Details::DoubleArrayUnit::label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type label() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Darts::Details::DoubleArrayUnit::offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type offset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Darts::Details::Exception::Exception
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception(const char *msg = NULL) throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Darts::Details::Exception::Exception
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception(const Exception &rhs) throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~Exception() throw()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Exception() throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Darts::Details::Exception::what
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *what() const throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Darts::DoubleArrayImpl::DoubleArrayImpl
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: ~DoubleArrayImpl()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~DoubleArrayImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - value
    argTypes:
    - value_type*
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: Darts::DoubleArrayImpl::set_result
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_result(value_type *result, value_type value, std::size_t)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - result
    - value
    - length
    argTypes:
    - result_pair_type*
    - value_type
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: Darts::DoubleArrayImpl::set_result
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void set_result(result_pair_type *result,\n      value_type value,
      std::size_t length) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::DoubleArrayImpl::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:173,1
    - Dst: static_cast<const unit_type *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: Darts::DoubleArrayImpl::set_array
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<const unit_type *>
    - Darts::DoubleArrayImpl::clear
    linkageType: ''
    returnType: void
    signature: void set_array(const void *ptr, std::size_t size = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::DoubleArrayImpl::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:178,1
    - Dst: Darts::DoubleArrayImpl::unit_size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:179,1
    - Dst: Darts::DoubleArrayImpl::unit_size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:180,1
    - Dst: unit_type::unit_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:181,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - num_bytes
    argTypes:
    - void*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: Darts::DoubleArrayImpl::copy_array
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::DoubleArrayImpl::unit_size
    - unit_type::unit_type
    - std::memcpy
    - Darts::DoubleArrayImpl::clear
    linkageType: ''
    returnType: void
    signature: void copy_array(const void* ptr, std::size_t num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: Darts::DoubleArrayImpl::array
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *array() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: Darts::DoubleArrayImpl::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Darts::DoubleArrayImpl::unit_size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t unit_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: Darts::DoubleArrayImpl::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::DoubleArrayImpl::unit_size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:214,1
    - Dst: Darts::DoubleArrayImpl::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: Darts::DoubleArrayImpl::total_size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::DoubleArrayImpl::unit_size
    - Darts::DoubleArrayImpl::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t total_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::DoubleArrayImpl::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: Darts::DoubleArrayImpl::nonzero_size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::DoubleArrayImpl::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t nonzero_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::DoubleArrayImpl::exactMatchSearch
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - key_type*
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: Darts::DoubleArrayImpl::exactMatchSearch
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::DoubleArrayImpl::exactMatchSearch
    linkageType: ''
    returnType: void
    signature: "void exactMatchSearch(const key_type *key, U &result,\n      std::size_t
      length = 0, std::size_t node_pos = 0) const"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ::fopen_s
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:342,1
    - Dst: std::fopen
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:346,1
    - Dst: std::fseek
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:353,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:354,1
    - Dst: std::ftell
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:357,1
    - Dst: unit_size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:360,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:362,1
    - Dst: std::fseek
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:366,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:367,1
    - Dst: std::fread
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:372,1
    - Dst: unit_size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:372,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:373,1
    - Dst: label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:377,1
    - Dst: has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:377,1
    - Dst: offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:378,1
    - Dst: offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:378,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:379,1
    - Dst: label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:383,1
    - Dst: offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:383,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:384,1
    - Dst: unit_type::unit_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:391,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:396,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:397,1
    - Dst: std::fread
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:401,1
    - Dst: unit_size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:401,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:402,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:407,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:409,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 4
    argNames:
    - file_name
    - mode
    - offset
    - size
    argTypes:
    - char*
    - char*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 415
    functionName: Darts::DoubleArrayImpl<A, B, T, C>::open
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - offset
    - ::fopen_s
    - label
    - std::fseek
    - std::fread
    - unit_type::unit_type
    - std::ftell
    - std::fopen
    - std::fclose
    - has_leaf
    - DARTS_THROW
    - clear
    - unit_size
    linkageType: ''
    returnType: int
    signature: "int DoubleArrayImpl<A, B, T, C>::open(const char *file_name,\n    const
      char *mode, std::size_t offset, std::size_t size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:420,1
    - Dst: ::fopen_s
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:426,1
    - Dst: std::fopen
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:430,1
    - Dst: std::fwrite
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:436,1
    - Dst: unit_size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:436,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:436,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:436,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:437,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - file_name
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 442
    functionName: Darts::DoubleArrayImpl<A, B, T, C>::save
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - std::fwrite
    - ::fopen_s
    - std::fopen
    - std::fclose
    - unit_size
    - size
    linkageType: ''
    returnType: int
    signature: "int DoubleArrayImpl<A, B, T, C>::save(const char *file_name,\n    const
      char *mode, std::size_t) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:447,1
    - Dst: has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:447,1
    - Dst: offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:448,1
    - Dst: offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:448,1
    - Dst: label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:452,1
    - Dst: offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:453,1
    - Dst: value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:458,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - max_value_limit
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 465
    functionName: Darts::DoubleArrayImpl<A, B, T, C>::validate
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - has_leaf
    - value
    - offset
    - label
    linkageType: ''
    returnType: bool
    signature: bool DoubleArrayImpl<A, B, T, C>::validate(value_type max_value_limit)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: set_result
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:472,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:472,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:477,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:477,1
    - Dst: unit_type::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:479,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:479,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:485,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:485,1
    - Dst: unit_type::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:487,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:487,1
    - Dst: unit_type::has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:493,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:496,1
    - Dst: set_result
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:497,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:497,1
    - Dst: unit_type::value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - key
    - length
    - node_pos
    argTypes:
    - key_type*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 499
    functionName: Darts::DoubleArrayImpl<A, B, T, C>::exactMatchSearch
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - unit_type::label
    - set_result
    - static_cast<value_type>
    - unit_type::offset
    - unit_type::has_leaf
    - static_cast<uchar_type>
    - unit_type::value
    linkageType: ''
    returnType: U
    signature: "U DoubleArrayImpl<A, B, T, C>::exactMatchSearch(const key_type *key,\n
      \   std::size_t length, std::size_t node_pos) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:509,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:512,1
    - Dst: unit_type::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:514,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:514,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:518,1
    - Dst: unit_type::has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:519,1
    - Dst: set_result
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:521,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:521,1
    - Dst: value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:522,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:529,1
    - Dst: unit_type::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:531,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:531,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:535,1
    - Dst: unit_type::has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:536,1
    - Dst: set_result
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:538,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:538,1
    - Dst: value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:539,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - key
    - results
    - max_num_results
    - length
    - node_pos
    argTypes:
    - key_type*
    - U*
    - std::size_t
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 547
    functionName: Darts::DoubleArrayImpl<A, B, T, C>::commonPrefixSearch
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - unit_type::label
    - set_result
    - static_cast<value_type>
    - unit_type::offset
    - unit_type::has_leaf
    - static_cast<uchar_type>
    - value
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t DoubleArrayImpl<A, B, T, C>::commonPrefixSearch(\n    const
      key_type *key, U *results, std::size_t max_num_results,\n    std::size_t length,
      std::size_t node_pos) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<id_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:553,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:558,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:558,1
    - Dst: unit_type::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:560,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:560,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:561,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:567,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:567,1
    - Dst: unit_type::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:569,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:569,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:570,1
    - Dst: unit_type::has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:576,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:577,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:579,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:580,1
    - Dst: unit_type::value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - key
    - node_pos
    - key_pos
    - length
    argTypes:
    - key_type*
    - std::size_t
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 581
    functionName: Darts::DoubleArrayImpl<A, B, T, C>::traverse
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - unit_type::label
    - static_cast<value_type>
    - unit_type::offset
    - unit_type::has_leaf
    - static_cast<uchar_type>
    - static_cast<id_type>
    - unit_type::value
    linkageType: ''
    returnType: typename DoubleArrayImpl<A, B, T, C>::value_type
    signature: "typename DoubleArrayImpl<A, B, T, C>::value_type DoubleArrayImpl<A,
      B, T, C>::traverse(const key_type *key,\n    std::size_t &node_pos, std::size_t
      &key_pos, std::size_t length) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 592
    functionName: Darts::Details::AutoArray::AutoArray
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoArray(T *array = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: ~AutoArray()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~AutoArray()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: '&operator[](std::size_t id) const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: '&operator[](std::size_t id)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 606
    functionName: Darts::Details::AutoArray::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 613
    functionName: Darts::Details::AutoArray::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - array
    argTypes:
    - AutoArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 618
    functionName: Darts::Details::AutoArray::swap
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap(AutoArray *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoArray::AutoArray
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 621
    functionName: Darts::Details::AutoArray::reset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::AutoArray::AutoArray
    linkageType: ''
    returnType: void
    signature: void reset(T *array = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 638
    functionName: Darts::Details::AutoPool::AutoPool
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 639
    functionName: ~AutoPool()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~AutoPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 643
    functionName: '&operator[](std::size_t id) const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: '&operator[](std::size_t id)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T *>
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 650
    functionName: Darts::Details::AutoPool::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 653
    functionName: Darts::Details::AutoPool::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoPool::resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:656,1
    - Dst: Darts::Details::AutoPool::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 660
    functionName: Darts::Details::AutoPool::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::AutoPool::resize
    - Darts::Details::AutoPool::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoPool::append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 664
    functionName: Darts::Details::AutoPool::push_back
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::AutoPool::append
    linkageType: ''
    returnType: void
    signature: void push_back(const T &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 667
    functionName: Darts::Details::AutoPool::pop_back
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - ~T
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:671,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 673
    functionName: Darts::Details::AutoPool::append
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - T::T
    - resize_buf
    linkageType: ''
    returnType: void
    signature: void append()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:676,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: Darts::Details::AutoPool::append
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - T::T
    - resize_buf
    linkageType: ''
    returnType: void
    signature: void append(const T &value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:682,1
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:685,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 690
    functionName: Darts::Details::AutoPool::resize
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - T::T
    - resize_buf
    - ~T
    linkageType: ''
    returnType: void
    signature: void resize(std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:693,1
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:696,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - size
    - value
    argTypes:
    - std::size_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: Darts::Details::AutoPool::resize
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - T::T
    - resize_buf
    - ~T
    linkageType: ''
    returnType: void
    signature: void resize(std::size_t size, const T &value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: Darts::Details::AutoPool::reserve
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - resize_buf
    linkageType: ''
    returnType: void
    signature: void reserve(std::size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AutoArray::reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:735,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:735,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:737,1
    - Dst: reinterpret_cast<T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:741,1
    - Dst: reinterpret_cast<T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:742,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:744,1
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:745,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 751
    functionName: Darts::Details::AutoPool<T>::resize_buf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - T::T
    - char::char
    - reinterpret_cast<T *>
    - swap
    - AutoArray::reset
    - DARTS_THROW
    - ~T
    linkageType: ''
    returnType: void
    signature: void AutoPool<T>::resize_buf(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 760
    functionName: Darts::Details::AutoStack::AutoStack
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoStack()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 763
    functionName: ~AutoStack()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~AutoStack()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 767
    functionName: '&top() const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: T
    signature: T &top() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 770
    functionName: '&top()'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: T
    signature: T &top()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoStack::empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 774
    functionName: Darts::Details::AutoStack::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::AutoStack::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoStack::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 777
    functionName: Darts::Details::AutoStack::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::AutoStack::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 781
    functionName: Darts::Details::AutoStack::push
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void push(const T &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 784
    functionName: Darts::Details::AutoStack::pop
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: void
    signature: void pop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoStack::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 788
    functionName: Darts::Details::AutoStack::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::AutoStack::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: Darts::Details::BitVector::BitVector
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 807
    functionName: ~BitVector()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~BitVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: operator[](std::size_t id) const
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator[](std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::pop_count
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 817
    functionName: Darts::Details::BitVector::rank
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::BitVector::pop_count
    linkageType: ''
    returnType: id_type
    signature: id_type rank(std::size_t id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - bit
    argTypes:
    - std::size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 825
    functionName: Darts::Details::BitVector::set
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(std::size_t id, bool bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 829
    functionName: Darts::Details::BitVector::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::BitVector::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 832
    functionName: Darts::Details::BitVector::num_ones
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_ones() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 835
    functionName: Darts::Details::BitVector::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 842
    functionName: Darts::Details::BitVector::append
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::BitVector::append
    linkageType: ''
    returnType: void
    signature: void append()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:846,1
    - Dst: Darts::Details::BitVector::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: Darts::Details::BitVector::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::BitVector::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - unit
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 869
    functionName: Darts::Details::BitVector::pop_count
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type pop_count(id_type unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:874,1
    - Dst: Darts::Details::BitVector::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:874,1
    - Dst: id_type::id_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:874,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:876,1
    - Dst: Darts::Details::BitVector::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:880,1
    - Dst: Darts::Details::BitVector::pop_count
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 884
    functionName: Darts::Details::BitVector::build
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::BitVector::size
    - id_type::id_type
    - Darts::Details::BitVector::pop_count
    - reset
    - DARTS_THROW
    linkageType: ''
    returnType: void
    signature: void BitVector::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - num_keys
    - keys
    - lengths
    - values
    argTypes:
    - std::size_t
    - char_type**
    - std::size_t*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 895
    functionName: Darts::Details::Keyset::Keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Keyset(std::size_t num_keys, const char_type * const *keys,\n
      \     const std::size_t *lengths, const T *values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 899
    functionName: Darts::Details::Keyset::num_keys
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_keys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 902
    functionName: Darts::Details::Keyset::keys
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char_type
    signature: char_type *keys(std::size_t id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::Keyset::has_lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - key_id
    - char_id
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 907
    functionName: Darts::Details::Keyset::keys
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::Keyset::has_lengths
    linkageType: ''
    returnType: uchar_type
    signature: uchar_type keys(std::size_t key_id, std::size_t char_id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 911
    functionName: Darts::Details::Keyset::has_lengths
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_lengths() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::Keyset::has_lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 921
    functionName: Darts::Details::Keyset::lengths
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::Keyset::has_lengths
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t lengths(std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 925
    functionName: Darts::Details::Keyset::has_values
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_values() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::Keyset::has_values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:927,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:928,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 931
    functionName: Darts::Details::Keyset::values
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    - Darts::Details::Keyset::has_values
    linkageType: ''
    returnType: value_type
    signature: value_type values(std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 951
    functionName: Darts::Details::DawgNode::DawgNode
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - child
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 955
    functionName: Darts::Details::DawgNode::set_child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_child(id_type child)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sibling
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 958
    functionName: Darts::Details::DawgNode::set_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sibling(id_type sibling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 961
    functionName: Darts::Details::DawgNode::set_value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_value(value_type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - uchar_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 964
    functionName: Darts::Details::DawgNode::set_label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_label(uchar_type label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 967
    functionName: Darts::Details::DawgNode::set_is_state
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_state(bool is_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_sibling
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 970
    functionName: Darts::Details::DawgNode::set_has_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_sibling(bool has_sibling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 974
    functionName: Darts::Details::DawgNode::child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type child() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 977
    functionName: Darts::Details::DawgNode::sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type sibling() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: Darts::Details::DawgNode::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    linkageType: ''
    returnType: value_type
    signature: value_type value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 983
    functionName: Darts::Details::DawgNode::label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uchar_type
    signature: uchar_type label() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 986
    functionName: Darts::Details::DawgNode::is_state
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_state() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 989
    functionName: Darts::Details::DawgNode::has_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_sibling() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 996
    functionName: Darts::Details::DawgNode::unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type unit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1014
    functionName: Darts::Details::DawgUnit::DawgUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgUnit(id_type unit = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - unit
    argTypes:
    - DawgUnit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1015
    functionName: Darts::Details::DawgUnit::DawgUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgUnit(const DawgUnit &unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - unit
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1020
    functionName: '&operator=(id_type unit)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DawgUnit
    signature: DawgUnit &operator=(id_type unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1024
    functionName: Darts::Details::DawgUnit::unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type unit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1028
    functionName: Darts::Details::DawgUnit::child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type child() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: Darts::Details::DawgUnit::has_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_sibling() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1034
    functionName: Darts::Details::DawgUnit::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    linkageType: ''
    returnType: value_type
    signature: value_type value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1037
    functionName: Darts::Details::DawgUnit::is_state
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_state() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1052
    functionName: Darts::Details::DawgBuilder::DawgBuilder
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1055
    functionName: ~DawgBuilder()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~DawgBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1059
    functionName: Darts::Details::DawgBuilder::root
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type root() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1063
    functionName: Darts::Details::DawgBuilder::child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::DawgBuilder::child
    linkageType: ''
    returnType: id_type
    signature: id_type child(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1066
    functionName: Darts::Details::DawgBuilder::sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - has_sibling
    linkageType: ''
    returnType: id_type
    signature: id_type sibling(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1069
    functionName: Darts::Details::DawgBuilder::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::DawgBuilder::value
    linkageType: ''
    returnType: int
    signature: int value(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1073
    functionName: Darts::Details::DawgBuilder::is_leaf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::DawgBuilder::label
    linkageType: ''
    returnType: bool
    signature: bool is_leaf(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1076
    functionName: Darts::Details::DawgBuilder::label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uchar_type
    signature: uchar_type label(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1080
    functionName: Darts::Details::DawgBuilder::is_intersection
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_intersection(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rank
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1083
    functionName: Darts::Details::DawgBuilder::intersection_id
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - rank
    linkageType: ''
    returnType: id_type
    signature: id_type intersection_id(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_ones
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1087
    functionName: Darts::Details::DawgBuilder::num_intersections
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - num_ones
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_intersections() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: Darts::Details::DawgBuilder::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::DawgBuilder::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1133
    functionName: Darts::Details::DawgBuilder::free_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - push
    linkageType: ''
    returnType: void
    signature: void free_node(id_type id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1143
    functionName: Darts::Details::DawgBuilder::hash
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type hash(id_type key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1147,1
    - Dst: Darts::Details::DawgBuilder::append_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1149,1
    - Dst: Darts::Details::DawgBuilder::append_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1150,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1154,1
    - Dst: push
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1156
    functionName: Darts::Details::DawgBuilder::init
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - resize
    - set_label
    - Darts::Details::DawgBuilder::append_unit
    - push
    - Darts::Details::DawgBuilder::append_node
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::flush
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1159,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1161,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1162,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1164,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1165,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1166,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1167,1
    - Dst: build
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1170
    functionName: Darts::Details::DawgBuilder::finish
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::DawgBuilder::label
    - unit
    - build
    - Darts::Details::DawgBuilder::clear
    - Darts::Details::DawgBuilder::flush
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::finish()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1175,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1177,1
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1184,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1189,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1191,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1194,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1196,1
    - Dst: set_has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1198,1
    - Dst: Darts::Details::DawgBuilder::flush
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1199,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1210,1
    - Dst: Darts::Details::DawgBuilder::append_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1212,1
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1214,1
    - Dst: set_is_state
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1215,1
    - Dst: set_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1217,1
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1217,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1218,1
    - Dst: set_child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1219,1
    - Dst: push
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1220,1
    - Dst: set_value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1224,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - key
    - length
    - value
    argTypes:
    - char*
    - std::size_t
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1172
    functionDepth: 2
    functionLinenumber: 1172
    functionLinenumberEnd: 1225
    functionName: Darts::Details::DawgBuilder::insert
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - set_sibling
    - set_has_sibling
    - set_child
    - set_is_state
    - Darts::Details::DawgBuilder::append_node
    - static_cast<uchar_type>
    - set_label
    - Darts::Details::DawgBuilder::label
    - push
    - set_value
    - Darts::Details::DawgBuilder::child
    - Darts::Details::DawgBuilder::flush
    - DARTS_THROW
    linkageType: ''
    returnType: void
    signature: "void DawgBuilder::insert(const char *key, std::size_t length,\n    value_type
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1228,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1229,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1230,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1231,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1232,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1233,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1236
    functionName: Darts::Details::DawgBuilder::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::DawgBuilder::clear
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1239,1
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1240,1
    - Dst: pop
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1241,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1243,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1243,1
    - Dst: Darts::Details::DawgBuilder::expand_table
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1244,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1248,1
    - Dst: Darts::Details::DawgBuilder::find_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1253,1
    - Dst: set
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1255,1
    - Dst: Darts::Details::DawgBuilder::append_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1259,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1261,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1262,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1263,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1272,1
    - Dst: Darts::Details::DawgBuilder::free_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1273,1
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1276,1
    - Dst: set_child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1276,1
    - Dst: pop
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1238
    functionDepth: 2
    functionLinenumber: 1238
    functionLinenumberEnd: 1279
    functionName: Darts::Details::DawgBuilder::flush
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - top
    - Darts::Details::DawgBuilder::find_node
    - Darts::Details::DawgBuilder::sibling
    - pop
    - Darts::Details::DawgBuilder::append_unit
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::expand_table
    - Darts::Details::DawgBuilder::label
    - unit
    - Darts::Details::DawgBuilder::free_node
    - set
    - set_child
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::flush(id_type id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1282,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1283,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1284,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1286,1
    - Dst: static_cast<id_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1287,1
    - Dst: is_state
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1288,1
    - Dst: Darts::Details::DawgBuilder::find_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1281
    functionDepth: 2
    functionLinenumber: 1281
    functionLinenumberEnd: 1294
    functionName: Darts::Details::DawgBuilder::expand_table
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - resize
    - static_cast<id_type>
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::clear
    - Darts::Details::DawgBuilder::find_unit
    - is_state
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::expand_table()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::hash_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1297,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1297,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - id
    - hash_id
    argTypes:
    - id_type
    - id_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1296
    functionDepth: 2
    functionLinenumber: 1296
    functionLinenumberEnd: 1307
    functionName: Darts::Details::DawgBuilder::find_unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::hash_unit
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::find_unit(id_type id, id_type *hash_id) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::hash_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1311,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1311,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1312,1
    - Dst: Darts::Details::DawgBuilder::are_equal
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - node_id
    - hash_id
    argTypes:
    - id_type
    - id_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1309
    functionDepth: 2
    functionLinenumber: 1309
    functionLinenumberEnd: 1323
    functionName: Darts::Details::DawgBuilder::find_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::DawgBuilder::are_equal
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::hash_node
    linkageType: ''
    returnType: id_type
    signature: "id_type DawgBuilder::find_node(id_type node_id,\n    id_type *hash_id)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1326,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1327,1
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1328,1
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1333,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1337,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1338,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1338,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - node_id
    - unit_id
    argTypes:
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1344
    functionName: Darts::Details::DawgBuilder::are_equal
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::DawgBuilder::sibling
    - Darts::Details::DawgBuilder::label
    - unit
    - has_sibling
    linkageType: ''
    returnType: bool
    signature: bool DawgBuilder::are_equal(id_type node_id, id_type unit_id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1349,1
    - Dst: Darts::Details::DawgBuilder::hash
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1351,1
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1358
    functionName: Darts::Details::DawgBuilder::hash_unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - unit
    - Darts::Details::DawgBuilder::hash
    - has_sibling
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::hash_unit(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1362,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1363,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1364,1
    - Dst: Darts::Details::DawgBuilder::hash
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1368
    functionName: Darts::Details::DawgBuilder::hash_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::DawgBuilder::sibling
    - Darts::Details::DawgBuilder::hash
    - unit
    - Darts::Details::DawgBuilder::label
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::hash_node(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1371,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1372,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1373,1
    - Dst: static_cast<id_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1375,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1370
    functionDepth: 2
    functionLinenumber: 1370
    functionLinenumberEnd: 1376
    functionName: Darts::Details::DawgBuilder::append_unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - append
    - static_cast<id_type>
    - Darts::Details::DawgBuilder::size
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::append_unit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1380,1
    - Dst: static_cast<id_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1381,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1381,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1382,1
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1384,1
    - Dst: DawgNode
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1385,1
    - Dst: pop
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1389
    functionName: Darts::Details::DawgBuilder::append_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - top
    - append
    - pop
    - static_cast<id_type>
    - Darts::Details::DawgBuilder::size
    - empty
    - DawgNode
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::append_node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1397
    functionName: Darts::Details::DoubleArrayBuilderUnit::DoubleArrayBuilderUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilderUnit()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - has_leaf
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1405
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_has_leaf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_leaf(bool has_leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1408
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_value(value_type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - uchar_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1411
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_label(uchar_type label)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - offset
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1422
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - DARTS_THROW
    linkageType: ''
    returnType: void
    signature: void set_offset(id_type offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1437
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::DoubleArrayBuilderExtraUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilderExtraUnit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prev
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1441
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_prev
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_prev(id_type prev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - next
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1444
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_next
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(id_type next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_fixed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1447
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_is_fixed
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_fixed(bool is_fixed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_used
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1450
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_is_used
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_used(bool is_used)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1454
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::prev
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type prev() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1457
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::next
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1460
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::is_fixed
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_fixed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1463
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::is_used
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_used() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - progress_func
    argTypes:
    - progress_func_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1482
    functionName: Darts::Details::DoubleArrayBuilder::DoubleArrayBuilder
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder(progress_func_type progress_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1485
    functionName: ~DoubleArrayBuilder()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~DoubleArrayBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1517
    functionName: Darts::Details::DoubleArrayBuilder::num_blocks
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_blocks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1521
    functionName: '&extras(id_type id) const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: extra_type
    signature: extra_type &extras(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1524
    functionName: '&extras(id_type id)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: extra_type
    signature: extra_type &extras(id_type id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Keyset<T>::has_values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1555,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1557,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1558,1
    - Dst: Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1559,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - keyset
    argTypes:
    - Keyset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1554
    functionDepth: 1
    functionLinenumber: 1554
    functionLinenumberEnd: 1563
    functionName: Darts::Details::DoubleArrayBuilder::build
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::build_dawg
    - Darts::Details::DoubleArrayBuilder::build_from_keyset
    - Details::DawgBuilder::clear
    - Darts::Details::DoubleArrayBuilder::build_from_dawg
    - Keyset<T>::has_values
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::build(const Keyset<T> &keyset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1568,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1571,1
    - Dst: DoubleArrayUnit::DoubleArrayUnit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1571,1
    - Dst: reinterpret_cast<unit_type *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1572,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - size_ptr
    - buf_ptr
    argTypes:
    - std::size_t*
    - DoubleArrayUnit**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1577
    functionName: Darts::Details::DoubleArrayBuilder::copy
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - DoubleArrayUnit::DoubleArrayUnit
    - reinterpret_cast<unit_type *>
    - size
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::copy(std::size_t *size_ptr,\n    DoubleArrayUnit
      **buf_ptr) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1580,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1581,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1582,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1585
    functionName: Darts::Details::DoubleArrayBuilder::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::clear
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DawgBuilder*::init
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1590,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1591,1
    - Dst: DawgBuilder*::insert
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: Keyset<T>::lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: Keyset<T>::values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: progress_func_
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1594,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1594,1
    - Dst: DawgBuilder*::finish
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - keyset
    - dawg_builder
    argTypes:
    - Keyset<T>
    - DawgBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1598
    functionName: Darts::Details::DoubleArrayBuilder::build_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - DawgBuilder*::insert
    - Keyset<T>::lengths
    - Keyset<T>::values
    - DawgBuilder*::init
    - DawgBuilder*::finish
    - Keyset<T>::num_keys
    - progress_func_
    - Keyset<T>::keys
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::build_dawg(const Keyset<T> &keyset,\n    DawgBuilder
      *dawg_builder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1602,1
    - Dst: reserve
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1605,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1607,1
    - Dst: DawgBuilder::num_intersections
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1607,1
    - Dst: id_type::id_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1607,1
    - Dst: DawgBuilder::num_intersections
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1608,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1612,1
    - Dst: extra_type::extra_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1612,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1614,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1615,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1616,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1617,1
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1619,1
    - Dst: DawgBuilder::root
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1619,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1620,1
    - Dst: DawgBuilder::root
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1620,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_all_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1623,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1625,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1626,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - dawg
    argTypes:
    - DawgBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1600
    functionDepth: 2
    functionLinenumber: 1600
    functionLinenumberEnd: 1628
    functionName: Darts::Details::DoubleArrayBuilder::build_from_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - set_offset
    - Darts::Details::DoubleArrayBuilder::fix_all_blocks
    - reserve
    - id_type::id_type
    - reset
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - extras
    - set_label
    - DawgBuilder::root
    - DawgBuilder::child
    - Darts::Details::DoubleArrayBuilder::build_from_dawg
    - Darts::Details::DoubleArrayBuilder::clear
    - extra_type::extra_type
    - DawgBuilder::num_intersections
    - DawgBuilder::size
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::build_from_dawg(const DawgBuilder &dawg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1632,1
    - Dst: DawgBuilder::is_intersection
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1633,1
    - Dst: DawgBuilder::intersection_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1634,1
    - Dst: DawgBuilder::is_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1639,1
    - Dst: set_has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1640,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1642,1
    - Dst: Darts::Details::DoubleArrayBuilder::arrange_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1648,1
    - Dst: DawgBuilder::is_intersection
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1649,1
    - Dst: DawgBuilder::intersection_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1650,1
    - Dst: DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1654,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1657,1
    - Dst: DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1659,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - dawg
    - dawg_id
    - dic_id
    argTypes:
    - DawgBuilder
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1661
    functionName: Darts::Details::DoubleArrayBuilder::build_from_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::arrange_from_dawg
    - DawgBuilder::is_intersection
    - DawgBuilder::is_leaf
    - Darts::Details::DoubleArrayBuilder::build_from_dawg
    - DawgBuilder::intersection_id
    - DawgBuilder::child
    - DawgBuilder::sibling
    - set_has_leaf
    - DawgBuilder::label
    - set_offset
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::build_from_dawg(const DawgBuilder &dawg,\n
      \   id_type dawg_id, id_type dic_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1665,1
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1667,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1669,1
    - Dst: DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1669,1
    - Dst: DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1670,1
    - Dst: Darts::Details::DoubleArrayBuilder::find_valid_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1673,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1674,1
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1676,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1677,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1679,1
    - Dst: DawgBuilder::is_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1681,1
    - Dst: set_has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1682,1
    - Dst: set_value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1683,1
    - Dst: DawgBuilder::value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1683,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1685,1
    - Dst: DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1688,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - dawg
    - dawg_id
    - dic_id
    argTypes:
    - DawgBuilder
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1663
    functionDepth: 1
    functionLinenumber: 1663
    functionLinenumberEnd: 1693
    functionName: Darts::Details::DoubleArrayBuilder::arrange_from_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::find_valid_offset
    - append
    - resize
    - size
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - DawgBuilder::is_leaf
    - set_value
    - set_label
    - DawgBuilder::value
    - DawgBuilder::child
    - DawgBuilder::sibling
    - set_has_leaf
    - DawgBuilder::label
    - extras
    - set_offset
    linkageType: ''
    returnType: id_type
    signature: "id_type DoubleArrayBuilder::arrange_from_dawg(const DawgBuilder &dawg,\n
      \   id_type dawg_id, id_type dic_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1698,1
    - Dst: reserve
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1701,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1703,1
    - Dst: extra_type::extra_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1703,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1705,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1706,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1707,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1708,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1710,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1711,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1711,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_all_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1714,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1716,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - keyset
    argTypes:
    - Keyset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1696
    functionDepth: 2
    functionLinenumber: 1696
    functionLinenumberEnd: 1718
    functionName: Darts::Details::DoubleArrayBuilder::build_from_keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::fix_all_blocks
    - reserve
    - Darts::Details::DoubleArrayBuilder::build_from_keyset
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - reset
    - set_label
    - Keyset<T>::num_keys
    - Darts::Details::DoubleArrayBuilder::clear
    - extra_type::extra_type
    - extras
    - set_offset
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::build_from_keyset(const Keyset<T> &keyset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DoubleArrayBuilder::arrange_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1723,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1726,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1736,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1738,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1740,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1743,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - keyset
    - begin
    - end
    - depth
    - dic_id
    argTypes:
    - Keyset<T>
    - std::size_t
    - std::size_t
    - std::size_t
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1721
    functionDepth: 1
    functionLinenumber: 1721
    functionLinenumberEnd: 1747
    functionName: Darts::Details::DoubleArrayBuilder::build_from_keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::build_from_keyset
    - Keyset<T>::keys
    - Darts::Details::DoubleArrayBuilder::arrange_from_keyset
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::build_from_keyset(const Keyset<T> &keyset,\n
      \   std::size_t begin, std::size_t end, std::size_t depth, id_type dic_id)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1752,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1756,1
    - Dst: Keyset<T>::has_lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1758,1
    - Dst: Keyset<T>::lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1758,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1759,1
    - Dst: Keyset<T>::values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1761,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1762,1
    - Dst: Keyset<T>::values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1766,1
    - Dst: progress_func_
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1769,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1769,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1773,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1774,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1775,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1776,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1777,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1779,1
    - Dst: Darts::Details::DoubleArrayBuilder::find_valid_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1783,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1784,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1786,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1788,1
    - Dst: set_has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1790,1
    - Dst: set_value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1791,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1793,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1796,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - keyset
    - begin
    - end
    - depth
    - dic_id
    argTypes:
    - Keyset<T>
    - std::size_t
    - std::size_t
    - std::size_t
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1750
    functionDepth: 1
    functionLinenumber: 1750
    functionLinenumberEnd: 1799
    functionName: Darts::Details::DoubleArrayBuilder::arrange_from_keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::find_valid_offset
    - append
    - resize
    - size
    - Keyset<T>::lengths
    - Keyset<T>::keys
    - Keyset<T>::values
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - set_value
    - set_label
    - extras
    - empty
    - Keyset<T>::num_keys
    - set_has_leaf
    - progress_func_
    - set_offset
    - DARTS_THROW
    - Keyset<T>::has_lengths
    linkageType: ''
    returnType: id_type
    signature: "id_type DoubleArrayBuilder::arrange_from_keyset(const Keyset<T> &keyset,\n
      \   std::size_t begin, std::size_t end, std::size_t depth, id_type dic_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1802,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1803,1
    - Dst: Darts::Details::DoubleArrayBuilder::is_valid_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1809,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1812,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1801
    functionDepth: 1
    functionLinenumber: 1801
    functionLinenumberEnd: 1816
    functionName: Darts::Details::DoubleArrayBuilder::find_valid_offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - extras
    - Darts::Details::DoubleArrayBuilder::is_valid_offset
    - size
    linkageType: ''
    returnType: id_type
    signature: id_type DoubleArrayBuilder::find_valid_offset(id_type id) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1820,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1829,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - id
    - offset
    argTypes:
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1836
    functionName: Darts::Details::DoubleArrayBuilder::is_valid_offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - extras
    - size
    linkageType: ''
    returnType: bool
    signature: "bool DoubleArrayBuilder::is_valid_offset(id_type id,\n    id_type
      offset) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1839,1
    - Dst: Darts::Details::DoubleArrayBuilder::expand_units
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1840,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1844,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1846,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1849,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1849,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1849,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1850,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1850,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1850,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 1852
    functionName: Darts::Details::DoubleArrayBuilder::reserve_id
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::expand_units
    - extras
    - size
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::reserve_id(id_type id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1855,1
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1856,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_block
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1862,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1865,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1869,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1870,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1875,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1876,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1879,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1880,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1882,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1882,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1883,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1885,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1885,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1887
    functionName: Darts::Details::DoubleArrayBuilder::expand_units
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - resize
    - Darts::Details::DoubleArrayBuilder::num_blocks
    - extras
    - Darts::Details::DoubleArrayBuilder::fix_block
    - size
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::expand_units()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1891,1
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1892,1
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1894,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_block
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1889
    functionDepth: 1
    functionLinenumber: 1889
    functionLinenumberEnd: 1899
    functionName: Darts::Details::DoubleArrayBuilder::fix_all_blocks
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::num_blocks
    - Darts::Details::DoubleArrayBuilder::fix_block
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::fix_all_blocks()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1907,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1914,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1915,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1916,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - block_id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1901
    functionDepth: 2
    functionLinenumber: 1901
    functionLinenumberEnd: 1919
    functionName: Darts::Details::DoubleArrayBuilder::fix_block
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - static_cast<uchar_type>
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - set_label
    - extras
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::fix_block(id_type block_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 592
    functionName: Darts::Details::AutoArray::AutoArray
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoArray(T *array = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: ~AutoArray()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~AutoArray()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: '&operator[](std::size_t id) const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: '&operator[](std::size_t id)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 606
    functionName: Darts::Details::AutoArray::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 613
    functionName: Darts::Details::AutoArray::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - array
    argTypes:
    - AutoArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 618
    functionName: Darts::Details::AutoArray::swap
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap(AutoArray *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoArray::AutoArray
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 621
    functionName: Darts::Details::AutoArray::reset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::AutoArray::AutoArray
    linkageType: ''
    returnType: void
    signature: void reset(T *array = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 638
    functionName: Darts::Details::AutoPool::AutoPool
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 639
    functionName: ~AutoPool()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~AutoPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 643
    functionName: '&operator[](std::size_t id) const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: '&operator[](std::size_t id)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T *>
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 650
    functionName: Darts::Details::AutoPool::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 653
    functionName: Darts::Details::AutoPool::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoPool::resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:656,1
    - Dst: Darts::Details::AutoPool::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 660
    functionName: Darts::Details::AutoPool::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::AutoPool::resize
    - Darts::Details::AutoPool::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoPool::append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 664
    functionName: Darts::Details::AutoPool::push_back
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::AutoPool::append
    linkageType: ''
    returnType: void
    signature: void push_back(const T &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 667
    functionName: Darts::Details::AutoPool::pop_back
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - ~T
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:671,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 673
    functionName: Darts::Details::AutoPool::append
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - T::T
    - resize_buf
    linkageType: ''
    returnType: void
    signature: void append()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:676,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: Darts::Details::AutoPool::append
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - T::T
    - resize_buf
    linkageType: ''
    returnType: void
    signature: void append(const T &value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:682,1
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:685,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 690
    functionName: Darts::Details::AutoPool::resize
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - T::T
    - resize_buf
    - ~T
    linkageType: ''
    returnType: void
    signature: void resize(std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:693,1
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:696,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - size
    - value
    argTypes:
    - std::size_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: Darts::Details::AutoPool::resize
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - T::T
    - resize_buf
    - ~T
    linkageType: ''
    returnType: void
    signature: void resize(std::size_t size, const T &value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: Darts::Details::AutoPool::reserve
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - resize_buf
    linkageType: ''
    returnType: void
    signature: void reserve(std::size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AutoArray::reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:735,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:735,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:737,1
    - Dst: reinterpret_cast<T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:741,1
    - Dst: reinterpret_cast<T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:742,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:744,1
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:745,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 751
    functionName: Darts::Details::AutoPool<T>::resize_buf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - T::T
    - char::char
    - reinterpret_cast<T *>
    - swap
    - AutoArray::reset
    - DARTS_THROW
    - ~T
    linkageType: ''
    returnType: void
    signature: void AutoPool<T>::resize_buf(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 760
    functionName: Darts::Details::AutoStack::AutoStack
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoStack()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 763
    functionName: ~AutoStack()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~AutoStack()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 767
    functionName: '&top() const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: T
    signature: T &top() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 770
    functionName: '&top()'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: T
    signature: T &top()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoStack::empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 774
    functionName: Darts::Details::AutoStack::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::AutoStack::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoStack::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 777
    functionName: Darts::Details::AutoStack::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::AutoStack::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 781
    functionName: Darts::Details::AutoStack::push
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void push(const T &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 784
    functionName: Darts::Details::AutoStack::pop
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: void
    signature: void pop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoStack::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 788
    functionName: Darts::Details::AutoStack::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::AutoStack::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: Darts::Details::BitVector::BitVector
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 807
    functionName: ~BitVector()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~BitVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: operator[](std::size_t id) const
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator[](std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::pop_count
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 817
    functionName: Darts::Details::BitVector::rank
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::BitVector::pop_count
    linkageType: ''
    returnType: id_type
    signature: id_type rank(std::size_t id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - bit
    argTypes:
    - std::size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 825
    functionName: Darts::Details::BitVector::set
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(std::size_t id, bool bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 829
    functionName: Darts::Details::BitVector::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::BitVector::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 832
    functionName: Darts::Details::BitVector::num_ones
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_ones() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 835
    functionName: Darts::Details::BitVector::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 842
    functionName: Darts::Details::BitVector::append
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::BitVector::append
    linkageType: ''
    returnType: void
    signature: void append()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:846,1
    - Dst: Darts::Details::BitVector::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: Darts::Details::BitVector::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::BitVector::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - unit
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 869
    functionName: Darts::Details::BitVector::pop_count
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type pop_count(id_type unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:874,1
    - Dst: Darts::Details::BitVector::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:874,1
    - Dst: id_type::id_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:874,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:876,1
    - Dst: Darts::Details::BitVector::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:880,1
    - Dst: Darts::Details::BitVector::pop_count
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 884
    functionName: Darts::Details::BitVector::build
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::BitVector::size
    - id_type::id_type
    - Darts::Details::BitVector::pop_count
    - reset
    - DARTS_THROW
    linkageType: ''
    returnType: void
    signature: void BitVector::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - num_keys
    - keys
    - lengths
    - values
    argTypes:
    - std::size_t
    - char_type**
    - std::size_t*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 895
    functionName: Darts::Details::Keyset::Keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Keyset(std::size_t num_keys, const char_type * const *keys,\n
      \     const std::size_t *lengths, const T *values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 899
    functionName: Darts::Details::Keyset::num_keys
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_keys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 902
    functionName: Darts::Details::Keyset::keys
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char_type
    signature: char_type *keys(std::size_t id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::Keyset::has_lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - key_id
    - char_id
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 907
    functionName: Darts::Details::Keyset::keys
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::Keyset::has_lengths
    linkageType: ''
    returnType: uchar_type
    signature: uchar_type keys(std::size_t key_id, std::size_t char_id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 911
    functionName: Darts::Details::Keyset::has_lengths
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_lengths() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::Keyset::has_lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 921
    functionName: Darts::Details::Keyset::lengths
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::Keyset::has_lengths
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t lengths(std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 925
    functionName: Darts::Details::Keyset::has_values
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_values() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::Keyset::has_values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:927,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:928,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 931
    functionName: Darts::Details::Keyset::values
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    - Darts::Details::Keyset::has_values
    linkageType: ''
    returnType: value_type
    signature: value_type values(std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 951
    functionName: Darts::Details::DawgNode::DawgNode
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - child
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 955
    functionName: Darts::Details::DawgNode::set_child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_child(id_type child)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sibling
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 958
    functionName: Darts::Details::DawgNode::set_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sibling(id_type sibling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 961
    functionName: Darts::Details::DawgNode::set_value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_value(value_type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - uchar_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 964
    functionName: Darts::Details::DawgNode::set_label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_label(uchar_type label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 967
    functionName: Darts::Details::DawgNode::set_is_state
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_state(bool is_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_sibling
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 970
    functionName: Darts::Details::DawgNode::set_has_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_sibling(bool has_sibling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 974
    functionName: Darts::Details::DawgNode::child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type child() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 977
    functionName: Darts::Details::DawgNode::sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type sibling() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: Darts::Details::DawgNode::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    linkageType: ''
    returnType: value_type
    signature: value_type value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 983
    functionName: Darts::Details::DawgNode::label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uchar_type
    signature: uchar_type label() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 986
    functionName: Darts::Details::DawgNode::is_state
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_state() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 989
    functionName: Darts::Details::DawgNode::has_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_sibling() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 996
    functionName: Darts::Details::DawgNode::unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type unit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1014
    functionName: Darts::Details::DawgUnit::DawgUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgUnit(id_type unit = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - unit
    argTypes:
    - DawgUnit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1015
    functionName: Darts::Details::DawgUnit::DawgUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgUnit(const DawgUnit &unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - unit
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1020
    functionName: '&operator=(id_type unit)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DawgUnit
    signature: DawgUnit &operator=(id_type unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1024
    functionName: Darts::Details::DawgUnit::unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type unit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1028
    functionName: Darts::Details::DawgUnit::child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type child() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: Darts::Details::DawgUnit::has_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_sibling() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1034
    functionName: Darts::Details::DawgUnit::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    linkageType: ''
    returnType: value_type
    signature: value_type value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1037
    functionName: Darts::Details::DawgUnit::is_state
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_state() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1052
    functionName: Darts::Details::DawgBuilder::DawgBuilder
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1055
    functionName: ~DawgBuilder()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~DawgBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1059
    functionName: Darts::Details::DawgBuilder::root
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type root() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1063
    functionName: Darts::Details::DawgBuilder::child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::DawgBuilder::child
    linkageType: ''
    returnType: id_type
    signature: id_type child(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1066
    functionName: Darts::Details::DawgBuilder::sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - has_sibling
    linkageType: ''
    returnType: id_type
    signature: id_type sibling(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1069
    functionName: Darts::Details::DawgBuilder::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::DawgBuilder::value
    linkageType: ''
    returnType: int
    signature: int value(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1073
    functionName: Darts::Details::DawgBuilder::is_leaf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::DawgBuilder::label
    linkageType: ''
    returnType: bool
    signature: bool is_leaf(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1076
    functionName: Darts::Details::DawgBuilder::label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uchar_type
    signature: uchar_type label(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1080
    functionName: Darts::Details::DawgBuilder::is_intersection
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_intersection(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rank
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1083
    functionName: Darts::Details::DawgBuilder::intersection_id
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - rank
    linkageType: ''
    returnType: id_type
    signature: id_type intersection_id(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_ones
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1087
    functionName: Darts::Details::DawgBuilder::num_intersections
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - num_ones
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_intersections() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: Darts::Details::DawgBuilder::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 8
    functionsReached:
    - Darts::Details::DawgBuilder::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1133
    functionName: Darts::Details::DawgBuilder::free_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 1
    functionsReached:
    - push
    linkageType: ''
    returnType: void
    signature: void free_node(id_type id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1143
    functionName: Darts::Details::DawgBuilder::hash
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type hash(id_type key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1147,1
    - Dst: Darts::Details::DawgBuilder::append_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1149,1
    - Dst: Darts::Details::DawgBuilder::append_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1150,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1154,1
    - Dst: push
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1146
    functionDepth: 3
    functionLinenumber: 1146
    functionLinenumberEnd: 1156
    functionName: Darts::Details::DawgBuilder::init
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - resize
    - set_label
    - Darts::Details::DawgBuilder::append_unit
    - push
    - Darts::Details::DawgBuilder::append_node
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::flush
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1159,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1161,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1162,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1164,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1165,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1166,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1167,1
    - Dst: build
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1158
    functionDepth: 3
    functionLinenumber: 1158
    functionLinenumberEnd: 1170
    functionName: Darts::Details::DawgBuilder::finish
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::DawgBuilder::label
    - unit
    - build
    - Darts::Details::DawgBuilder::clear
    - Darts::Details::DawgBuilder::flush
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::finish()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1175,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1177,1
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1184,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1189,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1191,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1194,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1196,1
    - Dst: set_has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1198,1
    - Dst: Darts::Details::DawgBuilder::flush
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1199,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1210,1
    - Dst: Darts::Details::DawgBuilder::append_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1212,1
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1214,1
    - Dst: set_is_state
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1215,1
    - Dst: set_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1217,1
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1217,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1218,1
    - Dst: set_child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1219,1
    - Dst: push
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1220,1
    - Dst: set_value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1224,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - key
    - length
    - value
    argTypes:
    - char*
    - std::size_t
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1172
    functionDepth: 3
    functionLinenumber: 1172
    functionLinenumberEnd: 1225
    functionName: Darts::Details::DawgBuilder::insert
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - set_sibling
    - set_has_sibling
    - set_child
    - set_is_state
    - Darts::Details::DawgBuilder::append_node
    - static_cast<uchar_type>
    - set_label
    - Darts::Details::DawgBuilder::label
    - push
    - set_value
    - Darts::Details::DawgBuilder::child
    - Darts::Details::DawgBuilder::flush
    - DARTS_THROW
    linkageType: ''
    returnType: void
    signature: "void DawgBuilder::insert(const char *key, std::size_t length,\n    value_type
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1228,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1229,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1230,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1231,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1232,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1233,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1236
    functionName: Darts::Details::DawgBuilder::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 5
    functionsReached:
    - Darts::Details::DawgBuilder::clear
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1239,1
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1240,1
    - Dst: pop
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1241,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1243,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1243,1
    - Dst: Darts::Details::DawgBuilder::expand_table
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1244,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1248,1
    - Dst: Darts::Details::DawgBuilder::find_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1253,1
    - Dst: set
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1255,1
    - Dst: Darts::Details::DawgBuilder::append_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1259,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1261,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1262,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1263,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1272,1
    - Dst: Darts::Details::DawgBuilder::free_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1273,1
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1276,1
    - Dst: set_child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1276,1
    - Dst: pop
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1279
    functionName: Darts::Details::DawgBuilder::flush
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - top
    - Darts::Details::DawgBuilder::find_node
    - Darts::Details::DawgBuilder::sibling
    - pop
    - Darts::Details::DawgBuilder::append_unit
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::expand_table
    - Darts::Details::DawgBuilder::label
    - unit
    - Darts::Details::DawgBuilder::free_node
    - set
    - set_child
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::flush(id_type id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1282,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1283,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1284,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1286,1
    - Dst: static_cast<id_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1287,1
    - Dst: is_state
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1288,1
    - Dst: Darts::Details::DawgBuilder::find_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1281
    functionDepth: 3
    functionLinenumber: 1281
    functionLinenumberEnd: 1294
    functionName: Darts::Details::DawgBuilder::expand_table
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - resize
    - static_cast<id_type>
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::clear
    - Darts::Details::DawgBuilder::find_unit
    - is_state
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::expand_table()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::hash_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1297,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1297,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - id
    - hash_id
    argTypes:
    - id_type
    - id_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1296
    functionDepth: 2
    functionLinenumber: 1296
    functionLinenumberEnd: 1307
    functionName: Darts::Details::DawgBuilder::find_unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::hash_unit
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::find_unit(id_type id, id_type *hash_id) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::hash_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1311,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1311,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1312,1
    - Dst: Darts::Details::DawgBuilder::are_equal
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - node_id
    - hash_id
    argTypes:
    - id_type
    - id_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1309
    functionDepth: 2
    functionLinenumber: 1309
    functionLinenumberEnd: 1323
    functionName: Darts::Details::DawgBuilder::find_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::DawgBuilder::are_equal
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::hash_node
    linkageType: ''
    returnType: id_type
    signature: "id_type DawgBuilder::find_node(id_type node_id,\n    id_type *hash_id)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1326,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1327,1
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1328,1
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1333,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1337,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1338,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1338,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - node_id
    - unit_id
    argTypes:
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1344
    functionName: Darts::Details::DawgBuilder::are_equal
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::DawgBuilder::sibling
    - Darts::Details::DawgBuilder::label
    - unit
    - has_sibling
    linkageType: ''
    returnType: bool
    signature: bool DawgBuilder::are_equal(id_type node_id, id_type unit_id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1349,1
    - Dst: Darts::Details::DawgBuilder::hash
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1351,1
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1358
    functionName: Darts::Details::DawgBuilder::hash_unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - unit
    - Darts::Details::DawgBuilder::hash
    - has_sibling
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::hash_unit(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1362,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1363,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1364,1
    - Dst: Darts::Details::DawgBuilder::hash
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1368
    functionName: Darts::Details::DawgBuilder::hash_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::DawgBuilder::sibling
    - Darts::Details::DawgBuilder::hash
    - unit
    - Darts::Details::DawgBuilder::label
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::hash_node(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1371,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1372,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1373,1
    - Dst: static_cast<id_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1375,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1370
    functionDepth: 2
    functionLinenumber: 1370
    functionLinenumberEnd: 1376
    functionName: Darts::Details::DawgBuilder::append_unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - append
    - static_cast<id_type>
    - Darts::Details::DawgBuilder::size
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::append_unit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1380,1
    - Dst: static_cast<id_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1381,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1381,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1382,1
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1384,1
    - Dst: DawgNode
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1385,1
    - Dst: pop
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1389
    functionName: Darts::Details::DawgBuilder::append_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - top
    - append
    - pop
    - static_cast<id_type>
    - Darts::Details::DawgBuilder::size
    - empty
    - DawgNode
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::append_node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1397
    functionName: Darts::Details::DoubleArrayBuilderUnit::DoubleArrayBuilderUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilderUnit()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - has_leaf
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1405
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_has_leaf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_leaf(bool has_leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1408
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_value(value_type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - uchar_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1411
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_label(uchar_type label)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - offset
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1422
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - DARTS_THROW
    linkageType: ''
    returnType: void
    signature: void set_offset(id_type offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1437
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::DoubleArrayBuilderExtraUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilderExtraUnit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prev
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1441
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_prev
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_prev(id_type prev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - next
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1444
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_next
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(id_type next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_fixed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1447
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_is_fixed
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_fixed(bool is_fixed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_used
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1450
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_is_used
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_used(bool is_used)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1454
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::prev
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type prev() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1457
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::next
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1460
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::is_fixed
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_fixed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1463
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::is_used
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_used() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - progress_func
    argTypes:
    - progress_func_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1482
    functionName: Darts::Details::DoubleArrayBuilder::DoubleArrayBuilder
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder(progress_func_type progress_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1485
    functionName: ~DoubleArrayBuilder()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~DoubleArrayBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1517
    functionName: Darts::Details::DoubleArrayBuilder::num_blocks
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_blocks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1521
    functionName: '&extras(id_type id) const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: extra_type
    signature: extra_type &extras(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1524
    functionName: '&extras(id_type id)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: extra_type
    signature: extra_type &extras(id_type id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Keyset<T>::has_values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1555,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1557,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1558,1
    - Dst: Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1559,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - keyset
    argTypes:
    - Keyset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1554
    functionDepth: 3
    functionLinenumber: 1554
    functionLinenumberEnd: 1563
    functionName: Darts::Details::DoubleArrayBuilder::build
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::build_dawg
    - Darts::Details::DoubleArrayBuilder::build_from_keyset
    - Details::DawgBuilder::clear
    - Darts::Details::DoubleArrayBuilder::build_from_dawg
    - Keyset<T>::has_values
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::build(const Keyset<T> &keyset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1568,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1571,1
    - Dst: DoubleArrayUnit::DoubleArrayUnit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1571,1
    - Dst: reinterpret_cast<unit_type *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1572,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - size_ptr
    - buf_ptr
    argTypes:
    - std::size_t*
    - DoubleArrayUnit**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1577
    functionName: Darts::Details::DoubleArrayBuilder::copy
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - DoubleArrayUnit::DoubleArrayUnit
    - reinterpret_cast<unit_type *>
    - size
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::copy(std::size_t *size_ptr,\n    DoubleArrayUnit
      **buf_ptr) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1580,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1581,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1582,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1585
    functionName: Darts::Details::DoubleArrayBuilder::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::clear
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DawgBuilder*::init
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1590,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1591,1
    - Dst: DawgBuilder*::insert
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: Keyset<T>::lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: Keyset<T>::values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: progress_func_
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1594,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1594,1
    - Dst: DawgBuilder*::finish
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - keyset
    - dawg_builder
    argTypes:
    - Keyset<T>
    - DawgBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1598
    functionName: Darts::Details::DoubleArrayBuilder::build_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - DawgBuilder*::insert
    - Keyset<T>::lengths
    - Keyset<T>::values
    - DawgBuilder*::init
    - DawgBuilder*::finish
    - Keyset<T>::num_keys
    - progress_func_
    - Keyset<T>::keys
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::build_dawg(const Keyset<T> &keyset,\n    DawgBuilder
      *dawg_builder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1602,1
    - Dst: reserve
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1605,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1607,1
    - Dst: DawgBuilder::num_intersections
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1607,1
    - Dst: id_type::id_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1607,1
    - Dst: DawgBuilder::num_intersections
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1608,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1612,1
    - Dst: extra_type::extra_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1612,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1614,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1615,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1616,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1617,1
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1619,1
    - Dst: DawgBuilder::root
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1619,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1620,1
    - Dst: DawgBuilder::root
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1620,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_all_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1623,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1625,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1626,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - dawg
    argTypes:
    - DawgBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1600
    functionDepth: 2
    functionLinenumber: 1600
    functionLinenumberEnd: 1628
    functionName: Darts::Details::DoubleArrayBuilder::build_from_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 5
    functionsReached:
    - set_offset
    - Darts::Details::DoubleArrayBuilder::fix_all_blocks
    - reserve
    - id_type::id_type
    - reset
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - extras
    - set_label
    - DawgBuilder::root
    - DawgBuilder::child
    - Darts::Details::DoubleArrayBuilder::build_from_dawg
    - Darts::Details::DoubleArrayBuilder::clear
    - extra_type::extra_type
    - DawgBuilder::num_intersections
    - DawgBuilder::size
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::build_from_dawg(const DawgBuilder &dawg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1632,1
    - Dst: DawgBuilder::is_intersection
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1633,1
    - Dst: DawgBuilder::intersection_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1634,1
    - Dst: DawgBuilder::is_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1639,1
    - Dst: set_has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1640,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1642,1
    - Dst: Darts::Details::DoubleArrayBuilder::arrange_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1648,1
    - Dst: DawgBuilder::is_intersection
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1649,1
    - Dst: DawgBuilder::intersection_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1650,1
    - Dst: DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1654,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1657,1
    - Dst: DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1659,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - dawg
    - dawg_id
    - dic_id
    argTypes:
    - DawgBuilder
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1630
    functionDepth: 2
    functionLinenumber: 1630
    functionLinenumberEnd: 1661
    functionName: Darts::Details::DoubleArrayBuilder::build_from_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 6
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::arrange_from_dawg
    - DawgBuilder::is_intersection
    - DawgBuilder::is_leaf
    - Darts::Details::DoubleArrayBuilder::build_from_dawg
    - DawgBuilder::intersection_id
    - DawgBuilder::child
    - DawgBuilder::sibling
    - set_has_leaf
    - DawgBuilder::label
    - set_offset
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::build_from_dawg(const DawgBuilder &dawg,\n
      \   id_type dawg_id, id_type dic_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1665,1
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1667,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1669,1
    - Dst: DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1669,1
    - Dst: DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1670,1
    - Dst: Darts::Details::DoubleArrayBuilder::find_valid_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1673,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1674,1
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1676,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1677,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1679,1
    - Dst: DawgBuilder::is_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1681,1
    - Dst: set_has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1682,1
    - Dst: set_value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1683,1
    - Dst: DawgBuilder::value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1683,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1685,1
    - Dst: DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1688,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - dawg
    - dawg_id
    - dic_id
    argTypes:
    - DawgBuilder
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1663
    functionDepth: 2
    functionLinenumber: 1663
    functionLinenumberEnd: 1693
    functionName: Darts::Details::DoubleArrayBuilder::arrange_from_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::find_valid_offset
    - append
    - resize
    - size
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - DawgBuilder::is_leaf
    - set_value
    - set_label
    - DawgBuilder::value
    - DawgBuilder::child
    - DawgBuilder::sibling
    - set_has_leaf
    - DawgBuilder::label
    - extras
    - set_offset
    linkageType: ''
    returnType: id_type
    signature: "id_type DoubleArrayBuilder::arrange_from_dawg(const DawgBuilder &dawg,\n
      \   id_type dawg_id, id_type dic_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1698,1
    - Dst: reserve
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1701,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1703,1
    - Dst: extra_type::extra_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1703,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1705,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1706,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1707,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1708,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1710,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1711,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1711,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_all_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1714,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1716,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - keyset
    argTypes:
    - Keyset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1696
    functionDepth: 2
    functionLinenumber: 1696
    functionLinenumberEnd: 1718
    functionName: Darts::Details::DoubleArrayBuilder::build_from_keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 5
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::fix_all_blocks
    - reserve
    - Darts::Details::DoubleArrayBuilder::build_from_keyset
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - reset
    - set_label
    - Keyset<T>::num_keys
    - Darts::Details::DoubleArrayBuilder::clear
    - extra_type::extra_type
    - extras
    - set_offset
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::build_from_keyset(const Keyset<T> &keyset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DoubleArrayBuilder::arrange_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1723,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1726,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1736,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1738,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1740,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1743,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - keyset
    - begin
    - end
    - depth
    - dic_id
    argTypes:
    - Keyset<T>
    - std::size_t
    - std::size_t
    - std::size_t
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1721
    functionDepth: 2
    functionLinenumber: 1721
    functionLinenumberEnd: 1747
    functionName: Darts::Details::DoubleArrayBuilder::build_from_keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 6
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::build_from_keyset
    - Keyset<T>::keys
    - Darts::Details::DoubleArrayBuilder::arrange_from_keyset
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::build_from_keyset(const Keyset<T> &keyset,\n
      \   std::size_t begin, std::size_t end, std::size_t depth, id_type dic_id)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1752,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1756,1
    - Dst: Keyset<T>::has_lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1758,1
    - Dst: Keyset<T>::lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1758,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1759,1
    - Dst: Keyset<T>::values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1761,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1762,1
    - Dst: Keyset<T>::values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1766,1
    - Dst: progress_func_
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1769,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1769,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1773,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1774,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1775,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1776,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1777,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1779,1
    - Dst: Darts::Details::DoubleArrayBuilder::find_valid_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1783,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1784,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1786,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1788,1
    - Dst: set_has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1790,1
    - Dst: set_value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1791,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1793,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1796,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - keyset
    - begin
    - end
    - depth
    - dic_id
    argTypes:
    - Keyset<T>
    - std::size_t
    - std::size_t
    - std::size_t
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1799
    functionName: Darts::Details::DoubleArrayBuilder::arrange_from_keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::find_valid_offset
    - append
    - resize
    - size
    - Keyset<T>::lengths
    - Keyset<T>::keys
    - Keyset<T>::values
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - set_value
    - set_label
    - extras
    - empty
    - Keyset<T>::num_keys
    - set_has_leaf
    - progress_func_
    - set_offset
    - DARTS_THROW
    - Keyset<T>::has_lengths
    linkageType: ''
    returnType: id_type
    signature: "id_type DoubleArrayBuilder::arrange_from_keyset(const Keyset<T> &keyset,\n
      \   std::size_t begin, std::size_t end, std::size_t depth, id_type dic_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1802,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1803,1
    - Dst: Darts::Details::DoubleArrayBuilder::is_valid_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1809,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1812,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1801
    functionDepth: 1
    functionLinenumber: 1801
    functionLinenumberEnd: 1816
    functionName: Darts::Details::DoubleArrayBuilder::find_valid_offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - extras
    - Darts::Details::DoubleArrayBuilder::is_valid_offset
    - size
    linkageType: ''
    returnType: id_type
    signature: id_type DoubleArrayBuilder::find_valid_offset(id_type id) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1820,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1829,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - id
    - offset
    argTypes:
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1836
    functionName: Darts::Details::DoubleArrayBuilder::is_valid_offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - extras
    - size
    linkageType: ''
    returnType: bool
    signature: "bool DoubleArrayBuilder::is_valid_offset(id_type id,\n    id_type
      offset) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1839,1
    - Dst: Darts::Details::DoubleArrayBuilder::expand_units
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1840,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1844,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1846,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1849,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1849,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1849,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1850,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1850,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1850,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1838
    functionDepth: 2
    functionLinenumber: 1838
    functionLinenumberEnd: 1852
    functionName: Darts::Details::DoubleArrayBuilder::reserve_id
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 9
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::expand_units
    - extras
    - size
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::reserve_id(id_type id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1855,1
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1856,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_block
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1862,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1865,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1869,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1870,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1875,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1876,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1879,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1880,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1882,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1882,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1883,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1885,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1885,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1854
    functionDepth: 3
    functionLinenumber: 1854
    functionLinenumberEnd: 1887
    functionName: Darts::Details::DoubleArrayBuilder::expand_units
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - resize
    - Darts::Details::DoubleArrayBuilder::num_blocks
    - extras
    - Darts::Details::DoubleArrayBuilder::fix_block
    - size
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::expand_units()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1891,1
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1892,1
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1894,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_block
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1889
    functionDepth: 3
    functionLinenumber: 1889
    functionLinenumberEnd: 1899
    functionName: Darts::Details::DoubleArrayBuilder::fix_all_blocks
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::num_blocks
    - Darts::Details::DoubleArrayBuilder::fix_block
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::fix_all_blocks()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1907,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1914,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1915,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1916,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - block_id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1901
    functionDepth: 2
    functionLinenumber: 1901
    functionLinenumberEnd: 1919
    functionName: Darts::Details::DoubleArrayBuilder::fix_block
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - static_cast<uchar_type>
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - set_label
    - extras
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::fix_block(id_type block_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Details::DoubleArrayBuilder::build
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1934,1
    - Dst: Details::DoubleArrayBuilder::copy
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1938,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1940,1
    - Dst: progress_func
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - num_keys
    - keys
    - lengths
    - values
    - progress_func
    argTypes:
    - std::size_t
    - key_type**
    - std::size_t*
    - value_type*
    - Details::progress_func_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1951
    functionName: Darts::DoubleArrayImpl<A, B, T, C>::build
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - progress_func
    - Details::DoubleArrayBuilder::copy
    - clear
    - Details::DoubleArrayBuilder::build
    linkageType: ''
    returnType: int
    signature: "int DoubleArrayImpl<A, B, T, C>::build(std::size_t num_keys,\n    const
      key_type * const *keys, const std::size_t *lengths,\n    const value_type *values,
      Details::progress_func_type progress_func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Darts::Details::DoubleArrayUnit::DoubleArrayUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayUnit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Darts::Details::DoubleArrayUnit::has_leaf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_leaf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: Darts::Details::DoubleArrayUnit::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    linkageType: ''
    returnType: value_type
    signature: value_type value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Darts::Details::DoubleArrayUnit::label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type label() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Darts::Details::DoubleArrayUnit::offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type offset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Darts::Details::Exception::Exception
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception(const char *msg = NULL) throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Darts::Details::Exception::Exception
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception(const Exception &rhs) throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~Exception() throw()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Exception() throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Darts::Details::Exception::what
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *what() const throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: Darts::Details::DoubleArrayUnit::DoubleArrayUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayUnit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Darts::Details::DoubleArrayUnit::has_leaf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_leaf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: Darts::Details::DoubleArrayUnit::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    linkageType: ''
    returnType: value_type
    signature: value_type value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Darts::Details::DoubleArrayUnit::label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type label() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Darts::Details::DoubleArrayUnit::offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type offset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: Darts::Details::Exception::Exception
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception(const char *msg = NULL) throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Exception
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: Darts::Details::Exception::Exception
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Exception(const Exception &rhs) throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ~Exception() throw()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Exception() throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: Darts::Details::Exception::what
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *what() const throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: Darts::DoubleArrayImpl::DoubleArrayImpl
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: ~DoubleArrayImpl()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~DoubleArrayImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - result
    - value
    argTypes:
    - value_type*
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: Darts::DoubleArrayImpl::set_result
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_result(value_type *result, value_type value, std::size_t)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - result
    - value
    - length
    argTypes:
    - result_pair_type*
    - value_type
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: Darts::DoubleArrayImpl::set_result
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void set_result(result_pair_type *result,\n      value_type value,
      std::size_t length) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::DoubleArrayImpl::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:173,1
    - Dst: static_cast<const unit_type *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: Darts::DoubleArrayImpl::set_array
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<const unit_type *>
    - Darts::DoubleArrayImpl::clear
    linkageType: ''
    returnType: void
    signature: void set_array(const void *ptr, std::size_t size = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::DoubleArrayImpl::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:178,1
    - Dst: Darts::DoubleArrayImpl::unit_size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:179,1
    - Dst: Darts::DoubleArrayImpl::unit_size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:180,1
    - Dst: unit_type::unit_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:181,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - num_bytes
    argTypes:
    - void*
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: Darts::DoubleArrayImpl::copy_array
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::DoubleArrayImpl::unit_size
    - unit_type::unit_type
    - std::memcpy
    - Darts::DoubleArrayImpl::clear
    linkageType: ''
    returnType: void
    signature: void copy_array(const void* ptr, std::size_t num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: Darts::DoubleArrayImpl::array
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *array() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: Darts::DoubleArrayImpl::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: Darts::DoubleArrayImpl::unit_size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t unit_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: Darts::DoubleArrayImpl::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::DoubleArrayImpl::unit_size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:214,1
    - Dst: Darts::DoubleArrayImpl::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: Darts::DoubleArrayImpl::total_size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::DoubleArrayImpl::unit_size
    - Darts::DoubleArrayImpl::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t total_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::DoubleArrayImpl::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: Darts::DoubleArrayImpl::nonzero_size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::DoubleArrayImpl::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t nonzero_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::DoubleArrayImpl::exactMatchSearch
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - key_type*
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: Darts::DoubleArrayImpl::exactMatchSearch
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - Darts::DoubleArrayImpl::exactMatchSearch
    linkageType: ''
    returnType: void
    signature: "void exactMatchSearch(const key_type *key, U &result,\n      std::size_t
      length = 0, std::size_t node_pos = 0) const"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ::fopen_s
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:342,1
    - Dst: std::fopen
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:346,1
    - Dst: std::fseek
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:353,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:354,1
    - Dst: std::ftell
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:357,1
    - Dst: unit_size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:360,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:362,1
    - Dst: std::fseek
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:366,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:367,1
    - Dst: std::fread
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:372,1
    - Dst: unit_size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:372,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:373,1
    - Dst: label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:377,1
    - Dst: has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:377,1
    - Dst: offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:378,1
    - Dst: offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:378,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:379,1
    - Dst: label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:383,1
    - Dst: offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:383,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:384,1
    - Dst: unit_type::unit_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:391,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:396,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:397,1
    - Dst: std::fread
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:401,1
    - Dst: unit_size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:401,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:402,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:407,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:409,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 4
    argNames:
    - file_name
    - mode
    - offset
    - size
    argTypes:
    - char*
    - char*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 415
    functionName: Darts::DoubleArrayImpl<A, B, T, C>::open
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - offset
    - ::fopen_s
    - label
    - std::fseek
    - std::fread
    - unit_type::unit_type
    - std::ftell
    - std::fopen
    - std::fclose
    - has_leaf
    - DARTS_THROW
    - clear
    - unit_size
    linkageType: ''
    returnType: int
    signature: "int DoubleArrayImpl<A, B, T, C>::open(const char *file_name,\n    const
      char *mode, std::size_t offset, std::size_t size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:420,1
    - Dst: ::fopen_s
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:426,1
    - Dst: std::fopen
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:430,1
    - Dst: std::fwrite
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:436,1
    - Dst: unit_size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:436,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:436,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:436,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:437,1
    - Dst: std::fclose
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - file_name
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 442
    functionName: Darts::DoubleArrayImpl<A, B, T, C>::save
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - std::fwrite
    - ::fopen_s
    - std::fopen
    - std::fclose
    - unit_size
    - size
    linkageType: ''
    returnType: int
    signature: "int DoubleArrayImpl<A, B, T, C>::save(const char *file_name,\n    const
      char *mode, std::size_t) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:447,1
    - Dst: has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:447,1
    - Dst: offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:448,1
    - Dst: offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:448,1
    - Dst: label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:452,1
    - Dst: offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:453,1
    - Dst: value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:458,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - max_value_limit
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 465
    functionName: Darts::DoubleArrayImpl<A, B, T, C>::validate
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - has_leaf
    - value
    - offset
    - label
    linkageType: ''
    returnType: bool
    signature: bool DoubleArrayImpl<A, B, T, C>::validate(value_type max_value_limit)
      const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: set_result
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:472,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:472,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:477,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:477,1
    - Dst: unit_type::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:479,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:479,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:485,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:485,1
    - Dst: unit_type::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:487,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:487,1
    - Dst: unit_type::has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:493,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:496,1
    - Dst: set_result
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:497,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:497,1
    - Dst: unit_type::value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - key
    - length
    - node_pos
    argTypes:
    - key_type*
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 499
    functionName: Darts::DoubleArrayImpl<A, B, T, C>::exactMatchSearch
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - unit_type::label
    - set_result
    - static_cast<value_type>
    - unit_type::offset
    - unit_type::has_leaf
    - static_cast<uchar_type>
    - unit_type::value
    linkageType: ''
    returnType: U
    signature: "U DoubleArrayImpl<A, B, T, C>::exactMatchSearch(const key_type *key,\n
      \   std::size_t length, std::size_t node_pos) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:509,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:512,1
    - Dst: unit_type::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:514,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:514,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:518,1
    - Dst: unit_type::has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:519,1
    - Dst: set_result
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:521,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:521,1
    - Dst: value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:522,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:529,1
    - Dst: unit_type::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:531,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:531,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:535,1
    - Dst: unit_type::has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:536,1
    - Dst: set_result
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:538,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:538,1
    - Dst: value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:539,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - key
    - results
    - max_num_results
    - length
    - node_pos
    argTypes:
    - key_type*
    - U*
    - std::size_t
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 547
    functionName: Darts::DoubleArrayImpl<A, B, T, C>::commonPrefixSearch
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - unit_type::label
    - set_result
    - static_cast<value_type>
    - unit_type::offset
    - unit_type::has_leaf
    - static_cast<uchar_type>
    - value
    linkageType: ''
    returnType: std::size_t
    signature: "std::size_t DoubleArrayImpl<A, B, T, C>::commonPrefixSearch(\n    const
      key_type *key, U *results, std::size_t max_num_results,\n    std::size_t length,
      std::size_t node_pos) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<id_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:553,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:558,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:558,1
    - Dst: unit_type::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:560,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:560,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:561,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:567,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:567,1
    - Dst: unit_type::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:569,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:569,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:570,1
    - Dst: unit_type::has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:576,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:577,1
    - Dst: unit_type::offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:579,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:580,1
    - Dst: unit_type::value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - key
    - node_pos
    - key_pos
    - length
    argTypes:
    - key_type*
    - std::size_t
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 581
    functionName: Darts::DoubleArrayImpl<A, B, T, C>::traverse
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - unit_type::label
    - static_cast<value_type>
    - unit_type::offset
    - unit_type::has_leaf
    - static_cast<uchar_type>
    - static_cast<id_type>
    - unit_type::value
    linkageType: ''
    returnType: typename DoubleArrayImpl<A, B, T, C>::value_type
    signature: "typename DoubleArrayImpl<A, B, T, C>::value_type DoubleArrayImpl<A,
      B, T, C>::traverse(const key_type *key,\n    std::size_t &node_pos, std::size_t
      &key_pos, std::size_t length) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 592
    functionName: Darts::Details::AutoArray::AutoArray
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoArray(T *array = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: ~AutoArray()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~AutoArray()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: '&operator[](std::size_t id) const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: '&operator[](std::size_t id)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 606
    functionName: Darts::Details::AutoArray::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 613
    functionName: Darts::Details::AutoArray::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - array
    argTypes:
    - AutoArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 618
    functionName: Darts::Details::AutoArray::swap
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap(AutoArray *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoArray::AutoArray
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 621
    functionName: Darts::Details::AutoArray::reset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::AutoArray::AutoArray
    linkageType: ''
    returnType: void
    signature: void reset(T *array = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 638
    functionName: Darts::Details::AutoPool::AutoPool
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 639
    functionName: ~AutoPool()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~AutoPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 643
    functionName: '&operator[](std::size_t id) const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: '&operator[](std::size_t id)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T *>
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 650
    functionName: Darts::Details::AutoPool::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 653
    functionName: Darts::Details::AutoPool::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoPool::resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:656,1
    - Dst: Darts::Details::AutoPool::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 660
    functionName: Darts::Details::AutoPool::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::AutoPool::resize
    - Darts::Details::AutoPool::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoPool::append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 664
    functionName: Darts::Details::AutoPool::push_back
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::AutoPool::append
    linkageType: ''
    returnType: void
    signature: void push_back(const T &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 667
    functionName: Darts::Details::AutoPool::pop_back
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - ~T
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:671,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 673
    functionName: Darts::Details::AutoPool::append
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - T::T
    - resize_buf
    linkageType: ''
    returnType: void
    signature: void append()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:676,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: Darts::Details::AutoPool::append
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - T::T
    - resize_buf
    linkageType: ''
    returnType: void
    signature: void append(const T &value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:682,1
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:685,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 690
    functionName: Darts::Details::AutoPool::resize
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - T::T
    - resize_buf
    - ~T
    linkageType: ''
    returnType: void
    signature: void resize(std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:693,1
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:696,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - size
    - value
    argTypes:
    - std::size_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: Darts::Details::AutoPool::resize
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - T::T
    - resize_buf
    - ~T
    linkageType: ''
    returnType: void
    signature: void resize(std::size_t size, const T &value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: Darts::Details::AutoPool::reserve
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - resize_buf
    linkageType: ''
    returnType: void
    signature: void reserve(std::size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AutoArray::reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:735,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:735,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:737,1
    - Dst: reinterpret_cast<T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:741,1
    - Dst: reinterpret_cast<T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:742,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:744,1
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:745,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 751
    functionName: Darts::Details::AutoPool<T>::resize_buf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - T::T
    - char::char
    - reinterpret_cast<T *>
    - swap
    - AutoArray::reset
    - DARTS_THROW
    - ~T
    linkageType: ''
    returnType: void
    signature: void AutoPool<T>::resize_buf(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 760
    functionName: Darts::Details::AutoStack::AutoStack
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoStack()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 763
    functionName: ~AutoStack()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~AutoStack()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 767
    functionName: '&top() const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: T
    signature: T &top() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 770
    functionName: '&top()'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: T
    signature: T &top()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoStack::empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 774
    functionName: Darts::Details::AutoStack::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::AutoStack::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoStack::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 777
    functionName: Darts::Details::AutoStack::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::AutoStack::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 781
    functionName: Darts::Details::AutoStack::push
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void push(const T &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 784
    functionName: Darts::Details::AutoStack::pop
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: void
    signature: void pop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoStack::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 788
    functionName: Darts::Details::AutoStack::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::AutoStack::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: Darts::Details::BitVector::BitVector
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 807
    functionName: ~BitVector()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~BitVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: operator[](std::size_t id) const
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator[](std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::pop_count
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 817
    functionName: Darts::Details::BitVector::rank
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::BitVector::pop_count
    linkageType: ''
    returnType: id_type
    signature: id_type rank(std::size_t id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - bit
    argTypes:
    - std::size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 825
    functionName: Darts::Details::BitVector::set
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(std::size_t id, bool bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 829
    functionName: Darts::Details::BitVector::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::BitVector::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 832
    functionName: Darts::Details::BitVector::num_ones
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_ones() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 835
    functionName: Darts::Details::BitVector::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 842
    functionName: Darts::Details::BitVector::append
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::BitVector::append
    linkageType: ''
    returnType: void
    signature: void append()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:846,1
    - Dst: Darts::Details::BitVector::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: Darts::Details::BitVector::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::BitVector::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - unit
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 869
    functionName: Darts::Details::BitVector::pop_count
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type pop_count(id_type unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:874,1
    - Dst: Darts::Details::BitVector::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:874,1
    - Dst: id_type::id_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:874,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:876,1
    - Dst: Darts::Details::BitVector::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:880,1
    - Dst: Darts::Details::BitVector::pop_count
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 884
    functionName: Darts::Details::BitVector::build
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::BitVector::size
    - id_type::id_type
    - Darts::Details::BitVector::pop_count
    - reset
    - DARTS_THROW
    linkageType: ''
    returnType: void
    signature: void BitVector::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - num_keys
    - keys
    - lengths
    - values
    argTypes:
    - std::size_t
    - char_type**
    - std::size_t*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 895
    functionName: Darts::Details::Keyset::Keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Keyset(std::size_t num_keys, const char_type * const *keys,\n
      \     const std::size_t *lengths, const T *values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 899
    functionName: Darts::Details::Keyset::num_keys
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_keys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 902
    functionName: Darts::Details::Keyset::keys
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char_type
    signature: char_type *keys(std::size_t id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::Keyset::has_lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - key_id
    - char_id
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 907
    functionName: Darts::Details::Keyset::keys
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::Keyset::has_lengths
    linkageType: ''
    returnType: uchar_type
    signature: uchar_type keys(std::size_t key_id, std::size_t char_id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 911
    functionName: Darts::Details::Keyset::has_lengths
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_lengths() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::Keyset::has_lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 921
    functionName: Darts::Details::Keyset::lengths
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::Keyset::has_lengths
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t lengths(std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 925
    functionName: Darts::Details::Keyset::has_values
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_values() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::Keyset::has_values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:927,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:928,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 931
    functionName: Darts::Details::Keyset::values
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    - Darts::Details::Keyset::has_values
    linkageType: ''
    returnType: value_type
    signature: value_type values(std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 951
    functionName: Darts::Details::DawgNode::DawgNode
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - child
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 955
    functionName: Darts::Details::DawgNode::set_child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_child(id_type child)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sibling
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 958
    functionName: Darts::Details::DawgNode::set_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sibling(id_type sibling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 961
    functionName: Darts::Details::DawgNode::set_value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_value(value_type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - uchar_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 964
    functionName: Darts::Details::DawgNode::set_label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_label(uchar_type label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 967
    functionName: Darts::Details::DawgNode::set_is_state
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_state(bool is_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_sibling
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 970
    functionName: Darts::Details::DawgNode::set_has_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_sibling(bool has_sibling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 974
    functionName: Darts::Details::DawgNode::child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type child() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 977
    functionName: Darts::Details::DawgNode::sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type sibling() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: Darts::Details::DawgNode::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    linkageType: ''
    returnType: value_type
    signature: value_type value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 983
    functionName: Darts::Details::DawgNode::label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uchar_type
    signature: uchar_type label() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 986
    functionName: Darts::Details::DawgNode::is_state
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_state() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 989
    functionName: Darts::Details::DawgNode::has_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_sibling() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 996
    functionName: Darts::Details::DawgNode::unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type unit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1014
    functionName: Darts::Details::DawgUnit::DawgUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgUnit(id_type unit = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - unit
    argTypes:
    - DawgUnit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1015
    functionName: Darts::Details::DawgUnit::DawgUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgUnit(const DawgUnit &unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - unit
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1020
    functionName: '&operator=(id_type unit)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DawgUnit
    signature: DawgUnit &operator=(id_type unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1024
    functionName: Darts::Details::DawgUnit::unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type unit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1028
    functionName: Darts::Details::DawgUnit::child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type child() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: Darts::Details::DawgUnit::has_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_sibling() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1034
    functionName: Darts::Details::DawgUnit::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    linkageType: ''
    returnType: value_type
    signature: value_type value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1037
    functionName: Darts::Details::DawgUnit::is_state
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_state() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1052
    functionName: Darts::Details::DawgBuilder::DawgBuilder
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1055
    functionName: ~DawgBuilder()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~DawgBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1059
    functionName: Darts::Details::DawgBuilder::root
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type root() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1063
    functionName: Darts::Details::DawgBuilder::child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 5
    functionsReached:
    - Darts::Details::DawgBuilder::child
    linkageType: ''
    returnType: id_type
    signature: id_type child(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1066
    functionName: Darts::Details::DawgBuilder::sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 6
    functionsReached:
    - has_sibling
    linkageType: ''
    returnType: id_type
    signature: id_type sibling(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1069
    functionName: Darts::Details::DawgBuilder::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::DawgBuilder::value
    linkageType: ''
    returnType: int
    signature: int value(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1073
    functionName: Darts::Details::DawgBuilder::is_leaf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::DawgBuilder::label
    linkageType: ''
    returnType: bool
    signature: bool is_leaf(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1076
    functionName: Darts::Details::DawgBuilder::label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: uchar_type
    signature: uchar_type label(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1080
    functionName: Darts::Details::DawgBuilder::is_intersection
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_intersection(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rank
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1083
    functionName: Darts::Details::DawgBuilder::intersection_id
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - rank
    linkageType: ''
    returnType: id_type
    signature: id_type intersection_id(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_ones
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1087
    functionName: Darts::Details::DawgBuilder::num_intersections
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - num_ones
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_intersections() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: Darts::Details::DawgBuilder::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 15
    functionsReached:
    - Darts::Details::DawgBuilder::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1133
    functionName: Darts::Details::DawgBuilder::free_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 2
    functionsReached:
    - push
    linkageType: ''
    returnType: void
    signature: void free_node(id_type id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1143
    functionName: Darts::Details::DawgBuilder::hash
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type hash(id_type key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1147,1
    - Dst: Darts::Details::DawgBuilder::append_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1149,1
    - Dst: Darts::Details::DawgBuilder::append_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1150,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1154,1
    - Dst: push
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1146
    functionDepth: 3
    functionLinenumber: 1146
    functionLinenumberEnd: 1156
    functionName: Darts::Details::DawgBuilder::init
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - resize
    - set_label
    - Darts::Details::DawgBuilder::append_unit
    - push
    - Darts::Details::DawgBuilder::append_node
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::flush
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1159,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1161,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1162,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1164,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1165,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1166,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1167,1
    - Dst: build
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1158
    functionDepth: 3
    functionLinenumber: 1158
    functionLinenumberEnd: 1170
    functionName: Darts::Details::DawgBuilder::finish
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::DawgBuilder::label
    - unit
    - build
    - Darts::Details::DawgBuilder::clear
    - Darts::Details::DawgBuilder::flush
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::finish()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1175,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1177,1
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1184,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1189,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1191,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1194,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1196,1
    - Dst: set_has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1198,1
    - Dst: Darts::Details::DawgBuilder::flush
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1199,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1210,1
    - Dst: Darts::Details::DawgBuilder::append_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1212,1
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1214,1
    - Dst: set_is_state
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1215,1
    - Dst: set_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1217,1
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1217,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1218,1
    - Dst: set_child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1219,1
    - Dst: push
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1220,1
    - Dst: set_value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1224,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - key
    - length
    - value
    argTypes:
    - char*
    - std::size_t
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1172
    functionDepth: 3
    functionLinenumber: 1172
    functionLinenumberEnd: 1225
    functionName: Darts::Details::DawgBuilder::insert
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - set_sibling
    - set_has_sibling
    - set_child
    - set_is_state
    - Darts::Details::DawgBuilder::append_node
    - static_cast<uchar_type>
    - set_label
    - Darts::Details::DawgBuilder::label
    - push
    - set_value
    - Darts::Details::DawgBuilder::child
    - Darts::Details::DawgBuilder::flush
    - DARTS_THROW
    linkageType: ''
    returnType: void
    signature: "void DawgBuilder::insert(const char *key, std::size_t length,\n    value_type
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1228,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1229,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1230,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1231,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1232,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1233,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1236
    functionName: Darts::Details::DawgBuilder::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 8
    functionsReached:
    - Darts::Details::DawgBuilder::clear
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1239,1
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1240,1
    - Dst: pop
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1241,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1243,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1243,1
    - Dst: Darts::Details::DawgBuilder::expand_table
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1244,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1248,1
    - Dst: Darts::Details::DawgBuilder::find_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1253,1
    - Dst: set
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1255,1
    - Dst: Darts::Details::DawgBuilder::append_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1259,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1261,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1262,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1263,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1272,1
    - Dst: Darts::Details::DawgBuilder::free_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1273,1
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1276,1
    - Dst: set_child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1276,1
    - Dst: pop
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1279
    functionName: Darts::Details::DawgBuilder::flush
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 6
    functionsReached:
    - top
    - Darts::Details::DawgBuilder::find_node
    - Darts::Details::DawgBuilder::sibling
    - pop
    - Darts::Details::DawgBuilder::append_unit
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::expand_table
    - Darts::Details::DawgBuilder::label
    - unit
    - Darts::Details::DawgBuilder::free_node
    - set
    - set_child
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::flush(id_type id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1282,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1283,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1284,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1286,1
    - Dst: static_cast<id_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1287,1
    - Dst: is_state
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1288,1
    - Dst: Darts::Details::DawgBuilder::find_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1281
    functionDepth: 3
    functionLinenumber: 1281
    functionLinenumberEnd: 1294
    functionName: Darts::Details::DawgBuilder::expand_table
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - resize
    - static_cast<id_type>
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::clear
    - Darts::Details::DawgBuilder::find_unit
    - is_state
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::expand_table()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::hash_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1297,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1297,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - id
    - hash_id
    argTypes:
    - id_type
    - id_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1296
    functionDepth: 2
    functionLinenumber: 1296
    functionLinenumberEnd: 1307
    functionName: Darts::Details::DawgBuilder::find_unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::hash_unit
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::find_unit(id_type id, id_type *hash_id) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::hash_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1311,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1311,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1312,1
    - Dst: Darts::Details::DawgBuilder::are_equal
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - node_id
    - hash_id
    argTypes:
    - id_type
    - id_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1309
    functionDepth: 2
    functionLinenumber: 1309
    functionLinenumberEnd: 1323
    functionName: Darts::Details::DawgBuilder::find_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::DawgBuilder::are_equal
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::hash_node
    linkageType: ''
    returnType: id_type
    signature: "id_type DawgBuilder::find_node(id_type node_id,\n    id_type *hash_id)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1326,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1327,1
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1328,1
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1333,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1337,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1338,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1338,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - node_id
    - unit_id
    argTypes:
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1344
    functionName: Darts::Details::DawgBuilder::are_equal
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::DawgBuilder::sibling
    - Darts::Details::DawgBuilder::label
    - unit
    - has_sibling
    linkageType: ''
    returnType: bool
    signature: bool DawgBuilder::are_equal(id_type node_id, id_type unit_id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1349,1
    - Dst: Darts::Details::DawgBuilder::hash
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1351,1
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1358
    functionName: Darts::Details::DawgBuilder::hash_unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - unit
    - Darts::Details::DawgBuilder::hash
    - has_sibling
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::hash_unit(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1362,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1363,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1364,1
    - Dst: Darts::Details::DawgBuilder::hash
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1368
    functionName: Darts::Details::DawgBuilder::hash_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::DawgBuilder::sibling
    - Darts::Details::DawgBuilder::hash
    - unit
    - Darts::Details::DawgBuilder::label
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::hash_node(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1371,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1372,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1373,1
    - Dst: static_cast<id_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1375,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1370
    functionDepth: 2
    functionLinenumber: 1370
    functionLinenumberEnd: 1376
    functionName: Darts::Details::DawgBuilder::append_unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 6
    functionsReached:
    - append
    - static_cast<id_type>
    - Darts::Details::DawgBuilder::size
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::append_unit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1380,1
    - Dst: static_cast<id_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1381,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1381,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1382,1
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1384,1
    - Dst: DawgNode
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1385,1
    - Dst: pop
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1389
    functionName: Darts::Details::DawgBuilder::append_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 6
    functionsReached:
    - top
    - append
    - pop
    - static_cast<id_type>
    - Darts::Details::DawgBuilder::size
    - empty
    - DawgNode
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::append_node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1397
    functionName: Darts::Details::DoubleArrayBuilderUnit::DoubleArrayBuilderUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilderUnit()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - has_leaf
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1405
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_has_leaf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_leaf(bool has_leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1408
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_value(value_type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - uchar_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1411
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_label(uchar_type label)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - offset
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1422
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - DARTS_THROW
    linkageType: ''
    returnType: void
    signature: void set_offset(id_type offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1437
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::DoubleArrayBuilderExtraUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilderExtraUnit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prev
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1441
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_prev
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_prev(id_type prev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - next
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1444
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_next
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(id_type next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_fixed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1447
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_is_fixed
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_fixed(bool is_fixed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_used
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1450
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_is_used
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_used(bool is_used)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1454
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::prev
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type prev() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1457
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::next
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1460
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::is_fixed
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_fixed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1463
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::is_used
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_used() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - progress_func
    argTypes:
    - progress_func_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1482
    functionName: Darts::Details::DoubleArrayBuilder::DoubleArrayBuilder
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder(progress_func_type progress_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1485
    functionName: ~DoubleArrayBuilder()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~DoubleArrayBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1517
    functionName: Darts::Details::DoubleArrayBuilder::num_blocks
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_blocks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1521
    functionName: '&extras(id_type id) const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: extra_type
    signature: extra_type &extras(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1524
    functionName: '&extras(id_type id)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: extra_type
    signature: extra_type &extras(id_type id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Keyset<T>::has_values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1555,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1557,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1558,1
    - Dst: Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1559,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - keyset
    argTypes:
    - Keyset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1554
    functionDepth: 3
    functionLinenumber: 1554
    functionLinenumberEnd: 1563
    functionName: Darts::Details::DoubleArrayBuilder::build
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::build_dawg
    - Darts::Details::DoubleArrayBuilder::build_from_keyset
    - Details::DawgBuilder::clear
    - Darts::Details::DoubleArrayBuilder::build_from_dawg
    - Keyset<T>::has_values
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::build(const Keyset<T> &keyset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1568,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1571,1
    - Dst: DoubleArrayUnit::DoubleArrayUnit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1571,1
    - Dst: reinterpret_cast<unit_type *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1572,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - size_ptr
    - buf_ptr
    argTypes:
    - std::size_t*
    - DoubleArrayUnit**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1577
    functionName: Darts::Details::DoubleArrayBuilder::copy
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - DoubleArrayUnit::DoubleArrayUnit
    - reinterpret_cast<unit_type *>
    - size
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::copy(std::size_t *size_ptr,\n    DoubleArrayUnit
      **buf_ptr) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1580,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1581,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1582,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1585
    functionName: Darts::Details::DoubleArrayBuilder::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 7
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::clear
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DawgBuilder*::init
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1590,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1591,1
    - Dst: DawgBuilder*::insert
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: Keyset<T>::lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: Keyset<T>::values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: progress_func_
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1594,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1594,1
    - Dst: DawgBuilder*::finish
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - keyset
    - dawg_builder
    argTypes:
    - Keyset<T>
    - DawgBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1598
    functionName: Darts::Details::DoubleArrayBuilder::build_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - DawgBuilder*::insert
    - Keyset<T>::lengths
    - Keyset<T>::values
    - DawgBuilder*::init
    - DawgBuilder*::finish
    - Keyset<T>::num_keys
    - progress_func_
    - Keyset<T>::keys
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::build_dawg(const Keyset<T> &keyset,\n    DawgBuilder
      *dawg_builder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1602,1
    - Dst: reserve
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1605,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1607,1
    - Dst: DawgBuilder::num_intersections
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1607,1
    - Dst: id_type::id_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1607,1
    - Dst: DawgBuilder::num_intersections
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1608,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1612,1
    - Dst: extra_type::extra_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1612,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1614,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1615,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1616,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1617,1
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1619,1
    - Dst: DawgBuilder::root
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1619,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1620,1
    - Dst: DawgBuilder::root
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1620,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_all_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1623,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1625,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1626,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - dawg
    argTypes:
    - DawgBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1600
    functionDepth: 2
    functionLinenumber: 1600
    functionLinenumberEnd: 1628
    functionName: Darts::Details::DoubleArrayBuilder::build_from_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 8
    functionsReached:
    - set_offset
    - Darts::Details::DoubleArrayBuilder::fix_all_blocks
    - reserve
    - id_type::id_type
    - reset
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - extras
    - set_label
    - DawgBuilder::root
    - DawgBuilder::child
    - Darts::Details::DoubleArrayBuilder::build_from_dawg
    - Darts::Details::DoubleArrayBuilder::clear
    - extra_type::extra_type
    - DawgBuilder::num_intersections
    - DawgBuilder::size
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::build_from_dawg(const DawgBuilder &dawg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1632,1
    - Dst: DawgBuilder::is_intersection
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1633,1
    - Dst: DawgBuilder::intersection_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1634,1
    - Dst: DawgBuilder::is_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1639,1
    - Dst: set_has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1640,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1642,1
    - Dst: Darts::Details::DoubleArrayBuilder::arrange_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1648,1
    - Dst: DawgBuilder::is_intersection
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1649,1
    - Dst: DawgBuilder::intersection_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1650,1
    - Dst: DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1654,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1657,1
    - Dst: DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1659,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - dawg
    - dawg_id
    - dic_id
    argTypes:
    - DawgBuilder
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1630
    functionDepth: 2
    functionLinenumber: 1630
    functionLinenumberEnd: 1661
    functionName: Darts::Details::DoubleArrayBuilder::build_from_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 9
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::arrange_from_dawg
    - DawgBuilder::is_intersection
    - DawgBuilder::is_leaf
    - Darts::Details::DoubleArrayBuilder::build_from_dawg
    - DawgBuilder::intersection_id
    - DawgBuilder::child
    - DawgBuilder::sibling
    - set_has_leaf
    - DawgBuilder::label
    - set_offset
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::build_from_dawg(const DawgBuilder &dawg,\n
      \   id_type dawg_id, id_type dic_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1665,1
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1667,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1669,1
    - Dst: DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1669,1
    - Dst: DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1670,1
    - Dst: Darts::Details::DoubleArrayBuilder::find_valid_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1673,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1674,1
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1676,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1677,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1679,1
    - Dst: DawgBuilder::is_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1681,1
    - Dst: set_has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1682,1
    - Dst: set_value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1683,1
    - Dst: DawgBuilder::value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1683,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1685,1
    - Dst: DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1688,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - dawg
    - dawg_id
    - dic_id
    argTypes:
    - DawgBuilder
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1663
    functionDepth: 2
    functionLinenumber: 1663
    functionLinenumberEnd: 1693
    functionName: Darts::Details::DoubleArrayBuilder::arrange_from_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::find_valid_offset
    - append
    - resize
    - size
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - DawgBuilder::is_leaf
    - set_value
    - set_label
    - DawgBuilder::value
    - DawgBuilder::child
    - DawgBuilder::sibling
    - set_has_leaf
    - DawgBuilder::label
    - extras
    - set_offset
    linkageType: ''
    returnType: id_type
    signature: "id_type DoubleArrayBuilder::arrange_from_dawg(const DawgBuilder &dawg,\n
      \   id_type dawg_id, id_type dic_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1698,1
    - Dst: reserve
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1701,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1703,1
    - Dst: extra_type::extra_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1703,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1705,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1706,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1707,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1708,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1710,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1711,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1711,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_all_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1714,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1716,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - keyset
    argTypes:
    - Keyset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1696
    functionDepth: 2
    functionLinenumber: 1696
    functionLinenumberEnd: 1718
    functionName: Darts::Details::DoubleArrayBuilder::build_from_keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 8
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::fix_all_blocks
    - reserve
    - Darts::Details::DoubleArrayBuilder::build_from_keyset
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - reset
    - set_label
    - Keyset<T>::num_keys
    - Darts::Details::DoubleArrayBuilder::clear
    - extra_type::extra_type
    - extras
    - set_offset
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::build_from_keyset(const Keyset<T> &keyset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DoubleArrayBuilder::arrange_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1723,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1726,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1736,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1738,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1740,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1743,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - keyset
    - begin
    - end
    - depth
    - dic_id
    argTypes:
    - Keyset<T>
    - std::size_t
    - std::size_t
    - std::size_t
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1721
    functionDepth: 2
    functionLinenumber: 1721
    functionLinenumberEnd: 1747
    functionName: Darts::Details::DoubleArrayBuilder::build_from_keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 9
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::build_from_keyset
    - Keyset<T>::keys
    - Darts::Details::DoubleArrayBuilder::arrange_from_keyset
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::build_from_keyset(const Keyset<T> &keyset,\n
      \   std::size_t begin, std::size_t end, std::size_t depth, id_type dic_id)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1752,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1756,1
    - Dst: Keyset<T>::has_lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1758,1
    - Dst: Keyset<T>::lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1758,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1759,1
    - Dst: Keyset<T>::values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1761,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1762,1
    - Dst: Keyset<T>::values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1766,1
    - Dst: progress_func_
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1769,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1769,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1773,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1774,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1775,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1776,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1777,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1779,1
    - Dst: Darts::Details::DoubleArrayBuilder::find_valid_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1783,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1784,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1786,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1788,1
    - Dst: set_has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1790,1
    - Dst: set_value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1791,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1793,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1796,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - keyset
    - begin
    - end
    - depth
    - dic_id
    argTypes:
    - Keyset<T>
    - std::size_t
    - std::size_t
    - std::size_t
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1799
    functionName: Darts::Details::DoubleArrayBuilder::arrange_from_keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::find_valid_offset
    - append
    - resize
    - size
    - Keyset<T>::lengths
    - Keyset<T>::keys
    - Keyset<T>::values
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - set_value
    - set_label
    - extras
    - empty
    - Keyset<T>::num_keys
    - set_has_leaf
    - progress_func_
    - set_offset
    - DARTS_THROW
    - Keyset<T>::has_lengths
    linkageType: ''
    returnType: id_type
    signature: "id_type DoubleArrayBuilder::arrange_from_keyset(const Keyset<T> &keyset,\n
      \   std::size_t begin, std::size_t end, std::size_t depth, id_type dic_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1802,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1803,1
    - Dst: Darts::Details::DoubleArrayBuilder::is_valid_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1809,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1812,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1801
    functionDepth: 1
    functionLinenumber: 1801
    functionLinenumberEnd: 1816
    functionName: Darts::Details::DoubleArrayBuilder::find_valid_offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 6
    functionsReached:
    - extras
    - Darts::Details::DoubleArrayBuilder::is_valid_offset
    - size
    linkageType: ''
    returnType: id_type
    signature: id_type DoubleArrayBuilder::find_valid_offset(id_type id) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1820,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1829,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - id
    - offset
    argTypes:
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1836
    functionName: Darts::Details::DoubleArrayBuilder::is_valid_offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - extras
    - size
    linkageType: ''
    returnType: bool
    signature: "bool DoubleArrayBuilder::is_valid_offset(id_type id,\n    id_type
      offset) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1839,1
    - Dst: Darts::Details::DoubleArrayBuilder::expand_units
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1840,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1844,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1846,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1849,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1849,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1849,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1850,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1850,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1850,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1838
    functionDepth: 2
    functionLinenumber: 1838
    functionLinenumberEnd: 1852
    functionName: Darts::Details::DoubleArrayBuilder::reserve_id
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 14
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::expand_units
    - extras
    - size
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::reserve_id(id_type id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1855,1
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1856,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_block
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1862,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1865,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1869,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1870,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1875,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1876,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1879,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1880,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1882,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1882,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1883,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1885,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1885,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1854
    functionDepth: 3
    functionLinenumber: 1854
    functionLinenumberEnd: 1887
    functionName: Darts::Details::DoubleArrayBuilder::expand_units
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - resize
    - Darts::Details::DoubleArrayBuilder::num_blocks
    - extras
    - Darts::Details::DoubleArrayBuilder::fix_block
    - size
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::expand_units()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1891,1
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1892,1
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1894,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_block
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1889
    functionDepth: 3
    functionLinenumber: 1889
    functionLinenumberEnd: 1899
    functionName: Darts::Details::DoubleArrayBuilder::fix_all_blocks
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 6
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::num_blocks
    - Darts::Details::DoubleArrayBuilder::fix_block
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::fix_all_blocks()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1907,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1914,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1915,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1916,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - block_id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1901
    functionDepth: 2
    functionLinenumber: 1901
    functionLinenumberEnd: 1919
    functionName: Darts::Details::DoubleArrayBuilder::fix_block
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 6
    functionsReached:
    - static_cast<uchar_type>
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - set_label
    - extras
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::fix_block(id_type block_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 592
    functionName: Darts::Details::AutoArray::AutoArray
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoArray(T *array = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: ~AutoArray()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~AutoArray()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: '&operator[](std::size_t id) const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: '&operator[](std::size_t id)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 606
    functionName: Darts::Details::AutoArray::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 613
    functionName: Darts::Details::AutoArray::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - array
    argTypes:
    - AutoArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 618
    functionName: Darts::Details::AutoArray::swap
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap(AutoArray *array)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoArray::AutoArray
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 621
    functionName: Darts::Details::AutoArray::reset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::AutoArray::AutoArray
    linkageType: ''
    returnType: void
    signature: void reset(T *array = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 638
    functionName: Darts::Details::AutoPool::AutoPool
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 639
    functionName: ~AutoPool()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~AutoPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 643
    functionName: '&operator[](std::size_t id) const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T *>
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: '&operator[](std::size_t id)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T *>
    linkageType: ''
    returnType: T
    signature: T &operator[](std::size_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 650
    functionName: Darts::Details::AutoPool::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 653
    functionName: Darts::Details::AutoPool::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoPool::resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:656,1
    - Dst: Darts::Details::AutoPool::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 660
    functionName: Darts::Details::AutoPool::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::AutoPool::resize
    - Darts::Details::AutoPool::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoPool::append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 664
    functionName: Darts::Details::AutoPool::push_back
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::AutoPool::append
    linkageType: ''
    returnType: void
    signature: void push_back(const T &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 667
    functionName: Darts::Details::AutoPool::pop_back
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - ~T
    linkageType: ''
    returnType: void
    signature: void pop_back()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:671,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 673
    functionName: Darts::Details::AutoPool::append
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - T::T
    - resize_buf
    linkageType: ''
    returnType: void
    signature: void append()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:676,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: Darts::Details::AutoPool::append
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - T::T
    - resize_buf
    linkageType: ''
    returnType: void
    signature: void append(const T &value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:682,1
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:685,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 690
    functionName: Darts::Details::AutoPool::resize
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - T::T
    - resize_buf
    - ~T
    linkageType: ''
    returnType: void
    signature: void resize(std::size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:693,1
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:696,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - size
    - value
    argTypes:
    - std::size_t
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: Darts::Details::AutoPool::resize
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - T::T
    - resize_buf
    - ~T
    linkageType: ''
    returnType: void
    signature: void resize(std::size_t size, const T &value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize_buf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: Darts::Details::AutoPool::reserve
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - resize_buf
    linkageType: ''
    returnType: void
    signature: void reserve(std::size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AutoArray::reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:735,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:735,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:737,1
    - Dst: reinterpret_cast<T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:741,1
    - Dst: reinterpret_cast<T *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:742,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:744,1
    - Dst: ~T
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:745,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - size
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 751
    functionName: Darts::Details::AutoPool<T>::resize_buf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - T::T
    - char::char
    - reinterpret_cast<T *>
    - swap
    - AutoArray::reset
    - DARTS_THROW
    - ~T
    linkageType: ''
    returnType: void
    signature: void AutoPool<T>::resize_buf(std::size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 760
    functionName: Darts::Details::AutoStack::AutoStack
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AutoStack()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 763
    functionName: ~AutoStack()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~AutoStack()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 767
    functionName: '&top() const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: T
    signature: T &top() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 770
    functionName: '&top()'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: T
    signature: T &top()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoStack::empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 774
    functionName: Darts::Details::AutoStack::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::AutoStack::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoStack::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 777
    functionName: Darts::Details::AutoStack::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::AutoStack::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 781
    functionName: Darts::Details::AutoStack::push
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void push(const T &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pop_back
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 784
    functionName: Darts::Details::AutoStack::pop
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - pop_back
    linkageType: ''
    returnType: void
    signature: void pop()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::AutoStack::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 788
    functionName: Darts::Details::AutoStack::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::AutoStack::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 804
    functionName: Darts::Details::BitVector::BitVector
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BitVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 807
    functionName: ~BitVector()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~BitVector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: operator[](std::size_t id) const
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator[](std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::pop_count
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 817
    functionName: Darts::Details::BitVector::rank
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::BitVector::pop_count
    linkageType: ''
    returnType: id_type
    signature: id_type rank(std::size_t id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - bit
    argTypes:
    - std::size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 825
    functionName: Darts::Details::BitVector::set
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(std::size_t id, bool bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 829
    functionName: Darts::Details::BitVector::empty
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::BitVector::empty
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 832
    functionName: Darts::Details::BitVector::num_ones
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_ones() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 835
    functionName: Darts::Details::BitVector::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 842
    functionName: Darts::Details::BitVector::append
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::BitVector::append
    linkageType: ''
    returnType: void
    signature: void append()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::BitVector::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:846,1
    - Dst: Darts::Details::BitVector::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: Darts::Details::BitVector::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::BitVector::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - unit
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 869
    functionName: Darts::Details::BitVector::pop_count
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type pop_count(id_type unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:874,1
    - Dst: Darts::Details::BitVector::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:874,1
    - Dst: id_type::id_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:874,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:876,1
    - Dst: Darts::Details::BitVector::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:880,1
    - Dst: Darts::Details::BitVector::pop_count
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 884
    functionName: Darts::Details::BitVector::build
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::BitVector::size
    - id_type::id_type
    - Darts::Details::BitVector::pop_count
    - reset
    - DARTS_THROW
    linkageType: ''
    returnType: void
    signature: void BitVector::build()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - num_keys
    - keys
    - lengths
    - values
    argTypes:
    - std::size_t
    - char_type**
    - std::size_t*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 895
    functionName: Darts::Details::Keyset::Keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Keyset(std::size_t num_keys, const char_type * const *keys,\n
      \     const std::size_t *lengths, const T *values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 899
    functionName: Darts::Details::Keyset::num_keys
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_keys() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 902
    functionName: Darts::Details::Keyset::keys
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char_type
    signature: char_type *keys(std::size_t id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::Keyset::has_lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - key_id
    - char_id
    argTypes:
    - std::size_t
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 907
    functionName: Darts::Details::Keyset::keys
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::Keyset::has_lengths
    linkageType: ''
    returnType: uchar_type
    signature: uchar_type keys(std::size_t key_id, std::size_t char_id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 911
    functionName: Darts::Details::Keyset::has_lengths
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_lengths() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::Keyset::has_lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 921
    functionName: Darts::Details::Keyset::lengths
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::Keyset::has_lengths
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t lengths(std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 925
    functionName: Darts::Details::Keyset::has_values
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_values() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::Keyset::has_values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:927,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:928,1
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 931
    functionName: Darts::Details::Keyset::values
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    - Darts::Details::Keyset::has_values
    linkageType: ''
    returnType: value_type
    signature: value_type values(std::size_t id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 951
    functionName: Darts::Details::DawgNode::DawgNode
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - child
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 955
    functionName: Darts::Details::DawgNode::set_child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_child(id_type child)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sibling
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 958
    functionName: Darts::Details::DawgNode::set_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sibling(id_type sibling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 961
    functionName: Darts::Details::DawgNode::set_value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_value(value_type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - uchar_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 964
    functionName: Darts::Details::DawgNode::set_label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_label(uchar_type label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_state
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 967
    functionName: Darts::Details::DawgNode::set_is_state
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_state(bool is_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - has_sibling
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 970
    functionName: Darts::Details::DawgNode::set_has_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_sibling(bool has_sibling)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 974
    functionName: Darts::Details::DawgNode::child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type child() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 977
    functionName: Darts::Details::DawgNode::sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type sibling() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: Darts::Details::DawgNode::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    linkageType: ''
    returnType: value_type
    signature: value_type value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 983
    functionName: Darts::Details::DawgNode::label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uchar_type
    signature: uchar_type label() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 986
    functionName: Darts::Details::DawgNode::is_state
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_state() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 989
    functionName: Darts::Details::DawgNode::has_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_sibling() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 996
    functionName: Darts::Details::DawgNode::unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type unit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1014
    functionName: Darts::Details::DawgUnit::DawgUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgUnit(id_type unit = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - unit
    argTypes:
    - DawgUnit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1015
    functionName: Darts::Details::DawgUnit::DawgUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgUnit(const DawgUnit &unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - unit
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1020
    functionName: '&operator=(id_type unit)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DawgUnit
    signature: DawgUnit &operator=(id_type unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1024
    functionName: Darts::Details::DawgUnit::unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type unit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1028
    functionName: Darts::Details::DawgUnit::child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type child() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: Darts::Details::DawgUnit::has_sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_sibling() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<value_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1034
    functionName: Darts::Details::DawgUnit::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - static_cast<value_type>
    linkageType: ''
    returnType: value_type
    signature: value_type value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1037
    functionName: Darts::Details::DawgUnit::is_state
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_state() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1052
    functionName: Darts::Details::DawgBuilder::DawgBuilder
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DawgBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1055
    functionName: ~DawgBuilder()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~DawgBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1059
    functionName: Darts::Details::DawgBuilder::root
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type root() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1063
    functionName: Darts::Details::DawgBuilder::child
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 7
    functionsReached:
    - Darts::Details::DawgBuilder::child
    linkageType: ''
    returnType: id_type
    signature: id_type child(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1066
    functionName: Darts::Details::DawgBuilder::sibling
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 9
    functionsReached:
    - has_sibling
    linkageType: ''
    returnType: id_type
    signature: id_type sibling(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1069
    functionName: Darts::Details::DawgBuilder::value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::DawgBuilder::value
    linkageType: ''
    returnType: int
    signature: int value(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1073
    functionName: Darts::Details::DawgBuilder::is_leaf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::DawgBuilder::label
    linkageType: ''
    returnType: bool
    signature: bool is_leaf(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1076
    functionName: Darts::Details::DawgBuilder::label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: uchar_type
    signature: uchar_type label(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1080
    functionName: Darts::Details::DawgBuilder::is_intersection
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_intersection(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rank
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1083
    functionName: Darts::Details::DawgBuilder::intersection_id
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - rank
    linkageType: ''
    returnType: id_type
    signature: id_type intersection_id(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: num_ones
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1087
    functionName: Darts::Details::DawgBuilder::num_intersections
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - num_ones
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_intersections() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: Darts::Details::DawgBuilder::size
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 22
    functionsReached:
    - Darts::Details::DawgBuilder::size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1133
    functionName: Darts::Details::DawgBuilder::free_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 3
    functionsReached:
    - push
    linkageType: ''
    returnType: void
    signature: void free_node(id_type id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1143
    functionName: Darts::Details::DawgBuilder::hash
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type hash(id_type key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1147,1
    - Dst: Darts::Details::DawgBuilder::append_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1149,1
    - Dst: Darts::Details::DawgBuilder::append_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1150,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1154,1
    - Dst: push
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1146
    functionDepth: 3
    functionLinenumber: 1146
    functionLinenumberEnd: 1156
    functionName: Darts::Details::DawgBuilder::init
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - resize
    - set_label
    - Darts::Details::DawgBuilder::append_unit
    - push
    - Darts::Details::DawgBuilder::append_node
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::flush
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1159,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1161,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1162,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1164,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1165,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1166,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1167,1
    - Dst: build
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1158
    functionDepth: 3
    functionLinenumber: 1158
    functionLinenumberEnd: 1170
    functionName: Darts::Details::DawgBuilder::finish
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::DawgBuilder::label
    - unit
    - build
    - Darts::Details::DawgBuilder::clear
    - Darts::Details::DawgBuilder::flush
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::finish()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1175,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1177,1
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1184,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1189,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1191,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1194,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1196,1
    - Dst: set_has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1198,1
    - Dst: Darts::Details::DawgBuilder::flush
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1199,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1210,1
    - Dst: Darts::Details::DawgBuilder::append_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1212,1
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1214,1
    - Dst: set_is_state
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1215,1
    - Dst: set_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1217,1
    - Dst: Darts::Details::DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1217,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1218,1
    - Dst: set_child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1219,1
    - Dst: push
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1220,1
    - Dst: set_value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1224,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - key
    - length
    - value
    argTypes:
    - char*
    - std::size_t
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1172
    functionDepth: 3
    functionLinenumber: 1172
    functionLinenumberEnd: 1225
    functionName: Darts::Details::DawgBuilder::insert
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - set_sibling
    - set_has_sibling
    - set_child
    - set_is_state
    - Darts::Details::DawgBuilder::append_node
    - static_cast<uchar_type>
    - set_label
    - Darts::Details::DawgBuilder::label
    - push
    - set_value
    - Darts::Details::DawgBuilder::child
    - Darts::Details::DawgBuilder::flush
    - DARTS_THROW
    linkageType: ''
    returnType: void
    signature: "void DawgBuilder::insert(const char *key, std::size_t length,\n    value_type
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1228,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1229,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1230,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1231,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1232,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1233,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1236
    functionName: Darts::Details::DawgBuilder::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 11
    functionsReached:
    - Darts::Details::DawgBuilder::clear
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1239,1
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1240,1
    - Dst: pop
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1241,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1243,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1243,1
    - Dst: Darts::Details::DawgBuilder::expand_table
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1244,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1248,1
    - Dst: Darts::Details::DawgBuilder::find_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1253,1
    - Dst: set
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1255,1
    - Dst: Darts::Details::DawgBuilder::append_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1259,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1261,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1262,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1263,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1272,1
    - Dst: Darts::Details::DawgBuilder::free_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1273,1
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1276,1
    - Dst: set_child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1276,1
    - Dst: pop
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1279
    functionName: Darts::Details::DawgBuilder::flush
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 8
    functionsReached:
    - top
    - Darts::Details::DawgBuilder::find_node
    - Darts::Details::DawgBuilder::sibling
    - pop
    - Darts::Details::DawgBuilder::append_unit
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::expand_table
    - Darts::Details::DawgBuilder::label
    - unit
    - Darts::Details::DawgBuilder::free_node
    - set
    - set_child
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::flush(id_type id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1282,1
    - Dst: Darts::Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1283,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1284,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1286,1
    - Dst: static_cast<id_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1287,1
    - Dst: is_state
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1288,1
    - Dst: Darts::Details::DawgBuilder::find_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1281
    functionDepth: 3
    functionLinenumber: 1281
    functionLinenumberEnd: 1294
    functionName: Darts::Details::DawgBuilder::expand_table
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - resize
    - static_cast<id_type>
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::clear
    - Darts::Details::DawgBuilder::find_unit
    - is_state
    linkageType: ''
    returnType: void
    signature: void DawgBuilder::expand_table()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::hash_unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1297,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1297,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - id
    - hash_id
    argTypes:
    - id_type
    - id_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1296
    functionDepth: 2
    functionLinenumber: 1296
    functionLinenumberEnd: 1307
    functionName: Darts::Details::DawgBuilder::find_unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::hash_unit
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::find_unit(id_type id, id_type *hash_id) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::hash_node
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1311,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1311,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1312,1
    - Dst: Darts::Details::DawgBuilder::are_equal
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - node_id
    - hash_id
    argTypes:
    - id_type
    - id_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1309
    functionDepth: 2
    functionLinenumber: 1309
    functionLinenumberEnd: 1323
    functionName: Darts::Details::DawgBuilder::find_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::DawgBuilder::are_equal
    - Darts::Details::DawgBuilder::size
    - Darts::Details::DawgBuilder::hash_node
    linkageType: ''
    returnType: id_type
    signature: "id_type DawgBuilder::find_node(id_type node_id,\n    id_type *hash_id)
      const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1326,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1327,1
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1328,1
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1333,1
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1337,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1338,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1338,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - node_id
    - unit_id
    argTypes:
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1344
    functionName: Darts::Details::DawgBuilder::are_equal
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::DawgBuilder::sibling
    - Darts::Details::DawgBuilder::label
    - unit
    - has_sibling
    linkageType: ''
    returnType: bool
    signature: bool DawgBuilder::are_equal(id_type node_id, id_type unit_id) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1349,1
    - Dst: Darts::Details::DawgBuilder::hash
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1351,1
    - Dst: has_sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1358
    functionName: Darts::Details::DawgBuilder::hash_unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - unit
    - Darts::Details::DawgBuilder::hash
    - has_sibling
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::hash_unit(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1362,1
    - Dst: unit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1363,1
    - Dst: Darts::Details::DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1364,1
    - Dst: Darts::Details::DawgBuilder::hash
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1368
    functionName: Darts::Details::DawgBuilder::hash_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::DawgBuilder::sibling
    - Darts::Details::DawgBuilder::hash
    - unit
    - Darts::Details::DawgBuilder::label
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::hash_node(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1371,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1372,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1373,1
    - Dst: static_cast<id_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1375,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1370
    functionDepth: 2
    functionLinenumber: 1370
    functionLinenumberEnd: 1376
    functionName: Darts::Details::DawgBuilder::append_unit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 8
    functionsReached:
    - append
    - static_cast<id_type>
    - Darts::Details::DawgBuilder::size
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::append_unit()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1380,1
    - Dst: static_cast<id_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1381,1
    - Dst: Darts::Details::DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1381,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1382,1
    - Dst: top
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1384,1
    - Dst: DawgNode
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1385,1
    - Dst: pop
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1378
    functionDepth: 2
    functionLinenumber: 1378
    functionLinenumberEnd: 1389
    functionName: Darts::Details::DawgBuilder::append_node
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 8
    functionsReached:
    - top
    - append
    - pop
    - static_cast<id_type>
    - Darts::Details::DawgBuilder::size
    - empty
    - DawgNode
    linkageType: ''
    returnType: id_type
    signature: id_type DawgBuilder::append_node()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1397
    functionName: Darts::Details::DoubleArrayBuilderUnit::DoubleArrayBuilderUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilderUnit()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - has_leaf
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1405
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_has_leaf
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_leaf(bool has_leaf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1408
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_value
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_value(value_type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - label
    argTypes:
    - uchar_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1411
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_label
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_label(uchar_type label)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - offset
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1422
    functionName: Darts::Details::DoubleArrayBuilderUnit::set_offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - DARTS_THROW
    linkageType: ''
    returnType: void
    signature: void set_offset(id_type offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1437
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::DoubleArrayBuilderExtraUnit
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilderExtraUnit()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prev
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1441
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_prev
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_prev(id_type prev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - next
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1444
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_next
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(id_type next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_fixed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1447
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_is_fixed
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_fixed(bool is_fixed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - is_used
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1450
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::set_is_used
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_used(bool is_used)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1454
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::prev
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type prev() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1457
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::next
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: id_type
    signature: id_type next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1460
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::is_fixed
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_fixed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1463
    functionName: Darts::Details::DoubleArrayBuilderExtraUnit::is_used
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_used() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - progress_func
    argTypes:
    - progress_func_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1482
    functionName: Darts::Details::DoubleArrayBuilder::DoubleArrayBuilder
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder(progress_func_type progress_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1485
    functionName: ~DoubleArrayBuilder()
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void ~DoubleArrayBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1517
    functionName: Darts::Details::DoubleArrayBuilder::num_blocks
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 6
    functionsReached:
    - size
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t num_blocks() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1521
    functionName: '&extras(id_type id) const'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: extra_type
    signature: extra_type &extras(id_type id) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1524
    functionName: '&extras(id_type id)'
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: extra_type
    signature: extra_type &extras(id_type id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Keyset<T>::has_values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1555,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1557,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1558,1
    - Dst: Details::DawgBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1559,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - keyset
    argTypes:
    - Keyset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1554
    functionDepth: 3
    functionLinenumber: 1554
    functionLinenumberEnd: 1563
    functionName: Darts::Details::DoubleArrayBuilder::build
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::build_dawg
    - Darts::Details::DoubleArrayBuilder::build_from_keyset
    - Details::DawgBuilder::clear
    - Darts::Details::DoubleArrayBuilder::build_from_dawg
    - Keyset<T>::has_values
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::build(const Keyset<T> &keyset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1568,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1571,1
    - Dst: DoubleArrayUnit::DoubleArrayUnit
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1571,1
    - Dst: reinterpret_cast<unit_type *>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1572,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - size_ptr
    - buf_ptr
    argTypes:
    - std::size_t*
    - DoubleArrayUnit**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1577
    functionName: Darts::Details::DoubleArrayBuilder::copy
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - DoubleArrayUnit::DoubleArrayUnit
    - reinterpret_cast<unit_type *>
    - size
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::copy(std::size_t *size_ptr,\n    DoubleArrayUnit
      **buf_ptr) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1580,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1581,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1582,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1585
    functionName: Darts::Details::DoubleArrayBuilder::clear
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 10
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::clear
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DawgBuilder*::init
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1590,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1591,1
    - Dst: DawgBuilder*::insert
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: Keyset<T>::lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: Keyset<T>::values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1592,1
    - Dst: progress_func_
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1594,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1594,1
    - Dst: DawgBuilder*::finish
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - keyset
    - dawg_builder
    argTypes:
    - Keyset<T>
    - DawgBuilder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1598
    functionName: Darts::Details::DoubleArrayBuilder::build_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - DawgBuilder*::insert
    - Keyset<T>::lengths
    - Keyset<T>::values
    - DawgBuilder*::init
    - DawgBuilder*::finish
    - Keyset<T>::num_keys
    - progress_func_
    - Keyset<T>::keys
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::build_dawg(const Keyset<T> &keyset,\n    DawgBuilder
      *dawg_builder)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DawgBuilder::size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1602,1
    - Dst: reserve
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1605,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1607,1
    - Dst: DawgBuilder::num_intersections
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1607,1
    - Dst: id_type::id_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1607,1
    - Dst: DawgBuilder::num_intersections
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1608,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1612,1
    - Dst: extra_type::extra_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1612,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1614,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1615,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1616,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1617,1
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1619,1
    - Dst: DawgBuilder::root
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1619,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1620,1
    - Dst: DawgBuilder::root
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1620,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_all_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1623,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1625,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1626,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - dawg
    argTypes:
    - DawgBuilder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1600
    functionDepth: 2
    functionLinenumber: 1600
    functionLinenumberEnd: 1628
    functionName: Darts::Details::DoubleArrayBuilder::build_from_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 11
    functionsReached:
    - set_offset
    - Darts::Details::DoubleArrayBuilder::fix_all_blocks
    - reserve
    - id_type::id_type
    - reset
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - extras
    - set_label
    - DawgBuilder::root
    - DawgBuilder::child
    - Darts::Details::DoubleArrayBuilder::build_from_dawg
    - Darts::Details::DoubleArrayBuilder::clear
    - extra_type::extra_type
    - DawgBuilder::num_intersections
    - DawgBuilder::size
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::build_from_dawg(const DawgBuilder &dawg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1632,1
    - Dst: DawgBuilder::is_intersection
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1633,1
    - Dst: DawgBuilder::intersection_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1634,1
    - Dst: DawgBuilder::is_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1639,1
    - Dst: set_has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1640,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1642,1
    - Dst: Darts::Details::DoubleArrayBuilder::arrange_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1648,1
    - Dst: DawgBuilder::is_intersection
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1649,1
    - Dst: DawgBuilder::intersection_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1650,1
    - Dst: DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1654,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_dawg
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1657,1
    - Dst: DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1659,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - dawg
    - dawg_id
    - dic_id
    argTypes:
    - DawgBuilder
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1630
    functionDepth: 2
    functionLinenumber: 1630
    functionLinenumberEnd: 1661
    functionName: Darts::Details::DoubleArrayBuilder::build_from_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 12
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::arrange_from_dawg
    - DawgBuilder::is_intersection
    - DawgBuilder::is_leaf
    - Darts::Details::DoubleArrayBuilder::build_from_dawg
    - DawgBuilder::intersection_id
    - DawgBuilder::child
    - DawgBuilder::sibling
    - set_has_leaf
    - DawgBuilder::label
    - set_offset
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::build_from_dawg(const DawgBuilder &dawg,\n
      \   id_type dawg_id, id_type dic_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1665,1
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1667,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1669,1
    - Dst: DawgBuilder::label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1669,1
    - Dst: DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1670,1
    - Dst: Darts::Details::DoubleArrayBuilder::find_valid_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1673,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1674,1
    - Dst: DawgBuilder::child
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1676,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1677,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1679,1
    - Dst: DawgBuilder::is_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1681,1
    - Dst: set_has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1682,1
    - Dst: set_value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1683,1
    - Dst: DawgBuilder::value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1683,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1685,1
    - Dst: DawgBuilder::sibling
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1688,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - dawg
    - dawg_id
    - dic_id
    argTypes:
    - DawgBuilder
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1663
    functionDepth: 2
    functionLinenumber: 1663
    functionLinenumberEnd: 1693
    functionName: Darts::Details::DoubleArrayBuilder::arrange_from_dawg
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::find_valid_offset
    - append
    - resize
    - size
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - DawgBuilder::is_leaf
    - set_value
    - set_label
    - DawgBuilder::value
    - DawgBuilder::child
    - DawgBuilder::sibling
    - set_has_leaf
    - DawgBuilder::label
    - extras
    - set_offset
    linkageType: ''
    returnType: id_type
    signature: "id_type DoubleArrayBuilder::arrange_from_dawg(const DawgBuilder &dawg,\n
      \   id_type dawg_id, id_type dic_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1698,1
    - Dst: reserve
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1701,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1703,1
    - Dst: extra_type::extra_type
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1703,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1705,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1706,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1707,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1708,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1710,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1711,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1711,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_all_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1714,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1716,1
    - Dst: Darts::Details::DoubleArrayBuilder::clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - keyset
    argTypes:
    - Keyset<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1696
    functionDepth: 2
    functionLinenumber: 1696
    functionLinenumberEnd: 1718
    functionName: Darts::Details::DoubleArrayBuilder::build_from_keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 11
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::fix_all_blocks
    - reserve
    - Darts::Details::DoubleArrayBuilder::build_from_keyset
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - reset
    - set_label
    - Keyset<T>::num_keys
    - Darts::Details::DoubleArrayBuilder::clear
    - extra_type::extra_type
    - extras
    - set_offset
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::build_from_keyset(const Keyset<T> &keyset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DoubleArrayBuilder::arrange_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1723,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1726,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1736,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1738,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1740,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1743,1
    - Dst: Darts::Details::DoubleArrayBuilder::build_from_keyset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - keyset
    - begin
    - end
    - depth
    - dic_id
    argTypes:
    - Keyset<T>
    - std::size_t
    - std::size_t
    - std::size_t
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1721
    functionDepth: 2
    functionLinenumber: 1721
    functionLinenumberEnd: 1747
    functionName: Darts::Details::DoubleArrayBuilder::build_from_keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 12
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::build_from_keyset
    - Keyset<T>::keys
    - Darts::Details::DoubleArrayBuilder::arrange_from_keyset
    linkageType: ''
    returnType: void
    signature: "void DoubleArrayBuilder::build_from_keyset(const Keyset<T> &keyset,\n
      \   std::size_t begin, std::size_t end, std::size_t depth, id_type dic_id)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1752,1
    - Dst: Keyset<T>::keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1756,1
    - Dst: Keyset<T>::has_lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1758,1
    - Dst: Keyset<T>::lengths
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1758,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1759,1
    - Dst: Keyset<T>::values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1761,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1762,1
    - Dst: Keyset<T>::values
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1766,1
    - Dst: progress_func_
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1769,1
    - Dst: Keyset<T>::num_keys
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1769,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1773,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1774,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1775,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1776,1
    - Dst: DARTS_THROW
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1777,1
    - Dst: append
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1779,1
    - Dst: Darts::Details::DoubleArrayBuilder::find_valid_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1783,1
    - Dst: set_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1784,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1786,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1788,1
    - Dst: set_has_leaf
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1790,1
    - Dst: set_value
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1791,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1793,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1796,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - keyset
    - begin
    - end
    - depth
    - dic_id
    argTypes:
    - Keyset<T>
    - std::size_t
    - std::size_t
    - std::size_t
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1799
    functionName: Darts::Details::DoubleArrayBuilder::arrange_from_keyset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::find_valid_offset
    - append
    - resize
    - size
    - Keyset<T>::lengths
    - Keyset<T>::keys
    - Keyset<T>::values
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - set_value
    - set_label
    - extras
    - empty
    - Keyset<T>::num_keys
    - set_has_leaf
    - progress_func_
    - set_offset
    - DARTS_THROW
    - Keyset<T>::has_lengths
    linkageType: ''
    returnType: id_type
    signature: "id_type DoubleArrayBuilder::arrange_from_keyset(const Keyset<T> &keyset,\n
      \   std::size_t begin, std::size_t end, std::size_t depth, id_type dic_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1802,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1803,1
    - Dst: Darts::Details::DoubleArrayBuilder::is_valid_offset
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1809,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1812,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1801
    functionDepth: 1
    functionLinenumber: 1801
    functionLinenumberEnd: 1816
    functionName: Darts::Details::DoubleArrayBuilder::find_valid_offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 8
    functionsReached:
    - extras
    - Darts::Details::DoubleArrayBuilder::is_valid_offset
    - size
    linkageType: ''
    returnType: id_type
    signature: id_type DoubleArrayBuilder::find_valid_offset(id_type id) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1820,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1829,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - id
    - offset
    argTypes:
    - id_type
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1836
    functionName: Darts::Details::DoubleArrayBuilder::is_valid_offset
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - extras
    - size
    linkageType: ''
    returnType: bool
    signature: "bool DoubleArrayBuilder::is_valid_offset(id_type id,\n    id_type
      offset) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1839,1
    - Dst: Darts::Details::DoubleArrayBuilder::expand_units
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1840,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1844,1
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1846,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1849,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1849,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1849,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1850,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1850,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1850,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1838
    functionDepth: 2
    functionLinenumber: 1838
    functionLinenumberEnd: 1852
    functionName: Darts::Details::DoubleArrayBuilder::reserve_id
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 19
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::expand_units
    - extras
    - size
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::reserve_id(id_type id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1855,1
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1856,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_block
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1862,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1865,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1869,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1870,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1875,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1876,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1879,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1880,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1882,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1882,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1883,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1885,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1885,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1854
    functionDepth: 3
    functionLinenumber: 1854
    functionLinenumberEnd: 1887
    functionName: Darts::Details::DoubleArrayBuilder::expand_units
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 4
    functionsReached:
    - resize
    - Darts::Details::DoubleArrayBuilder::num_blocks
    - extras
    - Darts::Details::DoubleArrayBuilder::fix_block
    - size
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::expand_units()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1891,1
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1892,1
    - Dst: Darts::Details::DoubleArrayBuilder::num_blocks
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1894,1
    - Dst: Darts::Details::DoubleArrayBuilder::fix_block
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1889
    functionDepth: 3
    functionLinenumber: 1889
    functionLinenumberEnd: 1899
    functionName: Darts::Details::DoubleArrayBuilder::fix_all_blocks
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 8
    functionsReached:
    - Darts::Details::DoubleArrayBuilder::num_blocks
    - Darts::Details::DoubleArrayBuilder::fix_block
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::fix_all_blocks()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1907,1
    - Dst: extras
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1914,1
    - Dst: Darts::Details::DoubleArrayBuilder::reserve_id
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1915,1
    - Dst: set_label
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1916,1
    - Dst: static_cast<uchar_type>
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - block_id
    argTypes:
    - id_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1901
    functionDepth: 2
    functionLinenumber: 1901
    functionLinenumberEnd: 1919
    functionName: Darts::Details::DoubleArrayBuilder::fix_block
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 8
    functionsReached:
    - static_cast<uchar_type>
    - Darts::Details::DoubleArrayBuilder::reserve_id
    - set_label
    - extras
    linkageType: ''
    returnType: void
    signature: void DoubleArrayBuilder::fix_block(id_type block_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Details::DoubleArrayBuilder::build
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1934,1
    - Dst: Details::DoubleArrayBuilder::copy
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1938,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1940,1
    - Dst: progress_func
      Src: /src/sentencepiece/third_party/darts_clone/darts.h:1947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - num_keys
    - keys
    - lengths
    - values
    - progress_func
    argTypes:
    - std::size_t
    - key_type**
    - std::size_t*
    - value_type*
    - Details::progress_func_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1951
    functionName: Darts::DoubleArrayImpl<A, B, T, C>::build
    functionSourceFile: /src/sentencepiece/third_party/darts_clone/darts.h
    functionUses: 0
    functionsReached:
    - progress_func
    - Details::DoubleArrayBuilder::copy
    - clear
    - Details::DoubleArrayBuilder::build
    linkageType: ''
    returnType: int
    signature: "int DoubleArrayImpl<A, B, T, C>::build(std::size_t num_keys,\n    const
      key_type * const *keys, const std::size_t *lengths,\n    const value_type *values,
      Details::progress_func_type progress_func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: ExtensionFinder::~ExtensionFinder()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionFinder::~ExtensionFinder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindRegisteredExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - number
    - output
    argTypes:
    - int
    - ExtensionInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GeneratedExtensionFinder::Find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindRegisteredExtension
    linkageType: ''
    returnType: bool
    signature: bool GeneratedExtensionFinder::Find(int number, ExtensionInfo* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:140,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:141,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:142,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::ExtensionSet::RegisterExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_NE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterExtension(const MessageLite* containing_type,\n
      \                                    int number, FieldType type,\n                                     bool
      is_repeated, bool is_packed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - number
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::CallNoArgValidityFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CallNoArgValidityFunc(const void* arg, int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:164,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - is_valid
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - EnumValidityFunc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterEnumExtension(const MessageLite* containing_type,\n
      \                                        int number, FieldType type,\n                                         bool
      is_repeated, bool is_packed,\n                                         EnumValidityFunc*
      is_valid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:176,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - prototype
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Register
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterMessageExtension(const MessageLite* containing_type,\n
      \                                           int number, FieldType type,\n                                            bool
      is_repeated, bool is_packed,\n                                            const
      MessageLite* prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateArray<KeyValue>
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ExtensionSet(Arena* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: Free
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: ExtensionSet::~ExtensionSet()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - DeleteFlatMap
    - Free
    - ForEach
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::~ExtensionSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete[]
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    - Dst: const_cast<ExtensionSet::KeyValue*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - flat
    - flat_capacity
    argTypes:
    - ExtensionSet::KeyValue*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: google::protobuf::internal::ExtensionSet::DeleteFlatMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - const_cast<ExtensionSet::KeyValue*>
    - ::operator delete[]
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::DeleteFlatMap(const ExtensionSet::KeyValue* flat,\n
      \                                uint16 flat_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:229,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: google::protobuf::internal::ExtensionSet::Has
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Has(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: google::protobuf::internal::ExtensionSet::NumExtensions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ForEach
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::NumExtensions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:246,1
    - Dst: Extension*::GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::GetSize
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::ExtensionSize(int number) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:251,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:253,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::ExtensionSet::ExtensionType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_LOG
    linkageType: ''
    returnType: FieldType
    signature: FieldType ExtensionSet::ExtensionType(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:263,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::ExtensionSet::ClearExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::Clear
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ClearExtension(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - EXTENSION
    - ','
    - LABEL
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: GOOGLE_DCHECK_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_TYPE(EXTENSION, LABEL, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 347
    functionName: PRIMITIVE_ACCESSORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIMITIVE_ACCESSORS(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::ExtensionSet::GetRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::GetRawRepeatedField(int number,\n                                              const
      void* default_value) const"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:376,1
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:381,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:382,1
    - Dst: Arena::CreateMessage<RepeatedField<int32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:385,1
    - Dst: Arena::CreateMessage<RepeatedField<int64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:389,1
    - Dst: Arena::CreateMessage<RepeatedField<uint32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:393,1
    - Dst: Arena::CreateMessage<RepeatedField<uint64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:397,1
    - Dst: Arena::CreateMessage<RepeatedField<double>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:401,1
    - Dst: Arena::CreateMessage<RepeatedField<float>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:405,1
    - Dst: Arena::CreateMessage<RepeatedField<bool>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:409,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:413,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:417,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:421,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - number
    - field_type
    - packed
    - desc
    argTypes:
    - int
    - FieldType
    - bool
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 429
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - Arena::CreateMessage<RepeatedField<uint64>>
    - Arena::CreateMessage<RepeatedField<int32>>
    - Arena::CreateMessage<RepeatedField<uint32>>
    - Arena::CreateMessage<RepeatedField<double>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - static_cast<WireFormatLite::FieldType>
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - Arena::CreateMessage<RepeatedField<int>>
    - Arena::CreateMessage<RepeatedField<bool>>
    - Arena::CreateMessage<RepeatedField<float>>
    - Arena::CreateMessage<RepeatedField<int64>>
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::MutableRawRepeatedField(int number, FieldType
      field_type,\n                                            bool packed,\n                                            const
      FieldDescriptor* desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:434,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void * ExtensionSet::MutableRawRepeatedField(int number)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:445,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::ExtensionSet::GetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetEnum(int number, int default_value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:458,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: google::protobuf::internal::ExtensionSet::SetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - cpp_type
    - GOOGLE_DCHECK_EQ
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetEnum(int number, FieldType type, int value,\n
      \                          const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:470,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:471,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:472,1
    - Dst: Extension*::repeated_enum_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: google::protobuf::internal::ExtensionSet::GetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetRepeatedEnum(int number, int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:477,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:478,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:479,1
    - Dst: Extension*::repeated_enum_value::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - index
    - value
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::ExtensionSet::SetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Set
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SetRepeatedEnum(int number, int index, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:486,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:492,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:494,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:495,1
    - Dst: Extension*::repeated_enum_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - number
    - type
    - packed
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - bool
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: google::protobuf::internal::ExtensionSet::AddEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - Arena::CreateMessage<RepeatedField<int>>
    - GOOGLE_DCHECK_EQ
    - Extension*::repeated_enum_value::Add
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::AddEnum(int number, FieldType type, bool packed,
      int value,\n                           const FieldDescriptor* descriptor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:505,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: "& ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:518,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:522,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::ExtensionSet::MutableString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - Arena::Create<std::string>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::MutableString(int number, FieldType type,\n
      \                                        const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:532,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:533,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:534,1
    - Dst: Extension*::repeated_string_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Get
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:539,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:540,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:541,1
    - Dst: Extension*::repeated_string_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Mutable
    linkageType: ''
    returnType: std::string
    signature: std::string * ExtensionSet::MutableRepeatedString(int number, int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:548,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:554,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:556,1
    - Dst: Extension*::repeated_string_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 559
    functionName: google::protobuf::internal::ExtensionSet::AddString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_string_value::Add
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::AddString(int number, FieldType type,\n
      \                                    const FieldDescriptor* descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:566,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:571,1
    - Dst: Extension*::lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 578
    functionName: "& ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::lazymessage_value::GetMessage
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:589,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:594,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:598,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 606
    functionName: google::protobuf::internal::ExtensionSet::MutableMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::MutableMessage(int number, FieldType type,\n
      \                                         const MessageLite& prototype,\n                                          const
      FieldDescriptor* descriptor)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:617,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:620,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:622,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:631,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:633,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:634,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:637,1
    - Dst: Extension*::lazymessage_value::SetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:639,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:648,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:650,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:651,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 656
    functionName: google::protobuf::internal::ExtensionSet::SetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - MessageLite*::GetArena
    - Extension*::lazymessage_value::SetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - MessageLite*::New
    - Extension*::message_value::CheckTypeAndMergeFrom
    - GOOGLE_DCHECK_EQ
    - Own
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetAllocatedMessage(int number, FieldType type,\n
      \                                      const FieldDescriptor* descriptor,\n
      \                                      MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:662,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:666,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:673,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::UnsafeArenaSetAllocatedMessage(\n    int number,
      FieldType type, const FieldDescriptor* descriptor,\n    MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:688,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:693,1
    - Dst: Extension*::lazymessage_value::ReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:696,1
    - Dst: Extension*::message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:706,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:707,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 713
    functionName: google::protobuf::internal::ExtensionSet::ReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - Extension*::lazymessage_value::ReleaseMessage
    - GOOGLE_DCHECK_TYPE
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::message_value::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::ReleaseMessage(int number,\n                                          const
      MessageLite& prototype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:717,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:722,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:725,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::lazymessage_value::UnsafeArenaReleaseMessage
    - google::protobuf::internal::ExtensionSet::Erase
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::UnsafeArenaReleaseMessage(\n    int number,
      const MessageLite& prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:743,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:744,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:745,1
    - Dst: Extension*::repeated_message_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - Extension*::repeated_message_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:750,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:751,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:752,1
    - Dst: Extension*::repeated_message_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Extension*::repeated_message_value::Mutable
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::MutableRepeatedMessage(int number, int
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:760,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:765,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:767,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:772,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:776,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 780
    functionName: google::protobuf::internal::ExtensionSet::AddMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_message_value::AddAllocated
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::AddMessage(int number, FieldType type,\n
      \                                     const MessageLite& prototype,\n                                      const
      FieldDescriptor* descriptor)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:790,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:792,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:794,1
    - Dst: Extension*::repeated_int32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:796,1
    - Dst: Extension*::repeated_int64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:799,1
    - Dst: Extension*::repeated_uint32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:802,1
    - Dst: Extension*::repeated_uint64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:805,1
    - Dst: Extension*::repeated_float_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:808,1
    - Dst: Extension*::repeated_double_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:811,1
    - Dst: Extension*::repeated_bool_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:814,1
    - Dst: Extension*::repeated_enum_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:817,1
    - Dst: Extension*::repeated_string_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:820,1
    - Dst: Extension*::repeated_message_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:823,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::ExtensionSet::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::repeated_int64_value::RemoveLast
    - Extension*::repeated_enum_value::RemoveLast
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_string_value::RemoveLast
    - Extension*::repeated_uint32_value::RemoveLast
    - Extension*::repeated_double_value::RemoveLast
    - Extension*::repeated_float_value::RemoveLast
    - GOOGLE_CHECK
    - Extension*::repeated_uint64_value::RemoveLast
    - Extension*::repeated_message_value::RemoveLast
    - Extension*::repeated_bool_value::RemoveLast
    - Extension*::repeated_int32_value::RemoveLast
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::RemoveLast(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:829,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:830,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: Extension*::repeated_message_value::ReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 834
    functionName: google::protobuf::internal::ExtensionSet::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_message_value::ReleaseLast
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::ReleaseLast(int number)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:837,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:839,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:841,1
    - Dst: Extension*::repeated_int32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:843,1
    - Dst: Extension*::repeated_int64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:846,1
    - Dst: Extension*::repeated_uint32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:849,1
    - Dst: Extension*::repeated_uint64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:852,1
    - Dst: Extension*::repeated_float_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:855,1
    - Dst: Extension*::repeated_double_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:858,1
    - Dst: Extension*::repeated_bool_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:861,1
    - Dst: Extension*::repeated_enum_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:864,1
    - Dst: Extension*::repeated_string_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:867,1
    - Dst: Extension*::repeated_message_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:870,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - number
    - index1
    - index2
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 873
    functionName: google::protobuf::internal::ExtensionSet::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_bool_value::SwapElements
    - Extension*::repeated_message_value::SwapElements
    - Extension*::repeated_int64_value::SwapElements
    - Extension*::repeated_string_value::SwapElements
    - Extension*::repeated_enum_value::SwapElements
    - Extension*::repeated_uint64_value::SwapElements
    - GOOGLE_CHECK
    - Extension*::repeated_double_value::SwapElements
    - Extension*::repeated_uint32_value::SwapElements
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_float_value::SwapElements
    - Extension*::repeated_int32_value::SwapElements
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapElements(int number, int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 879
    functionName: google::protobuf::internal::ExtensionSet::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Clear
    - ForEach
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:907,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: map_::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:910,1
    - Dst: map_::large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:911,1
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:914,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 917
    functionName: google::protobuf::internal::ExtensionSet::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - map_::large::begin
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - flat_begin
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - SizeOfUnion
    - ForEach
    - map_::large::end
    - PROTOBUF_PREDICT_TRUE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::MergeFrom(const ExtensionSet& other)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:924,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:931,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:932,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:933,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:955,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:961,1
    - Dst: RepeatedPtrField*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:967,1
    - Dst: RepeatedPtrField*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:968,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:970,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:974,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:975,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:977,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:991,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:992,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:994,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:998,1
    - Dst: SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1001,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1007,1
    - Dst: lazymessage_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1015,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1016,1
    - Dst: message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1021,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1022,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1026,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1027,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1028,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1031,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1034,1
    - Dst: lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1035,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1040,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1044,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 86
    argCount: 2
    argNames:
    - number
    - ' other_extension'
    argTypes:
    - int
    - Extension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 1055
    functionName: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - Extension*::lazymessage_value::MergeFrom
    - MessageLite*::CheckTypeAndMergeFrom
    - message_value::New
    - New
    - HANDLE_TYPE
    - RepeatedPtrField*::size
    - lazymessage_value::GetMessage
    - SetString
    - GOOGLE_DCHECK_EQ
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - GOOGLE_DCHECK
    - lazymessage_value::New
    - RepeatedPtrField*::Get
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_message_value::AddAllocated
    - Extension*::message_value::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::InternalExtensionMergeFrom(\n    int number, const
      Extension& other_extension)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - REPEATED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 946
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, REPEATED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 990
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1060,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1061,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1062,1
    - Dst: ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1068,1
    - Dst: ExtensionSet*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1069,1
    - Dst: ExtensionSet*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1070,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1071,1
    - Dst: google::protobuf::internal::ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - x
    argTypes:
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1057
    functionDepth: 2
    functionLinenumber: 1057
    functionLinenumberEnd: 1074
    functionName: google::protobuf::internal::ExtensionSet::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MergeFrom
    - ExtensionSet*::GetArena
    - ExtensionSet*::Clear
    - swap
    - ExtensionSet*::MergeFrom
    - GetArena
    - google::protobuf::internal::ExtensionSet::Clear
    - ExtensionSet::MergeFrom
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Swap(ExtensionSet* x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1078,1
    - Dst: ExtensionSet*::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1079,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1088,1
    - Dst: ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1096,1
    - Dst: ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1097,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1098,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1099,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1100,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1101,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1108,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1110,1
    - Dst: ExtensionSet*::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1112,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1118,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1120,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - other
    - number
    argTypes:
    - ExtensionSet*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1125
    functionName: google::protobuf::internal::ExtensionSet::SwapExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - ExtensionSet::FindOrNull
    - ExtensionSet*::Insert
    - Extension*::Clear
    - ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::Insert
    - ExtensionSet*::InternalExtensionMergeFrom
    - ExtensionSet*::GetArena
    - swap
    - GetArena
    - ExtensionSet*::FindOrNull
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - ExtensionSet*::Erase
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapExtension(ExtensionSet* other, int number)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1132,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: KeyValue*::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1140
    functionName: google::protobuf::internal::ExtensionSet::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - KeyValue*::second::IsInitialized
    - flat_begin
    - second::IsInitialized
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1147,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1148,1
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - tag
    - extension_finder
    - field_number
    - extension
    - was_packed_on_wire
    argTypes:
    - uint32
    - ExtensionFinder*
    - int*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromTag(uint32 tag,\n                                            ExtensionFinder*
      extension_finder,\n                                            int* field_number,\n
      \                                           ExtensionInfo* extension,\n                                            bool*
      was_packed_on_wire)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionFinder*::Find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1157,1
    - Dst: google::protobuf::internal::WireTypeForFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: is_packable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - wire_type
    - field_number
    - extension_finder
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - int
    - ExtensionFinder*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1174
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - real_type
    - ExtensionFinder*::Find
    - google::protobuf::internal::WireTypeForFieldType
    - is_packable
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromFieldNumber(\n    int wire_type,
      int field_number, ExtensionFinder* extension_finder,\n    ExtensionInfo* extension,
      bool* was_packed_on_wire)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1182,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1184,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tag
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - uint32
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1189
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             ExtensionFinder* extension_finder,\n                              FieldSkipper*
      field_skipper)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1199,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1201,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1202,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1206
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - internal::InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    - UnknownFieldParse
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseField(uint64 tag, const char* ptr,\n                                     const
      MessageLite* containing_type,\n                                     internal::InternalMetadata*
      metadata,\n                                     internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1213
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItem(\n    const char* ptr, const
      MessageLite* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1224,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1225,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1241,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1242,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1243,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1244,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1245,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1246,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1247,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1248,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1249,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1250,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1257,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1259,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1262,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1264,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1268,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1277,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1281,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1300,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1301,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1302,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1303,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1304,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1305,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1306,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1307,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1308,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1309,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1317,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1321,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1324,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1326,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1329,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1338,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1340,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1342,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1349,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1351,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1353,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1360,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1363,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1366,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1373,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1376,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1379,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 5
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - input
    - field_skipper
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - io::CodedInputStream*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1215
    functionDepth: 2
    functionLinenumber: 1215
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - FieldSkipper*::SkipUnknownEnum
    - google::protobuf::internal::WireFormatLite::ReadBytes
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - GOOGLE_LOG
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - google::protobuf::internal::ExtensionSet::AddMessage
    - google::protobuf::internal::WireFormatLite::ReadString
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseFieldWithExtensionInfo(int number,\n                                               bool
      was_packed_on_wire,\n                                               const ExtensionInfo&
      extension,\n                                               io::CodedInputStream*
      input,\n                                               FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1240
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1299
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tag
    - input
    - containing_type
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1393
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1401
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type,\n                              io::CodedOutputStream*
      unknown_fields)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1407,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1412,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1403
    functionDepth: 3
    functionLinenumber: 1403
    functionLinenumberEnd: 1423
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    - google::protobuf::internal::ExtensionSet::ParseField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetLite(io::CodedInputStream* input,\n
      \                                      ExtensionFinder* extension_finder,\n
      \                                      FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    - Dst: ParseMessageSetItemImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1446
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    - ParseMessageSetItemImpl
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetItemLite(io::CodedInputStream* input,\n
      \                                          ExtensionFinder* extension_finder,\n
      \                                          FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type_id
    - input
    argTypes:
    - int
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1433
    functionName: google::protobuf::internal::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: bool
    signature: bool ParseField(int type_id, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - input
    argTypes:
    - uint32
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1437
    functionName: google::protobuf::internal::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::SkipField
    linkageType: ''
    returnType: bool
    signature: bool SkipField(uint32 tag, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1448
    functionDepth: 4
    functionLinenumber: 1448
    functionLinenumberEnd: 1456
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSet(io::CodedInputStream* input,\n
      \                                  const MessageLite* containing_type,\n                                   std::string*
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1462,1
    - Dst: large::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1463,1
    - Dst: auto::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1465,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1470,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1471,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - start_field_number
    - end_field_number
    - target
    - stream
    argTypes:
    - int
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::ExtensionSet::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
    - is_large
    - large::end
    - flat_begin
    - KeyValue::FirstComparator
    - large::lower_bound
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - auto::second::InternalSerializeFieldWithCachedSizesToArray
    - flat_end
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::_InternalSerialize(int start_field_number,\n
      \                                       int end_field_number, uint8* target,\n
      \                                       io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1482,1
    - Dst: InternalSerializeMessageSetItemWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1487
    functionName: google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - InternalSerializeMessageSetItemWithCachedSizesToArray
    - ForEach
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray(\n
      \   uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1491,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1495
    functionName: google::protobuf::internal::ExtensionSet::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - descriptor
    - result
    argTypes:
    - int
    - FieldDescriptor*
    - Extension**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1507
    functionName: google::protobuf::internal::ExtensionSet::MaybeNewExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 10
    functionsReached:
    - std::tie
    - google::protobuf::internal::ExtensionSet::Insert
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::MaybeNewExtension(int number,\n                                     const
      FieldDescriptor* descriptor,\n                                     Extension**
      result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1514,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1520,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1521,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1522,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1523,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1527,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1528,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1529,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1534,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1536,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1540,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1555
    functionName: ExtensionSet::Extension::Clear()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Clear
    - cpp_type
    - clear
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1519
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1562,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1571,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1572,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1573,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1574,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1575,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1576,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1577,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1586,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1587,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1588,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1589,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1599,1
    - Dst: ToCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1603,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1605,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1612,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1622,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1623,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1624,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1625,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1626,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1627,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1628,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1629,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1630,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1631,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1632,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1641,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1642,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1643,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1644,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1653,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1659,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1660,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1661,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1662,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1663,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1664,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1665,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1666,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1667,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1668,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1672,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1673,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1675,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1685,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1686,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1687,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1688,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1689,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1690,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1691,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 84
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1697
    functionName: ExtensionSet::Extension::ByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ToCachedSize
    - GOOGLE_LOG
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::TagSize
    - real_type
    - google::protobuf::internal::WireFormatLite::MakeTag
    - google::protobuf::internal::WireFormatLite::MessageSize
    - HANDLE_TYPE
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::ByteSize(int number) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1570
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1586
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1621
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1641
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1658
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1685
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1700,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1701,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1706,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1707,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1708,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1709,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1713,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1714,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1715,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1721
    functionName: ExtensionSet::Extension::GetSize() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_LOG
    - HANDLE_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::Extension::GetSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1705
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1727,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1733,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1734,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1735,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1736,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1740,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1741,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1742,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1761
    functionName: ExtensionSet::Extension::Free()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Free()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1732
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1767,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1770,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1777,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1779,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1785
    functionName: ExtensionSet::Extension::IsInitialized() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Get
    - cpp_type
    - IsInitialized
    - size
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Extension::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1788
    functionName: ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1792,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1794,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1801
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 17
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1806,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1804
        line_start: 1804
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1811
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1811
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: "ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(\n    int
      key) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1815,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1817,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1824
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 17
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1828,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1826
        line_start: 1826
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1833
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1833
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(int key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1840,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: std::copy_backward
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1847,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1850,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1853,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1835
    functionDepth: 1
    functionLinenumber: 1835
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::ExtensionSet::Insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - large::insert
    - Extension
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - std::copy_backward
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::ExtensionSet::Insert
    - flat_end
    linkageType: ''
    returnType: std::pair<ExtensionSet::Extension*, bool>
    signature: std::pair<ExtensionSet::Extension*, bool> ExtensionSet::Insert(int
      key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1870,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1871,1
    - Dst: Arena::Create<LargeMap>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1874,1
    - Dst: AllocatedData::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1875,1
    - Dst: AllocatedData::large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1877,1
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1880,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1881,1
    - Dst: google::protobuf::internal::ExtensionSet::DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1885,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - minimum_new_capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1892
    functionName: google::protobuf::internal::ExtensionSet::GrowCapacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - is_large
    - Arena::Create<LargeMap>
    - flat_begin
    - AllocatedData::large::insert
    - std::copy
    - google::protobuf::internal::ExtensionSet::DeleteFlatMap
    - PROTOBUF_PREDICT_FALSE
    - Arena::CreateArray<KeyValue>
    - flat_end
    - AllocatedData::large::begin
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::GrowCapacity(size_t minimum_new_capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: large::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1899,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1902,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1909
    functionName: google::protobuf::internal::ExtensionSet::Erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - large::erase
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::copy
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Erase(int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    - Dst: RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1917
    functionName: google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedPrimitiveDefaults
    signature: RepeatedPrimitiveDefaults * RepeatedPrimitiveDefaults::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    - Dst: RepeatedFieldType::RepeatedFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1923
    functionName: google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedFieldType::RepeatedFieldType
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedStringTypeTraits::RepeatedFieldType
    signature: 'RepeatedStringTypeTraits::RepeatedFieldType *

      RepeatedStringTypeTraits::GetDefaultRepeatedField()'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1931,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1932,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1934,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1946,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1951,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1952,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1953,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1955,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1959,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1966,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1970,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1980,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1981,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1982,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1984,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1985,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1986,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1987,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1988,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1989,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2003,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2004,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2015,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2016,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2021,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2028,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2029,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2030,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2031,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2032,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2033,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2034,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2035,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2036,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2037,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2038,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2039,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2040,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2041,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2048,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2049,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2052,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2053,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2059,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2061,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2062,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 86
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 2069
    functionName: "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - real_type
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteGroup
    - WriteMessageToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - HANDLE_TYPE
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1945
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1979
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2003
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2014
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2027
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2048
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2076,1
    - Dst: InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2077,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2082,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2084,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2087,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2091,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2094,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2099,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2103
    functionName: "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - InternalSerializeFieldWithCachedSizesToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - WriteMessageToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2109,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2117,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2122,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2124,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2105
    functionDepth: 1
    functionLinenumber: 2105
    functionLinenumberEnd: 2131
    functionName: ExtensionSet::Extension::MessageSetItemByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ByteSizeLong
    - ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::MessageSetItemByteSize(int number)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2135,1
    - Dst: MessageSetItemByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2139
    functionName: google::protobuf::internal::ExtensionSet::MessageSetByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - MessageSetItemByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::MessageSetByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: ExtensionFinder::~ExtensionFinder()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionFinder::~ExtensionFinder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindRegisteredExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - number
    - output
    argTypes:
    - int
    - ExtensionInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GeneratedExtensionFinder::Find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindRegisteredExtension
    linkageType: ''
    returnType: bool
    signature: bool GeneratedExtensionFinder::Find(int number, ExtensionInfo* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:140,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:141,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:142,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::ExtensionSet::RegisterExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_NE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterExtension(const MessageLite* containing_type,\n
      \                                    int number, FieldType type,\n                                     bool
      is_repeated, bool is_packed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - number
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::CallNoArgValidityFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CallNoArgValidityFunc(const void* arg, int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:164,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - is_valid
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - EnumValidityFunc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterEnumExtension(const MessageLite* containing_type,\n
      \                                        int number, FieldType type,\n                                         bool
      is_repeated, bool is_packed,\n                                         EnumValidityFunc*
      is_valid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:176,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - prototype
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Register
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterMessageExtension(const MessageLite* containing_type,\n
      \                                           int number, FieldType type,\n                                            bool
      is_repeated, bool is_packed,\n                                            const
      MessageLite* prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateArray<KeyValue>
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ExtensionSet(Arena* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: Free
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: ExtensionSet::~ExtensionSet()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - DeleteFlatMap
    - Free
    - ForEach
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::~ExtensionSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete[]
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    - Dst: const_cast<ExtensionSet::KeyValue*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - flat
    - flat_capacity
    argTypes:
    - ExtensionSet::KeyValue*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: google::protobuf::internal::ExtensionSet::DeleteFlatMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - const_cast<ExtensionSet::KeyValue*>
    - ::operator delete[]
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::DeleteFlatMap(const ExtensionSet::KeyValue* flat,\n
      \                                uint16 flat_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:229,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: google::protobuf::internal::ExtensionSet::Has
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Has(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: google::protobuf::internal::ExtensionSet::NumExtensions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ForEach
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::NumExtensions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:246,1
    - Dst: Extension*::GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::GetSize
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::ExtensionSize(int number) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:251,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:253,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::ExtensionSet::ExtensionType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_LOG
    linkageType: ''
    returnType: FieldType
    signature: FieldType ExtensionSet::ExtensionType(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:263,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::ExtensionSet::ClearExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::Clear
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ClearExtension(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - EXTENSION
    - ','
    - LABEL
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: GOOGLE_DCHECK_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_TYPE(EXTENSION, LABEL, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 347
    functionName: PRIMITIVE_ACCESSORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIMITIVE_ACCESSORS(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::ExtensionSet::GetRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::GetRawRepeatedField(int number,\n                                              const
      void* default_value) const"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:376,1
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:381,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:382,1
    - Dst: Arena::CreateMessage<RepeatedField<int32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:385,1
    - Dst: Arena::CreateMessage<RepeatedField<int64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:389,1
    - Dst: Arena::CreateMessage<RepeatedField<uint32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:393,1
    - Dst: Arena::CreateMessage<RepeatedField<uint64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:397,1
    - Dst: Arena::CreateMessage<RepeatedField<double>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:401,1
    - Dst: Arena::CreateMessage<RepeatedField<float>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:405,1
    - Dst: Arena::CreateMessage<RepeatedField<bool>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:409,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:413,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:417,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:421,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - number
    - field_type
    - packed
    - desc
    argTypes:
    - int
    - FieldType
    - bool
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 429
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - Arena::CreateMessage<RepeatedField<uint64>>
    - Arena::CreateMessage<RepeatedField<int32>>
    - Arena::CreateMessage<RepeatedField<uint32>>
    - Arena::CreateMessage<RepeatedField<double>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - static_cast<WireFormatLite::FieldType>
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - Arena::CreateMessage<RepeatedField<int>>
    - Arena::CreateMessage<RepeatedField<bool>>
    - Arena::CreateMessage<RepeatedField<float>>
    - Arena::CreateMessage<RepeatedField<int64>>
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::MutableRawRepeatedField(int number, FieldType
      field_type,\n                                            bool packed,\n                                            const
      FieldDescriptor* desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:434,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void * ExtensionSet::MutableRawRepeatedField(int number)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:445,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::ExtensionSet::GetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetEnum(int number, int default_value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:458,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: google::protobuf::internal::ExtensionSet::SetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - cpp_type
    - GOOGLE_DCHECK_EQ
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetEnum(int number, FieldType type, int value,\n
      \                          const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:470,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:471,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:472,1
    - Dst: Extension*::repeated_enum_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: google::protobuf::internal::ExtensionSet::GetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetRepeatedEnum(int number, int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:477,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:478,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:479,1
    - Dst: Extension*::repeated_enum_value::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - index
    - value
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::ExtensionSet::SetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Set
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SetRepeatedEnum(int number, int index, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:486,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:492,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:494,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:495,1
    - Dst: Extension*::repeated_enum_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - number
    - type
    - packed
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - bool
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: google::protobuf::internal::ExtensionSet::AddEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - Arena::CreateMessage<RepeatedField<int>>
    - GOOGLE_DCHECK_EQ
    - Extension*::repeated_enum_value::Add
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::AddEnum(int number, FieldType type, bool packed,
      int value,\n                           const FieldDescriptor* descriptor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:505,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: "& ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:518,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:522,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::ExtensionSet::MutableString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - cpp_type
    - Arena::Create<std::string>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::MutableString(int number, FieldType type,\n
      \                                        const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:532,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:533,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:534,1
    - Dst: Extension*::repeated_string_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Get
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:539,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:540,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:541,1
    - Dst: Extension*::repeated_string_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Mutable
    linkageType: ''
    returnType: std::string
    signature: std::string * ExtensionSet::MutableRepeatedString(int number, int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:548,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:554,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:556,1
    - Dst: Extension*::repeated_string_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 559
    functionName: google::protobuf::internal::ExtensionSet::AddString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_string_value::Add
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::AddString(int number, FieldType type,\n
      \                                    const FieldDescriptor* descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:566,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:571,1
    - Dst: Extension*::lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 578
    functionName: "& ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::lazymessage_value::GetMessage
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:589,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:594,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:598,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 606
    functionName: google::protobuf::internal::ExtensionSet::MutableMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::MutableMessage(int number, FieldType type,\n
      \                                         const MessageLite& prototype,\n                                          const
      FieldDescriptor* descriptor)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:617,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:620,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:622,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:631,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:633,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:634,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:637,1
    - Dst: Extension*::lazymessage_value::SetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:639,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:648,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:650,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:651,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 656
    functionName: google::protobuf::internal::ExtensionSet::SetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - MessageLite*::GetArena
    - Extension*::lazymessage_value::SetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - MessageLite*::New
    - Extension*::message_value::CheckTypeAndMergeFrom
    - GOOGLE_DCHECK_EQ
    - Own
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetAllocatedMessage(int number, FieldType type,\n
      \                                      const FieldDescriptor* descriptor,\n
      \                                      MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:662,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:666,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:673,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::UnsafeArenaSetAllocatedMessage(\n    int number,
      FieldType type, const FieldDescriptor* descriptor,\n    MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:688,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:693,1
    - Dst: Extension*::lazymessage_value::ReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:696,1
    - Dst: Extension*::message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:706,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:707,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 713
    functionName: google::protobuf::internal::ExtensionSet::ReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - Extension*::lazymessage_value::ReleaseMessage
    - GOOGLE_DCHECK_TYPE
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::message_value::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::ReleaseMessage(int number,\n                                          const
      MessageLite& prototype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:717,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:722,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:725,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::lazymessage_value::UnsafeArenaReleaseMessage
    - google::protobuf::internal::ExtensionSet::Erase
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::UnsafeArenaReleaseMessage(\n    int number,
      const MessageLite& prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:743,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:744,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:745,1
    - Dst: Extension*::repeated_message_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - Extension*::repeated_message_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:750,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:751,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:752,1
    - Dst: Extension*::repeated_message_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Extension*::repeated_message_value::Mutable
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::MutableRepeatedMessage(int number, int
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:760,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:765,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:767,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:772,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:776,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 780
    functionName: google::protobuf::internal::ExtensionSet::AddMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - cpp_type
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_message_value::AddAllocated
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::AddMessage(int number, FieldType type,\n
      \                                     const MessageLite& prototype,\n                                      const
      FieldDescriptor* descriptor)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:790,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:792,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:794,1
    - Dst: Extension*::repeated_int32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:796,1
    - Dst: Extension*::repeated_int64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:799,1
    - Dst: Extension*::repeated_uint32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:802,1
    - Dst: Extension*::repeated_uint64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:805,1
    - Dst: Extension*::repeated_float_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:808,1
    - Dst: Extension*::repeated_double_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:811,1
    - Dst: Extension*::repeated_bool_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:814,1
    - Dst: Extension*::repeated_enum_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:817,1
    - Dst: Extension*::repeated_string_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:820,1
    - Dst: Extension*::repeated_message_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:823,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::ExtensionSet::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::repeated_int64_value::RemoveLast
    - Extension*::repeated_enum_value::RemoveLast
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_string_value::RemoveLast
    - Extension*::repeated_uint32_value::RemoveLast
    - Extension*::repeated_double_value::RemoveLast
    - Extension*::repeated_float_value::RemoveLast
    - GOOGLE_CHECK
    - Extension*::repeated_uint64_value::RemoveLast
    - Extension*::repeated_message_value::RemoveLast
    - Extension*::repeated_bool_value::RemoveLast
    - Extension*::repeated_int32_value::RemoveLast
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::RemoveLast(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:829,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:830,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: Extension*::repeated_message_value::ReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 834
    functionName: google::protobuf::internal::ExtensionSet::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_message_value::ReleaseLast
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::ReleaseLast(int number)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:837,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:839,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:841,1
    - Dst: Extension*::repeated_int32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:843,1
    - Dst: Extension*::repeated_int64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:846,1
    - Dst: Extension*::repeated_uint32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:849,1
    - Dst: Extension*::repeated_uint64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:852,1
    - Dst: Extension*::repeated_float_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:855,1
    - Dst: Extension*::repeated_double_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:858,1
    - Dst: Extension*::repeated_bool_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:861,1
    - Dst: Extension*::repeated_enum_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:864,1
    - Dst: Extension*::repeated_string_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:867,1
    - Dst: Extension*::repeated_message_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:870,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - number
    - index1
    - index2
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 873
    functionName: google::protobuf::internal::ExtensionSet::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_bool_value::SwapElements
    - Extension*::repeated_message_value::SwapElements
    - Extension*::repeated_int64_value::SwapElements
    - Extension*::repeated_string_value::SwapElements
    - Extension*::repeated_enum_value::SwapElements
    - Extension*::repeated_uint64_value::SwapElements
    - GOOGLE_CHECK
    - Extension*::repeated_double_value::SwapElements
    - Extension*::repeated_uint32_value::SwapElements
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_float_value::SwapElements
    - Extension*::repeated_int32_value::SwapElements
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapElements(int number, int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 879
    functionName: google::protobuf::internal::ExtensionSet::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Clear
    - ForEach
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:907,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: map_::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:910,1
    - Dst: map_::large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:911,1
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:914,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 917
    functionName: google::protobuf::internal::ExtensionSet::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - is_large
    - map_::large::begin
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - flat_begin
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - SizeOfUnion
    - ForEach
    - map_::large::end
    - PROTOBUF_PREDICT_TRUE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::MergeFrom(const ExtensionSet& other)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:924,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:931,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:932,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:933,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:955,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:961,1
    - Dst: RepeatedPtrField*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:967,1
    - Dst: RepeatedPtrField*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:968,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:970,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:974,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:975,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:977,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:991,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:992,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:994,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:998,1
    - Dst: SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1001,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1007,1
    - Dst: lazymessage_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1015,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1016,1
    - Dst: message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1021,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1022,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1026,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1027,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1028,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1031,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1034,1
    - Dst: lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1035,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1040,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1044,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 86
    argCount: 2
    argNames:
    - number
    - ' other_extension'
    argTypes:
    - int
    - Extension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 1055
    functionName: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - Extension*::lazymessage_value::MergeFrom
    - MessageLite*::CheckTypeAndMergeFrom
    - message_value::New
    - New
    - HANDLE_TYPE
    - RepeatedPtrField*::size
    - lazymessage_value::GetMessage
    - SetString
    - GOOGLE_DCHECK_EQ
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - GOOGLE_DCHECK
    - lazymessage_value::New
    - RepeatedPtrField*::Get
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_message_value::AddAllocated
    - Extension*::message_value::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::InternalExtensionMergeFrom(\n    int number, const
      Extension& other_extension)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - REPEATED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 946
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, REPEATED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 990
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1060,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1061,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1062,1
    - Dst: ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1068,1
    - Dst: ExtensionSet*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1069,1
    - Dst: ExtensionSet*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1070,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1071,1
    - Dst: google::protobuf::internal::ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - x
    argTypes:
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1057
    functionDepth: 2
    functionLinenumber: 1057
    functionLinenumberEnd: 1074
    functionName: google::protobuf::internal::ExtensionSet::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MergeFrom
    - ExtensionSet*::GetArena
    - ExtensionSet*::Clear
    - swap
    - ExtensionSet*::MergeFrom
    - GetArena
    - google::protobuf::internal::ExtensionSet::Clear
    - ExtensionSet::MergeFrom
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Swap(ExtensionSet* x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1078,1
    - Dst: ExtensionSet*::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1079,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1088,1
    - Dst: ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1096,1
    - Dst: ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1097,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1098,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1099,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1100,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1101,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1108,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1110,1
    - Dst: ExtensionSet*::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1112,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1118,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1120,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - other
    - number
    argTypes:
    - ExtensionSet*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1125
    functionName: google::protobuf::internal::ExtensionSet::SwapExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - ExtensionSet::FindOrNull
    - ExtensionSet*::Insert
    - Extension*::Clear
    - ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::Insert
    - ExtensionSet*::InternalExtensionMergeFrom
    - ExtensionSet*::GetArena
    - swap
    - GetArena
    - ExtensionSet*::FindOrNull
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - ExtensionSet*::Erase
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapExtension(ExtensionSet* other, int number)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1132,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: KeyValue*::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1140
    functionName: google::protobuf::internal::ExtensionSet::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - KeyValue*::second::IsInitialized
    - flat_begin
    - second::IsInitialized
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1147,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1148,1
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - tag
    - extension_finder
    - field_number
    - extension
    - was_packed_on_wire
    argTypes:
    - uint32
    - ExtensionFinder*
    - int*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromTag(uint32 tag,\n                                            ExtensionFinder*
      extension_finder,\n                                            int* field_number,\n
      \                                           ExtensionInfo* extension,\n                                            bool*
      was_packed_on_wire)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionFinder*::Find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1157,1
    - Dst: google::protobuf::internal::WireTypeForFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: is_packable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - wire_type
    - field_number
    - extension_finder
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - int
    - ExtensionFinder*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1174
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - real_type
    - ExtensionFinder*::Find
    - google::protobuf::internal::WireTypeForFieldType
    - is_packable
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromFieldNumber(\n    int wire_type,
      int field_number, ExtensionFinder* extension_finder,\n    ExtensionInfo* extension,
      bool* was_packed_on_wire)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1182,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1184,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tag
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - uint32
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1189
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             ExtensionFinder* extension_finder,\n                              FieldSkipper*
      field_skipper)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1199,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1201,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1202,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1206
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - internal::InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    - UnknownFieldParse
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseField(uint64 tag, const char* ptr,\n                                     const
      MessageLite* containing_type,\n                                     internal::InternalMetadata*
      metadata,\n                                     internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1213
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItem(\n    const char* ptr, const
      MessageLite* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1224,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1225,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1241,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1242,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1243,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1244,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1245,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1246,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1247,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1248,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1249,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1250,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1257,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1259,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1262,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1264,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1268,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1277,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1281,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1300,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1301,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1302,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1303,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1304,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1305,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1306,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1307,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1308,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1309,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1317,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1321,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1324,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1326,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1329,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1338,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1340,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1342,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1349,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1351,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1353,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1360,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1363,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1366,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1373,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1376,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1379,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 5
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - input
    - field_skipper
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - io::CodedInputStream*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1215
    functionDepth: 2
    functionLinenumber: 1215
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - FieldSkipper*::SkipUnknownEnum
    - google::protobuf::internal::WireFormatLite::ReadBytes
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - GOOGLE_LOG
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - google::protobuf::internal::ExtensionSet::AddMessage
    - google::protobuf::internal::WireFormatLite::ReadString
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseFieldWithExtensionInfo(int number,\n                                               bool
      was_packed_on_wire,\n                                               const ExtensionInfo&
      extension,\n                                               io::CodedInputStream*
      input,\n                                               FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1240
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1299
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tag
    - input
    - containing_type
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1393
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1401
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type,\n                              io::CodedOutputStream*
      unknown_fields)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1407,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1412,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1403
    functionDepth: 4
    functionLinenumber: 1403
    functionLinenumberEnd: 1423
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    - google::protobuf::internal::ExtensionSet::ParseField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetLite(io::CodedInputStream* input,\n
      \                                      ExtensionFinder* extension_finder,\n
      \                                      FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    - Dst: ParseMessageSetItemImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1446
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    - ParseMessageSetItemImpl
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetItemLite(io::CodedInputStream* input,\n
      \                                          ExtensionFinder* extension_finder,\n
      \                                          FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type_id
    - input
    argTypes:
    - int
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1433
    functionName: google::protobuf::internal::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: bool
    signature: bool ParseField(int type_id, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - input
    argTypes:
    - uint32
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1437
    functionName: google::protobuf::internal::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::SkipField
    linkageType: ''
    returnType: bool
    signature: bool SkipField(uint32 tag, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1448
    functionDepth: 4
    functionLinenumber: 1448
    functionLinenumberEnd: 1456
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSet(io::CodedInputStream* input,\n
      \                                  const MessageLite* containing_type,\n                                   std::string*
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1462,1
    - Dst: large::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1463,1
    - Dst: auto::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1465,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1470,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1471,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - start_field_number
    - end_field_number
    - target
    - stream
    argTypes:
    - int
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::ExtensionSet::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
    - is_large
    - large::end
    - flat_begin
    - KeyValue::FirstComparator
    - large::lower_bound
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - auto::second::InternalSerializeFieldWithCachedSizesToArray
    - flat_end
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::_InternalSerialize(int start_field_number,\n
      \                                       int end_field_number, uint8* target,\n
      \                                       io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1482,1
    - Dst: InternalSerializeMessageSetItemWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1487
    functionName: google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - InternalSerializeMessageSetItemWithCachedSizesToArray
    - ForEach
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray(\n
      \   uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1491,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1495
    functionName: google::protobuf::internal::ExtensionSet::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - descriptor
    - result
    argTypes:
    - int
    - FieldDescriptor*
    - Extension**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1500
    functionDepth: 2
    functionLinenumber: 1500
    functionLinenumberEnd: 1507
    functionName: google::protobuf::internal::ExtensionSet::MaybeNewExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 20
    functionsReached:
    - std::tie
    - google::protobuf::internal::ExtensionSet::Insert
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::MaybeNewExtension(int number,\n                                     const
      FieldDescriptor* descriptor,\n                                     Extension**
      result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1514,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1520,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1521,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1522,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1523,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1527,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1528,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1529,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1534,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1536,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1540,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1555
    functionName: ExtensionSet::Extension::Clear()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Clear
    - cpp_type
    - clear
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1519
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1562,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1571,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1572,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1573,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1574,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1575,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1576,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1577,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1586,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1587,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1588,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1589,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1599,1
    - Dst: ToCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1603,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1605,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1612,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1622,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1623,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1624,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1625,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1626,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1627,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1628,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1629,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1630,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1631,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1632,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1641,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1642,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1643,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1644,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1653,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1659,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1660,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1661,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1662,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1663,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1664,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1665,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1666,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1667,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1668,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1672,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1673,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1675,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1685,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1686,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1687,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1688,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1689,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1690,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1691,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 84
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1697
    functionName: ExtensionSet::Extension::ByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ToCachedSize
    - GOOGLE_LOG
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::TagSize
    - real_type
    - google::protobuf::internal::WireFormatLite::MakeTag
    - google::protobuf::internal::WireFormatLite::MessageSize
    - HANDLE_TYPE
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::ByteSize(int number) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1570
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1586
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1621
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1641
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1658
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1685
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1700,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1701,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1706,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1707,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1708,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1709,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1713,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1714,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1715,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1721
    functionName: ExtensionSet::Extension::GetSize() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_LOG
    - HANDLE_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::Extension::GetSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1705
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1727,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1733,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1734,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1735,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1736,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1740,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1741,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1742,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1761
    functionName: ExtensionSet::Extension::Free()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Free()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1732
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1767,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1770,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1777,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1779,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1785
    functionName: ExtensionSet::Extension::IsInitialized() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Get
    - cpp_type
    - IsInitialized
    - size
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Extension::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1788
    functionName: ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1792,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1794,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1801
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 34
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1806,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1804
        line_start: 1804
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1811
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1811
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: "ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(\n    int
      key) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1815,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1817,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1824
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 34
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1828,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1826
        line_start: 1826
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1833
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1833
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(int key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1840,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: std::copy_backward
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1847,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1850,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1853,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1835
    functionDepth: 2
    functionLinenumber: 1835
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::ExtensionSet::Insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - large::insert
    - Extension
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - std::copy_backward
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::ExtensionSet::Insert
    - flat_end
    linkageType: ''
    returnType: std::pair<ExtensionSet::Extension*, bool>
    signature: std::pair<ExtensionSet::Extension*, bool> ExtensionSet::Insert(int
      key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1870,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1871,1
    - Dst: Arena::Create<LargeMap>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1874,1
    - Dst: AllocatedData::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1875,1
    - Dst: AllocatedData::large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1877,1
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1880,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1881,1
    - Dst: google::protobuf::internal::ExtensionSet::DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1885,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - minimum_new_capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1892
    functionName: google::protobuf::internal::ExtensionSet::GrowCapacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - is_large
    - Arena::Create<LargeMap>
    - flat_begin
    - AllocatedData::large::insert
    - std::copy
    - google::protobuf::internal::ExtensionSet::DeleteFlatMap
    - PROTOBUF_PREDICT_FALSE
    - Arena::CreateArray<KeyValue>
    - flat_end
    - AllocatedData::large::begin
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::GrowCapacity(size_t minimum_new_capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: large::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1899,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1902,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1909
    functionName: google::protobuf::internal::ExtensionSet::Erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - large::erase
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::copy
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Erase(int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    - Dst: RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1917
    functionName: google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedPrimitiveDefaults
    signature: RepeatedPrimitiveDefaults * RepeatedPrimitiveDefaults::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    - Dst: RepeatedFieldType::RepeatedFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1923
    functionName: google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedFieldType::RepeatedFieldType
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedStringTypeTraits::RepeatedFieldType
    signature: 'RepeatedStringTypeTraits::RepeatedFieldType *

      RepeatedStringTypeTraits::GetDefaultRepeatedField()'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1931,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1932,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1934,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1946,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1951,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1952,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1953,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1955,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1959,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1966,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1970,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1980,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1981,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1982,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1984,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1985,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1986,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1987,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1988,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1989,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2003,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2004,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2015,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2016,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2021,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2028,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2029,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2030,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2031,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2032,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2033,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2034,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2035,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2036,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2037,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2038,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2039,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2040,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2041,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2048,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2049,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2052,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2053,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2059,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2061,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2062,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 86
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 2069
    functionName: "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - real_type
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteGroup
    - WriteMessageToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - HANDLE_TYPE
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1945
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1979
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2003
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2014
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2027
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2048
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2076,1
    - Dst: InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2077,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2082,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2084,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2087,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2091,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2094,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2099,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2103
    functionName: "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - InternalSerializeFieldWithCachedSizesToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - WriteMessageToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2109,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2117,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2122,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2124,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2105
    functionDepth: 1
    functionLinenumber: 2105
    functionLinenumberEnd: 2131
    functionName: ExtensionSet::Extension::MessageSetItemByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ByteSizeLong
    - ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::MessageSetItemByteSize(int number)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2135,1
    - Dst: MessageSetItemByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2139
    functionName: google::protobuf::internal::ExtensionSet::MessageSetByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - MessageSetItemByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::MessageSetByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: ExtensionFinder::~ExtensionFinder()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionFinder::~ExtensionFinder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindRegisteredExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - number
    - output
    argTypes:
    - int
    - ExtensionInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GeneratedExtensionFinder::Find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindRegisteredExtension
    linkageType: ''
    returnType: bool
    signature: bool GeneratedExtensionFinder::Find(int number, ExtensionInfo* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:140,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:141,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:142,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::ExtensionSet::RegisterExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_NE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterExtension(const MessageLite* containing_type,\n
      \                                    int number, FieldType type,\n                                     bool
      is_repeated, bool is_packed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - number
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::CallNoArgValidityFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CallNoArgValidityFunc(const void* arg, int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:164,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - is_valid
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - EnumValidityFunc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterEnumExtension(const MessageLite* containing_type,\n
      \                                        int number, FieldType type,\n                                         bool
      is_repeated, bool is_packed,\n                                         EnumValidityFunc*
      is_valid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:176,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - prototype
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Register
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterMessageExtension(const MessageLite* containing_type,\n
      \                                           int number, FieldType type,\n                                            bool
      is_repeated, bool is_packed,\n                                            const
      MessageLite* prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateArray<KeyValue>
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ExtensionSet(Arena* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: Free
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: ExtensionSet::~ExtensionSet()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - DeleteFlatMap
    - Free
    - ForEach
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::~ExtensionSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete[]
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    - Dst: const_cast<ExtensionSet::KeyValue*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - flat
    - flat_capacity
    argTypes:
    - ExtensionSet::KeyValue*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: google::protobuf::internal::ExtensionSet::DeleteFlatMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - const_cast<ExtensionSet::KeyValue*>
    - ::operator delete[]
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::DeleteFlatMap(const ExtensionSet::KeyValue* flat,\n
      \                                uint16 flat_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:229,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: google::protobuf::internal::ExtensionSet::Has
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Has(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: google::protobuf::internal::ExtensionSet::NumExtensions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ForEach
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::NumExtensions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:246,1
    - Dst: Extension*::GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::GetSize
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::ExtensionSize(int number) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:251,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:253,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::ExtensionSet::ExtensionType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_LOG
    linkageType: ''
    returnType: FieldType
    signature: FieldType ExtensionSet::ExtensionType(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:263,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::ExtensionSet::ClearExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::Clear
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ClearExtension(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - EXTENSION
    - ','
    - LABEL
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: GOOGLE_DCHECK_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_TYPE(EXTENSION, LABEL, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 347
    functionName: PRIMITIVE_ACCESSORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIMITIVE_ACCESSORS(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::ExtensionSet::GetRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::GetRawRepeatedField(int number,\n                                              const
      void* default_value) const"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:376,1
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:381,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:382,1
    - Dst: Arena::CreateMessage<RepeatedField<int32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:385,1
    - Dst: Arena::CreateMessage<RepeatedField<int64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:389,1
    - Dst: Arena::CreateMessage<RepeatedField<uint32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:393,1
    - Dst: Arena::CreateMessage<RepeatedField<uint64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:397,1
    - Dst: Arena::CreateMessage<RepeatedField<double>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:401,1
    - Dst: Arena::CreateMessage<RepeatedField<float>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:405,1
    - Dst: Arena::CreateMessage<RepeatedField<bool>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:409,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:413,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:417,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:421,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - number
    - field_type
    - packed
    - desc
    argTypes:
    - int
    - FieldType
    - bool
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 429
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - Arena::CreateMessage<RepeatedField<uint64>>
    - Arena::CreateMessage<RepeatedField<int32>>
    - Arena::CreateMessage<RepeatedField<uint32>>
    - Arena::CreateMessage<RepeatedField<double>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - static_cast<WireFormatLite::FieldType>
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - Arena::CreateMessage<RepeatedField<int>>
    - Arena::CreateMessage<RepeatedField<bool>>
    - Arena::CreateMessage<RepeatedField<float>>
    - Arena::CreateMessage<RepeatedField<int64>>
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::MutableRawRepeatedField(int number, FieldType
      field_type,\n                                            bool packed,\n                                            const
      FieldDescriptor* desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:434,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void * ExtensionSet::MutableRawRepeatedField(int number)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:445,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::ExtensionSet::GetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetEnum(int number, int default_value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:458,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: google::protobuf::internal::ExtensionSet::SetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - cpp_type
    - GOOGLE_DCHECK_EQ
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetEnum(int number, FieldType type, int value,\n
      \                          const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:470,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:471,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:472,1
    - Dst: Extension*::repeated_enum_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: google::protobuf::internal::ExtensionSet::GetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetRepeatedEnum(int number, int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:477,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:478,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:479,1
    - Dst: Extension*::repeated_enum_value::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - index
    - value
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::ExtensionSet::SetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Set
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SetRepeatedEnum(int number, int index, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:486,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:492,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:494,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:495,1
    - Dst: Extension*::repeated_enum_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - number
    - type
    - packed
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - bool
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: google::protobuf::internal::ExtensionSet::AddEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - Arena::CreateMessage<RepeatedField<int>>
    - GOOGLE_DCHECK_EQ
    - Extension*::repeated_enum_value::Add
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::AddEnum(int number, FieldType type, bool packed,
      int value,\n                           const FieldDescriptor* descriptor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:505,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: "& ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:518,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:522,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::ExtensionSet::MutableString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - cpp_type
    - Arena::Create<std::string>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::MutableString(int number, FieldType type,\n
      \                                        const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:532,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:533,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:534,1
    - Dst: Extension*::repeated_string_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Get
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:539,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:540,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:541,1
    - Dst: Extension*::repeated_string_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Mutable
    linkageType: ''
    returnType: std::string
    signature: std::string * ExtensionSet::MutableRepeatedString(int number, int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:548,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:554,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:556,1
    - Dst: Extension*::repeated_string_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 559
    functionName: google::protobuf::internal::ExtensionSet::AddString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_string_value::Add
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::AddString(int number, FieldType type,\n
      \                                    const FieldDescriptor* descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:566,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:571,1
    - Dst: Extension*::lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 578
    functionName: "& ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::lazymessage_value::GetMessage
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:589,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:594,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:598,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 606
    functionName: google::protobuf::internal::ExtensionSet::MutableMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::MutableMessage(int number, FieldType type,\n
      \                                         const MessageLite& prototype,\n                                          const
      FieldDescriptor* descriptor)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:617,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:620,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:622,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:631,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:633,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:634,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:637,1
    - Dst: Extension*::lazymessage_value::SetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:639,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:648,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:650,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:651,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 656
    functionName: google::protobuf::internal::ExtensionSet::SetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - MessageLite*::GetArena
    - Extension*::lazymessage_value::SetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - MessageLite*::New
    - Extension*::message_value::CheckTypeAndMergeFrom
    - GOOGLE_DCHECK_EQ
    - Own
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetAllocatedMessage(int number, FieldType type,\n
      \                                      const FieldDescriptor* descriptor,\n
      \                                      MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:662,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:666,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:673,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::UnsafeArenaSetAllocatedMessage(\n    int number,
      FieldType type, const FieldDescriptor* descriptor,\n    MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:688,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:693,1
    - Dst: Extension*::lazymessage_value::ReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:696,1
    - Dst: Extension*::message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:706,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:707,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 713
    functionName: google::protobuf::internal::ExtensionSet::ReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - Extension*::lazymessage_value::ReleaseMessage
    - GOOGLE_DCHECK_TYPE
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::message_value::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::ReleaseMessage(int number,\n                                          const
      MessageLite& prototype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:717,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:722,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:725,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::lazymessage_value::UnsafeArenaReleaseMessage
    - google::protobuf::internal::ExtensionSet::Erase
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::UnsafeArenaReleaseMessage(\n    int number,
      const MessageLite& prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:743,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:744,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:745,1
    - Dst: Extension*::repeated_message_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - Extension*::repeated_message_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:750,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:751,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:752,1
    - Dst: Extension*::repeated_message_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Extension*::repeated_message_value::Mutable
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::MutableRepeatedMessage(int number, int
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:760,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:765,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:767,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:772,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:776,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 780
    functionName: google::protobuf::internal::ExtensionSet::AddMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - cpp_type
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_message_value::AddAllocated
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::AddMessage(int number, FieldType type,\n
      \                                     const MessageLite& prototype,\n                                      const
      FieldDescriptor* descriptor)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:790,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:792,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:794,1
    - Dst: Extension*::repeated_int32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:796,1
    - Dst: Extension*::repeated_int64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:799,1
    - Dst: Extension*::repeated_uint32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:802,1
    - Dst: Extension*::repeated_uint64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:805,1
    - Dst: Extension*::repeated_float_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:808,1
    - Dst: Extension*::repeated_double_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:811,1
    - Dst: Extension*::repeated_bool_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:814,1
    - Dst: Extension*::repeated_enum_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:817,1
    - Dst: Extension*::repeated_string_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:820,1
    - Dst: Extension*::repeated_message_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:823,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::ExtensionSet::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::repeated_int64_value::RemoveLast
    - Extension*::repeated_enum_value::RemoveLast
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_string_value::RemoveLast
    - Extension*::repeated_uint32_value::RemoveLast
    - Extension*::repeated_double_value::RemoveLast
    - Extension*::repeated_float_value::RemoveLast
    - GOOGLE_CHECK
    - Extension*::repeated_uint64_value::RemoveLast
    - Extension*::repeated_message_value::RemoveLast
    - Extension*::repeated_bool_value::RemoveLast
    - Extension*::repeated_int32_value::RemoveLast
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::RemoveLast(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:829,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:830,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: Extension*::repeated_message_value::ReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 834
    functionName: google::protobuf::internal::ExtensionSet::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_message_value::ReleaseLast
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::ReleaseLast(int number)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:837,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:839,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:841,1
    - Dst: Extension*::repeated_int32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:843,1
    - Dst: Extension*::repeated_int64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:846,1
    - Dst: Extension*::repeated_uint32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:849,1
    - Dst: Extension*::repeated_uint64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:852,1
    - Dst: Extension*::repeated_float_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:855,1
    - Dst: Extension*::repeated_double_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:858,1
    - Dst: Extension*::repeated_bool_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:861,1
    - Dst: Extension*::repeated_enum_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:864,1
    - Dst: Extension*::repeated_string_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:867,1
    - Dst: Extension*::repeated_message_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:870,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - number
    - index1
    - index2
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 873
    functionName: google::protobuf::internal::ExtensionSet::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_bool_value::SwapElements
    - Extension*::repeated_message_value::SwapElements
    - Extension*::repeated_int64_value::SwapElements
    - Extension*::repeated_string_value::SwapElements
    - Extension*::repeated_enum_value::SwapElements
    - Extension*::repeated_uint64_value::SwapElements
    - GOOGLE_CHECK
    - Extension*::repeated_double_value::SwapElements
    - Extension*::repeated_uint32_value::SwapElements
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_float_value::SwapElements
    - Extension*::repeated_int32_value::SwapElements
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapElements(int number, int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 879
    functionName: google::protobuf::internal::ExtensionSet::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Clear
    - ForEach
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:907,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: map_::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:910,1
    - Dst: map_::large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:911,1
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:914,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 917
    functionName: google::protobuf::internal::ExtensionSet::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - is_large
    - map_::large::begin
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - flat_begin
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - SizeOfUnion
    - ForEach
    - map_::large::end
    - PROTOBUF_PREDICT_TRUE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::MergeFrom(const ExtensionSet& other)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:924,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:931,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:932,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:933,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:955,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:961,1
    - Dst: RepeatedPtrField*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:967,1
    - Dst: RepeatedPtrField*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:968,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:970,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:974,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:975,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:977,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:991,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:992,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:994,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:998,1
    - Dst: SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1001,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1007,1
    - Dst: lazymessage_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1015,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1016,1
    - Dst: message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1021,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1022,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1026,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1027,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1028,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1031,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1034,1
    - Dst: lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1035,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1040,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1044,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 86
    argCount: 2
    argNames:
    - number
    - ' other_extension'
    argTypes:
    - int
    - Extension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 1055
    functionName: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - Extension*::lazymessage_value::MergeFrom
    - MessageLite*::CheckTypeAndMergeFrom
    - message_value::New
    - New
    - HANDLE_TYPE
    - RepeatedPtrField*::size
    - lazymessage_value::GetMessage
    - SetString
    - GOOGLE_DCHECK_EQ
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - GOOGLE_DCHECK
    - lazymessage_value::New
    - RepeatedPtrField*::Get
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_message_value::AddAllocated
    - Extension*::message_value::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::InternalExtensionMergeFrom(\n    int number, const
      Extension& other_extension)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - REPEATED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 946
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, REPEATED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 990
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1060,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1061,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1062,1
    - Dst: ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1068,1
    - Dst: ExtensionSet*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1069,1
    - Dst: ExtensionSet*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1070,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1071,1
    - Dst: google::protobuf::internal::ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - x
    argTypes:
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1057
    functionDepth: 2
    functionLinenumber: 1057
    functionLinenumberEnd: 1074
    functionName: google::protobuf::internal::ExtensionSet::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MergeFrom
    - ExtensionSet*::GetArena
    - ExtensionSet*::Clear
    - swap
    - ExtensionSet*::MergeFrom
    - GetArena
    - google::protobuf::internal::ExtensionSet::Clear
    - ExtensionSet::MergeFrom
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Swap(ExtensionSet* x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1078,1
    - Dst: ExtensionSet*::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1079,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1088,1
    - Dst: ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1096,1
    - Dst: ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1097,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1098,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1099,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1100,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1101,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1108,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1110,1
    - Dst: ExtensionSet*::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1112,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1118,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1120,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - other
    - number
    argTypes:
    - ExtensionSet*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1125
    functionName: google::protobuf::internal::ExtensionSet::SwapExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - ExtensionSet::FindOrNull
    - ExtensionSet*::Insert
    - Extension*::Clear
    - ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::Insert
    - ExtensionSet*::InternalExtensionMergeFrom
    - ExtensionSet*::GetArena
    - swap
    - GetArena
    - ExtensionSet*::FindOrNull
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - ExtensionSet*::Erase
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapExtension(ExtensionSet* other, int number)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1132,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: KeyValue*::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1140
    functionName: google::protobuf::internal::ExtensionSet::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - KeyValue*::second::IsInitialized
    - flat_begin
    - second::IsInitialized
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1147,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1148,1
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - tag
    - extension_finder
    - field_number
    - extension
    - was_packed_on_wire
    argTypes:
    - uint32
    - ExtensionFinder*
    - int*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromTag(uint32 tag,\n                                            ExtensionFinder*
      extension_finder,\n                                            int* field_number,\n
      \                                           ExtensionInfo* extension,\n                                            bool*
      was_packed_on_wire)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionFinder*::Find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1157,1
    - Dst: google::protobuf::internal::WireTypeForFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: is_packable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - wire_type
    - field_number
    - extension_finder
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - int
    - ExtensionFinder*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1174
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - real_type
    - ExtensionFinder*::Find
    - google::protobuf::internal::WireTypeForFieldType
    - is_packable
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromFieldNumber(\n    int wire_type,
      int field_number, ExtensionFinder* extension_finder,\n    ExtensionInfo* extension,
      bool* was_packed_on_wire)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1182,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1184,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tag
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - uint32
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1189
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             ExtensionFinder* extension_finder,\n                              FieldSkipper*
      field_skipper)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1199,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1201,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1202,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1206
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - internal::InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    - UnknownFieldParse
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseField(uint64 tag, const char* ptr,\n                                     const
      MessageLite* containing_type,\n                                     internal::InternalMetadata*
      metadata,\n                                     internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1213
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItem(\n    const char* ptr, const
      MessageLite* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1224,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1225,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1241,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1242,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1243,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1244,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1245,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1246,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1247,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1248,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1249,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1250,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1257,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1259,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1262,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1264,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1268,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1277,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1281,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1300,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1301,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1302,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1303,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1304,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1305,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1306,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1307,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1308,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1309,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1317,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1321,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1324,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1326,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1329,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1338,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1340,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1342,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1349,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1351,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1353,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1360,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1363,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1366,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1373,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1376,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1379,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 5
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - input
    - field_skipper
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - io::CodedInputStream*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1215
    functionDepth: 2
    functionLinenumber: 1215
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - FieldSkipper*::SkipUnknownEnum
    - google::protobuf::internal::WireFormatLite::ReadBytes
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - GOOGLE_LOG
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - google::protobuf::internal::ExtensionSet::AddMessage
    - google::protobuf::internal::WireFormatLite::ReadString
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseFieldWithExtensionInfo(int number,\n                                               bool
      was_packed_on_wire,\n                                               const ExtensionInfo&
      extension,\n                                               io::CodedInputStream*
      input,\n                                               FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1240
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1299
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tag
    - input
    - containing_type
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1393
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1401
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type,\n                              io::CodedOutputStream*
      unknown_fields)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1407,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1412,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1403
    functionDepth: 4
    functionLinenumber: 1403
    functionLinenumberEnd: 1423
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    - google::protobuf::internal::ExtensionSet::ParseField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetLite(io::CodedInputStream* input,\n
      \                                      ExtensionFinder* extension_finder,\n
      \                                      FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    - Dst: ParseMessageSetItemImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1446
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    - ParseMessageSetItemImpl
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetItemLite(io::CodedInputStream* input,\n
      \                                          ExtensionFinder* extension_finder,\n
      \                                          FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type_id
    - input
    argTypes:
    - int
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1433
    functionName: google::protobuf::internal::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: bool
    signature: bool ParseField(int type_id, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - input
    argTypes:
    - uint32
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1437
    functionName: google::protobuf::internal::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::SkipField
    linkageType: ''
    returnType: bool
    signature: bool SkipField(uint32 tag, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1448
    functionDepth: 4
    functionLinenumber: 1448
    functionLinenumberEnd: 1456
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSet(io::CodedInputStream* input,\n
      \                                  const MessageLite* containing_type,\n                                   std::string*
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1462,1
    - Dst: large::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1463,1
    - Dst: auto::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1465,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1470,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1471,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - start_field_number
    - end_field_number
    - target
    - stream
    argTypes:
    - int
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::ExtensionSet::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
    - is_large
    - large::end
    - flat_begin
    - KeyValue::FirstComparator
    - large::lower_bound
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - auto::second::InternalSerializeFieldWithCachedSizesToArray
    - flat_end
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::_InternalSerialize(int start_field_number,\n
      \                                       int end_field_number, uint8* target,\n
      \                                       io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1482,1
    - Dst: InternalSerializeMessageSetItemWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1487
    functionName: google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - InternalSerializeMessageSetItemWithCachedSizesToArray
    - ForEach
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray(\n
      \   uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1491,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1495
    functionName: google::protobuf::internal::ExtensionSet::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - descriptor
    - result
    argTypes:
    - int
    - FieldDescriptor*
    - Extension**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1500
    functionDepth: 2
    functionLinenumber: 1500
    functionLinenumberEnd: 1507
    functionName: google::protobuf::internal::ExtensionSet::MaybeNewExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 30
    functionsReached:
    - std::tie
    - google::protobuf::internal::ExtensionSet::Insert
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::MaybeNewExtension(int number,\n                                     const
      FieldDescriptor* descriptor,\n                                     Extension**
      result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1514,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1520,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1521,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1522,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1523,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1527,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1528,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1529,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1534,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1536,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1540,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1555
    functionName: ExtensionSet::Extension::Clear()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Clear
    - cpp_type
    - clear
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1519
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1562,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1571,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1572,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1573,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1574,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1575,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1576,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1577,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1586,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1587,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1588,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1589,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1599,1
    - Dst: ToCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1603,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1605,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1612,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1622,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1623,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1624,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1625,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1626,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1627,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1628,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1629,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1630,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1631,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1632,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1641,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1642,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1643,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1644,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1653,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1659,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1660,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1661,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1662,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1663,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1664,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1665,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1666,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1667,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1668,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1672,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1673,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1675,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1685,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1686,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1687,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1688,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1689,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1690,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1691,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 84
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1697
    functionName: ExtensionSet::Extension::ByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ToCachedSize
    - GOOGLE_LOG
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::TagSize
    - real_type
    - google::protobuf::internal::WireFormatLite::MakeTag
    - google::protobuf::internal::WireFormatLite::MessageSize
    - HANDLE_TYPE
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::ByteSize(int number) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1570
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1586
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1621
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1641
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1658
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1685
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1700,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1701,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1706,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1707,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1708,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1709,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1713,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1714,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1715,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1721
    functionName: ExtensionSet::Extension::GetSize() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_LOG
    - HANDLE_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::Extension::GetSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1705
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1727,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1733,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1734,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1735,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1736,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1740,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1741,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1742,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1761
    functionName: ExtensionSet::Extension::Free()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Free()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1732
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1767,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1770,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1777,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1779,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1785
    functionName: ExtensionSet::Extension::IsInitialized() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Get
    - cpp_type
    - IsInitialized
    - size
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Extension::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1788
    functionName: ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1792,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1794,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1801
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 51
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1806,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1804
        line_start: 1804
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1811
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1811
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: "ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(\n    int
      key) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1815,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1817,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1824
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 51
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1828,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1826
        line_start: 1826
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1833
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1833
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(int key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1840,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: std::copy_backward
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1847,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1850,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1853,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1835
    functionDepth: 2
    functionLinenumber: 1835
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::ExtensionSet::Insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 9
    functionsReached:
    - large::insert
    - Extension
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - std::copy_backward
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::ExtensionSet::Insert
    - flat_end
    linkageType: ''
    returnType: std::pair<ExtensionSet::Extension*, bool>
    signature: std::pair<ExtensionSet::Extension*, bool> ExtensionSet::Insert(int
      key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1870,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1871,1
    - Dst: Arena::Create<LargeMap>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1874,1
    - Dst: AllocatedData::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1875,1
    - Dst: AllocatedData::large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1877,1
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1880,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1881,1
    - Dst: google::protobuf::internal::ExtensionSet::DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1885,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - minimum_new_capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1892
    functionName: google::protobuf::internal::ExtensionSet::GrowCapacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - is_large
    - Arena::Create<LargeMap>
    - flat_begin
    - AllocatedData::large::insert
    - std::copy
    - google::protobuf::internal::ExtensionSet::DeleteFlatMap
    - PROTOBUF_PREDICT_FALSE
    - Arena::CreateArray<KeyValue>
    - flat_end
    - AllocatedData::large::begin
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::GrowCapacity(size_t minimum_new_capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: large::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1899,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1902,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1909
    functionName: google::protobuf::internal::ExtensionSet::Erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 9
    functionsReached:
    - large::erase
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::copy
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Erase(int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    - Dst: RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1917
    functionName: google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedPrimitiveDefaults
    signature: RepeatedPrimitiveDefaults * RepeatedPrimitiveDefaults::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    - Dst: RepeatedFieldType::RepeatedFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1923
    functionName: google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedFieldType::RepeatedFieldType
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedStringTypeTraits::RepeatedFieldType
    signature: 'RepeatedStringTypeTraits::RepeatedFieldType *

      RepeatedStringTypeTraits::GetDefaultRepeatedField()'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1931,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1932,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1934,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1946,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1951,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1952,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1953,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1955,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1959,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1966,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1970,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1980,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1981,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1982,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1984,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1985,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1986,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1987,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1988,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1989,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2003,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2004,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2015,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2016,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2021,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2028,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2029,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2030,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2031,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2032,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2033,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2034,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2035,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2036,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2037,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2038,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2039,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2040,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2041,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2048,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2049,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2052,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2053,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2059,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2061,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2062,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 86
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 2069
    functionName: "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - real_type
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteGroup
    - WriteMessageToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - HANDLE_TYPE
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1945
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1979
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2003
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2014
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2027
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2048
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2076,1
    - Dst: InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2077,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2082,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2084,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2087,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2091,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2094,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2099,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2103
    functionName: "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - InternalSerializeFieldWithCachedSizesToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - WriteMessageToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2109,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2117,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2122,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2124,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2105
    functionDepth: 1
    functionLinenumber: 2105
    functionLinenumberEnd: 2131
    functionName: ExtensionSet::Extension::MessageSetItemByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ByteSizeLong
    - ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::MessageSetItemByteSize(int number)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2135,1
    - Dst: MessageSetItemByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2139
    functionName: google::protobuf::internal::ExtensionSet::MessageSetByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - MessageSetItemByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::MessageSetByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: ExtensionFinder::~ExtensionFinder()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionFinder::~ExtensionFinder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindRegisteredExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - number
    - output
    argTypes:
    - int
    - ExtensionInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GeneratedExtensionFinder::Find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindRegisteredExtension
    linkageType: ''
    returnType: bool
    signature: bool GeneratedExtensionFinder::Find(int number, ExtensionInfo* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:140,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:141,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:142,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::ExtensionSet::RegisterExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_NE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterExtension(const MessageLite* containing_type,\n
      \                                    int number, FieldType type,\n                                     bool
      is_repeated, bool is_packed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - number
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::CallNoArgValidityFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CallNoArgValidityFunc(const void* arg, int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:164,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - is_valid
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - EnumValidityFunc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterEnumExtension(const MessageLite* containing_type,\n
      \                                        int number, FieldType type,\n                                         bool
      is_repeated, bool is_packed,\n                                         EnumValidityFunc*
      is_valid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:176,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - prototype
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Register
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterMessageExtension(const MessageLite* containing_type,\n
      \                                           int number, FieldType type,\n                                            bool
      is_repeated, bool is_packed,\n                                            const
      MessageLite* prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateArray<KeyValue>
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ExtensionSet(Arena* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: Free
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: ExtensionSet::~ExtensionSet()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - DeleteFlatMap
    - Free
    - ForEach
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::~ExtensionSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete[]
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    - Dst: const_cast<ExtensionSet::KeyValue*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - flat
    - flat_capacity
    argTypes:
    - ExtensionSet::KeyValue*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: google::protobuf::internal::ExtensionSet::DeleteFlatMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - const_cast<ExtensionSet::KeyValue*>
    - ::operator delete[]
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::DeleteFlatMap(const ExtensionSet::KeyValue* flat,\n
      \                                uint16 flat_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:229,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: google::protobuf::internal::ExtensionSet::Has
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Has(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: google::protobuf::internal::ExtensionSet::NumExtensions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ForEach
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::NumExtensions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:246,1
    - Dst: Extension*::GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::GetSize
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::ExtensionSize(int number) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:251,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:253,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::ExtensionSet::ExtensionType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_LOG
    linkageType: ''
    returnType: FieldType
    signature: FieldType ExtensionSet::ExtensionType(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:263,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::ExtensionSet::ClearExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::Clear
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ClearExtension(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - EXTENSION
    - ','
    - LABEL
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: GOOGLE_DCHECK_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_TYPE(EXTENSION, LABEL, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 347
    functionName: PRIMITIVE_ACCESSORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIMITIVE_ACCESSORS(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::ExtensionSet::GetRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::GetRawRepeatedField(int number,\n                                              const
      void* default_value) const"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:376,1
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:381,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:382,1
    - Dst: Arena::CreateMessage<RepeatedField<int32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:385,1
    - Dst: Arena::CreateMessage<RepeatedField<int64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:389,1
    - Dst: Arena::CreateMessage<RepeatedField<uint32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:393,1
    - Dst: Arena::CreateMessage<RepeatedField<uint64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:397,1
    - Dst: Arena::CreateMessage<RepeatedField<double>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:401,1
    - Dst: Arena::CreateMessage<RepeatedField<float>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:405,1
    - Dst: Arena::CreateMessage<RepeatedField<bool>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:409,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:413,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:417,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:421,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - number
    - field_type
    - packed
    - desc
    argTypes:
    - int
    - FieldType
    - bool
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 429
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - Arena::CreateMessage<RepeatedField<uint64>>
    - Arena::CreateMessage<RepeatedField<int32>>
    - Arena::CreateMessage<RepeatedField<uint32>>
    - Arena::CreateMessage<RepeatedField<double>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - static_cast<WireFormatLite::FieldType>
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - Arena::CreateMessage<RepeatedField<int>>
    - Arena::CreateMessage<RepeatedField<bool>>
    - Arena::CreateMessage<RepeatedField<float>>
    - Arena::CreateMessage<RepeatedField<int64>>
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::MutableRawRepeatedField(int number, FieldType
      field_type,\n                                            bool packed,\n                                            const
      FieldDescriptor* desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:434,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void * ExtensionSet::MutableRawRepeatedField(int number)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:445,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::ExtensionSet::GetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetEnum(int number, int default_value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:458,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: google::protobuf::internal::ExtensionSet::SetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - cpp_type
    - GOOGLE_DCHECK_EQ
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetEnum(int number, FieldType type, int value,\n
      \                          const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:470,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:471,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:472,1
    - Dst: Extension*::repeated_enum_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: google::protobuf::internal::ExtensionSet::GetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetRepeatedEnum(int number, int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:477,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:478,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:479,1
    - Dst: Extension*::repeated_enum_value::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - index
    - value
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::ExtensionSet::SetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Set
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SetRepeatedEnum(int number, int index, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:486,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:492,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:494,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:495,1
    - Dst: Extension*::repeated_enum_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - number
    - type
    - packed
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - bool
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: google::protobuf::internal::ExtensionSet::AddEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - Arena::CreateMessage<RepeatedField<int>>
    - GOOGLE_DCHECK_EQ
    - Extension*::repeated_enum_value::Add
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::AddEnum(int number, FieldType type, bool packed,
      int value,\n                           const FieldDescriptor* descriptor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:505,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: "& ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:518,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:522,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::ExtensionSet::MutableString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - cpp_type
    - Arena::Create<std::string>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::MutableString(int number, FieldType type,\n
      \                                        const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:532,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:533,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:534,1
    - Dst: Extension*::repeated_string_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Get
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:539,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:540,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:541,1
    - Dst: Extension*::repeated_string_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Mutable
    linkageType: ''
    returnType: std::string
    signature: std::string * ExtensionSet::MutableRepeatedString(int number, int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:548,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:554,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:556,1
    - Dst: Extension*::repeated_string_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 559
    functionName: google::protobuf::internal::ExtensionSet::AddString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_string_value::Add
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::AddString(int number, FieldType type,\n
      \                                    const FieldDescriptor* descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:566,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:571,1
    - Dst: Extension*::lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 578
    functionName: "& ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::lazymessage_value::GetMessage
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:589,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:594,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:598,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 606
    functionName: google::protobuf::internal::ExtensionSet::MutableMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::MutableMessage(int number, FieldType type,\n
      \                                         const MessageLite& prototype,\n                                          const
      FieldDescriptor* descriptor)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:617,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:620,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:622,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:631,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:633,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:634,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:637,1
    - Dst: Extension*::lazymessage_value::SetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:639,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:648,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:650,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:651,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 656
    functionName: google::protobuf::internal::ExtensionSet::SetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - MessageLite*::GetArena
    - Extension*::lazymessage_value::SetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - MessageLite*::New
    - Extension*::message_value::CheckTypeAndMergeFrom
    - GOOGLE_DCHECK_EQ
    - Own
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetAllocatedMessage(int number, FieldType type,\n
      \                                      const FieldDescriptor* descriptor,\n
      \                                      MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:662,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:666,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:673,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::UnsafeArenaSetAllocatedMessage(\n    int number,
      FieldType type, const FieldDescriptor* descriptor,\n    MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:688,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:693,1
    - Dst: Extension*::lazymessage_value::ReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:696,1
    - Dst: Extension*::message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:706,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:707,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 713
    functionName: google::protobuf::internal::ExtensionSet::ReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - Extension*::lazymessage_value::ReleaseMessage
    - GOOGLE_DCHECK_TYPE
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::message_value::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::ReleaseMessage(int number,\n                                          const
      MessageLite& prototype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:717,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:722,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:725,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::lazymessage_value::UnsafeArenaReleaseMessage
    - google::protobuf::internal::ExtensionSet::Erase
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::UnsafeArenaReleaseMessage(\n    int number,
      const MessageLite& prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:743,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:744,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:745,1
    - Dst: Extension*::repeated_message_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - Extension*::repeated_message_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:750,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:751,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:752,1
    - Dst: Extension*::repeated_message_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Extension*::repeated_message_value::Mutable
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::MutableRepeatedMessage(int number, int
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:760,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:765,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:767,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:772,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:776,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 780
    functionName: google::protobuf::internal::ExtensionSet::AddMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - cpp_type
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_message_value::AddAllocated
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::AddMessage(int number, FieldType type,\n
      \                                     const MessageLite& prototype,\n                                      const
      FieldDescriptor* descriptor)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:790,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:792,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:794,1
    - Dst: Extension*::repeated_int32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:796,1
    - Dst: Extension*::repeated_int64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:799,1
    - Dst: Extension*::repeated_uint32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:802,1
    - Dst: Extension*::repeated_uint64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:805,1
    - Dst: Extension*::repeated_float_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:808,1
    - Dst: Extension*::repeated_double_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:811,1
    - Dst: Extension*::repeated_bool_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:814,1
    - Dst: Extension*::repeated_enum_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:817,1
    - Dst: Extension*::repeated_string_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:820,1
    - Dst: Extension*::repeated_message_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:823,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::ExtensionSet::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::repeated_int64_value::RemoveLast
    - Extension*::repeated_enum_value::RemoveLast
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_string_value::RemoveLast
    - Extension*::repeated_uint32_value::RemoveLast
    - Extension*::repeated_double_value::RemoveLast
    - Extension*::repeated_float_value::RemoveLast
    - GOOGLE_CHECK
    - Extension*::repeated_uint64_value::RemoveLast
    - Extension*::repeated_message_value::RemoveLast
    - Extension*::repeated_bool_value::RemoveLast
    - Extension*::repeated_int32_value::RemoveLast
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::RemoveLast(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:829,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:830,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: Extension*::repeated_message_value::ReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 834
    functionName: google::protobuf::internal::ExtensionSet::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_message_value::ReleaseLast
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::ReleaseLast(int number)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:837,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:839,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:841,1
    - Dst: Extension*::repeated_int32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:843,1
    - Dst: Extension*::repeated_int64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:846,1
    - Dst: Extension*::repeated_uint32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:849,1
    - Dst: Extension*::repeated_uint64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:852,1
    - Dst: Extension*::repeated_float_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:855,1
    - Dst: Extension*::repeated_double_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:858,1
    - Dst: Extension*::repeated_bool_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:861,1
    - Dst: Extension*::repeated_enum_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:864,1
    - Dst: Extension*::repeated_string_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:867,1
    - Dst: Extension*::repeated_message_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:870,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - number
    - index1
    - index2
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 873
    functionName: google::protobuf::internal::ExtensionSet::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_bool_value::SwapElements
    - Extension*::repeated_message_value::SwapElements
    - Extension*::repeated_int64_value::SwapElements
    - Extension*::repeated_string_value::SwapElements
    - Extension*::repeated_enum_value::SwapElements
    - Extension*::repeated_uint64_value::SwapElements
    - GOOGLE_CHECK
    - Extension*::repeated_double_value::SwapElements
    - Extension*::repeated_uint32_value::SwapElements
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_float_value::SwapElements
    - Extension*::repeated_int32_value::SwapElements
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapElements(int number, int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 879
    functionName: google::protobuf::internal::ExtensionSet::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Clear
    - ForEach
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:907,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: map_::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:910,1
    - Dst: map_::large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:911,1
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:914,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 917
    functionName: google::protobuf::internal::ExtensionSet::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - is_large
    - map_::large::begin
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - flat_begin
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - SizeOfUnion
    - ForEach
    - map_::large::end
    - PROTOBUF_PREDICT_TRUE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::MergeFrom(const ExtensionSet& other)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:924,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:931,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:932,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:933,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:955,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:961,1
    - Dst: RepeatedPtrField*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:967,1
    - Dst: RepeatedPtrField*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:968,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:970,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:974,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:975,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:977,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:991,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:992,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:994,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:998,1
    - Dst: SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1001,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1007,1
    - Dst: lazymessage_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1015,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1016,1
    - Dst: message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1021,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1022,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1026,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1027,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1028,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1031,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1034,1
    - Dst: lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1035,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1040,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1044,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 86
    argCount: 2
    argNames:
    - number
    - ' other_extension'
    argTypes:
    - int
    - Extension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 1055
    functionName: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - Extension*::lazymessage_value::MergeFrom
    - MessageLite*::CheckTypeAndMergeFrom
    - message_value::New
    - New
    - HANDLE_TYPE
    - RepeatedPtrField*::size
    - lazymessage_value::GetMessage
    - SetString
    - GOOGLE_DCHECK_EQ
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - GOOGLE_DCHECK
    - lazymessage_value::New
    - RepeatedPtrField*::Get
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_message_value::AddAllocated
    - Extension*::message_value::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::InternalExtensionMergeFrom(\n    int number, const
      Extension& other_extension)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - REPEATED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 946
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, REPEATED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 990
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1060,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1061,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1062,1
    - Dst: ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1068,1
    - Dst: ExtensionSet*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1069,1
    - Dst: ExtensionSet*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1070,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1071,1
    - Dst: google::protobuf::internal::ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - x
    argTypes:
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1057
    functionDepth: 2
    functionLinenumber: 1057
    functionLinenumberEnd: 1074
    functionName: google::protobuf::internal::ExtensionSet::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MergeFrom
    - ExtensionSet*::GetArena
    - ExtensionSet*::Clear
    - swap
    - ExtensionSet*::MergeFrom
    - GetArena
    - google::protobuf::internal::ExtensionSet::Clear
    - ExtensionSet::MergeFrom
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Swap(ExtensionSet* x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1078,1
    - Dst: ExtensionSet*::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1079,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1088,1
    - Dst: ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1096,1
    - Dst: ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1097,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1098,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1099,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1100,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1101,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1108,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1110,1
    - Dst: ExtensionSet*::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1112,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1118,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1120,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - other
    - number
    argTypes:
    - ExtensionSet*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1125
    functionName: google::protobuf::internal::ExtensionSet::SwapExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - ExtensionSet::FindOrNull
    - ExtensionSet*::Insert
    - Extension*::Clear
    - ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::Insert
    - ExtensionSet*::InternalExtensionMergeFrom
    - ExtensionSet*::GetArena
    - swap
    - GetArena
    - ExtensionSet*::FindOrNull
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - ExtensionSet*::Erase
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapExtension(ExtensionSet* other, int number)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1132,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: KeyValue*::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1140
    functionName: google::protobuf::internal::ExtensionSet::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - KeyValue*::second::IsInitialized
    - flat_begin
    - second::IsInitialized
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1147,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1148,1
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - tag
    - extension_finder
    - field_number
    - extension
    - was_packed_on_wire
    argTypes:
    - uint32
    - ExtensionFinder*
    - int*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromTag(uint32 tag,\n                                            ExtensionFinder*
      extension_finder,\n                                            int* field_number,\n
      \                                           ExtensionInfo* extension,\n                                            bool*
      was_packed_on_wire)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionFinder*::Find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1157,1
    - Dst: google::protobuf::internal::WireTypeForFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: is_packable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - wire_type
    - field_number
    - extension_finder
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - int
    - ExtensionFinder*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1174
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - real_type
    - ExtensionFinder*::Find
    - google::protobuf::internal::WireTypeForFieldType
    - is_packable
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromFieldNumber(\n    int wire_type,
      int field_number, ExtensionFinder* extension_finder,\n    ExtensionInfo* extension,
      bool* was_packed_on_wire)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1182,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1184,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tag
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - uint32
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1189
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             ExtensionFinder* extension_finder,\n                              FieldSkipper*
      field_skipper)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1199,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1201,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1202,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1206
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - internal::InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    - UnknownFieldParse
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseField(uint64 tag, const char* ptr,\n                                     const
      MessageLite* containing_type,\n                                     internal::InternalMetadata*
      metadata,\n                                     internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1213
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItem(\n    const char* ptr, const
      MessageLite* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1224,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1225,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1241,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1242,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1243,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1244,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1245,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1246,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1247,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1248,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1249,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1250,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1257,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1259,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1262,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1264,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1268,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1277,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1281,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1300,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1301,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1302,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1303,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1304,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1305,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1306,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1307,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1308,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1309,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1317,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1321,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1324,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1326,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1329,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1338,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1340,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1342,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1349,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1351,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1353,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1360,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1363,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1366,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1373,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1376,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1379,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 5
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - input
    - field_skipper
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - io::CodedInputStream*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1215
    functionDepth: 2
    functionLinenumber: 1215
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 8
    functionsReached:
    - FieldSkipper*::SkipUnknownEnum
    - google::protobuf::internal::WireFormatLite::ReadBytes
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - GOOGLE_LOG
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - google::protobuf::internal::ExtensionSet::AddMessage
    - google::protobuf::internal::WireFormatLite::ReadString
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseFieldWithExtensionInfo(int number,\n                                               bool
      was_packed_on_wire,\n                                               const ExtensionInfo&
      extension,\n                                               io::CodedInputStream*
      input,\n                                               FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1240
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1299
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tag
    - input
    - containing_type
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1393
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 13
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1401
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type,\n                              io::CodedOutputStream*
      unknown_fields)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1407,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1412,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1403
    functionDepth: 4
    functionLinenumber: 1403
    functionLinenumberEnd: 1423
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    - google::protobuf::internal::ExtensionSet::ParseField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetLite(io::CodedInputStream* input,\n
      \                                      ExtensionFinder* extension_finder,\n
      \                                      FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    - Dst: ParseMessageSetItemImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1446
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    - ParseMessageSetItemImpl
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetItemLite(io::CodedInputStream* input,\n
      \                                          ExtensionFinder* extension_finder,\n
      \                                          FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type_id
    - input
    argTypes:
    - int
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1433
    functionName: google::protobuf::internal::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: bool
    signature: bool ParseField(int type_id, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - input
    argTypes:
    - uint32
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1437
    functionName: google::protobuf::internal::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::SkipField
    linkageType: ''
    returnType: bool
    signature: bool SkipField(uint32 tag, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1448
    functionDepth: 4
    functionLinenumber: 1448
    functionLinenumberEnd: 1456
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSet(io::CodedInputStream* input,\n
      \                                  const MessageLite* containing_type,\n                                   std::string*
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1462,1
    - Dst: large::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1463,1
    - Dst: auto::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1465,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1470,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1471,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - start_field_number
    - end_field_number
    - target
    - stream
    argTypes:
    - int
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::ExtensionSet::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
    - is_large
    - large::end
    - flat_begin
    - KeyValue::FirstComparator
    - large::lower_bound
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - auto::second::InternalSerializeFieldWithCachedSizesToArray
    - flat_end
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::_InternalSerialize(int start_field_number,\n
      \                                       int end_field_number, uint8* target,\n
      \                                       io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1482,1
    - Dst: InternalSerializeMessageSetItemWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1487
    functionName: google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - InternalSerializeMessageSetItemWithCachedSizesToArray
    - ForEach
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray(\n
      \   uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1491,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1495
    functionName: google::protobuf::internal::ExtensionSet::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - descriptor
    - result
    argTypes:
    - int
    - FieldDescriptor*
    - Extension**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1500
    functionDepth: 2
    functionLinenumber: 1500
    functionLinenumberEnd: 1507
    functionName: google::protobuf::internal::ExtensionSet::MaybeNewExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 40
    functionsReached:
    - std::tie
    - google::protobuf::internal::ExtensionSet::Insert
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::MaybeNewExtension(int number,\n                                     const
      FieldDescriptor* descriptor,\n                                     Extension**
      result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1514,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1520,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1521,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1522,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1523,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1527,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1528,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1529,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1534,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1536,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1540,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1555
    functionName: ExtensionSet::Extension::Clear()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Clear
    - cpp_type
    - clear
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1519
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1562,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1571,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1572,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1573,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1574,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1575,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1576,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1577,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1586,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1587,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1588,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1589,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1599,1
    - Dst: ToCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1603,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1605,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1612,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1622,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1623,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1624,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1625,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1626,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1627,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1628,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1629,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1630,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1631,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1632,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1641,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1642,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1643,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1644,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1653,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1659,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1660,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1661,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1662,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1663,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1664,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1665,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1666,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1667,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1668,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1672,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1673,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1675,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1685,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1686,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1687,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1688,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1689,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1690,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1691,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 84
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1697
    functionName: ExtensionSet::Extension::ByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ToCachedSize
    - GOOGLE_LOG
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::TagSize
    - real_type
    - google::protobuf::internal::WireFormatLite::MakeTag
    - google::protobuf::internal::WireFormatLite::MessageSize
    - HANDLE_TYPE
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::ByteSize(int number) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1570
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1586
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1621
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1641
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1658
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1685
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1700,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1701,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1706,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1707,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1708,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1709,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1713,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1714,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1715,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1721
    functionName: ExtensionSet::Extension::GetSize() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_LOG
    - HANDLE_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::Extension::GetSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1705
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1727,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1733,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1734,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1735,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1736,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1740,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1741,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1742,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1761
    functionName: ExtensionSet::Extension::Free()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Free()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1732
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1767,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1770,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1777,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1779,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1785
    functionName: ExtensionSet::Extension::IsInitialized() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Get
    - cpp_type
    - IsInitialized
    - size
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Extension::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1788
    functionName: ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1792,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1794,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1801
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 68
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1806,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1804
        line_start: 1804
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1811
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1811
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: "ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(\n    int
      key) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1815,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1817,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1824
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 68
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1828,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1826
        line_start: 1826
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1833
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1833
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 8
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(int key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1840,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: std::copy_backward
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1847,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1850,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1853,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1835
    functionDepth: 2
    functionLinenumber: 1835
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::ExtensionSet::Insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 12
    functionsReached:
    - large::insert
    - Extension
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - std::copy_backward
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::ExtensionSet::Insert
    - flat_end
    linkageType: ''
    returnType: std::pair<ExtensionSet::Extension*, bool>
    signature: std::pair<ExtensionSet::Extension*, bool> ExtensionSet::Insert(int
      key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1870,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1871,1
    - Dst: Arena::Create<LargeMap>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1874,1
    - Dst: AllocatedData::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1875,1
    - Dst: AllocatedData::large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1877,1
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1880,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1881,1
    - Dst: google::protobuf::internal::ExtensionSet::DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1885,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - minimum_new_capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1892
    functionName: google::protobuf::internal::ExtensionSet::GrowCapacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 8
    functionsReached:
    - is_large
    - Arena::Create<LargeMap>
    - flat_begin
    - AllocatedData::large::insert
    - std::copy
    - google::protobuf::internal::ExtensionSet::DeleteFlatMap
    - PROTOBUF_PREDICT_FALSE
    - Arena::CreateArray<KeyValue>
    - flat_end
    - AllocatedData::large::begin
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::GrowCapacity(size_t minimum_new_capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: large::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1899,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1902,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1909
    functionName: google::protobuf::internal::ExtensionSet::Erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 12
    functionsReached:
    - large::erase
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::copy
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Erase(int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    - Dst: RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1917
    functionName: google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedPrimitiveDefaults
    signature: RepeatedPrimitiveDefaults * RepeatedPrimitiveDefaults::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    - Dst: RepeatedFieldType::RepeatedFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1923
    functionName: google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedFieldType::RepeatedFieldType
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedStringTypeTraits::RepeatedFieldType
    signature: 'RepeatedStringTypeTraits::RepeatedFieldType *

      RepeatedStringTypeTraits::GetDefaultRepeatedField()'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1931,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1932,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1934,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1946,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1951,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1952,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1953,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1955,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1959,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1966,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1970,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1980,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1981,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1982,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1984,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1985,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1986,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1987,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1988,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1989,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2003,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2004,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2015,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2016,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2021,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2028,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2029,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2030,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2031,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2032,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2033,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2034,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2035,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2036,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2037,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2038,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2039,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2040,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2041,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2048,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2049,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2052,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2053,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2059,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2061,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2062,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 86
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 2069
    functionName: "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - real_type
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteGroup
    - WriteMessageToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - HANDLE_TYPE
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1945
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1979
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2003
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2014
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2027
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2048
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2076,1
    - Dst: InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2077,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2082,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2084,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2087,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2091,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2094,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2099,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2103
    functionName: "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - InternalSerializeFieldWithCachedSizesToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - WriteMessageToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2109,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2117,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2122,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2124,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2105
    functionDepth: 1
    functionLinenumber: 2105
    functionLinenumberEnd: 2131
    functionName: ExtensionSet::Extension::MessageSetItemByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ByteSizeLong
    - ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::MessageSetItemByteSize(int number)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2135,1
    - Dst: MessageSetItemByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2139
    functionName: google::protobuf::internal::ExtensionSet::MessageSetByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - MessageSetItemByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::MessageSetByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 8
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 9
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: ExtensionFinder::~ExtensionFinder()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionFinder::~ExtensionFinder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindRegisteredExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - number
    - output
    argTypes:
    - int
    - ExtensionInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GeneratedExtensionFinder::Find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindRegisteredExtension
    linkageType: ''
    returnType: bool
    signature: bool GeneratedExtensionFinder::Find(int number, ExtensionInfo* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:140,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:141,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:142,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::ExtensionSet::RegisterExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_NE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterExtension(const MessageLite* containing_type,\n
      \                                    int number, FieldType type,\n                                     bool
      is_repeated, bool is_packed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - number
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::CallNoArgValidityFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CallNoArgValidityFunc(const void* arg, int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:164,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - is_valid
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - EnumValidityFunc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterEnumExtension(const MessageLite* containing_type,\n
      \                                        int number, FieldType type,\n                                         bool
      is_repeated, bool is_packed,\n                                         EnumValidityFunc*
      is_valid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:176,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - prototype
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Register
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterMessageExtension(const MessageLite* containing_type,\n
      \                                           int number, FieldType type,\n                                            bool
      is_repeated, bool is_packed,\n                                            const
      MessageLite* prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateArray<KeyValue>
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ExtensionSet(Arena* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: Free
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: ExtensionSet::~ExtensionSet()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - DeleteFlatMap
    - Free
    - ForEach
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::~ExtensionSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete[]
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    - Dst: const_cast<ExtensionSet::KeyValue*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - flat
    - flat_capacity
    argTypes:
    - ExtensionSet::KeyValue*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: google::protobuf::internal::ExtensionSet::DeleteFlatMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - const_cast<ExtensionSet::KeyValue*>
    - ::operator delete[]
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::DeleteFlatMap(const ExtensionSet::KeyValue* flat,\n
      \                                uint16 flat_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:229,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: google::protobuf::internal::ExtensionSet::Has
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Has(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: google::protobuf::internal::ExtensionSet::NumExtensions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ForEach
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::NumExtensions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:246,1
    - Dst: Extension*::GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::GetSize
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::ExtensionSize(int number) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:251,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:253,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::ExtensionSet::ExtensionType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_LOG
    linkageType: ''
    returnType: FieldType
    signature: FieldType ExtensionSet::ExtensionType(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:263,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::ExtensionSet::ClearExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::Clear
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ClearExtension(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - EXTENSION
    - ','
    - LABEL
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: GOOGLE_DCHECK_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_TYPE(EXTENSION, LABEL, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 347
    functionName: PRIMITIVE_ACCESSORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIMITIVE_ACCESSORS(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::ExtensionSet::GetRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::GetRawRepeatedField(int number,\n                                              const
      void* default_value) const"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:376,1
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:381,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:382,1
    - Dst: Arena::CreateMessage<RepeatedField<int32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:385,1
    - Dst: Arena::CreateMessage<RepeatedField<int64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:389,1
    - Dst: Arena::CreateMessage<RepeatedField<uint32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:393,1
    - Dst: Arena::CreateMessage<RepeatedField<uint64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:397,1
    - Dst: Arena::CreateMessage<RepeatedField<double>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:401,1
    - Dst: Arena::CreateMessage<RepeatedField<float>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:405,1
    - Dst: Arena::CreateMessage<RepeatedField<bool>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:409,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:413,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:417,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:421,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - number
    - field_type
    - packed
    - desc
    argTypes:
    - int
    - FieldType
    - bool
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 429
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - Arena::CreateMessage<RepeatedField<uint64>>
    - Arena::CreateMessage<RepeatedField<int32>>
    - Arena::CreateMessage<RepeatedField<uint32>>
    - Arena::CreateMessage<RepeatedField<double>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - static_cast<WireFormatLite::FieldType>
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - Arena::CreateMessage<RepeatedField<int>>
    - Arena::CreateMessage<RepeatedField<bool>>
    - Arena::CreateMessage<RepeatedField<float>>
    - Arena::CreateMessage<RepeatedField<int64>>
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::MutableRawRepeatedField(int number, FieldType
      field_type,\n                                            bool packed,\n                                            const
      FieldDescriptor* desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:434,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void * ExtensionSet::MutableRawRepeatedField(int number)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:445,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::ExtensionSet::GetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetEnum(int number, int default_value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:458,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: google::protobuf::internal::ExtensionSet::SetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - cpp_type
    - GOOGLE_DCHECK_EQ
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetEnum(int number, FieldType type, int value,\n
      \                          const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:470,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:471,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:472,1
    - Dst: Extension*::repeated_enum_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: google::protobuf::internal::ExtensionSet::GetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetRepeatedEnum(int number, int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:477,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:478,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:479,1
    - Dst: Extension*::repeated_enum_value::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - index
    - value
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::ExtensionSet::SetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Set
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SetRepeatedEnum(int number, int index, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:486,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:492,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:494,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:495,1
    - Dst: Extension*::repeated_enum_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - number
    - type
    - packed
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - bool
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: google::protobuf::internal::ExtensionSet::AddEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - Arena::CreateMessage<RepeatedField<int>>
    - GOOGLE_DCHECK_EQ
    - Extension*::repeated_enum_value::Add
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::AddEnum(int number, FieldType type, bool packed,
      int value,\n                           const FieldDescriptor* descriptor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:505,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: "& ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:518,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:522,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::ExtensionSet::MutableString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - cpp_type
    - Arena::Create<std::string>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::MutableString(int number, FieldType type,\n
      \                                        const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:532,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:533,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:534,1
    - Dst: Extension*::repeated_string_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Get
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:539,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:540,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:541,1
    - Dst: Extension*::repeated_string_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Mutable
    linkageType: ''
    returnType: std::string
    signature: std::string * ExtensionSet::MutableRepeatedString(int number, int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:548,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:554,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:556,1
    - Dst: Extension*::repeated_string_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 559
    functionName: google::protobuf::internal::ExtensionSet::AddString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_string_value::Add
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::AddString(int number, FieldType type,\n
      \                                    const FieldDescriptor* descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:566,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:571,1
    - Dst: Extension*::lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 578
    functionName: "& ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::lazymessage_value::GetMessage
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:589,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:594,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:598,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 606
    functionName: google::protobuf::internal::ExtensionSet::MutableMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::MutableMessage(int number, FieldType type,\n
      \                                         const MessageLite& prototype,\n                                          const
      FieldDescriptor* descriptor)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:617,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:620,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:622,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:631,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:633,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:634,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:637,1
    - Dst: Extension*::lazymessage_value::SetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:639,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:648,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:650,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:651,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 656
    functionName: google::protobuf::internal::ExtensionSet::SetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - MessageLite*::GetArena
    - Extension*::lazymessage_value::SetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - MessageLite*::New
    - Extension*::message_value::CheckTypeAndMergeFrom
    - GOOGLE_DCHECK_EQ
    - Own
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetAllocatedMessage(int number, FieldType type,\n
      \                                      const FieldDescriptor* descriptor,\n
      \                                      MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:662,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:666,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:673,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::UnsafeArenaSetAllocatedMessage(\n    int number,
      FieldType type, const FieldDescriptor* descriptor,\n    MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:688,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:693,1
    - Dst: Extension*::lazymessage_value::ReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:696,1
    - Dst: Extension*::message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:706,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:707,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 713
    functionName: google::protobuf::internal::ExtensionSet::ReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - Extension*::lazymessage_value::ReleaseMessage
    - GOOGLE_DCHECK_TYPE
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::message_value::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::ReleaseMessage(int number,\n                                          const
      MessageLite& prototype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:717,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:722,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:725,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::lazymessage_value::UnsafeArenaReleaseMessage
    - google::protobuf::internal::ExtensionSet::Erase
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::UnsafeArenaReleaseMessage(\n    int number,
      const MessageLite& prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:743,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:744,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:745,1
    - Dst: Extension*::repeated_message_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - Extension*::repeated_message_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:750,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:751,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:752,1
    - Dst: Extension*::repeated_message_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Extension*::repeated_message_value::Mutable
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::MutableRepeatedMessage(int number, int
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:760,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:765,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:767,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:772,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:776,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 780
    functionName: google::protobuf::internal::ExtensionSet::AddMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - cpp_type
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_message_value::AddAllocated
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::AddMessage(int number, FieldType type,\n
      \                                     const MessageLite& prototype,\n                                      const
      FieldDescriptor* descriptor)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:790,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:792,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:794,1
    - Dst: Extension*::repeated_int32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:796,1
    - Dst: Extension*::repeated_int64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:799,1
    - Dst: Extension*::repeated_uint32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:802,1
    - Dst: Extension*::repeated_uint64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:805,1
    - Dst: Extension*::repeated_float_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:808,1
    - Dst: Extension*::repeated_double_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:811,1
    - Dst: Extension*::repeated_bool_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:814,1
    - Dst: Extension*::repeated_enum_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:817,1
    - Dst: Extension*::repeated_string_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:820,1
    - Dst: Extension*::repeated_message_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:823,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::ExtensionSet::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::repeated_int64_value::RemoveLast
    - Extension*::repeated_enum_value::RemoveLast
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_string_value::RemoveLast
    - Extension*::repeated_uint32_value::RemoveLast
    - Extension*::repeated_double_value::RemoveLast
    - Extension*::repeated_float_value::RemoveLast
    - GOOGLE_CHECK
    - Extension*::repeated_uint64_value::RemoveLast
    - Extension*::repeated_message_value::RemoveLast
    - Extension*::repeated_bool_value::RemoveLast
    - Extension*::repeated_int32_value::RemoveLast
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::RemoveLast(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:829,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:830,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: Extension*::repeated_message_value::ReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 834
    functionName: google::protobuf::internal::ExtensionSet::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_message_value::ReleaseLast
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::ReleaseLast(int number)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:837,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:839,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:841,1
    - Dst: Extension*::repeated_int32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:843,1
    - Dst: Extension*::repeated_int64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:846,1
    - Dst: Extension*::repeated_uint32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:849,1
    - Dst: Extension*::repeated_uint64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:852,1
    - Dst: Extension*::repeated_float_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:855,1
    - Dst: Extension*::repeated_double_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:858,1
    - Dst: Extension*::repeated_bool_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:861,1
    - Dst: Extension*::repeated_enum_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:864,1
    - Dst: Extension*::repeated_string_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:867,1
    - Dst: Extension*::repeated_message_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:870,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - number
    - index1
    - index2
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 873
    functionName: google::protobuf::internal::ExtensionSet::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_bool_value::SwapElements
    - Extension*::repeated_message_value::SwapElements
    - Extension*::repeated_int64_value::SwapElements
    - Extension*::repeated_string_value::SwapElements
    - Extension*::repeated_enum_value::SwapElements
    - Extension*::repeated_uint64_value::SwapElements
    - GOOGLE_CHECK
    - Extension*::repeated_double_value::SwapElements
    - Extension*::repeated_uint32_value::SwapElements
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_float_value::SwapElements
    - Extension*::repeated_int32_value::SwapElements
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapElements(int number, int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 879
    functionName: google::protobuf::internal::ExtensionSet::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Clear
    - ForEach
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:907,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: map_::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:910,1
    - Dst: map_::large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:911,1
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:914,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 917
    functionName: google::protobuf::internal::ExtensionSet::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - is_large
    - map_::large::begin
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - flat_begin
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - SizeOfUnion
    - ForEach
    - map_::large::end
    - PROTOBUF_PREDICT_TRUE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::MergeFrom(const ExtensionSet& other)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:924,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:931,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:932,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:933,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:955,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:961,1
    - Dst: RepeatedPtrField*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:967,1
    - Dst: RepeatedPtrField*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:968,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:970,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:974,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:975,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:977,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:991,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:992,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:994,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:998,1
    - Dst: SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1001,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1007,1
    - Dst: lazymessage_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1015,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1016,1
    - Dst: message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1021,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1022,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1026,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1027,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1028,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1031,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1034,1
    - Dst: lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1035,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1040,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1044,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 86
    argCount: 2
    argNames:
    - number
    - ' other_extension'
    argTypes:
    - int
    - Extension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 1055
    functionName: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 9
    functionsReached:
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - Extension*::lazymessage_value::MergeFrom
    - MessageLite*::CheckTypeAndMergeFrom
    - message_value::New
    - New
    - HANDLE_TYPE
    - RepeatedPtrField*::size
    - lazymessage_value::GetMessage
    - SetString
    - GOOGLE_DCHECK_EQ
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - GOOGLE_DCHECK
    - lazymessage_value::New
    - RepeatedPtrField*::Get
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_message_value::AddAllocated
    - Extension*::message_value::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::InternalExtensionMergeFrom(\n    int number, const
      Extension& other_extension)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - REPEATED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 946
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, REPEATED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 990
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1060,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1061,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1062,1
    - Dst: ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1068,1
    - Dst: ExtensionSet*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1069,1
    - Dst: ExtensionSet*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1070,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1071,1
    - Dst: google::protobuf::internal::ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - x
    argTypes:
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1057
    functionDepth: 2
    functionLinenumber: 1057
    functionLinenumberEnd: 1074
    functionName: google::protobuf::internal::ExtensionSet::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MergeFrom
    - ExtensionSet*::GetArena
    - ExtensionSet*::Clear
    - swap
    - ExtensionSet*::MergeFrom
    - GetArena
    - google::protobuf::internal::ExtensionSet::Clear
    - ExtensionSet::MergeFrom
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Swap(ExtensionSet* x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1078,1
    - Dst: ExtensionSet*::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1079,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1088,1
    - Dst: ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1096,1
    - Dst: ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1097,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1098,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1099,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1100,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1101,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1108,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1110,1
    - Dst: ExtensionSet*::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1112,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1118,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1120,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - other
    - number
    argTypes:
    - ExtensionSet*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1125
    functionName: google::protobuf::internal::ExtensionSet::SwapExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - ExtensionSet::FindOrNull
    - ExtensionSet*::Insert
    - Extension*::Clear
    - ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::Insert
    - ExtensionSet*::InternalExtensionMergeFrom
    - ExtensionSet*::GetArena
    - swap
    - GetArena
    - ExtensionSet*::FindOrNull
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - ExtensionSet*::Erase
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapExtension(ExtensionSet* other, int number)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1132,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: KeyValue*::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1140
    functionName: google::protobuf::internal::ExtensionSet::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - KeyValue*::second::IsInitialized
    - flat_begin
    - second::IsInitialized
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1147,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1148,1
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - tag
    - extension_finder
    - field_number
    - extension
    - was_packed_on_wire
    argTypes:
    - uint32
    - ExtensionFinder*
    - int*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromTag(uint32 tag,\n                                            ExtensionFinder*
      extension_finder,\n                                            int* field_number,\n
      \                                           ExtensionInfo* extension,\n                                            bool*
      was_packed_on_wire)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionFinder*::Find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1157,1
    - Dst: google::protobuf::internal::WireTypeForFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: is_packable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - wire_type
    - field_number
    - extension_finder
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - int
    - ExtensionFinder*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1174
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 9
    functionsReached:
    - real_type
    - ExtensionFinder*::Find
    - google::protobuf::internal::WireTypeForFieldType
    - is_packable
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromFieldNumber(\n    int wire_type,
      int field_number, ExtensionFinder* extension_finder,\n    ExtensionInfo* extension,
      bool* was_packed_on_wire)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1182,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1184,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tag
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - uint32
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1189
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             ExtensionFinder* extension_finder,\n                              FieldSkipper*
      field_skipper)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1199,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1201,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1202,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1206
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - internal::InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    - UnknownFieldParse
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseField(uint64 tag, const char* ptr,\n                                     const
      MessageLite* containing_type,\n                                     internal::InternalMetadata*
      metadata,\n                                     internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1213
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItem(\n    const char* ptr, const
      MessageLite* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1224,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1225,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1241,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1242,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1243,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1244,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1245,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1246,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1247,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1248,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1249,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1250,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1257,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1259,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1262,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1264,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1268,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1277,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1281,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1300,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1301,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1302,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1303,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1304,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1305,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1306,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1307,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1308,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1309,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1317,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1321,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1324,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1326,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1329,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1338,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1340,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1342,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1349,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1351,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1353,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1360,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1363,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1366,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1373,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1376,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1379,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 5
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - input
    - field_skipper
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - io::CodedInputStream*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1215
    functionDepth: 2
    functionLinenumber: 1215
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 10
    functionsReached:
    - FieldSkipper*::SkipUnknownEnum
    - google::protobuf::internal::WireFormatLite::ReadBytes
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - GOOGLE_LOG
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - google::protobuf::internal::ExtensionSet::AddMessage
    - google::protobuf::internal::WireFormatLite::ReadString
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseFieldWithExtensionInfo(int number,\n                                               bool
      was_packed_on_wire,\n                                               const ExtensionInfo&
      extension,\n                                               io::CodedInputStream*
      input,\n                                               FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1240
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1299
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tag
    - input
    - containing_type
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1393
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 17
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1401
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type,\n                              io::CodedOutputStream*
      unknown_fields)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1407,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1412,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1403
    functionDepth: 4
    functionLinenumber: 1403
    functionLinenumberEnd: 1423
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    - google::protobuf::internal::ExtensionSet::ParseField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetLite(io::CodedInputStream* input,\n
      \                                      ExtensionFinder* extension_finder,\n
      \                                      FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    - Dst: ParseMessageSetItemImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1446
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    - ParseMessageSetItemImpl
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetItemLite(io::CodedInputStream* input,\n
      \                                          ExtensionFinder* extension_finder,\n
      \                                          FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type_id
    - input
    argTypes:
    - int
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1433
    functionName: google::protobuf::internal::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: bool
    signature: bool ParseField(int type_id, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - input
    argTypes:
    - uint32
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1437
    functionName: google::protobuf::internal::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::SkipField
    linkageType: ''
    returnType: bool
    signature: bool SkipField(uint32 tag, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1448
    functionDepth: 4
    functionLinenumber: 1448
    functionLinenumberEnd: 1456
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSet(io::CodedInputStream* input,\n
      \                                  const MessageLite* containing_type,\n                                   std::string*
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1462,1
    - Dst: large::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1463,1
    - Dst: auto::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1465,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1470,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1471,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - start_field_number
    - end_field_number
    - target
    - stream
    argTypes:
    - int
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::ExtensionSet::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
    - is_large
    - large::end
    - flat_begin
    - KeyValue::FirstComparator
    - large::lower_bound
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - auto::second::InternalSerializeFieldWithCachedSizesToArray
    - flat_end
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::_InternalSerialize(int start_field_number,\n
      \                                       int end_field_number, uint8* target,\n
      \                                       io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1482,1
    - Dst: InternalSerializeMessageSetItemWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1487
    functionName: google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - InternalSerializeMessageSetItemWithCachedSizesToArray
    - ForEach
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray(\n
      \   uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1491,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1495
    functionName: google::protobuf::internal::ExtensionSet::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - descriptor
    - result
    argTypes:
    - int
    - FieldDescriptor*
    - Extension**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1500
    functionDepth: 2
    functionLinenumber: 1500
    functionLinenumberEnd: 1507
    functionName: google::protobuf::internal::ExtensionSet::MaybeNewExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 50
    functionsReached:
    - std::tie
    - google::protobuf::internal::ExtensionSet::Insert
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::MaybeNewExtension(int number,\n                                     const
      FieldDescriptor* descriptor,\n                                     Extension**
      result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1514,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1520,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1521,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1522,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1523,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1527,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1528,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1529,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1534,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1536,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1540,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1555
    functionName: ExtensionSet::Extension::Clear()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Clear
    - cpp_type
    - clear
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1519
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1562,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1571,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1572,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1573,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1574,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1575,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1576,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1577,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1586,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1587,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1588,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1589,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1599,1
    - Dst: ToCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1603,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1605,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1612,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1622,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1623,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1624,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1625,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1626,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1627,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1628,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1629,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1630,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1631,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1632,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1641,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1642,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1643,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1644,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1653,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1659,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1660,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1661,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1662,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1663,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1664,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1665,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1666,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1667,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1668,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1672,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1673,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1675,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1685,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1686,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1687,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1688,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1689,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1690,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1691,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 84
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1697
    functionName: ExtensionSet::Extension::ByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ToCachedSize
    - GOOGLE_LOG
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::TagSize
    - real_type
    - google::protobuf::internal::WireFormatLite::MakeTag
    - google::protobuf::internal::WireFormatLite::MessageSize
    - HANDLE_TYPE
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::ByteSize(int number) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1570
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1586
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1621
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1641
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1658
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1685
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1700,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1701,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1706,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1707,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1708,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1709,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1713,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1714,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1715,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1721
    functionName: ExtensionSet::Extension::GetSize() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_LOG
    - HANDLE_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::Extension::GetSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1705
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1727,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1733,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1734,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1735,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1736,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1740,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1741,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1742,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1761
    functionName: ExtensionSet::Extension::Free()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Free()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1732
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1767,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1770,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1777,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1779,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1785
    functionName: ExtensionSet::Extension::IsInitialized() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Get
    - cpp_type
    - IsInitialized
    - size
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Extension::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1788
    functionName: ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1792,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1794,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1801
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 85
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1806,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1804
        line_start: 1804
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1811
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1811
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 9
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: "ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(\n    int
      key) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1815,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1817,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1824
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 85
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1828,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1826
        line_start: 1826
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1833
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1833
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 10
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(int key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1840,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: std::copy_backward
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1847,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1850,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1853,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1835
    functionDepth: 2
    functionLinenumber: 1835
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::ExtensionSet::Insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 15
    functionsReached:
    - large::insert
    - Extension
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - std::copy_backward
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::ExtensionSet::Insert
    - flat_end
    linkageType: ''
    returnType: std::pair<ExtensionSet::Extension*, bool>
    signature: std::pair<ExtensionSet::Extension*, bool> ExtensionSet::Insert(int
      key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1870,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1871,1
    - Dst: Arena::Create<LargeMap>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1874,1
    - Dst: AllocatedData::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1875,1
    - Dst: AllocatedData::large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1877,1
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1880,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1881,1
    - Dst: google::protobuf::internal::ExtensionSet::DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1885,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - minimum_new_capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1892
    functionName: google::protobuf::internal::ExtensionSet::GrowCapacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 10
    functionsReached:
    - is_large
    - Arena::Create<LargeMap>
    - flat_begin
    - AllocatedData::large::insert
    - std::copy
    - google::protobuf::internal::ExtensionSet::DeleteFlatMap
    - PROTOBUF_PREDICT_FALSE
    - Arena::CreateArray<KeyValue>
    - flat_end
    - AllocatedData::large::begin
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::GrowCapacity(size_t minimum_new_capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: large::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1899,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1902,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1909
    functionName: google::protobuf::internal::ExtensionSet::Erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 15
    functionsReached:
    - large::erase
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::copy
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Erase(int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    - Dst: RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1917
    functionName: google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedPrimitiveDefaults
    signature: RepeatedPrimitiveDefaults * RepeatedPrimitiveDefaults::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    - Dst: RepeatedFieldType::RepeatedFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1923
    functionName: google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedFieldType::RepeatedFieldType
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedStringTypeTraits::RepeatedFieldType
    signature: 'RepeatedStringTypeTraits::RepeatedFieldType *

      RepeatedStringTypeTraits::GetDefaultRepeatedField()'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1931,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1932,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1934,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1946,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1951,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1952,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1953,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1955,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1959,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1966,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1970,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1980,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1981,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1982,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1984,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1985,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1986,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1987,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1988,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1989,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2003,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2004,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2015,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2016,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2021,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2028,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2029,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2030,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2031,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2032,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2033,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2034,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2035,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2036,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2037,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2038,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2039,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2040,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2041,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2048,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2049,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2052,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2053,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2059,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2061,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2062,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 86
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 2069
    functionName: "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - real_type
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteGroup
    - WriteMessageToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - HANDLE_TYPE
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1945
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1979
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2003
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2014
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2027
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2048
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2076,1
    - Dst: InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2077,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2082,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2084,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2087,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2091,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2094,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2099,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2103
    functionName: "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - InternalSerializeFieldWithCachedSizesToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - WriteMessageToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2109,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2117,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2122,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2124,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2105
    functionDepth: 1
    functionLinenumber: 2105
    functionLinenumberEnd: 2131
    functionName: ExtensionSet::Extension::MessageSetItemByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ByteSizeLong
    - ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::MessageSetItemByteSize(int number)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2135,1
    - Dst: MessageSetItemByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2139
    functionName: google::protobuf::internal::ExtensionSet::MessageSetByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - MessageSetItemByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::MessageSetByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 10
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 11
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: ExtensionFinder::~ExtensionFinder()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionFinder::~ExtensionFinder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindRegisteredExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - number
    - output
    argTypes:
    - int
    - ExtensionInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GeneratedExtensionFinder::Find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindRegisteredExtension
    linkageType: ''
    returnType: bool
    signature: bool GeneratedExtensionFinder::Find(int number, ExtensionInfo* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:140,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:141,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:142,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::ExtensionSet::RegisterExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_NE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterExtension(const MessageLite* containing_type,\n
      \                                    int number, FieldType type,\n                                     bool
      is_repeated, bool is_packed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - number
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::CallNoArgValidityFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CallNoArgValidityFunc(const void* arg, int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:164,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - is_valid
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - EnumValidityFunc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterEnumExtension(const MessageLite* containing_type,\n
      \                                        int number, FieldType type,\n                                         bool
      is_repeated, bool is_packed,\n                                         EnumValidityFunc*
      is_valid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:176,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - prototype
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Register
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterMessageExtension(const MessageLite* containing_type,\n
      \                                           int number, FieldType type,\n                                            bool
      is_repeated, bool is_packed,\n                                            const
      MessageLite* prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateArray<KeyValue>
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ExtensionSet(Arena* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: Free
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: ExtensionSet::~ExtensionSet()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - DeleteFlatMap
    - Free
    - ForEach
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::~ExtensionSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete[]
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    - Dst: const_cast<ExtensionSet::KeyValue*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - flat
    - flat_capacity
    argTypes:
    - ExtensionSet::KeyValue*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: google::protobuf::internal::ExtensionSet::DeleteFlatMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - const_cast<ExtensionSet::KeyValue*>
    - ::operator delete[]
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::DeleteFlatMap(const ExtensionSet::KeyValue* flat,\n
      \                                uint16 flat_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:229,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: google::protobuf::internal::ExtensionSet::Has
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Has(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: google::protobuf::internal::ExtensionSet::NumExtensions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ForEach
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::NumExtensions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:246,1
    - Dst: Extension*::GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::GetSize
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::ExtensionSize(int number) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:251,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:253,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::ExtensionSet::ExtensionType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_LOG
    linkageType: ''
    returnType: FieldType
    signature: FieldType ExtensionSet::ExtensionType(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:263,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::ExtensionSet::ClearExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::Clear
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ClearExtension(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - EXTENSION
    - ','
    - LABEL
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: GOOGLE_DCHECK_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 95
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_TYPE(EXTENSION, LABEL, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 347
    functionName: PRIMITIVE_ACCESSORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIMITIVE_ACCESSORS(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::ExtensionSet::GetRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::GetRawRepeatedField(int number,\n                                              const
      void* default_value) const"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:376,1
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:381,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:382,1
    - Dst: Arena::CreateMessage<RepeatedField<int32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:385,1
    - Dst: Arena::CreateMessage<RepeatedField<int64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:389,1
    - Dst: Arena::CreateMessage<RepeatedField<uint32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:393,1
    - Dst: Arena::CreateMessage<RepeatedField<uint64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:397,1
    - Dst: Arena::CreateMessage<RepeatedField<double>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:401,1
    - Dst: Arena::CreateMessage<RepeatedField<float>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:405,1
    - Dst: Arena::CreateMessage<RepeatedField<bool>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:409,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:413,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:417,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:421,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - number
    - field_type
    - packed
    - desc
    argTypes:
    - int
    - FieldType
    - bool
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 429
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - Arena::CreateMessage<RepeatedField<uint64>>
    - Arena::CreateMessage<RepeatedField<int32>>
    - Arena::CreateMessage<RepeatedField<uint32>>
    - Arena::CreateMessage<RepeatedField<double>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - static_cast<WireFormatLite::FieldType>
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - Arena::CreateMessage<RepeatedField<int>>
    - Arena::CreateMessage<RepeatedField<bool>>
    - Arena::CreateMessage<RepeatedField<float>>
    - Arena::CreateMessage<RepeatedField<int64>>
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::MutableRawRepeatedField(int number, FieldType
      field_type,\n                                            bool packed,\n                                            const
      FieldDescriptor* desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:434,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void * ExtensionSet::MutableRawRepeatedField(int number)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:445,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::ExtensionSet::GetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetEnum(int number, int default_value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:458,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: google::protobuf::internal::ExtensionSet::SetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - cpp_type
    - GOOGLE_DCHECK_EQ
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetEnum(int number, FieldType type, int value,\n
      \                          const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:470,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:471,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:472,1
    - Dst: Extension*::repeated_enum_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: google::protobuf::internal::ExtensionSet::GetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetRepeatedEnum(int number, int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:477,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:478,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:479,1
    - Dst: Extension*::repeated_enum_value::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - index
    - value
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::ExtensionSet::SetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Set
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SetRepeatedEnum(int number, int index, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:486,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:492,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:494,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:495,1
    - Dst: Extension*::repeated_enum_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - number
    - type
    - packed
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - bool
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: google::protobuf::internal::ExtensionSet::AddEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - Arena::CreateMessage<RepeatedField<int>>
    - GOOGLE_DCHECK_EQ
    - Extension*::repeated_enum_value::Add
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::AddEnum(int number, FieldType type, bool packed,
      int value,\n                           const FieldDescriptor* descriptor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:505,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: "& ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:518,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:522,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::ExtensionSet::MutableString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - cpp_type
    - Arena::Create<std::string>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::MutableString(int number, FieldType type,\n
      \                                        const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:532,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:533,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:534,1
    - Dst: Extension*::repeated_string_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Get
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:539,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:540,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:541,1
    - Dst: Extension*::repeated_string_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Mutable
    linkageType: ''
    returnType: std::string
    signature: std::string * ExtensionSet::MutableRepeatedString(int number, int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:548,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:554,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:556,1
    - Dst: Extension*::repeated_string_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 559
    functionName: google::protobuf::internal::ExtensionSet::AddString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_string_value::Add
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::AddString(int number, FieldType type,\n
      \                                    const FieldDescriptor* descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:566,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:571,1
    - Dst: Extension*::lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 578
    functionName: "& ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::lazymessage_value::GetMessage
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:589,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:594,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:598,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 606
    functionName: google::protobuf::internal::ExtensionSet::MutableMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::MutableMessage(int number, FieldType type,\n
      \                                         const MessageLite& prototype,\n                                          const
      FieldDescriptor* descriptor)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:617,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:620,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:622,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:631,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:633,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:634,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:637,1
    - Dst: Extension*::lazymessage_value::SetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:639,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:648,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:650,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:651,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 656
    functionName: google::protobuf::internal::ExtensionSet::SetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - MessageLite*::GetArena
    - Extension*::lazymessage_value::SetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - MessageLite*::New
    - Extension*::message_value::CheckTypeAndMergeFrom
    - GOOGLE_DCHECK_EQ
    - Own
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetAllocatedMessage(int number, FieldType type,\n
      \                                      const FieldDescriptor* descriptor,\n
      \                                      MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:662,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:666,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:673,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::UnsafeArenaSetAllocatedMessage(\n    int number,
      FieldType type, const FieldDescriptor* descriptor,\n    MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:688,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:693,1
    - Dst: Extension*::lazymessage_value::ReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:696,1
    - Dst: Extension*::message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:706,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:707,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 713
    functionName: google::protobuf::internal::ExtensionSet::ReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - Extension*::lazymessage_value::ReleaseMessage
    - GOOGLE_DCHECK_TYPE
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::message_value::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::ReleaseMessage(int number,\n                                          const
      MessageLite& prototype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:717,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:722,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:725,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::lazymessage_value::UnsafeArenaReleaseMessage
    - google::protobuf::internal::ExtensionSet::Erase
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::UnsafeArenaReleaseMessage(\n    int number,
      const MessageLite& prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:743,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:744,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:745,1
    - Dst: Extension*::repeated_message_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - Extension*::repeated_message_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:750,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:751,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:752,1
    - Dst: Extension*::repeated_message_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Extension*::repeated_message_value::Mutable
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::MutableRepeatedMessage(int number, int
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:760,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:765,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:767,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:772,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:776,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 780
    functionName: google::protobuf::internal::ExtensionSet::AddMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - cpp_type
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_message_value::AddAllocated
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::AddMessage(int number, FieldType type,\n
      \                                     const MessageLite& prototype,\n                                      const
      FieldDescriptor* descriptor)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:790,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:792,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:794,1
    - Dst: Extension*::repeated_int32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:796,1
    - Dst: Extension*::repeated_int64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:799,1
    - Dst: Extension*::repeated_uint32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:802,1
    - Dst: Extension*::repeated_uint64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:805,1
    - Dst: Extension*::repeated_float_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:808,1
    - Dst: Extension*::repeated_double_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:811,1
    - Dst: Extension*::repeated_bool_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:814,1
    - Dst: Extension*::repeated_enum_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:817,1
    - Dst: Extension*::repeated_string_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:820,1
    - Dst: Extension*::repeated_message_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:823,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::ExtensionSet::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::repeated_int64_value::RemoveLast
    - Extension*::repeated_enum_value::RemoveLast
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_string_value::RemoveLast
    - Extension*::repeated_uint32_value::RemoveLast
    - Extension*::repeated_double_value::RemoveLast
    - Extension*::repeated_float_value::RemoveLast
    - GOOGLE_CHECK
    - Extension*::repeated_uint64_value::RemoveLast
    - Extension*::repeated_message_value::RemoveLast
    - Extension*::repeated_bool_value::RemoveLast
    - Extension*::repeated_int32_value::RemoveLast
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::RemoveLast(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:829,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:830,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: Extension*::repeated_message_value::ReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 834
    functionName: google::protobuf::internal::ExtensionSet::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_message_value::ReleaseLast
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::ReleaseLast(int number)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:837,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:839,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:841,1
    - Dst: Extension*::repeated_int32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:843,1
    - Dst: Extension*::repeated_int64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:846,1
    - Dst: Extension*::repeated_uint32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:849,1
    - Dst: Extension*::repeated_uint64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:852,1
    - Dst: Extension*::repeated_float_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:855,1
    - Dst: Extension*::repeated_double_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:858,1
    - Dst: Extension*::repeated_bool_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:861,1
    - Dst: Extension*::repeated_enum_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:864,1
    - Dst: Extension*::repeated_string_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:867,1
    - Dst: Extension*::repeated_message_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:870,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - number
    - index1
    - index2
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 873
    functionName: google::protobuf::internal::ExtensionSet::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_bool_value::SwapElements
    - Extension*::repeated_message_value::SwapElements
    - Extension*::repeated_int64_value::SwapElements
    - Extension*::repeated_string_value::SwapElements
    - Extension*::repeated_enum_value::SwapElements
    - Extension*::repeated_uint64_value::SwapElements
    - GOOGLE_CHECK
    - Extension*::repeated_double_value::SwapElements
    - Extension*::repeated_uint32_value::SwapElements
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_float_value::SwapElements
    - Extension*::repeated_int32_value::SwapElements
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapElements(int number, int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 879
    functionName: google::protobuf::internal::ExtensionSet::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 11
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Clear
    - ForEach
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:907,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: map_::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:910,1
    - Dst: map_::large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:911,1
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:914,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 917
    functionName: google::protobuf::internal::ExtensionSet::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - is_large
    - map_::large::begin
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - flat_begin
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - SizeOfUnion
    - ForEach
    - map_::large::end
    - PROTOBUF_PREDICT_TRUE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::MergeFrom(const ExtensionSet& other)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:924,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:931,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:932,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:933,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:955,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:961,1
    - Dst: RepeatedPtrField*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:967,1
    - Dst: RepeatedPtrField*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:968,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:970,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:974,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:975,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:977,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:991,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:992,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:994,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:998,1
    - Dst: SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1001,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1007,1
    - Dst: lazymessage_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1015,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1016,1
    - Dst: message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1021,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1022,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1026,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1027,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1028,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1031,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1034,1
    - Dst: lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1035,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1040,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1044,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 86
    argCount: 2
    argNames:
    - number
    - ' other_extension'
    argTypes:
    - int
    - Extension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 1055
    functionName: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 11
    functionsReached:
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - Extension*::lazymessage_value::MergeFrom
    - MessageLite*::CheckTypeAndMergeFrom
    - message_value::New
    - New
    - HANDLE_TYPE
    - RepeatedPtrField*::size
    - lazymessage_value::GetMessage
    - SetString
    - GOOGLE_DCHECK_EQ
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - GOOGLE_DCHECK
    - lazymessage_value::New
    - RepeatedPtrField*::Get
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_message_value::AddAllocated
    - Extension*::message_value::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::InternalExtensionMergeFrom(\n    int number, const
      Extension& other_extension)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - REPEATED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 946
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, REPEATED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 990
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1060,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1061,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1062,1
    - Dst: ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1068,1
    - Dst: ExtensionSet*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1069,1
    - Dst: ExtensionSet*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1070,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1071,1
    - Dst: google::protobuf::internal::ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - x
    argTypes:
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1057
    functionDepth: 2
    functionLinenumber: 1057
    functionLinenumberEnd: 1074
    functionName: google::protobuf::internal::ExtensionSet::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MergeFrom
    - ExtensionSet*::GetArena
    - ExtensionSet*::Clear
    - swap
    - ExtensionSet*::MergeFrom
    - GetArena
    - google::protobuf::internal::ExtensionSet::Clear
    - ExtensionSet::MergeFrom
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Swap(ExtensionSet* x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1078,1
    - Dst: ExtensionSet*::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1079,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1088,1
    - Dst: ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1096,1
    - Dst: ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1097,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1098,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1099,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1100,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1101,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1108,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1110,1
    - Dst: ExtensionSet*::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1112,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1118,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1120,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - other
    - number
    argTypes:
    - ExtensionSet*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1125
    functionName: google::protobuf::internal::ExtensionSet::SwapExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - ExtensionSet::FindOrNull
    - ExtensionSet*::Insert
    - Extension*::Clear
    - ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::Insert
    - ExtensionSet*::InternalExtensionMergeFrom
    - ExtensionSet*::GetArena
    - swap
    - GetArena
    - ExtensionSet*::FindOrNull
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - ExtensionSet*::Erase
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapExtension(ExtensionSet* other, int number)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1132,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: KeyValue*::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1140
    functionName: google::protobuf::internal::ExtensionSet::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - KeyValue*::second::IsInitialized
    - flat_begin
    - second::IsInitialized
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1147,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1148,1
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - tag
    - extension_finder
    - field_number
    - extension
    - was_packed_on_wire
    argTypes:
    - uint32
    - ExtensionFinder*
    - int*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromTag(uint32 tag,\n                                            ExtensionFinder*
      extension_finder,\n                                            int* field_number,\n
      \                                           ExtensionInfo* extension,\n                                            bool*
      was_packed_on_wire)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionFinder*::Find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1157,1
    - Dst: google::protobuf::internal::WireTypeForFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: is_packable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - wire_type
    - field_number
    - extension_finder
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - int
    - ExtensionFinder*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1174
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 11
    functionsReached:
    - real_type
    - ExtensionFinder*::Find
    - google::protobuf::internal::WireTypeForFieldType
    - is_packable
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromFieldNumber(\n    int wire_type,
      int field_number, ExtensionFinder* extension_finder,\n    ExtensionInfo* extension,
      bool* was_packed_on_wire)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1182,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1184,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tag
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - uint32
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1189
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 20
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             ExtensionFinder* extension_finder,\n                              FieldSkipper*
      field_skipper)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1199,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1201,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1202,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1206
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 20
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - internal::InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    - UnknownFieldParse
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseField(uint64 tag, const char* ptr,\n                                     const
      MessageLite* containing_type,\n                                     internal::InternalMetadata*
      metadata,\n                                     internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1213
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItem(\n    const char* ptr, const
      MessageLite* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1224,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1225,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1241,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1242,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1243,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1244,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1245,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1246,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1247,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1248,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1249,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1250,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1257,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1259,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1262,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1264,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1268,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1277,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1281,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1300,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1301,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1302,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1303,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1304,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1305,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1306,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1307,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1308,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1309,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1317,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1321,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1324,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1326,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1329,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1338,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1340,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1342,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1349,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1351,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1353,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1360,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1363,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1366,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1373,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1376,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1379,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 5
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - input
    - field_skipper
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - io::CodedInputStream*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1215
    functionDepth: 2
    functionLinenumber: 1215
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 12
    functionsReached:
    - FieldSkipper*::SkipUnknownEnum
    - google::protobuf::internal::WireFormatLite::ReadBytes
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - GOOGLE_LOG
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - google::protobuf::internal::ExtensionSet::AddMessage
    - google::protobuf::internal::WireFormatLite::ReadString
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseFieldWithExtensionInfo(int number,\n                                               bool
      was_packed_on_wire,\n                                               const ExtensionInfo&
      extension,\n                                               io::CodedInputStream*
      input,\n                                               FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1240
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1299
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tag
    - input
    - containing_type
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1393
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1401
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 22
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type,\n                              io::CodedOutputStream*
      unknown_fields)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1407,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1412,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1403
    functionDepth: 4
    functionLinenumber: 1403
    functionLinenumberEnd: 1423
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    - google::protobuf::internal::ExtensionSet::ParseField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetLite(io::CodedInputStream* input,\n
      \                                      ExtensionFinder* extension_finder,\n
      \                                      FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    - Dst: ParseMessageSetItemImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1446
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    - ParseMessageSetItemImpl
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetItemLite(io::CodedInputStream* input,\n
      \                                          ExtensionFinder* extension_finder,\n
      \                                          FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type_id
    - input
    argTypes:
    - int
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1433
    functionName: google::protobuf::internal::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: bool
    signature: bool ParseField(int type_id, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - input
    argTypes:
    - uint32
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1437
    functionName: google::protobuf::internal::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::SkipField
    linkageType: ''
    returnType: bool
    signature: bool SkipField(uint32 tag, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1448
    functionDepth: 4
    functionLinenumber: 1448
    functionLinenumberEnd: 1456
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSet(io::CodedInputStream* input,\n
      \                                  const MessageLite* containing_type,\n                                   std::string*
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1462,1
    - Dst: large::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1463,1
    - Dst: auto::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1465,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1470,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1471,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - start_field_number
    - end_field_number
    - target
    - stream
    argTypes:
    - int
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::ExtensionSet::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
    - is_large
    - large::end
    - flat_begin
    - KeyValue::FirstComparator
    - large::lower_bound
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - auto::second::InternalSerializeFieldWithCachedSizesToArray
    - flat_end
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::_InternalSerialize(int start_field_number,\n
      \                                       int end_field_number, uint8* target,\n
      \                                       io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1482,1
    - Dst: InternalSerializeMessageSetItemWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1487
    functionName: google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - InternalSerializeMessageSetItemWithCachedSizesToArray
    - ForEach
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray(\n
      \   uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1491,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1495
    functionName: google::protobuf::internal::ExtensionSet::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - descriptor
    - result
    argTypes:
    - int
    - FieldDescriptor*
    - Extension**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1500
    functionDepth: 2
    functionLinenumber: 1500
    functionLinenumberEnd: 1507
    functionName: google::protobuf::internal::ExtensionSet::MaybeNewExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 60
    functionsReached:
    - std::tie
    - google::protobuf::internal::ExtensionSet::Insert
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::MaybeNewExtension(int number,\n                                     const
      FieldDescriptor* descriptor,\n                                     Extension**
      result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1514,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1520,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1521,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1522,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1523,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1527,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1528,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1529,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1534,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1536,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1540,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1555
    functionName: ExtensionSet::Extension::Clear()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Clear
    - cpp_type
    - clear
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1519
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1562,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1571,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1572,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1573,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1574,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1575,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1576,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1577,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1586,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1587,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1588,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1589,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1599,1
    - Dst: ToCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1603,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1605,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1612,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1622,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1623,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1624,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1625,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1626,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1627,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1628,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1629,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1630,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1631,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1632,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1641,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1642,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1643,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1644,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1653,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1659,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1660,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1661,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1662,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1663,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1664,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1665,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1666,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1667,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1668,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1672,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1673,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1675,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1685,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1686,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1687,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1688,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1689,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1690,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1691,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 84
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1697
    functionName: ExtensionSet::Extension::ByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ToCachedSize
    - GOOGLE_LOG
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::TagSize
    - real_type
    - google::protobuf::internal::WireFormatLite::MakeTag
    - google::protobuf::internal::WireFormatLite::MessageSize
    - HANDLE_TYPE
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::ByteSize(int number) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1570
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1586
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1621
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1641
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1658
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1685
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1700,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1701,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1706,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1707,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1708,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1709,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1713,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1714,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1715,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1721
    functionName: ExtensionSet::Extension::GetSize() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_LOG
    - HANDLE_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::Extension::GetSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1705
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1727,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1733,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1734,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1735,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1736,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1740,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1741,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1742,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1761
    functionName: ExtensionSet::Extension::Free()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Free()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1732
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1767,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1770,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1777,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1779,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1785
    functionName: ExtensionSet::Extension::IsInitialized() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Get
    - cpp_type
    - IsInitialized
    - size
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Extension::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1788
    functionName: ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1792,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1794,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1801
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 102
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1806,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1804
        line_start: 1804
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1811
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1811
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 11
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: "ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(\n    int
      key) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1815,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1817,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1824
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 102
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1828,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1826
        line_start: 1826
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1833
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1833
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 12
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(int key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1840,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: std::copy_backward
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1847,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1850,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1853,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1835
    functionDepth: 2
    functionLinenumber: 1835
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::ExtensionSet::Insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 18
    functionsReached:
    - large::insert
    - Extension
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - std::copy_backward
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::ExtensionSet::Insert
    - flat_end
    linkageType: ''
    returnType: std::pair<ExtensionSet::Extension*, bool>
    signature: std::pair<ExtensionSet::Extension*, bool> ExtensionSet::Insert(int
      key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1870,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1871,1
    - Dst: Arena::Create<LargeMap>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1874,1
    - Dst: AllocatedData::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1875,1
    - Dst: AllocatedData::large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1877,1
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1880,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1881,1
    - Dst: google::protobuf::internal::ExtensionSet::DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1885,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - minimum_new_capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1892
    functionName: google::protobuf::internal::ExtensionSet::GrowCapacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 12
    functionsReached:
    - is_large
    - Arena::Create<LargeMap>
    - flat_begin
    - AllocatedData::large::insert
    - std::copy
    - google::protobuf::internal::ExtensionSet::DeleteFlatMap
    - PROTOBUF_PREDICT_FALSE
    - Arena::CreateArray<KeyValue>
    - flat_end
    - AllocatedData::large::begin
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::GrowCapacity(size_t minimum_new_capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: large::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1899,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1902,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1909
    functionName: google::protobuf::internal::ExtensionSet::Erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 18
    functionsReached:
    - large::erase
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::copy
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Erase(int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    - Dst: RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1917
    functionName: google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedPrimitiveDefaults
    signature: RepeatedPrimitiveDefaults * RepeatedPrimitiveDefaults::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    - Dst: RepeatedFieldType::RepeatedFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1923
    functionName: google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedFieldType::RepeatedFieldType
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedStringTypeTraits::RepeatedFieldType
    signature: 'RepeatedStringTypeTraits::RepeatedFieldType *

      RepeatedStringTypeTraits::GetDefaultRepeatedField()'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1931,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1932,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1934,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1946,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1951,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1952,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1953,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1955,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1959,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1966,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1970,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1980,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1981,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1982,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1984,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1985,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1986,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1987,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1988,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1989,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2003,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2004,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2015,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2016,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2021,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2028,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2029,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2030,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2031,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2032,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2033,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2034,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2035,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2036,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2037,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2038,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2039,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2040,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2041,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2048,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2049,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2052,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2053,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2059,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2061,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2062,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 86
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 2069
    functionName: "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - real_type
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteGroup
    - WriteMessageToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - HANDLE_TYPE
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1945
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1979
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2003
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2014
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2027
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2048
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2076,1
    - Dst: InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2077,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2082,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2084,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2087,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2091,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2094,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2099,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2103
    functionName: "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - InternalSerializeFieldWithCachedSizesToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - WriteMessageToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2109,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2117,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2122,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2124,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2105
    functionDepth: 1
    functionLinenumber: 2105
    functionLinenumberEnd: 2131
    functionName: ExtensionSet::Extension::MessageSetItemByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ByteSizeLong
    - ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::MessageSetItemByteSize(int number)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2135,1
    - Dst: MessageSetItemByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2139
    functionName: google::protobuf::internal::ExtensionSet::MessageSetByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - MessageSetItemByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::MessageSetByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 12
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 13
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: ExtensionFinder::~ExtensionFinder()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionFinder::~ExtensionFinder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindRegisteredExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - number
    - output
    argTypes:
    - int
    - ExtensionInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GeneratedExtensionFinder::Find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindRegisteredExtension
    linkageType: ''
    returnType: bool
    signature: bool GeneratedExtensionFinder::Find(int number, ExtensionInfo* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:140,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:141,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:142,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::ExtensionSet::RegisterExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_NE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterExtension(const MessageLite* containing_type,\n
      \                                    int number, FieldType type,\n                                     bool
      is_repeated, bool is_packed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - number
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::CallNoArgValidityFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CallNoArgValidityFunc(const void* arg, int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:164,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - is_valid
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - EnumValidityFunc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterEnumExtension(const MessageLite* containing_type,\n
      \                                        int number, FieldType type,\n                                         bool
      is_repeated, bool is_packed,\n                                         EnumValidityFunc*
      is_valid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:176,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - prototype
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Register
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterMessageExtension(const MessageLite* containing_type,\n
      \                                           int number, FieldType type,\n                                            bool
      is_repeated, bool is_packed,\n                                            const
      MessageLite* prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateArray<KeyValue>
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ExtensionSet(Arena* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: Free
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: ExtensionSet::~ExtensionSet()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - DeleteFlatMap
    - Free
    - ForEach
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::~ExtensionSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete[]
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    - Dst: const_cast<ExtensionSet::KeyValue*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - flat
    - flat_capacity
    argTypes:
    - ExtensionSet::KeyValue*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: google::protobuf::internal::ExtensionSet::DeleteFlatMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - const_cast<ExtensionSet::KeyValue*>
    - ::operator delete[]
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::DeleteFlatMap(const ExtensionSet::KeyValue* flat,\n
      \                                uint16 flat_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:229,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: google::protobuf::internal::ExtensionSet::Has
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Has(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: google::protobuf::internal::ExtensionSet::NumExtensions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ForEach
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::NumExtensions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:246,1
    - Dst: Extension*::GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::GetSize
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::ExtensionSize(int number) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:251,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:253,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::ExtensionSet::ExtensionType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_LOG
    linkageType: ''
    returnType: FieldType
    signature: FieldType ExtensionSet::ExtensionType(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:263,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::ExtensionSet::ClearExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::Clear
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ClearExtension(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - EXTENSION
    - ','
    - LABEL
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: GOOGLE_DCHECK_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 114
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_TYPE(EXTENSION, LABEL, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 347
    functionName: PRIMITIVE_ACCESSORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIMITIVE_ACCESSORS(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::ExtensionSet::GetRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::GetRawRepeatedField(int number,\n                                              const
      void* default_value) const"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:376,1
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:381,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:382,1
    - Dst: Arena::CreateMessage<RepeatedField<int32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:385,1
    - Dst: Arena::CreateMessage<RepeatedField<int64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:389,1
    - Dst: Arena::CreateMessage<RepeatedField<uint32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:393,1
    - Dst: Arena::CreateMessage<RepeatedField<uint64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:397,1
    - Dst: Arena::CreateMessage<RepeatedField<double>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:401,1
    - Dst: Arena::CreateMessage<RepeatedField<float>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:405,1
    - Dst: Arena::CreateMessage<RepeatedField<bool>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:409,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:413,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:417,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:421,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - number
    - field_type
    - packed
    - desc
    argTypes:
    - int
    - FieldType
    - bool
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 429
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - Arena::CreateMessage<RepeatedField<uint64>>
    - Arena::CreateMessage<RepeatedField<int32>>
    - Arena::CreateMessage<RepeatedField<uint32>>
    - Arena::CreateMessage<RepeatedField<double>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - static_cast<WireFormatLite::FieldType>
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - Arena::CreateMessage<RepeatedField<int>>
    - Arena::CreateMessage<RepeatedField<bool>>
    - Arena::CreateMessage<RepeatedField<float>>
    - Arena::CreateMessage<RepeatedField<int64>>
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::MutableRawRepeatedField(int number, FieldType
      field_type,\n                                            bool packed,\n                                            const
      FieldDescriptor* desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:434,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void * ExtensionSet::MutableRawRepeatedField(int number)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:445,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::ExtensionSet::GetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetEnum(int number, int default_value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:458,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: google::protobuf::internal::ExtensionSet::SetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - cpp_type
    - GOOGLE_DCHECK_EQ
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetEnum(int number, FieldType type, int value,\n
      \                          const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:470,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:471,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:472,1
    - Dst: Extension*::repeated_enum_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: google::protobuf::internal::ExtensionSet::GetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetRepeatedEnum(int number, int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:477,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:478,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:479,1
    - Dst: Extension*::repeated_enum_value::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - index
    - value
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::ExtensionSet::SetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Set
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SetRepeatedEnum(int number, int index, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:486,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:492,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:494,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:495,1
    - Dst: Extension*::repeated_enum_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - number
    - type
    - packed
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - bool
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: google::protobuf::internal::ExtensionSet::AddEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - Arena::CreateMessage<RepeatedField<int>>
    - GOOGLE_DCHECK_EQ
    - Extension*::repeated_enum_value::Add
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::AddEnum(int number, FieldType type, bool packed,
      int value,\n                           const FieldDescriptor* descriptor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:505,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: "& ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:518,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:522,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::ExtensionSet::MutableString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - cpp_type
    - Arena::Create<std::string>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::MutableString(int number, FieldType type,\n
      \                                        const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:532,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:533,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:534,1
    - Dst: Extension*::repeated_string_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Get
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:539,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:540,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:541,1
    - Dst: Extension*::repeated_string_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Mutable
    linkageType: ''
    returnType: std::string
    signature: std::string * ExtensionSet::MutableRepeatedString(int number, int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:548,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:554,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:556,1
    - Dst: Extension*::repeated_string_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 559
    functionName: google::protobuf::internal::ExtensionSet::AddString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_string_value::Add
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::AddString(int number, FieldType type,\n
      \                                    const FieldDescriptor* descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:566,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:571,1
    - Dst: Extension*::lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 578
    functionName: "& ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::lazymessage_value::GetMessage
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:589,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:594,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:598,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 606
    functionName: google::protobuf::internal::ExtensionSet::MutableMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::MutableMessage(int number, FieldType type,\n
      \                                         const MessageLite& prototype,\n                                          const
      FieldDescriptor* descriptor)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:617,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:620,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:622,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:631,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:633,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:634,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:637,1
    - Dst: Extension*::lazymessage_value::SetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:639,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:648,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:650,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:651,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 656
    functionName: google::protobuf::internal::ExtensionSet::SetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - MessageLite*::GetArena
    - Extension*::lazymessage_value::SetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - MessageLite*::New
    - Extension*::message_value::CheckTypeAndMergeFrom
    - GOOGLE_DCHECK_EQ
    - Own
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetAllocatedMessage(int number, FieldType type,\n
      \                                      const FieldDescriptor* descriptor,\n
      \                                      MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:662,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:666,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:673,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::UnsafeArenaSetAllocatedMessage(\n    int number,
      FieldType type, const FieldDescriptor* descriptor,\n    MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:688,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:693,1
    - Dst: Extension*::lazymessage_value::ReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:696,1
    - Dst: Extension*::message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:706,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:707,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 713
    functionName: google::protobuf::internal::ExtensionSet::ReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - Extension*::lazymessage_value::ReleaseMessage
    - GOOGLE_DCHECK_TYPE
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::message_value::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::ReleaseMessage(int number,\n                                          const
      MessageLite& prototype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:717,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:722,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:725,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::lazymessage_value::UnsafeArenaReleaseMessage
    - google::protobuf::internal::ExtensionSet::Erase
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::UnsafeArenaReleaseMessage(\n    int number,
      const MessageLite& prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:743,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:744,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:745,1
    - Dst: Extension*::repeated_message_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - Extension*::repeated_message_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:750,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:751,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:752,1
    - Dst: Extension*::repeated_message_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Extension*::repeated_message_value::Mutable
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::MutableRepeatedMessage(int number, int
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:760,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:765,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:767,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:772,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:776,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 780
    functionName: google::protobuf::internal::ExtensionSet::AddMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - cpp_type
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_message_value::AddAllocated
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::AddMessage(int number, FieldType type,\n
      \                                     const MessageLite& prototype,\n                                      const
      FieldDescriptor* descriptor)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:790,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:792,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:794,1
    - Dst: Extension*::repeated_int32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:796,1
    - Dst: Extension*::repeated_int64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:799,1
    - Dst: Extension*::repeated_uint32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:802,1
    - Dst: Extension*::repeated_uint64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:805,1
    - Dst: Extension*::repeated_float_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:808,1
    - Dst: Extension*::repeated_double_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:811,1
    - Dst: Extension*::repeated_bool_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:814,1
    - Dst: Extension*::repeated_enum_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:817,1
    - Dst: Extension*::repeated_string_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:820,1
    - Dst: Extension*::repeated_message_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:823,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::ExtensionSet::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::repeated_int64_value::RemoveLast
    - Extension*::repeated_enum_value::RemoveLast
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_string_value::RemoveLast
    - Extension*::repeated_uint32_value::RemoveLast
    - Extension*::repeated_double_value::RemoveLast
    - Extension*::repeated_float_value::RemoveLast
    - GOOGLE_CHECK
    - Extension*::repeated_uint64_value::RemoveLast
    - Extension*::repeated_message_value::RemoveLast
    - Extension*::repeated_bool_value::RemoveLast
    - Extension*::repeated_int32_value::RemoveLast
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::RemoveLast(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:829,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:830,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: Extension*::repeated_message_value::ReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 834
    functionName: google::protobuf::internal::ExtensionSet::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_message_value::ReleaseLast
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::ReleaseLast(int number)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:837,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:839,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:841,1
    - Dst: Extension*::repeated_int32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:843,1
    - Dst: Extension*::repeated_int64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:846,1
    - Dst: Extension*::repeated_uint32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:849,1
    - Dst: Extension*::repeated_uint64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:852,1
    - Dst: Extension*::repeated_float_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:855,1
    - Dst: Extension*::repeated_double_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:858,1
    - Dst: Extension*::repeated_bool_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:861,1
    - Dst: Extension*::repeated_enum_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:864,1
    - Dst: Extension*::repeated_string_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:867,1
    - Dst: Extension*::repeated_message_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:870,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - number
    - index1
    - index2
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 873
    functionName: google::protobuf::internal::ExtensionSet::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_bool_value::SwapElements
    - Extension*::repeated_message_value::SwapElements
    - Extension*::repeated_int64_value::SwapElements
    - Extension*::repeated_string_value::SwapElements
    - Extension*::repeated_enum_value::SwapElements
    - Extension*::repeated_uint64_value::SwapElements
    - GOOGLE_CHECK
    - Extension*::repeated_double_value::SwapElements
    - Extension*::repeated_uint32_value::SwapElements
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_float_value::SwapElements
    - Extension*::repeated_int32_value::SwapElements
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapElements(int number, int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 879
    functionName: google::protobuf::internal::ExtensionSet::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 13
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Clear
    - ForEach
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:907,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: map_::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:910,1
    - Dst: map_::large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:911,1
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:914,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 917
    functionName: google::protobuf::internal::ExtensionSet::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - is_large
    - map_::large::begin
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - flat_begin
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - SizeOfUnion
    - ForEach
    - map_::large::end
    - PROTOBUF_PREDICT_TRUE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::MergeFrom(const ExtensionSet& other)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:924,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:931,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:932,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:933,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:955,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:961,1
    - Dst: RepeatedPtrField*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:967,1
    - Dst: RepeatedPtrField*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:968,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:970,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:974,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:975,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:977,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:991,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:992,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:994,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:998,1
    - Dst: SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1001,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1007,1
    - Dst: lazymessage_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1015,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1016,1
    - Dst: message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1021,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1022,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1026,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1027,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1028,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1031,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1034,1
    - Dst: lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1035,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1040,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1044,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 86
    argCount: 2
    argNames:
    - number
    - ' other_extension'
    argTypes:
    - int
    - Extension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 1055
    functionName: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 13
    functionsReached:
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - Extension*::lazymessage_value::MergeFrom
    - MessageLite*::CheckTypeAndMergeFrom
    - message_value::New
    - New
    - HANDLE_TYPE
    - RepeatedPtrField*::size
    - lazymessage_value::GetMessage
    - SetString
    - GOOGLE_DCHECK_EQ
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - GOOGLE_DCHECK
    - lazymessage_value::New
    - RepeatedPtrField*::Get
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_message_value::AddAllocated
    - Extension*::message_value::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::InternalExtensionMergeFrom(\n    int number, const
      Extension& other_extension)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - REPEATED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 946
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, REPEATED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 990
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1060,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1061,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1062,1
    - Dst: ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1068,1
    - Dst: ExtensionSet*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1069,1
    - Dst: ExtensionSet*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1070,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1071,1
    - Dst: google::protobuf::internal::ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - x
    argTypes:
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1057
    functionDepth: 2
    functionLinenumber: 1057
    functionLinenumberEnd: 1074
    functionName: google::protobuf::internal::ExtensionSet::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MergeFrom
    - ExtensionSet*::GetArena
    - ExtensionSet*::Clear
    - swap
    - ExtensionSet*::MergeFrom
    - GetArena
    - google::protobuf::internal::ExtensionSet::Clear
    - ExtensionSet::MergeFrom
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Swap(ExtensionSet* x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1078,1
    - Dst: ExtensionSet*::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1079,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1088,1
    - Dst: ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1096,1
    - Dst: ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1097,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1098,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1099,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1100,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1101,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1108,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1110,1
    - Dst: ExtensionSet*::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1112,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1118,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1120,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - other
    - number
    argTypes:
    - ExtensionSet*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1125
    functionName: google::protobuf::internal::ExtensionSet::SwapExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - ExtensionSet::FindOrNull
    - ExtensionSet*::Insert
    - Extension*::Clear
    - ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::Insert
    - ExtensionSet*::InternalExtensionMergeFrom
    - ExtensionSet*::GetArena
    - swap
    - GetArena
    - ExtensionSet*::FindOrNull
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - ExtensionSet*::Erase
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapExtension(ExtensionSet* other, int number)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1132,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: KeyValue*::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1140
    functionName: google::protobuf::internal::ExtensionSet::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - KeyValue*::second::IsInitialized
    - flat_begin
    - second::IsInitialized
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1147,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1148,1
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - tag
    - extension_finder
    - field_number
    - extension
    - was_packed_on_wire
    argTypes:
    - uint32
    - ExtensionFinder*
    - int*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromTag(uint32 tag,\n                                            ExtensionFinder*
      extension_finder,\n                                            int* field_number,\n
      \                                           ExtensionInfo* extension,\n                                            bool*
      was_packed_on_wire)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionFinder*::Find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1157,1
    - Dst: google::protobuf::internal::WireTypeForFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: is_packable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - wire_type
    - field_number
    - extension_finder
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - int
    - ExtensionFinder*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1174
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 13
    functionsReached:
    - real_type
    - ExtensionFinder*::Find
    - google::protobuf::internal::WireTypeForFieldType
    - is_packable
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromFieldNumber(\n    int wire_type,
      int field_number, ExtensionFinder* extension_finder,\n    ExtensionInfo* extension,
      bool* was_packed_on_wire)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1182,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1184,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tag
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - uint32
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1189
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             ExtensionFinder* extension_finder,\n                              FieldSkipper*
      field_skipper)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1199,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1201,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1202,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1206
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - internal::InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    - UnknownFieldParse
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseField(uint64 tag, const char* ptr,\n                                     const
      MessageLite* containing_type,\n                                     internal::InternalMetadata*
      metadata,\n                                     internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1213
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItem(\n    const char* ptr, const
      MessageLite* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1224,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1225,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1241,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1242,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1243,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1244,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1245,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1246,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1247,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1248,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1249,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1250,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1257,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1259,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1262,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1264,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1268,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1277,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1281,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1300,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1301,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1302,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1303,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1304,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1305,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1306,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1307,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1308,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1309,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1317,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1321,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1324,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1326,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1329,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1338,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1340,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1342,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1349,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1351,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1353,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1360,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1363,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1366,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1373,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1376,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1379,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 5
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - input
    - field_skipper
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - io::CodedInputStream*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1215
    functionDepth: 2
    functionLinenumber: 1215
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 14
    functionsReached:
    - FieldSkipper*::SkipUnknownEnum
    - google::protobuf::internal::WireFormatLite::ReadBytes
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - GOOGLE_LOG
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - google::protobuf::internal::ExtensionSet::AddMessage
    - google::protobuf::internal::WireFormatLite::ReadString
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseFieldWithExtensionInfo(int number,\n                                               bool
      was_packed_on_wire,\n                                               const ExtensionInfo&
      extension,\n                                               io::CodedInputStream*
      input,\n                                               FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1240
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1299
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tag
    - input
    - containing_type
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1393
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 25
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1401
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 26
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type,\n                              io::CodedOutputStream*
      unknown_fields)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1407,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1412,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1403
    functionDepth: 4
    functionLinenumber: 1403
    functionLinenumberEnd: 1423
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    - google::protobuf::internal::ExtensionSet::ParseField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetLite(io::CodedInputStream* input,\n
      \                                      ExtensionFinder* extension_finder,\n
      \                                      FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    - Dst: ParseMessageSetItemImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1446
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    - ParseMessageSetItemImpl
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetItemLite(io::CodedInputStream* input,\n
      \                                          ExtensionFinder* extension_finder,\n
      \                                          FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type_id
    - input
    argTypes:
    - int
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1433
    functionName: google::protobuf::internal::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: bool
    signature: bool ParseField(int type_id, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - input
    argTypes:
    - uint32
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1437
    functionName: google::protobuf::internal::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::SkipField
    linkageType: ''
    returnType: bool
    signature: bool SkipField(uint32 tag, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1448
    functionDepth: 4
    functionLinenumber: 1448
    functionLinenumberEnd: 1456
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSet(io::CodedInputStream* input,\n
      \                                  const MessageLite* containing_type,\n                                   std::string*
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1462,1
    - Dst: large::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1463,1
    - Dst: auto::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1465,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1470,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1471,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - start_field_number
    - end_field_number
    - target
    - stream
    argTypes:
    - int
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::ExtensionSet::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
    - is_large
    - large::end
    - flat_begin
    - KeyValue::FirstComparator
    - large::lower_bound
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - auto::second::InternalSerializeFieldWithCachedSizesToArray
    - flat_end
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::_InternalSerialize(int start_field_number,\n
      \                                       int end_field_number, uint8* target,\n
      \                                       io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1482,1
    - Dst: InternalSerializeMessageSetItemWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1487
    functionName: google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - InternalSerializeMessageSetItemWithCachedSizesToArray
    - ForEach
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray(\n
      \   uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1491,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1495
    functionName: google::protobuf::internal::ExtensionSet::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - descriptor
    - result
    argTypes:
    - int
    - FieldDescriptor*
    - Extension**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1500
    functionDepth: 2
    functionLinenumber: 1500
    functionLinenumberEnd: 1507
    functionName: google::protobuf::internal::ExtensionSet::MaybeNewExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 70
    functionsReached:
    - std::tie
    - google::protobuf::internal::ExtensionSet::Insert
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::MaybeNewExtension(int number,\n                                     const
      FieldDescriptor* descriptor,\n                                     Extension**
      result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1514,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1520,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1521,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1522,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1523,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1527,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1528,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1529,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1534,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1536,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1540,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1555
    functionName: ExtensionSet::Extension::Clear()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Clear
    - cpp_type
    - clear
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1519
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1562,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1571,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1572,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1573,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1574,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1575,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1576,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1577,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1586,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1587,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1588,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1589,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1599,1
    - Dst: ToCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1603,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1605,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1612,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1622,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1623,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1624,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1625,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1626,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1627,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1628,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1629,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1630,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1631,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1632,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1641,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1642,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1643,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1644,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1653,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1659,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1660,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1661,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1662,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1663,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1664,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1665,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1666,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1667,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1668,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1672,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1673,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1675,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1685,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1686,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1687,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1688,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1689,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1690,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1691,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 84
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1697
    functionName: ExtensionSet::Extension::ByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ToCachedSize
    - GOOGLE_LOG
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::TagSize
    - real_type
    - google::protobuf::internal::WireFormatLite::MakeTag
    - google::protobuf::internal::WireFormatLite::MessageSize
    - HANDLE_TYPE
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::ByteSize(int number) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1570
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1586
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1621
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1641
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1658
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1685
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1700,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1701,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1706,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1707,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1708,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1709,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1713,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1714,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1715,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1721
    functionName: ExtensionSet::Extension::GetSize() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_LOG
    - HANDLE_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::Extension::GetSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1705
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1727,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1733,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1734,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1735,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1736,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1740,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1741,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1742,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1761
    functionName: ExtensionSet::Extension::Free()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Free()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1732
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1767,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1770,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1777,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1779,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1785
    functionName: ExtensionSet::Extension::IsInitialized() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Get
    - cpp_type
    - IsInitialized
    - size
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Extension::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1788
    functionName: ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1792,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1794,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1801
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 119
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1806,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1804
        line_start: 1804
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1811
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1811
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 13
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: "ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(\n    int
      key) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1815,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1817,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1824
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 119
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1828,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1826
        line_start: 1826
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1833
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1833
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 14
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(int key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1840,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: std::copy_backward
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1847,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1850,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1853,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1835
    functionDepth: 2
    functionLinenumber: 1835
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::ExtensionSet::Insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 21
    functionsReached:
    - large::insert
    - Extension
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - std::copy_backward
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::ExtensionSet::Insert
    - flat_end
    linkageType: ''
    returnType: std::pair<ExtensionSet::Extension*, bool>
    signature: std::pair<ExtensionSet::Extension*, bool> ExtensionSet::Insert(int
      key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1870,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1871,1
    - Dst: Arena::Create<LargeMap>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1874,1
    - Dst: AllocatedData::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1875,1
    - Dst: AllocatedData::large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1877,1
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1880,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1881,1
    - Dst: google::protobuf::internal::ExtensionSet::DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1885,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - minimum_new_capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1892
    functionName: google::protobuf::internal::ExtensionSet::GrowCapacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 14
    functionsReached:
    - is_large
    - Arena::Create<LargeMap>
    - flat_begin
    - AllocatedData::large::insert
    - std::copy
    - google::protobuf::internal::ExtensionSet::DeleteFlatMap
    - PROTOBUF_PREDICT_FALSE
    - Arena::CreateArray<KeyValue>
    - flat_end
    - AllocatedData::large::begin
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::GrowCapacity(size_t minimum_new_capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: large::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1899,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1902,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1909
    functionName: google::protobuf::internal::ExtensionSet::Erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 21
    functionsReached:
    - large::erase
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::copy
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Erase(int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    - Dst: RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1917
    functionName: google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedPrimitiveDefaults
    signature: RepeatedPrimitiveDefaults * RepeatedPrimitiveDefaults::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    - Dst: RepeatedFieldType::RepeatedFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1923
    functionName: google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedFieldType::RepeatedFieldType
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedStringTypeTraits::RepeatedFieldType
    signature: 'RepeatedStringTypeTraits::RepeatedFieldType *

      RepeatedStringTypeTraits::GetDefaultRepeatedField()'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1931,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1932,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1934,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1946,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1951,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1952,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1953,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1955,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1959,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1966,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1970,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1980,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1981,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1982,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1984,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1985,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1986,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1987,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1988,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1989,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2003,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2004,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2015,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2016,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2021,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2028,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2029,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2030,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2031,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2032,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2033,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2034,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2035,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2036,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2037,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2038,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2039,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2040,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2041,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2048,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2049,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2052,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2053,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2059,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2061,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2062,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 86
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 2069
    functionName: "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - real_type
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteGroup
    - WriteMessageToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - HANDLE_TYPE
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1945
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1979
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2003
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2014
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2027
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2048
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2076,1
    - Dst: InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2077,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2082,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2084,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2087,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2091,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2094,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2099,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2103
    functionName: "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - InternalSerializeFieldWithCachedSizesToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - WriteMessageToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2109,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2117,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2122,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2124,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2105
    functionDepth: 1
    functionLinenumber: 2105
    functionLinenumberEnd: 2131
    functionName: ExtensionSet::Extension::MessageSetItemByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ByteSizeLong
    - ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::MessageSetItemByteSize(int number)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2135,1
    - Dst: MessageSetItemByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2139
    functionName: google::protobuf::internal::ExtensionSet::MessageSetByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - MessageSetItemByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::MessageSetByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 14
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:60,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::real_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 15
    functionsReached:
    - static_cast<WireFormatLite::FieldType>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: WireFormatLite::FieldType
    signature: WireFormatLite::FieldType real_type(FieldType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    - Dst: google::protobuf::internal::real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::real_type
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: WireFormatLite::CppType cpp_type(FieldType type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: bool is_packable(WireFormatLite::WireType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - std::pair<const MessageLite*, int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: operator()(const std::pair<const MessageLite*, int>& p) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::size_t
    signature: std::size_t operator()(const std::pair<const MessageLite*, int>& p)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: ExtensionRegistry::ExtensionRegistry
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:104,1
    - Dst: InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:106,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:107,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:108,1
    - Dst: MessageLite*::GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - containing_type
    - number
    - info
    argTypes:
    - MessageLite*
    - int
    - ExtensionInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ExtensionRegistry::ExtensionRegistry
    - GOOGLE_LOG
    - std::make_pair
    - google::protobuf::internal::OnShutdownDelete
    - InsertIfNotPresent
    - MessageLite*::GetTypeName
    linkageType: ''
    returnType: void
    signature: "void Register(const MessageLite* containing_type, int number,\n              ExtensionInfo
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:118,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - containing_type
    - number
    argTypes:
    - MessageLite*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::FindRegisteredExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - FindOrNull
    linkageType: ''
    returnType: ExtensionInfo
    signature: "ExtensionInfo * FindRegisteredExtension(const MessageLite* containing_type,\n
      \                                            int number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: ExtensionFinder::~ExtensionFinder()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionFinder::~ExtensionFinder()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindRegisteredExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - number
    - output
    argTypes:
    - int
    - ExtensionInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GeneratedExtensionFinder::Find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindRegisteredExtension
    linkageType: ''
    returnType: bool
    signature: bool GeneratedExtensionFinder::Find(int number, ExtensionInfo* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:140,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:141,1
    - Dst: GOOGLE_CHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:142,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::ExtensionSet::RegisterExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_NE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterExtension(const MessageLite* containing_type,\n
      \                                    int number, FieldType type,\n                                     bool
      is_repeated, bool is_packed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - number
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::CallNoArgValidityFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CallNoArgValidityFunc(const void* arg, int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:164,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - is_valid
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - EnumValidityFunc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Register
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterEnumExtension(const MessageLite* containing_type,\n
      \                                        int number, FieldType type,\n                                         bool
      is_repeated, bool is_packed,\n                                         EnumValidityFunc*
      is_valid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:176,1
    - Dst: Register
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - containing_type
    - number
    - type
    - is_repeated
    - is_packed
    - prototype
    argTypes:
    - MessageLite*
    - int
    - FieldType
    - bool
    - bool
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Register
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::RegisterMessageExtension(const MessageLite* containing_type,\n
      \                                           int number, FieldType type,\n                                            bool
      is_repeated, bool is_packed,\n                                            const
      MessageLite* prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Arena::CreateArray<KeyValue>
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ExtensionSet(Arena* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: Free
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:198,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:199,1
    - Dst: DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: ExtensionSet::~ExtensionSet()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - DeleteFlatMap
    - Free
    - ForEach
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::~ExtensionSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete[]
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    - Dst: const_cast<ExtensionSet::KeyValue*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - flat
    - flat_capacity
    argTypes:
    - ExtensionSet::KeyValue*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: google::protobuf::internal::ExtensionSet::DeleteFlatMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - const_cast<ExtensionSet::KeyValue*>
    - ::operator delete[]
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::DeleteFlatMap(const ExtensionSet::KeyValue* flat,\n
      \                                uint16 flat_capacity)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:229,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: google::protobuf::internal::ExtensionSet::Has
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Has(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: google::protobuf::internal::ExtensionSet::NumExtensions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - ForEach
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::NumExtensions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:246,1
    - Dst: Extension*::GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::ExtensionSet::ExtensionSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::GetSize
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::ExtensionSize(int number) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:251,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:253,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::ExtensionSet::ExtensionType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_LOG
    linkageType: ''
    returnType: FieldType
    signature: FieldType ExtensionSet::ExtensionType(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:263,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::ExtensionSet::ClearExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::Clear
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ClearExtension(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - EXTENSION
    - ','
    - LABEL
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: GOOGLE_DCHECK_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 133
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_TYPE(EXTENSION, LABEL, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 347
    functionName: PRIMITIVE_ACCESSORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIMITIVE_ACCESSORS(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::ExtensionSet::GetRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::GetRawRepeatedField(int number,\n                                              const
      void* default_value) const"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:376,1
    - Dst: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:381,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:382,1
    - Dst: Arena::CreateMessage<RepeatedField<int32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:385,1
    - Dst: Arena::CreateMessage<RepeatedField<int64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:389,1
    - Dst: Arena::CreateMessage<RepeatedField<uint32>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:393,1
    - Dst: Arena::CreateMessage<RepeatedField<uint64>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:397,1
    - Dst: Arena::CreateMessage<RepeatedField<double>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:401,1
    - Dst: Arena::CreateMessage<RepeatedField<float>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:405,1
    - Dst: Arena::CreateMessage<RepeatedField<bool>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:409,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:413,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:417,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:421,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - number
    - field_type
    - packed
    - desc
    argTypes:
    - int
    - FieldType
    - bool
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 429
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - Arena::CreateMessage<RepeatedField<uint64>>
    - Arena::CreateMessage<RepeatedField<int32>>
    - Arena::CreateMessage<RepeatedField<uint32>>
    - Arena::CreateMessage<RepeatedField<double>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - static_cast<WireFormatLite::FieldType>
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - Arena::CreateMessage<RepeatedField<int>>
    - Arena::CreateMessage<RepeatedField<bool>>
    - Arena::CreateMessage<RepeatedField<float>>
    - Arena::CreateMessage<RepeatedField<int64>>
    linkageType: ''
    returnType: void
    signature: "void * ExtensionSet::MutableRawRepeatedField(int number, FieldType
      field_type,\n                                            bool packed,\n                                            const
      FieldDescriptor* desc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:434,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void * ExtensionSet::MutableRawRepeatedField(int number)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:445,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::ExtensionSet::GetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetEnum(int number, int default_value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:458,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:460,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: google::protobuf::internal::ExtensionSet::SetEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - cpp_type
    - GOOGLE_DCHECK_EQ
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetEnum(int number, FieldType type, int value,\n
      \                          const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:470,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:471,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:472,1
    - Dst: Extension*::repeated_enum_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 474
    functionName: google::protobuf::internal::ExtensionSet::GetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::GetRepeatedEnum(int number, int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:477,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:478,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:479,1
    - Dst: Extension*::repeated_enum_value::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - index
    - value
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::ExtensionSet::SetRepeatedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_enum_value::Set
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SetRepeatedEnum(int number, int index, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:486,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:488,1
    - Dst: Arena::CreateMessage<RepeatedField<int>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:492,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:494,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:495,1
    - Dst: Extension*::repeated_enum_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - number
    - type
    - packed
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - bool
    - int
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: google::protobuf::internal::ExtensionSet::AddEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - Arena::CreateMessage<RepeatedField<int>>
    - GOOGLE_DCHECK_EQ
    - Extension*::repeated_enum_value::Add
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::AddEnum(int number, FieldType type, bool packed,
      int value,\n                           const FieldDescriptor* descriptor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:505,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 513
    functionName: "& ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetString(\n    int number, const std::string&
      default_value) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:518,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:520,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:522,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::ExtensionSet::MutableString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - cpp_type
    - Arena::Create<std::string>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::MutableString(int number, FieldType type,\n
      \                                        const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:532,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:533,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:534,1
    - Dst: Extension*::repeated_string_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Get
    linkageType: ''
    returnType: std::string
    signature: "std::string & ExtensionSet::GetRepeatedString(int number,\n                                                   int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:539,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:540,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:541,1
    - Dst: Extension*::repeated_string_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_string_value::Mutable
    linkageType: ''
    returnType: std::string
    signature: std::string * ExtensionSet::MutableRepeatedString(int number, int index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:548,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:550,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<std::string>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:554,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:556,1
    - Dst: Extension*::repeated_string_value::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - number
    - type
    - descriptor
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 559
    functionName: google::protobuf::internal::ExtensionSet::AddString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_string_value::Add
    - Arena::CreateMessage<RepeatedPtrField<std::string>>
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::string
    signature: "std::string * ExtensionSet::AddString(int number, FieldType type,\n
      \                                    const FieldDescriptor* descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:566,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:571,1
    - Dst: Extension*::lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - number
    - ' default_value'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 578
    functionName: "& ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - FindOrNull
    - GOOGLE_DCHECK_TYPE
    - Extension*::lazymessage_value::GetMessage
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetMessage(\n    int number, const MessageLite&
      default_value) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:589,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:591,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:594,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:598,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 606
    functionName: google::protobuf::internal::ExtensionSet::MutableMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::MutableMessage(int number, FieldType type,\n
      \                                         const MessageLite& prototype,\n                                          const
      FieldDescriptor* descriptor)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:617,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:620,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:622,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:624,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:631,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:633,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:634,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:637,1
    - Dst: Extension*::lazymessage_value::SetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:639,1
    - Dst: Own
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:648,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:650,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:651,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 656
    functionName: google::protobuf::internal::ExtensionSet::SetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - MessageLite*::GetArena
    - Extension*::lazymessage_value::SetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - MessageLite*::New
    - Extension*::message_value::CheckTypeAndMergeFrom
    - GOOGLE_DCHECK_EQ
    - Own
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetAllocatedMessage(int number, FieldType type,\n
      \                                      const FieldDescriptor* descriptor,\n
      \                                      MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ClearExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:662,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:666,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:668,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:673,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - number
    - type
    - descriptor
    - message
    argTypes:
    - int
    - FieldType
    - FieldDescriptor*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - Extension*::lazymessage_value::UnsafeArenaSetAllocatedMessage
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - google::protobuf::internal::ExtensionSet::ClearExtension
    - GOOGLE_DCHECK_TYPE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::UnsafeArenaSetAllocatedMessage(\n    int number,
      FieldType type, const FieldDescriptor* descriptor,\n    MessageLite* message)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:688,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:693,1
    - Dst: Extension*::lazymessage_value::ReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:696,1
    - Dst: Extension*::message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:706,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:707,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 713
    functionName: google::protobuf::internal::ExtensionSet::ReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - Extension*::lazymessage_value::ReleaseMessage
    - GOOGLE_DCHECK_TYPE
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::message_value::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::ReleaseMessage(int number,\n                                          const
      MessageLite& prototype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:717,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:722,1
    - Dst: Extension*::lazymessage_value::UnsafeArenaReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:725,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - number
    - ' prototype'
    argTypes:
    - int
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::lazymessage_value::UnsafeArenaReleaseMessage
    - google::protobuf::internal::ExtensionSet::Erase
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::UnsafeArenaReleaseMessage(\n    int number,
      const MessageLite& prototype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:743,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:744,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:745,1
    - Dst: Extension*::repeated_message_value::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - FindOrNull
    - Extension*::repeated_message_value::Get
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite & ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
      index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:750,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:751,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:752,1
    - Dst: Extension*::repeated_message_value::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - number
    - index
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - Extension*::repeated_message_value::Mutable
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - GOOGLE_DCHECK_TYPE
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::MutableRepeatedMessage(int number, int
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:760,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:762,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:765,1
    - Dst: GOOGLE_DCHECK_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:767,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:772,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:776,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - number
    - type
    - ' prototype'
    - descriptor
    argTypes:
    - int
    - FieldType
    - MessageLite
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 780
    functionName: google::protobuf::internal::ExtensionSet::AddMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - cpp_type
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - GOOGLE_DCHECK_TYPE
    - Extension*::repeated_message_value::AddAllocated
    - GOOGLE_DCHECK_EQ
    - New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * ExtensionSet::AddMessage(int number, FieldType type,\n
      \                                     const MessageLite& prototype,\n                                      const
      FieldDescriptor* descriptor)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:790,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:792,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:794,1
    - Dst: Extension*::repeated_int32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:796,1
    - Dst: Extension*::repeated_int64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:799,1
    - Dst: Extension*::repeated_uint32_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:802,1
    - Dst: Extension*::repeated_uint64_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:805,1
    - Dst: Extension*::repeated_float_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:808,1
    - Dst: Extension*::repeated_double_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:811,1
    - Dst: Extension*::repeated_bool_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:814,1
    - Dst: Extension*::repeated_enum_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:817,1
    - Dst: Extension*::repeated_string_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:820,1
    - Dst: Extension*::repeated_message_value::RemoveLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:823,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::ExtensionSet::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Extension*::repeated_int64_value::RemoveLast
    - Extension*::repeated_enum_value::RemoveLast
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_string_value::RemoveLast
    - Extension*::repeated_uint32_value::RemoveLast
    - Extension*::repeated_double_value::RemoveLast
    - Extension*::repeated_float_value::RemoveLast
    - GOOGLE_CHECK
    - Extension*::repeated_uint64_value::RemoveLast
    - Extension*::repeated_message_value::RemoveLast
    - Extension*::repeated_bool_value::RemoveLast
    - Extension*::repeated_int32_value::RemoveLast
    - google::protobuf::internal::ExtensionSet::FindOrNull
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::RemoveLast(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:829,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:830,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:832,1
    - Dst: Extension*::repeated_message_value::ReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 834
    functionName: google::protobuf::internal::ExtensionSet::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_CHECK
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_message_value::ReleaseLast
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * ExtensionSet::ReleaseLast(int number)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:837,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:839,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:841,1
    - Dst: Extension*::repeated_int32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:843,1
    - Dst: Extension*::repeated_int64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:846,1
    - Dst: Extension*::repeated_uint32_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:849,1
    - Dst: Extension*::repeated_uint64_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:852,1
    - Dst: Extension*::repeated_float_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:855,1
    - Dst: Extension*::repeated_double_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:858,1
    - Dst: Extension*::repeated_bool_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:861,1
    - Dst: Extension*::repeated_enum_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:864,1
    - Dst: Extension*::repeated_string_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:867,1
    - Dst: Extension*::repeated_message_value::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:870,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - number
    - index1
    - index2
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 873
    functionName: google::protobuf::internal::ExtensionSet::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - Extension*::repeated_bool_value::SwapElements
    - Extension*::repeated_message_value::SwapElements
    - Extension*::repeated_int64_value::SwapElements
    - Extension*::repeated_string_value::SwapElements
    - Extension*::repeated_enum_value::SwapElements
    - Extension*::repeated_uint64_value::SwapElements
    - GOOGLE_CHECK
    - Extension*::repeated_double_value::SwapElements
    - Extension*::repeated_uint32_value::SwapElements
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - Extension*::repeated_float_value::SwapElements
    - Extension*::repeated_int32_value::SwapElements
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapElements(int number, int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 879
    functionName: google::protobuf::internal::ExtensionSet::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Clear
    - ForEach
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Clear()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:897,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - it_xs
    - end_xs
    - it_ys
    - end_ys
    argTypes:
    - ItX
    - ItX
    - ItY
    - ItY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 900
    functionName: google::protobuf::internal::SizeOfUnion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - std::distance
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfUnion(ItX it_xs, ItX end_xs, ItY it_ys, ItY end_ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:904,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:905,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:906,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:907,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: SizeOfUnion
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:909,1
    - Dst: map_::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:910,1
    - Dst: map_::large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:911,1
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:914,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 903
    functionDepth: 2
    functionLinenumber: 903
    functionLinenumberEnd: 917
    functionName: google::protobuf::internal::ExtensionSet::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - is_large
    - map_::large::begin
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - flat_begin
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - SizeOfUnion
    - ForEach
    - map_::large::end
    - PROTOBUF_PREDICT_TRUE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::MergeFrom(const ExtensionSet& other)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:924,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:931,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:932,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:933,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:955,1
    - Dst: Arena::CreateMessage<RepeatedPtrField<MessageLite>>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:961,1
    - Dst: RepeatedPtrField*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:967,1
    - Dst: RepeatedPtrField*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:968,1
    - Dst: reinterpret_cast<internal::RepeatedPtrFieldBase*>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:970,1
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:974,1
    - Dst: Extension*::repeated_message_value::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:975,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:977,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:991,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:992,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:994,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:998,1
    - Dst: SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1001,1
    - Dst: google::protobuf::internal::ExtensionSet::MaybeNewExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1007,1
    - Dst: lazymessage_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1015,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1016,1
    - Dst: message_value::New
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1021,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1022,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1026,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1027,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1028,1
    - Dst: Extension*::lazymessage_value::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1031,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1034,1
    - Dst: lazymessage_value::GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1035,1
    - Dst: Extension*::lazymessage_value::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1040,1
    - Dst: Extension*::message_value::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1044,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 86
    argCount: 2
    argNames:
    - number
    - ' other_extension'
    argTypes:
    - int
    - Extension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 919
    functionDepth: 2
    functionLinenumber: 919
    functionLinenumberEnd: 1055
    functionName: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 15
    functionsReached:
    - Arena::CreateMessage<RepeatedPtrField<MessageLite>>
    - reinterpret_cast<internal::RepeatedPtrFieldBase*>
    - Extension*::lazymessage_value::MergeFrom
    - MessageLite*::CheckTypeAndMergeFrom
    - message_value::New
    - New
    - HANDLE_TYPE
    - RepeatedPtrField*::size
    - lazymessage_value::GetMessage
    - SetString
    - GOOGLE_DCHECK_EQ
    - Extension*::lazymessage_value::MutableMessage
    - cpp_type
    - GOOGLE_DCHECK
    - lazymessage_value::New
    - RepeatedPtrField*::Get
    - google::protobuf::internal::ExtensionSet::MaybeNewExtension
    - Extension*::repeated_message_value::AddAllocated
    - Extension*::message_value::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::InternalExtensionMergeFrom(\n    int number, const
      Extension& other_extension)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - REPEATED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 946
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, REPEATED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 990
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE, CAMELCASE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1058,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1060,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1061,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1062,1
    - Dst: ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1068,1
    - Dst: ExtensionSet*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1069,1
    - Dst: ExtensionSet*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1070,1
    - Dst: google::protobuf::internal::ExtensionSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1071,1
    - Dst: google::protobuf::internal::ExtensionSet::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - x
    argTypes:
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1057
    functionDepth: 2
    functionLinenumber: 1057
    functionLinenumberEnd: 1074
    functionName: google::protobuf::internal::ExtensionSet::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::MergeFrom
    - ExtensionSet*::GetArena
    - ExtensionSet*::Clear
    - swap
    - ExtensionSet*::MergeFrom
    - GetArena
    - google::protobuf::internal::ExtensionSet::Clear
    - ExtensionSet::MergeFrom
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Swap(ExtensionSet* x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1078,1
    - Dst: ExtensionSet*::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1079,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1086,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1088,1
    - Dst: ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1096,1
    - Dst: ExtensionSet::FindOrNull
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1097,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1098,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1099,1
    - Dst: Extension*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1100,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1101,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1107,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1108,1
    - Dst: google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1110,1
    - Dst: ExtensionSet*::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1112,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1117,1
    - Dst: ExtensionSet*::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1118,1
    - Dst: ExtensionSet*::InternalExtensionMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1120,1
    - Dst: google::protobuf::internal::ExtensionSet::Erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - other
    - number
    argTypes:
    - ExtensionSet*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1125
    functionName: google::protobuf::internal::ExtensionSet::SwapExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::Erase
    - ExtensionSet::FindOrNull
    - ExtensionSet*::Insert
    - Extension*::Clear
    - ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
    - google::protobuf::internal::ExtensionSet::Insert
    - ExtensionSet*::InternalExtensionMergeFrom
    - ExtensionSet*::GetArena
    - swap
    - GetArena
    - ExtensionSet*::FindOrNull
    - google::protobuf::internal::ExtensionSet::FindOrNull
    - ExtensionSet*::Erase
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::SwapExtension(ExtensionSet* other, int number)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1130,1
    - Dst: second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1132,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1136,1
    - Dst: KeyValue*::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1140
    functionName: google::protobuf::internal::ExtensionSet::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - is_large
    - KeyValue*::second::IsInitialized
    - flat_begin
    - second::IsInitialized
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1147,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1148,1
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - tag
    - extension_finder
    - field_number
    - extension
    - was_packed_on_wire
    argTypes:
    - uint32
    - ExtensionFinder*
    - int*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromTag(uint32 tag,\n                                            ExtensionFinder*
      extension_finder,\n                                            int* field_number,\n
      \                                           ExtensionInfo* extension,\n                                            bool*
      was_packed_on_wire)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionFinder*::Find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1157,1
    - Dst: google::protobuf::internal::WireTypeForFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1162,1
    - Dst: is_packable
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - wire_type
    - field_number
    - extension_finder
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - int
    - ExtensionFinder*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1174
    functionName: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 15
    functionsReached:
    - real_type
    - ExtensionFinder*::Find
    - google::protobuf::internal::WireTypeForFieldType
    - is_packable
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::FindExtensionInfoFromFieldNumber(\n    int wire_type,
      int field_number, ExtensionFinder* extension_finder,\n    ExtensionInfo* extension,
      bool* was_packed_on_wire)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1182,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1184,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tag
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - uint32
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1189
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 28
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             ExtensionFinder* extension_finder,\n                              FieldSkipper*
      field_skipper)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1199,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1201,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1202,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1206
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 28
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    - internal::InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
    - UnknownFieldParse
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseField(uint64 tag, const char* ptr,\n                                     const
      MessageLite* containing_type,\n                                     internal::InternalMetadata*
      metadata,\n                                     internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1213
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItem(\n    const char* ptr, const
      MessageLite* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1224,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1225,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1241,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1242,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1243,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1244,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1245,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1246,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1247,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1248,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1249,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1250,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1257,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1259,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1262,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1264,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1268,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1277,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1281,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1300,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1301,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1302,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1303,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1304,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1305,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1306,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1307,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1308,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1309,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1317,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1321,1
    - Dst: FieldSkipper*::SkipUnknownEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1324,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1326,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1329,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1338,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1340,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1342,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1349,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1351,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1353,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1360,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1363,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1366,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1373,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1376,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1379,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 88
    argCount: 5
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - input
    - field_skipper
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - io::CodedInputStream*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1215
    functionDepth: 2
    functionLinenumber: 1215
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 16
    functionsReached:
    - FieldSkipper*::SkipUnknownEnum
    - google::protobuf::internal::WireFormatLite::ReadBytes
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - GOOGLE_LOG
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - google::protobuf::internal::ExtensionSet::AddMessage
    - google::protobuf::internal::WireFormatLite::ReadString
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseFieldWithExtensionInfo(int number,\n                                               bool
      was_packed_on_wire,\n                                               const ExtensionInfo&
      extension,\n                                               io::CodedInputStream*
      input,\n                                               FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1240
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPP_LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1299
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tag
    - input
    - containing_type
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1393
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 29
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - uint32
    - io::CodedInputStream*
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1401
    functionName: google::protobuf::internal::ExtensionSet::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 30
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input,\n
      \                             const MessageLite* containing_type,\n                              io::CodedOutputStream*
      unknown_fields)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1407,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1412,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1403
    functionDepth: 4
    functionLinenumber: 1403
    functionLinenumberEnd: 1423
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    - google::protobuf::internal::ExtensionSet::ParseField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetLite(io::CodedInputStream* input,\n
      \                                      ExtensionFinder* extension_finder,\n
      \                                      FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    - Dst: FieldSkipper*::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    - Dst: ParseMessageSetItemImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - input
    - extension_finder
    - field_skipper
    argTypes:
    - io::CodedInputStream*
    - ExtensionFinder*
    - FieldSkipper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1446
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseField
    - ParseMessageSetItemImpl
    - FieldSkipper*::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSetItemLite(io::CodedInputStream* input,\n
      \                                          ExtensionFinder* extension_finder,\n
      \                                          FieldSkipper* field_skipper)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type_id
    - input
    argTypes:
    - int
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1433
    functionName: google::protobuf::internal::ParseField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: bool
    signature: bool ParseField(int type_id, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - input
    argTypes:
    - uint32
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1437
    functionName: google::protobuf::internal::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::SkipField
    linkageType: ''
    returnType: bool
    signature: bool SkipField(uint32 tag, io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ParseMessageSetLite
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - containing_type
    - unknown_fields
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1448
    functionDepth: 4
    functionLinenumber: 1448
    functionLinenumberEnd: 1456
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::ParseMessageSet(io::CodedInputStream* input,\n
      \                                  const MessageLite* containing_type,\n                                   std::string*
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1461,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1462,1
    - Dst: large::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1463,1
    - Dst: auto::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1465,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1470,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1471,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1472,1
    - Dst: KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - start_field_number
    - end_field_number
    - target
    - stream
    argTypes:
    - int
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::ExtensionSet::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - KeyValue*::second::InternalSerializeFieldWithCachedSizesToArray
    - is_large
    - large::end
    - flat_begin
    - KeyValue::FirstComparator
    - large::lower_bound
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - auto::second::InternalSerializeFieldWithCachedSizesToArray
    - flat_end
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::_InternalSerialize(int start_field_number,\n
      \                                       int end_field_number, uint8* target,\n
      \                                       io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1482,1
    - Dst: InternalSerializeMessageSetItemWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1487
    functionName: google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - InternalSerializeMessageSetItemWithCachedSizesToArray
    - ForEach
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray(\n
      \   uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1491,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1495
    functionName: google::protobuf::internal::ExtensionSet::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - number
    - descriptor
    - result
    argTypes:
    - int
    - FieldDescriptor*
    - Extension**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1500
    functionDepth: 2
    functionLinenumber: 1500
    functionLinenumberEnd: 1507
    functionName: google::protobuf::internal::ExtensionSet::MaybeNewExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 80
    functionsReached:
    - std::tie
    - google::protobuf::internal::ExtensionSet::Insert
    linkageType: ''
    returnType: bool
    signature: "bool ExtensionSet::MaybeNewExtension(int number,\n                                     const
      FieldDescriptor* descriptor,\n                                     Extension**
      result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1514,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1520,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1521,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1522,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1523,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1527,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1528,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1529,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1534,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1536,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1540,1
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1555
    functionName: ExtensionSet::Extension::Clear()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Clear
    - cpp_type
    - clear
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1519
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1562,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1571,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1572,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1573,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1574,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1575,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1576,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1577,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1586,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1587,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1588,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1589,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1599,1
    - Dst: ToCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1603,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1605,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1606,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1610,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1612,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1622,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1623,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1624,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1625,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1626,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1627,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1628,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1629,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1630,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1631,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1632,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1641,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1642,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1643,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1644,1
    - Dst: google::protobuf::internal::WireFormatLite::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1652,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1653,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1659,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1660,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1661,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1662,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1663,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1664,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1665,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1666,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1667,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1668,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1672,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1673,1
    - Dst: google::protobuf::internal::WireFormatLite::MessageSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1675,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1685,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1686,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1687,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1688,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1689,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1690,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1691,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 84
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1697
    functionName: ExtensionSet::Extension::ByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ToCachedSize
    - GOOGLE_LOG
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::TagSize
    - real_type
    - google::protobuf::internal::WireFormatLite::MakeTag
    - google::protobuf::internal::WireFormatLite::MessageSize
    - HANDLE_TYPE
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::ByteSize(int number) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1570
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1586
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1621
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1641
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1658
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1685
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1700,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1701,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1706,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1707,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1708,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1709,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1713,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1714,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1715,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1721
    functionName: ExtensionSet::Extension::GetSize() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - GOOGLE_DCHECK
    - GOOGLE_LOG
    - HANDLE_TYPE
    linkageType: ''
    returnType: int
    signature: int ExtensionSet::Extension::GetSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1705
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1727,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1733,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1734,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1735,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1736,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1740,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1741,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1742,1
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1761
    functionName: ExtensionSet::Extension::Free()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - cpp_type
    - HANDLE_TYPE
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Extension::Free()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1732
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, LOWERCASE)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1767,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1770,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1777,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1779,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1785
    functionName: ExtensionSet::Extension::IsInitialized() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - Get
    - cpp_type
    - IsInitialized
    - size
    linkageType: ''
    returnType: bool
    signature: bool ExtensionSet::Extension::IsInitialized() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1788
    functionName: ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1791,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1792,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1794,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1801
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 136
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1805,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1806,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1804
        line_start: 1804
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1811
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1811
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 15
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: "ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(\n    int
      key) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1814,1
    - Dst: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1815,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1817,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1824
    functionName: google::protobuf::internal::ExtensionSet::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 136
    functionsReached:
    - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNull(int key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1827,1
    - Dst: large::find
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1828,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts:
    - condition: (is_large())
      pos:
        line_end: 1826
        line_start: 1826
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    constantsTouched: []
    func_position:
      end: 1833
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1833
    functionName: google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 16
    functionsReached:
    - large::end
    - large::find
    - is_large
    - assert
    linkageType: ''
    returnType: ExtensionSet::Extension
    signature: ExtensionSet::Extension * ExtensionSet::FindOrNullInLargeMap(int key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1836,1
    - Dst: large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1837,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1840,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1842,1
    - Dst: std::copy_backward
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1847,1
    - Dst: Extension
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1850,1
    - Dst: google::protobuf::internal::ExtensionSet::GrowCapacity
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1853,1
    - Dst: google::protobuf::internal::ExtensionSet::Insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1835
    functionDepth: 2
    functionLinenumber: 1835
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::ExtensionSet::Insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 24
    functionsReached:
    - large::insert
    - Extension
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - google::protobuf::internal::ExtensionSet::GrowCapacity
    - std::copy_backward
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::ExtensionSet::Insert
    - flat_end
    linkageType: ''
    returnType: std::pair<ExtensionSet::Extension*, bool>
    signature: std::pair<ExtensionSet::Extension*, bool> ExtensionSet::Insert(int
      key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1858,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1870,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1871,1
    - Dst: Arena::Create<LargeMap>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1874,1
    - Dst: AllocatedData::large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1875,1
    - Dst: AllocatedData::large::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1877,1
    - Dst: Arena::CreateArray<KeyValue>
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1880,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1881,1
    - Dst: google::protobuf::internal::ExtensionSet::DeleteFlatMap
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1885,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - minimum_new_capacity
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1892
    functionName: google::protobuf::internal::ExtensionSet::GrowCapacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 16
    functionsReached:
    - is_large
    - Arena::Create<LargeMap>
    - flat_begin
    - AllocatedData::large::insert
    - std::copy
    - google::protobuf::internal::ExtensionSet::DeleteFlatMap
    - PROTOBUF_PREDICT_FALSE
    - Arena::CreateArray<KeyValue>
    - flat_end
    - AllocatedData::large::begin
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::GrowCapacity(size_t minimum_new_capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1898,1
    - Dst: large::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1899,1
    - Dst: flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1902,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: KeyValue::FirstComparator
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1904,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1897
    functionDepth: 0
    functionLinenumber: 1897
    functionLinenumberEnd: 1909
    functionName: google::protobuf::internal::ExtensionSet::Erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 24
    functionsReached:
    - large::erase
    - is_large
    - flat_begin
    - KeyValue::FirstComparator
    - std::copy
    - std::lower_bound
    - PROTOBUF_PREDICT_FALSE
    - flat_end
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::Erase(int key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    - Dst: RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1917
    functionName: google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedPrimitiveDefaults::RepeatedPrimitiveDefaults
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedPrimitiveDefaults
    signature: RepeatedPrimitiveDefaults * RepeatedPrimitiveDefaults::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    - Dst: RepeatedFieldType::RepeatedFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1923
    functionName: google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - RepeatedFieldType::RepeatedFieldType
    - OnShutdownDelete
    linkageType: ''
    returnType: RepeatedStringTypeTraits::RepeatedFieldType
    signature: 'RepeatedStringTypeTraits::RepeatedFieldType *

      RepeatedStringTypeTraits::GetDefaultRepeatedField()'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1931,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1932,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1934,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1936,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1946,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1947,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1948,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1949,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1950,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1951,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1952,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1953,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1954,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1955,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1959,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1966,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1970,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1980,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1981,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1982,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1983,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1984,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1985,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1986,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1987,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1988,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1989,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:1993,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2003,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2004,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2015,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2016,1
    - Dst: real_type
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2021,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2028,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2029,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2030,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2031,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2032,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2033,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2034,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2035,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2036,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2037,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2038,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2039,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2040,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2041,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2048,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2049,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2052,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2053,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2059,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2061,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2062,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 86
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 2069
    functionName: "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - real_type
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteGroup
    - WriteMessageToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - HANDLE_TYPE
    linkageType: ''
    returnType: uint8
    signature: "uint8 * ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1945
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1979
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2003
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - LOWERCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2014
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2027
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CAMELCASE
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2048
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2076,1
    - Dst: InternalSerializeFieldWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2077,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2082,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2084,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2087,1
    - Dst: WriteMessageToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2091,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2094,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2099,1
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - number
    - target
    - stream
    argTypes:
    - int
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2103
    functionName: "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    - io::EpsCopyOutputStream*::EnsureSpace
    - InternalSerializeFieldWithCachedSizesToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - WriteMessageToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
      \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2109,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2117,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2122,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2124,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2105
    functionDepth: 1
    functionLinenumber: 2105
    functionLinenumberEnd: 2131
    functionName: ExtensionSet::Extension::MessageSetItemByteSize(int number) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ByteSizeLong
    - ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::Extension::MessageSetItemByteSize(int number)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2135,1
    - Dst: MessageSetItemByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc:2136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2139
    functionName: google::protobuf::internal::ExtensionSet::MessageSetByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    functionUses: 0
    functionsReached:
    - MessageSetItemByteSize
    - ForEach
    linkageType: ''
    returnType: size_t
    signature: size_t ExtensionSet::MessageSetByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUpInputToCurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: CodedInputStream::~CodedInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUpInputToCurrentPosition
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::~CodedInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:93,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:95,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUp
    - BufferSize
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::BackUpInputToCurrentPosition()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::RecomputeBufferLimits()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:120,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:127,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::CodedInputStream::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - CurrentPosition
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::PushLimit(int byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: google::protobuf::io::CodedInputStream::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: std::pair<CodedInputStream::Limit, int>
    signature: std::pair<CodedInputStream::Limit, int> CodedInputStream::IncrementRecursionDepthAndPushLimit(int
      byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::ReadLengthAndPushLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:159,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:160,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::DecrementRecursionDepthAndPopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:167,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::CheckEntireMessageConsumedAndPopLimit(Limit
      limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: google::protobuf::io::CodedInputStream::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:182,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:183,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: google::protobuf::io::CodedInputStream::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    - std::max
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::SetTotalBytesLimit(int total_bytes_limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilTotalBytesLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PrintTotalBytesLimitError()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:205,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:214,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:220,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:225,1
    - Dst: ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - count
    - original_buffer_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 231
    functionName: google::protobuf::io::CodedInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ByteCount
    - std::min
    - Skip
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::SkipFallback(int count, int original_buffer_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: google::protobuf::io::CodedInputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::Refresh
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::GetDirectBufferPointer(const void** data, int*
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:243,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:245,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:246,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:248,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:249,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:252,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CodedInputStream::ReadRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BufferSize
    - Advance
    - memcpy
    - reinterpret_cast<uint8*>
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadRaw(void* buffer, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:261,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:262,1
    - Dst: as_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:263,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:267,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:268,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:269,1
    - Dst: google::protobuf::io::CodedInputStream::ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 275
    functionName: google::protobuf::io::CodedInputStream::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Advance
    - memcpy
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadStringFallback
    - as_string_data
    - STLStringResizeUninitialized
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadString(std::string* buffer, int size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:278,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:279,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:282,1
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:284,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:286,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:291,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:300,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:301,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 308
    functionName: google::protobuf::io::CodedInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 1
    functionsReached:
    - std::string*::empty
    - std::string*::reserve
    - Advance
    - std::min
    - std::string*::append
    - CurrentPosition
    - reinterpret_cast<const char*>
    - BufferSize
    - std::string*::clear
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadStringFallback(std::string* buffer, int
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:315,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:318,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:321,1
    - Dst: ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 326
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian32FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian32Fallback(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:332,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:335,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:338,1
    - Dst: ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian64FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian64Fallback(uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 1
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:452,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint32Slow(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:458,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:462,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:466,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint32Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 477
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_NE
    - static_cast<int64>
    - ReadVarint32FromArray
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadVarint32Slow
    linkageType: ''
    returnType: int64
    signature: int64 CodedInputStream::ReadVarint32Fallback(uint32 first_byte_or_zero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:482,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntSlow()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:488,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:493,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:494,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 503
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    - BufferSize
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntFallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:508,1
    - Dst: ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:527,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 529
    functionName: google::protobuf::io::CodedInputStream::ReadTagSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    - ReadVarint64
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagSlow()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:532,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:537,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:544,1
    - Dst: google::protobuf::io::CodedInputStream::ReadTagSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 566
    functionName: google::protobuf::io::CodedInputStream::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::ReadTagSlow
    - GOOGLE_DCHECK_EQ
    - ReadVarint32FromArray
    - BufferSize
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagFallback(uint32 first_byte_or_zero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:582,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:588,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 595
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - Advance
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint64Slow(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:598,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:603,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:605,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:608,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:611,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 614
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - std::make_pair
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarint64Slow
    - BufferSize
    linkageType: ''
    returnType: std::pair<uint64, bool>
    signature: std::pair<uint64, bool> CodedInputStream::ReadVarint64Fallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:627,1
    - Dst: NextNonEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:635,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:636,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:638,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 665
    functionName: google::protobuf::io::CodedInputStream::Refresh
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 5
    functionsReached:
    - NextNonEmpty
    - reinterpret_cast<const uint8*>
    - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    - BufferSize
    - GOOGLE_CHECK_GE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::Refresh()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllowsAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: google::protobuf::io::EpsCopyOutputStream::EnableAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - AllowsAliasing
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream::EnableAliasing(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: google::protobuf::io::EpsCopyOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::EpsCopyOutputStream::ByteCount
    linkageType: ''
    returnType: int64
    signature: int64 EpsCopyOutputStream::ByteCount(uint8* ptr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:685,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:686,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:687,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:692,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 702
    functionName: google::protobuf::io::EpsCopyOutputStream::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::memcpy
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: int
    signature: int EpsCopyOutputStream::Flush(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:706,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: google::protobuf::io::EpsCopyOutputStream::Trim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUp
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Trim(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:716,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::FlushAndResetBuffer(uint8* ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:727,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:735,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:736,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - count
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::EpsCopyOutputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Flush
    - static_cast<uint8*>
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool EpsCopyOutputStream::Skip(int count, uint8** pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:750,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:757,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:758,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - data
    - size
    - pp
    argTypes:
    - void**
    - int*
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 764
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Next
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: bool
    signature: "bool EpsCopyOutputStream::GetDirectBufferPointer(void** data, int*
      size,\n                                                 uint8** pp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:772,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:779,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - size
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 785
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance(int
      size,\n                                                               uint8**
      pp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:788,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:792,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:800,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:802,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:804,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:805,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:810,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:812,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 823
    functionName: google::protobuf::io::EpsCopyOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - Error
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<uint8*>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::io::EpsCopyOutputStream::Next
    - std::memmove
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Next()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:827,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:829,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:830,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 835
    functionName: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::EnsureSpaceFallback(uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:839,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:841,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:843,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:844,1
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:845,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 849
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    - std::memcpy
    - GetSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawFallback(const void* data, int
      size,\n                                             uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:853,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:855,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:857,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:858,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 861
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 1
    functionsReached:
    - Error
    - GetSize
    - google::protobuf::io::EpsCopyOutputStream::Trim
    - WriteRaw
    - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteAliasedRaw(const void* data, int
      size,\n                                            uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:866,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:869,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:872,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:875,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:878,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:880,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 885
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian32(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:889,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:892,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:895,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:898,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:901,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:903,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 908
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian64(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:915,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:916,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:917,1
    - Dst: WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 919
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteLengthDelim
    - data
    - WriteRawMaybeAliased
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringMaybeAliasedOutline(uint32
      num,\n                                                           const std::string&
      s,\n                                                           uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:923,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:924,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:925,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 927
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteRaw
    - WriteLengthDelim
    - data
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringOutline(uint32 num, const
      std::string& s,\n                                               uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:934,1
    - Dst: ZeroCopyOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:935,1
    - Dst: ZeroCopyOutputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:939,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - do_eager_refresh
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: google::protobuf::io::CodedOutputStream::CodedOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyOutputStream*::ByteCount
    - SetInitialBuffer
    - ZeroCopyOutputStream*::Next
    - IsDefaultSerializationDeterministic
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStream::CodedOutputStream(ZeroCopyOutputStream* stream,\n
      \                                    bool do_eager_refresh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 944
    functionName: CodedOutputStream::~CodedOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Trim
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::~CodedOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: WriteStringToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' str'
    - target
    argTypes:
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 952
    functionName: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32ToArray
    - GOOGLE_DCHECK_LE
    - WriteStringToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteStringWithSizeToArray(const std::string&
      str,\n                                                     uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUpInputToCurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: CodedInputStream::~CodedInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUpInputToCurrentPosition
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::~CodedInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:93,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:95,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUp
    - BufferSize
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::BackUpInputToCurrentPosition()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - std::min
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::RecomputeBufferLimits()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:120,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:127,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::CodedInputStream::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - CurrentPosition
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::PushLimit(int byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: google::protobuf::io::CodedInputStream::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: std::pair<CodedInputStream::Limit, int>
    signature: std::pair<CodedInputStream::Limit, int> CodedInputStream::IncrementRecursionDepthAndPushLimit(int
      byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::ReadLengthAndPushLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:159,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:160,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::DecrementRecursionDepthAndPopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:167,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::CheckEntireMessageConsumedAndPopLimit(Limit
      limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: google::protobuf::io::CodedInputStream::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:182,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:183,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: google::protobuf::io::CodedInputStream::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    - std::max
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::SetTotalBytesLimit(int total_bytes_limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilTotalBytesLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 1
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PrintTotalBytesLimitError()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:205,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:214,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:220,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:225,1
    - Dst: ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - count
    - original_buffer_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 231
    functionName: google::protobuf::io::CodedInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ByteCount
    - std::min
    - Skip
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::SkipFallback(int count, int original_buffer_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: google::protobuf::io::CodedInputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::Refresh
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::GetDirectBufferPointer(const void** data, int*
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:243,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:245,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:246,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:248,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:249,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:252,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CodedInputStream::ReadRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - BufferSize
    - Advance
    - memcpy
    - reinterpret_cast<uint8*>
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadRaw(void* buffer, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:261,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:262,1
    - Dst: as_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:263,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:267,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:268,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:269,1
    - Dst: google::protobuf::io::CodedInputStream::ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 275
    functionName: google::protobuf::io::CodedInputStream::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Advance
    - memcpy
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadStringFallback
    - as_string_data
    - STLStringResizeUninitialized
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadString(std::string* buffer, int size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:278,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:279,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:282,1
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:284,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:286,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:291,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:300,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:301,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 308
    functionName: google::protobuf::io::CodedInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - std::string*::empty
    - std::string*::reserve
    - Advance
    - std::min
    - std::string*::append
    - CurrentPosition
    - reinterpret_cast<const char*>
    - BufferSize
    - std::string*::clear
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadStringFallback(std::string* buffer, int
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:315,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:318,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:321,1
    - Dst: ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 326
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian32FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian32Fallback(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:332,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:335,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:338,1
    - Dst: ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian64FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian64Fallback(uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 3
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:452,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 1
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint32Slow(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:458,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:462,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:466,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint32Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 477
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_NE
    - static_cast<int64>
    - ReadVarint32FromArray
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadVarint32Slow
    linkageType: ''
    returnType: int64
    signature: int64 CodedInputStream::ReadVarint32Fallback(uint32 first_byte_or_zero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:482,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 1
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntSlow()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:488,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:493,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:494,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 503
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    - BufferSize
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntFallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:508,1
    - Dst: ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:527,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 529
    functionName: google::protobuf::io::CodedInputStream::ReadTagSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 1
    functionsReached:
    - static_cast<uint32>
    - ReadVarint64
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagSlow()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:532,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:537,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:544,1
    - Dst: google::protobuf::io::CodedInputStream::ReadTagSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 566
    functionName: google::protobuf::io::CodedInputStream::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::ReadTagSlow
    - GOOGLE_DCHECK_EQ
    - ReadVarint32FromArray
    - BufferSize
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagFallback(uint32 first_byte_or_zero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:582,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:588,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 595
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 1
    functionsReached:
    - static_cast<uint64>
    - Advance
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint64Slow(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:598,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:603,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:605,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:608,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:611,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 614
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - std::make_pair
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarint64Slow
    - BufferSize
    linkageType: ''
    returnType: std::pair<uint64, bool>
    signature: std::pair<uint64, bool> CodedInputStream::ReadVarint64Fallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:627,1
    - Dst: NextNonEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:635,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:636,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:638,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 665
    functionName: google::protobuf::io::CodedInputStream::Refresh
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 10
    functionsReached:
    - NextNonEmpty
    - reinterpret_cast<const uint8*>
    - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    - BufferSize
    - GOOGLE_CHECK_GE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::Refresh()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllowsAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: google::protobuf::io::EpsCopyOutputStream::EnableAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - AllowsAliasing
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream::EnableAliasing(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: google::protobuf::io::EpsCopyOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::EpsCopyOutputStream::ByteCount
    linkageType: ''
    returnType: int64
    signature: int64 EpsCopyOutputStream::ByteCount(uint8* ptr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:685,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:686,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:687,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:692,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 702
    functionName: google::protobuf::io::EpsCopyOutputStream::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 5
    functionsReached:
    - std::memcpy
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: int
    signature: int EpsCopyOutputStream::Flush(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:706,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: google::protobuf::io::EpsCopyOutputStream::Trim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 1
    functionsReached:
    - BackUp
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Trim(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:716,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::FlushAndResetBuffer(uint8* ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:727,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:735,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:736,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - count
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::EpsCopyOutputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Flush
    - static_cast<uint8*>
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool EpsCopyOutputStream::Skip(int count, uint8** pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:750,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:757,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:758,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - data
    - size
    - pp
    argTypes:
    - void**
    - int*
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 764
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Next
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: bool
    signature: "bool EpsCopyOutputStream::GetDirectBufferPointer(void** data, int*
      size,\n                                                 uint8** pp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:772,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:779,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - size
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 785
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance(int
      size,\n                                                               uint8**
      pp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:788,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:792,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:800,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:802,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:804,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:805,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:810,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:812,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 823
    functionName: google::protobuf::io::EpsCopyOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 9
    functionsReached:
    - Error
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<uint8*>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::io::EpsCopyOutputStream::Next
    - std::memmove
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Next()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:827,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:829,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:830,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 835
    functionName: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 1
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::EnsureSpaceFallback(uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:839,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:841,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:843,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:844,1
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:845,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 849
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    - std::memcpy
    - GetSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawFallback(const void* data, int
      size,\n                                             uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:853,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:855,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:857,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:858,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 861
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - Error
    - GetSize
    - google::protobuf::io::EpsCopyOutputStream::Trim
    - WriteRaw
    - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteAliasedRaw(const void* data, int
      size,\n                                            uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:866,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:869,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:872,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:875,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:878,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:880,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 885
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian32(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:889,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:892,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:895,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:898,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:901,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:903,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 908
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian64(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:915,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:916,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:917,1
    - Dst: WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 919
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteLengthDelim
    - data
    - WriteRawMaybeAliased
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringMaybeAliasedOutline(uint32
      num,\n                                                           const std::string&
      s,\n                                                           uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:923,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:924,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:925,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 927
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteRaw
    - WriteLengthDelim
    - data
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringOutline(uint32 num, const
      std::string& s,\n                                               uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:934,1
    - Dst: ZeroCopyOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:935,1
    - Dst: ZeroCopyOutputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:939,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - do_eager_refresh
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: google::protobuf::io::CodedOutputStream::CodedOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyOutputStream*::ByteCount
    - SetInitialBuffer
    - ZeroCopyOutputStream*::Next
    - IsDefaultSerializationDeterministic
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStream::CodedOutputStream(ZeroCopyOutputStream* stream,\n
      \                                    bool do_eager_refresh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 944
    functionName: CodedOutputStream::~CodedOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Trim
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::~CodedOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: WriteStringToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' str'
    - target
    argTypes:
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 952
    functionName: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32ToArray
    - GOOGLE_DCHECK_LE
    - WriteStringToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteStringWithSizeToArray(const std::string&
      str,\n                                                     uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUpInputToCurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: CodedInputStream::~CodedInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUpInputToCurrentPosition
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::~CodedInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:93,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:95,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUp
    - BufferSize
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::BackUpInputToCurrentPosition()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 8
    functionsReached:
    - std::min
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::RecomputeBufferLimits()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:120,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:127,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::CodedInputStream::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - CurrentPosition
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::PushLimit(int byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: google::protobuf::io::CodedInputStream::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: std::pair<CodedInputStream::Limit, int>
    signature: std::pair<CodedInputStream::Limit, int> CodedInputStream::IncrementRecursionDepthAndPushLimit(int
      byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::ReadLengthAndPushLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:159,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:160,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::DecrementRecursionDepthAndPopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:167,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::CheckEntireMessageConsumedAndPopLimit(Limit
      limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: google::protobuf::io::CodedInputStream::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:182,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:183,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: google::protobuf::io::CodedInputStream::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    - std::max
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::SetTotalBytesLimit(int total_bytes_limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilTotalBytesLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PrintTotalBytesLimitError()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:205,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:214,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:220,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:225,1
    - Dst: ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - count
    - original_buffer_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 231
    functionName: google::protobuf::io::CodedInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ByteCount
    - std::min
    - Skip
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::SkipFallback(int count, int original_buffer_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: google::protobuf::io::CodedInputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::Refresh
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::GetDirectBufferPointer(const void** data, int*
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:243,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:245,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:246,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:248,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:249,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:252,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CodedInputStream::ReadRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - BufferSize
    - Advance
    - memcpy
    - reinterpret_cast<uint8*>
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadRaw(void* buffer, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:261,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:262,1
    - Dst: as_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:263,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:267,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:268,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:269,1
    - Dst: google::protobuf::io::CodedInputStream::ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 275
    functionName: google::protobuf::io::CodedInputStream::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Advance
    - memcpy
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadStringFallback
    - as_string_data
    - STLStringResizeUninitialized
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadString(std::string* buffer, int size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:278,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:279,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:282,1
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:284,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:286,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:291,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:300,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:301,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 308
    functionName: google::protobuf::io::CodedInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 3
    functionsReached:
    - std::string*::empty
    - std::string*::reserve
    - Advance
    - std::min
    - std::string*::append
    - CurrentPosition
    - reinterpret_cast<const char*>
    - BufferSize
    - std::string*::clear
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadStringFallback(std::string* buffer, int
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:315,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:318,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:321,1
    - Dst: ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 326
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian32FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian32Fallback(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:332,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:335,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:338,1
    - Dst: ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian64FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian64Fallback(uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 5
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:452,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint32Slow(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:458,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:462,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:466,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint32Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 477
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_NE
    - static_cast<int64>
    - ReadVarint32FromArray
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadVarint32Slow
    linkageType: ''
    returnType: int64
    signature: int64 CodedInputStream::ReadVarint32Fallback(uint32 first_byte_or_zero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:482,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntSlow()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:488,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:493,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:494,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 503
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    - BufferSize
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntFallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:508,1
    - Dst: ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:527,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 529
    functionName: google::protobuf::io::CodedInputStream::ReadTagSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - static_cast<uint32>
    - ReadVarint64
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagSlow()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:532,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:537,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:544,1
    - Dst: google::protobuf::io::CodedInputStream::ReadTagSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 566
    functionName: google::protobuf::io::CodedInputStream::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::ReadTagSlow
    - GOOGLE_DCHECK_EQ
    - ReadVarint32FromArray
    - BufferSize
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagFallback(uint32 first_byte_or_zero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:582,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:588,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 595
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - static_cast<uint64>
    - Advance
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint64Slow(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:598,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:603,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:605,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:608,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:611,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 614
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - std::make_pair
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarint64Slow
    - BufferSize
    linkageType: ''
    returnType: std::pair<uint64, bool>
    signature: std::pair<uint64, bool> CodedInputStream::ReadVarint64Fallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:627,1
    - Dst: NextNonEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:635,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:636,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:638,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 665
    functionName: google::protobuf::io::CodedInputStream::Refresh
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 15
    functionsReached:
    - NextNonEmpty
    - reinterpret_cast<const uint8*>
    - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    - BufferSize
    - GOOGLE_CHECK_GE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::Refresh()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllowsAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: google::protobuf::io::EpsCopyOutputStream::EnableAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - AllowsAliasing
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream::EnableAliasing(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: google::protobuf::io::EpsCopyOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::EpsCopyOutputStream::ByteCount
    linkageType: ''
    returnType: int64
    signature: int64 EpsCopyOutputStream::ByteCount(uint8* ptr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:685,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:686,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:687,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:692,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 702
    functionName: google::protobuf::io::EpsCopyOutputStream::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 10
    functionsReached:
    - std::memcpy
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: int
    signature: int EpsCopyOutputStream::Flush(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:706,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: google::protobuf::io::EpsCopyOutputStream::Trim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - BackUp
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Trim(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:716,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::FlushAndResetBuffer(uint8* ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:727,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:735,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:736,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - count
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::EpsCopyOutputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Flush
    - static_cast<uint8*>
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool EpsCopyOutputStream::Skip(int count, uint8** pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:750,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:757,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:758,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - data
    - size
    - pp
    argTypes:
    - void**
    - int*
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 764
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Next
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: bool
    signature: "bool EpsCopyOutputStream::GetDirectBufferPointer(void** data, int*
      size,\n                                                 uint8** pp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:772,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:779,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - size
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 785
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance(int
      size,\n                                                               uint8**
      pp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:788,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:792,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:800,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:802,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:804,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:805,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:810,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:812,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 823
    functionName: google::protobuf::io::EpsCopyOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 14
    functionsReached:
    - Error
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<uint8*>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::io::EpsCopyOutputStream::Next
    - std::memmove
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Next()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:827,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:829,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:830,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 835
    functionName: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 2
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::EnsureSpaceFallback(uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:839,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:841,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:843,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:844,1
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:845,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 849
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    - std::memcpy
    - GetSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawFallback(const void* data, int
      size,\n                                             uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:853,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:855,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:857,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:858,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 861
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 3
    functionsReached:
    - Error
    - GetSize
    - google::protobuf::io::EpsCopyOutputStream::Trim
    - WriteRaw
    - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteAliasedRaw(const void* data, int
      size,\n                                            uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:866,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:869,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:872,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:875,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:878,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:880,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 885
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian32(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:889,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:892,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:895,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:898,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:901,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:903,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 908
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian64(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:915,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:916,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:917,1
    - Dst: WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 919
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteLengthDelim
    - data
    - WriteRawMaybeAliased
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringMaybeAliasedOutline(uint32
      num,\n                                                           const std::string&
      s,\n                                                           uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:923,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:924,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:925,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 927
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteRaw
    - WriteLengthDelim
    - data
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringOutline(uint32 num, const
      std::string& s,\n                                               uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:934,1
    - Dst: ZeroCopyOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:935,1
    - Dst: ZeroCopyOutputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:939,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - do_eager_refresh
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: google::protobuf::io::CodedOutputStream::CodedOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyOutputStream*::ByteCount
    - SetInitialBuffer
    - ZeroCopyOutputStream*::Next
    - IsDefaultSerializationDeterministic
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStream::CodedOutputStream(ZeroCopyOutputStream* stream,\n
      \                                    bool do_eager_refresh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 944
    functionName: CodedOutputStream::~CodedOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Trim
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::~CodedOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: WriteStringToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' str'
    - target
    argTypes:
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 952
    functionName: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32ToArray
    - GOOGLE_DCHECK_LE
    - WriteStringToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteStringWithSizeToArray(const std::string&
      str,\n                                                     uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUpInputToCurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: CodedInputStream::~CodedInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUpInputToCurrentPosition
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::~CodedInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:93,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:95,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUp
    - BufferSize
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::BackUpInputToCurrentPosition()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 12
    functionsReached:
    - std::min
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::RecomputeBufferLimits()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:120,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:127,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::CodedInputStream::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - CurrentPosition
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::PushLimit(int byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: google::protobuf::io::CodedInputStream::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: std::pair<CodedInputStream::Limit, int>
    signature: std::pair<CodedInputStream::Limit, int> CodedInputStream::IncrementRecursionDepthAndPushLimit(int
      byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::ReadLengthAndPushLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:159,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:160,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::DecrementRecursionDepthAndPopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:167,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::CheckEntireMessageConsumedAndPopLimit(Limit
      limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: google::protobuf::io::CodedInputStream::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:182,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:183,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: google::protobuf::io::CodedInputStream::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    - std::max
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::SetTotalBytesLimit(int total_bytes_limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilTotalBytesLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PrintTotalBytesLimitError()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:205,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:214,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:220,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:225,1
    - Dst: ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - count
    - original_buffer_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 231
    functionName: google::protobuf::io::CodedInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ByteCount
    - std::min
    - Skip
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::SkipFallback(int count, int original_buffer_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: google::protobuf::io::CodedInputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::Refresh
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::GetDirectBufferPointer(const void** data, int*
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:243,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:245,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:246,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:248,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:249,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:252,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CodedInputStream::ReadRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - BufferSize
    - Advance
    - memcpy
    - reinterpret_cast<uint8*>
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadRaw(void* buffer, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:261,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:262,1
    - Dst: as_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:263,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:267,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:268,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:269,1
    - Dst: google::protobuf::io::CodedInputStream::ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 275
    functionName: google::protobuf::io::CodedInputStream::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Advance
    - memcpy
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadStringFallback
    - as_string_data
    - STLStringResizeUninitialized
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadString(std::string* buffer, int size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:278,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:279,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:282,1
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:284,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:286,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:291,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:300,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:301,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 308
    functionName: google::protobuf::io::CodedInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - std::string*::empty
    - std::string*::reserve
    - Advance
    - std::min
    - std::string*::append
    - CurrentPosition
    - reinterpret_cast<const char*>
    - BufferSize
    - std::string*::clear
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadStringFallback(std::string* buffer, int
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:315,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:318,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:321,1
    - Dst: ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 326
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian32FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian32Fallback(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:332,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:335,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:338,1
    - Dst: ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian64FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian64Fallback(uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 7
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:452,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 3
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint32Slow(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:458,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:462,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:466,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint32Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 477
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_NE
    - static_cast<int64>
    - ReadVarint32FromArray
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadVarint32Slow
    linkageType: ''
    returnType: int64
    signature: int64 CodedInputStream::ReadVarint32Fallback(uint32 first_byte_or_zero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:482,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 3
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntSlow()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:488,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:493,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:494,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 503
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    - BufferSize
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntFallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:508,1
    - Dst: ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:527,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 529
    functionName: google::protobuf::io::CodedInputStream::ReadTagSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 3
    functionsReached:
    - static_cast<uint32>
    - ReadVarint64
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagSlow()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:532,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:537,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:544,1
    - Dst: google::protobuf::io::CodedInputStream::ReadTagSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 566
    functionName: google::protobuf::io::CodedInputStream::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::ReadTagSlow
    - GOOGLE_DCHECK_EQ
    - ReadVarint32FromArray
    - BufferSize
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagFallback(uint32 first_byte_or_zero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:582,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:588,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 595
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 3
    functionsReached:
    - static_cast<uint64>
    - Advance
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint64Slow(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:598,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:603,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:605,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:608,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:611,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 614
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 8
    functionsReached:
    - std::make_pair
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarint64Slow
    - BufferSize
    linkageType: ''
    returnType: std::pair<uint64, bool>
    signature: std::pair<uint64, bool> CodedInputStream::ReadVarint64Fallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:627,1
    - Dst: NextNonEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:635,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:636,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:638,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 665
    functionName: google::protobuf::io::CodedInputStream::Refresh
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 20
    functionsReached:
    - NextNonEmpty
    - reinterpret_cast<const uint8*>
    - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    - BufferSize
    - GOOGLE_CHECK_GE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::Refresh()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllowsAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: google::protobuf::io::EpsCopyOutputStream::EnableAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - AllowsAliasing
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream::EnableAliasing(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: google::protobuf::io::EpsCopyOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::EpsCopyOutputStream::ByteCount
    linkageType: ''
    returnType: int64
    signature: int64 EpsCopyOutputStream::ByteCount(uint8* ptr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:685,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:686,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:687,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:692,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 702
    functionName: google::protobuf::io::EpsCopyOutputStream::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 15
    functionsReached:
    - std::memcpy
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: int
    signature: int EpsCopyOutputStream::Flush(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:706,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: google::protobuf::io::EpsCopyOutputStream::Trim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 3
    functionsReached:
    - BackUp
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Trim(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:716,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::FlushAndResetBuffer(uint8* ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:727,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:735,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:736,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - count
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::EpsCopyOutputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Flush
    - static_cast<uint8*>
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool EpsCopyOutputStream::Skip(int count, uint8** pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:750,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:757,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:758,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - data
    - size
    - pp
    argTypes:
    - void**
    - int*
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 764
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Next
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: bool
    signature: "bool EpsCopyOutputStream::GetDirectBufferPointer(void** data, int*
      size,\n                                                 uint8** pp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:772,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:779,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - size
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 785
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance(int
      size,\n                                                               uint8**
      pp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:788,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:792,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:800,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:802,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:804,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:805,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:810,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:812,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 823
    functionName: google::protobuf::io::EpsCopyOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 19
    functionsReached:
    - Error
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<uint8*>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::io::EpsCopyOutputStream::Next
    - std::memmove
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Next()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:827,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:829,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:830,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 835
    functionName: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 3
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::EnsureSpaceFallback(uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:839,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:841,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:843,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:844,1
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:845,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 849
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    - std::memcpy
    - GetSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawFallback(const void* data, int
      size,\n                                             uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:853,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:855,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:857,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:858,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 861
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - Error
    - GetSize
    - google::protobuf::io::EpsCopyOutputStream::Trim
    - WriteRaw
    - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteAliasedRaw(const void* data, int
      size,\n                                            uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:866,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:869,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:872,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:875,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:878,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:880,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 885
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian32(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:889,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:892,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:895,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:898,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:901,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:903,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 908
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian64(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:915,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:916,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:917,1
    - Dst: WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 919
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteLengthDelim
    - data
    - WriteRawMaybeAliased
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringMaybeAliasedOutline(uint32
      num,\n                                                           const std::string&
      s,\n                                                           uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:923,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:924,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:925,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 927
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteRaw
    - WriteLengthDelim
    - data
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringOutline(uint32 num, const
      std::string& s,\n                                               uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:934,1
    - Dst: ZeroCopyOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:935,1
    - Dst: ZeroCopyOutputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:939,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - do_eager_refresh
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: google::protobuf::io::CodedOutputStream::CodedOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyOutputStream*::ByteCount
    - SetInitialBuffer
    - ZeroCopyOutputStream*::Next
    - IsDefaultSerializationDeterministic
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStream::CodedOutputStream(ZeroCopyOutputStream* stream,\n
      \                                    bool do_eager_refresh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 944
    functionName: CodedOutputStream::~CodedOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Trim
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::~CodedOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: WriteStringToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' str'
    - target
    argTypes:
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 952
    functionName: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32ToArray
    - GOOGLE_DCHECK_LE
    - WriteStringToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteStringWithSizeToArray(const std::string&
      str,\n                                                     uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUpInputToCurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: CodedInputStream::~CodedInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUpInputToCurrentPosition
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::~CodedInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:93,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:95,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUp
    - BufferSize
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::BackUpInputToCurrentPosition()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 16
    functionsReached:
    - std::min
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::RecomputeBufferLimits()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:120,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:127,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::CodedInputStream::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 8
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - CurrentPosition
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::PushLimit(int byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: google::protobuf::io::CodedInputStream::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: std::pair<CodedInputStream::Limit, int>
    signature: std::pair<CodedInputStream::Limit, int> CodedInputStream::IncrementRecursionDepthAndPushLimit(int
      byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::ReadLengthAndPushLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:159,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:160,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::DecrementRecursionDepthAndPopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:167,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::CheckEntireMessageConsumedAndPopLimit(Limit
      limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: google::protobuf::io::CodedInputStream::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:182,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:183,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: google::protobuf::io::CodedInputStream::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    - std::max
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::SetTotalBytesLimit(int total_bytes_limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilTotalBytesLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PrintTotalBytesLimitError()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:205,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:214,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:220,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:225,1
    - Dst: ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - count
    - original_buffer_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 231
    functionName: google::protobuf::io::CodedInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ByteCount
    - std::min
    - Skip
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::SkipFallback(int count, int original_buffer_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: google::protobuf::io::CodedInputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::Refresh
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::GetDirectBufferPointer(const void** data, int*
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:243,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:245,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:246,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:248,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:249,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:252,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CodedInputStream::ReadRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 8
    functionsReached:
    - BufferSize
    - Advance
    - memcpy
    - reinterpret_cast<uint8*>
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadRaw(void* buffer, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:261,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:262,1
    - Dst: as_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:263,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:267,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:268,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:269,1
    - Dst: google::protobuf::io::CodedInputStream::ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 275
    functionName: google::protobuf::io::CodedInputStream::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Advance
    - memcpy
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadStringFallback
    - as_string_data
    - STLStringResizeUninitialized
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadString(std::string* buffer, int size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:278,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:279,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:282,1
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:284,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:286,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:291,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:300,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:301,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 308
    functionName: google::protobuf::io::CodedInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 5
    functionsReached:
    - std::string*::empty
    - std::string*::reserve
    - Advance
    - std::min
    - std::string*::append
    - CurrentPosition
    - reinterpret_cast<const char*>
    - BufferSize
    - std::string*::clear
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadStringFallback(std::string* buffer, int
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:315,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:318,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:321,1
    - Dst: ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 326
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian32FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian32Fallback(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:332,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:335,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:338,1
    - Dst: ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian64FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian64Fallback(uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 9
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:452,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint32Slow(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:458,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:462,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:466,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint32Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 477
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_NE
    - static_cast<int64>
    - ReadVarint32FromArray
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadVarint32Slow
    linkageType: ''
    returnType: int64
    signature: int64 CodedInputStream::ReadVarint32Fallback(uint32 first_byte_or_zero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:482,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntSlow()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:488,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:493,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:494,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 503
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    - BufferSize
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntFallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:508,1
    - Dst: ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:527,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 529
    functionName: google::protobuf::io::CodedInputStream::ReadTagSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - static_cast<uint32>
    - ReadVarint64
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagSlow()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:532,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:537,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:544,1
    - Dst: google::protobuf::io::CodedInputStream::ReadTagSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 566
    functionName: google::protobuf::io::CodedInputStream::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::ReadTagSlow
    - GOOGLE_DCHECK_EQ
    - ReadVarint32FromArray
    - BufferSize
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagFallback(uint32 first_byte_or_zero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:582,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:588,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 595
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - static_cast<uint64>
    - Advance
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint64Slow(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:598,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:603,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:605,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:608,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:611,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 614
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 10
    functionsReached:
    - std::make_pair
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarint64Slow
    - BufferSize
    linkageType: ''
    returnType: std::pair<uint64, bool>
    signature: std::pair<uint64, bool> CodedInputStream::ReadVarint64Fallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:627,1
    - Dst: NextNonEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:635,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:636,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:638,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 665
    functionName: google::protobuf::io::CodedInputStream::Refresh
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 25
    functionsReached:
    - NextNonEmpty
    - reinterpret_cast<const uint8*>
    - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    - BufferSize
    - GOOGLE_CHECK_GE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::Refresh()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllowsAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: google::protobuf::io::EpsCopyOutputStream::EnableAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - AllowsAliasing
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream::EnableAliasing(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: google::protobuf::io::EpsCopyOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::EpsCopyOutputStream::ByteCount
    linkageType: ''
    returnType: int64
    signature: int64 EpsCopyOutputStream::ByteCount(uint8* ptr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:685,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:686,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:687,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:692,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 702
    functionName: google::protobuf::io::EpsCopyOutputStream::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 20
    functionsReached:
    - std::memcpy
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: int
    signature: int EpsCopyOutputStream::Flush(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:706,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: google::protobuf::io::EpsCopyOutputStream::Trim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - BackUp
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Trim(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:716,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::FlushAndResetBuffer(uint8* ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:727,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:735,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:736,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - count
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::EpsCopyOutputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Flush
    - static_cast<uint8*>
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool EpsCopyOutputStream::Skip(int count, uint8** pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:750,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:757,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:758,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - data
    - size
    - pp
    argTypes:
    - void**
    - int*
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 764
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Next
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: bool
    signature: "bool EpsCopyOutputStream::GetDirectBufferPointer(void** data, int*
      size,\n                                                 uint8** pp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:772,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:779,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - size
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 785
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance(int
      size,\n                                                               uint8**
      pp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:788,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:792,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:800,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:802,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:804,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:805,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:810,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:812,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 823
    functionName: google::protobuf::io::EpsCopyOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 24
    functionsReached:
    - Error
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<uint8*>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::io::EpsCopyOutputStream::Next
    - std::memmove
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Next()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:827,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:829,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:830,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 835
    functionName: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 4
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::EnsureSpaceFallback(uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:839,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:841,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:843,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:844,1
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:845,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 849
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    - std::memcpy
    - GetSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawFallback(const void* data, int
      size,\n                                             uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:853,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:855,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:857,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:858,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 861
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 5
    functionsReached:
    - Error
    - GetSize
    - google::protobuf::io::EpsCopyOutputStream::Trim
    - WriteRaw
    - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteAliasedRaw(const void* data, int
      size,\n                                            uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:866,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:869,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:872,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:875,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:878,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:880,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 885
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian32(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:889,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:892,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:895,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:898,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:901,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:903,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 908
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian64(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:915,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:916,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:917,1
    - Dst: WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 919
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteLengthDelim
    - data
    - WriteRawMaybeAliased
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringMaybeAliasedOutline(uint32
      num,\n                                                           const std::string&
      s,\n                                                           uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:923,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:924,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:925,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 927
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteRaw
    - WriteLengthDelim
    - data
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringOutline(uint32 num, const
      std::string& s,\n                                               uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:934,1
    - Dst: ZeroCopyOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:935,1
    - Dst: ZeroCopyOutputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:939,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - do_eager_refresh
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: google::protobuf::io::CodedOutputStream::CodedOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyOutputStream*::ByteCount
    - SetInitialBuffer
    - ZeroCopyOutputStream*::Next
    - IsDefaultSerializationDeterministic
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStream::CodedOutputStream(ZeroCopyOutputStream* stream,\n
      \                                    bool do_eager_refresh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 944
    functionName: CodedOutputStream::~CodedOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Trim
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::~CodedOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: WriteStringToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' str'
    - target
    argTypes:
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 952
    functionName: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32ToArray
    - GOOGLE_DCHECK_LE
    - WriteStringToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteStringWithSizeToArray(const std::string&
      str,\n                                                     uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUpInputToCurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: CodedInputStream::~CodedInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUpInputToCurrentPosition
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::~CodedInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:93,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:95,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUp
    - BufferSize
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::BackUpInputToCurrentPosition()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 20
    functionsReached:
    - std::min
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::RecomputeBufferLimits()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:120,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:127,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::CodedInputStream::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 10
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - CurrentPosition
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::PushLimit(int byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: google::protobuf::io::CodedInputStream::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: std::pair<CodedInputStream::Limit, int>
    signature: std::pair<CodedInputStream::Limit, int> CodedInputStream::IncrementRecursionDepthAndPushLimit(int
      byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::ReadLengthAndPushLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:159,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:160,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::DecrementRecursionDepthAndPopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:167,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::CheckEntireMessageConsumedAndPopLimit(Limit
      limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: google::protobuf::io::CodedInputStream::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:182,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:183,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: google::protobuf::io::CodedInputStream::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    - std::max
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::SetTotalBytesLimit(int total_bytes_limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilTotalBytesLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 5
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PrintTotalBytesLimitError()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:205,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:214,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:220,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:225,1
    - Dst: ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - count
    - original_buffer_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 231
    functionName: google::protobuf::io::CodedInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ByteCount
    - std::min
    - Skip
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::SkipFallback(int count, int original_buffer_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: google::protobuf::io::CodedInputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::Refresh
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::GetDirectBufferPointer(const void** data, int*
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:243,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:245,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:246,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:248,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:249,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:252,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CodedInputStream::ReadRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 10
    functionsReached:
    - BufferSize
    - Advance
    - memcpy
    - reinterpret_cast<uint8*>
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadRaw(void* buffer, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:261,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:262,1
    - Dst: as_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:263,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:267,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:268,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:269,1
    - Dst: google::protobuf::io::CodedInputStream::ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 275
    functionName: google::protobuf::io::CodedInputStream::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Advance
    - memcpy
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadStringFallback
    - as_string_data
    - STLStringResizeUninitialized
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadString(std::string* buffer, int size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:278,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:279,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:282,1
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:284,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:286,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:291,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:300,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:301,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 308
    functionName: google::protobuf::io::CodedInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - std::string*::empty
    - std::string*::reserve
    - Advance
    - std::min
    - std::string*::append
    - CurrentPosition
    - reinterpret_cast<const char*>
    - BufferSize
    - std::string*::clear
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadStringFallback(std::string* buffer, int
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:315,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:318,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:321,1
    - Dst: ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 326
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian32FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian32Fallback(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:332,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:335,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:338,1
    - Dst: ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian64FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian64Fallback(uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 10
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 11
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:452,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 5
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint32Slow(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:458,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:462,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:466,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint32Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 477
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_NE
    - static_cast<int64>
    - ReadVarint32FromArray
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadVarint32Slow
    linkageType: ''
    returnType: int64
    signature: int64 CodedInputStream::ReadVarint32Fallback(uint32 first_byte_or_zero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:482,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 5
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntSlow()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:488,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:493,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:494,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 503
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    - BufferSize
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntFallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:508,1
    - Dst: ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:527,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 529
    functionName: google::protobuf::io::CodedInputStream::ReadTagSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 5
    functionsReached:
    - static_cast<uint32>
    - ReadVarint64
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagSlow()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:532,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:537,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:544,1
    - Dst: google::protobuf::io::CodedInputStream::ReadTagSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 566
    functionName: google::protobuf::io::CodedInputStream::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::ReadTagSlow
    - GOOGLE_DCHECK_EQ
    - ReadVarint32FromArray
    - BufferSize
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagFallback(uint32 first_byte_or_zero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:582,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:588,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 595
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 5
    functionsReached:
    - static_cast<uint64>
    - Advance
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint64Slow(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:598,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:603,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:605,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:608,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:611,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 614
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 12
    functionsReached:
    - std::make_pair
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarint64Slow
    - BufferSize
    linkageType: ''
    returnType: std::pair<uint64, bool>
    signature: std::pair<uint64, bool> CodedInputStream::ReadVarint64Fallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:627,1
    - Dst: NextNonEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:635,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:636,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:638,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 665
    functionName: google::protobuf::io::CodedInputStream::Refresh
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 30
    functionsReached:
    - NextNonEmpty
    - reinterpret_cast<const uint8*>
    - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    - BufferSize
    - GOOGLE_CHECK_GE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::Refresh()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllowsAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: google::protobuf::io::EpsCopyOutputStream::EnableAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - AllowsAliasing
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream::EnableAliasing(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: google::protobuf::io::EpsCopyOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::EpsCopyOutputStream::ByteCount
    linkageType: ''
    returnType: int64
    signature: int64 EpsCopyOutputStream::ByteCount(uint8* ptr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:685,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:686,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:687,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:692,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 702
    functionName: google::protobuf::io::EpsCopyOutputStream::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 25
    functionsReached:
    - std::memcpy
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: int
    signature: int EpsCopyOutputStream::Flush(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:706,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: google::protobuf::io::EpsCopyOutputStream::Trim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 5
    functionsReached:
    - BackUp
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Trim(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:716,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::FlushAndResetBuffer(uint8* ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:727,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:735,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:736,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - count
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::EpsCopyOutputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Flush
    - static_cast<uint8*>
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool EpsCopyOutputStream::Skip(int count, uint8** pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:750,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:757,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:758,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - data
    - size
    - pp
    argTypes:
    - void**
    - int*
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 764
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Next
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: bool
    signature: "bool EpsCopyOutputStream::GetDirectBufferPointer(void** data, int*
      size,\n                                                 uint8** pp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:772,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:779,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - size
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 785
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance(int
      size,\n                                                               uint8**
      pp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:788,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:792,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:800,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:802,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:804,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:805,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:810,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:812,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 823
    functionName: google::protobuf::io::EpsCopyOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 29
    functionsReached:
    - Error
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<uint8*>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::io::EpsCopyOutputStream::Next
    - std::memmove
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Next()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:827,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:829,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:830,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 835
    functionName: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 5
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::EnsureSpaceFallback(uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:839,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:841,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:843,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:844,1
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:845,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 849
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    - std::memcpy
    - GetSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawFallback(const void* data, int
      size,\n                                             uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:853,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:855,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:857,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:858,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 861
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - Error
    - GetSize
    - google::protobuf::io::EpsCopyOutputStream::Trim
    - WriteRaw
    - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteAliasedRaw(const void* data, int
      size,\n                                            uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:866,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:869,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:872,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:875,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:878,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:880,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 885
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian32(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:889,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:892,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:895,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:898,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:901,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:903,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 908
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian64(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:915,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:916,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:917,1
    - Dst: WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 919
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteLengthDelim
    - data
    - WriteRawMaybeAliased
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringMaybeAliasedOutline(uint32
      num,\n                                                           const std::string&
      s,\n                                                           uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:923,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:924,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:925,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 927
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteRaw
    - WriteLengthDelim
    - data
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringOutline(uint32 num, const
      std::string& s,\n                                               uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:934,1
    - Dst: ZeroCopyOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:935,1
    - Dst: ZeroCopyOutputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:939,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - do_eager_refresh
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: google::protobuf::io::CodedOutputStream::CodedOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyOutputStream*::ByteCount
    - SetInitialBuffer
    - ZeroCopyOutputStream*::Next
    - IsDefaultSerializationDeterministic
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStream::CodedOutputStream(ZeroCopyOutputStream* stream,\n
      \                                    bool do_eager_refresh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 944
    functionName: CodedOutputStream::~CodedOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Trim
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::~CodedOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: WriteStringToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' str'
    - target
    argTypes:
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 952
    functionName: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32ToArray
    - GOOGLE_DCHECK_LE
    - WriteStringToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteStringWithSizeToArray(const std::string&
      str,\n                                                     uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUpInputToCurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: CodedInputStream::~CodedInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUpInputToCurrentPosition
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::~CodedInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:93,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:95,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUp
    - BufferSize
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::BackUpInputToCurrentPosition()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 24
    functionsReached:
    - std::min
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::RecomputeBufferLimits()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:120,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:127,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::CodedInputStream::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 12
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - CurrentPosition
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::PushLimit(int byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: google::protobuf::io::CodedInputStream::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: std::pair<CodedInputStream::Limit, int>
    signature: std::pair<CodedInputStream::Limit, int> CodedInputStream::IncrementRecursionDepthAndPushLimit(int
      byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::ReadLengthAndPushLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:159,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:160,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::DecrementRecursionDepthAndPopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:167,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::CheckEntireMessageConsumedAndPopLimit(Limit
      limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: google::protobuf::io::CodedInputStream::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:182,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:183,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: google::protobuf::io::CodedInputStream::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    - std::max
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::SetTotalBytesLimit(int total_bytes_limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilTotalBytesLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PrintTotalBytesLimitError()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:205,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:214,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:220,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:225,1
    - Dst: ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - count
    - original_buffer_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 231
    functionName: google::protobuf::io::CodedInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ByteCount
    - std::min
    - Skip
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::SkipFallback(int count, int original_buffer_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: google::protobuf::io::CodedInputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::Refresh
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::GetDirectBufferPointer(const void** data, int*
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:243,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:245,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:246,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:248,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:249,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:252,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CodedInputStream::ReadRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 12
    functionsReached:
    - BufferSize
    - Advance
    - memcpy
    - reinterpret_cast<uint8*>
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadRaw(void* buffer, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:261,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:262,1
    - Dst: as_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:263,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:267,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:268,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:269,1
    - Dst: google::protobuf::io::CodedInputStream::ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 275
    functionName: google::protobuf::io::CodedInputStream::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Advance
    - memcpy
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadStringFallback
    - as_string_data
    - STLStringResizeUninitialized
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadString(std::string* buffer, int size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:278,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:279,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:282,1
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:284,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:286,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:291,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:300,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:301,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 308
    functionName: google::protobuf::io::CodedInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 7
    functionsReached:
    - std::string*::empty
    - std::string*::reserve
    - Advance
    - std::min
    - std::string*::append
    - CurrentPosition
    - reinterpret_cast<const char*>
    - BufferSize
    - std::string*::clear
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadStringFallback(std::string* buffer, int
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:315,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:318,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:321,1
    - Dst: ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 326
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian32FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian32Fallback(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:332,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:335,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:338,1
    - Dst: ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian64FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian64Fallback(uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 12
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 13
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:452,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint32Slow(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:458,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:462,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:466,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint32Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 477
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_NE
    - static_cast<int64>
    - ReadVarint32FromArray
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadVarint32Slow
    linkageType: ''
    returnType: int64
    signature: int64 CodedInputStream::ReadVarint32Fallback(uint32 first_byte_or_zero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:482,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntSlow()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:488,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:493,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:494,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 503
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    - BufferSize
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntFallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:508,1
    - Dst: ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:527,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 529
    functionName: google::protobuf::io::CodedInputStream::ReadTagSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - static_cast<uint32>
    - ReadVarint64
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagSlow()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:532,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:537,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:544,1
    - Dst: google::protobuf::io::CodedInputStream::ReadTagSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 566
    functionName: google::protobuf::io::CodedInputStream::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::ReadTagSlow
    - GOOGLE_DCHECK_EQ
    - ReadVarint32FromArray
    - BufferSize
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagFallback(uint32 first_byte_or_zero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:582,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:588,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 595
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - static_cast<uint64>
    - Advance
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint64Slow(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:598,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:603,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:605,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:608,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:611,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 614
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 14
    functionsReached:
    - std::make_pair
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarint64Slow
    - BufferSize
    linkageType: ''
    returnType: std::pair<uint64, bool>
    signature: std::pair<uint64, bool> CodedInputStream::ReadVarint64Fallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:627,1
    - Dst: NextNonEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:635,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:636,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:638,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 665
    functionName: google::protobuf::io::CodedInputStream::Refresh
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 35
    functionsReached:
    - NextNonEmpty
    - reinterpret_cast<const uint8*>
    - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    - BufferSize
    - GOOGLE_CHECK_GE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::Refresh()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllowsAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: google::protobuf::io::EpsCopyOutputStream::EnableAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - AllowsAliasing
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream::EnableAliasing(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: google::protobuf::io::EpsCopyOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::EpsCopyOutputStream::ByteCount
    linkageType: ''
    returnType: int64
    signature: int64 EpsCopyOutputStream::ByteCount(uint8* ptr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:685,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:686,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:687,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:692,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 702
    functionName: google::protobuf::io::EpsCopyOutputStream::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 30
    functionsReached:
    - std::memcpy
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: int
    signature: int EpsCopyOutputStream::Flush(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:706,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: google::protobuf::io::EpsCopyOutputStream::Trim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - BackUp
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Trim(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:716,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::FlushAndResetBuffer(uint8* ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:727,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:735,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:736,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - count
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::EpsCopyOutputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Flush
    - static_cast<uint8*>
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool EpsCopyOutputStream::Skip(int count, uint8** pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:750,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:757,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:758,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - data
    - size
    - pp
    argTypes:
    - void**
    - int*
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 764
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Next
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: bool
    signature: "bool EpsCopyOutputStream::GetDirectBufferPointer(void** data, int*
      size,\n                                                 uint8** pp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:772,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:779,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - size
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 785
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance(int
      size,\n                                                               uint8**
      pp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:788,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:792,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:800,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:802,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:804,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:805,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:810,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:812,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 823
    functionName: google::protobuf::io::EpsCopyOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 34
    functionsReached:
    - Error
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<uint8*>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::io::EpsCopyOutputStream::Next
    - std::memmove
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Next()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:827,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:829,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:830,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 835
    functionName: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 6
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::EnsureSpaceFallback(uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:839,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:841,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:843,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:844,1
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:845,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 849
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    - std::memcpy
    - GetSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawFallback(const void* data, int
      size,\n                                             uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:853,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:855,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:857,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:858,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 861
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 7
    functionsReached:
    - Error
    - GetSize
    - google::protobuf::io::EpsCopyOutputStream::Trim
    - WriteRaw
    - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteAliasedRaw(const void* data, int
      size,\n                                            uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:866,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:869,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:872,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:875,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:878,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:880,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 885
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian32(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:889,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:892,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:895,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:898,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:901,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:903,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 908
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian64(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:915,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:916,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:917,1
    - Dst: WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 919
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteLengthDelim
    - data
    - WriteRawMaybeAliased
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringMaybeAliasedOutline(uint32
      num,\n                                                           const std::string&
      s,\n                                                           uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:923,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:924,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:925,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 927
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteRaw
    - WriteLengthDelim
    - data
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringOutline(uint32 num, const
      std::string& s,\n                                               uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:934,1
    - Dst: ZeroCopyOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:935,1
    - Dst: ZeroCopyOutputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:939,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - do_eager_refresh
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: google::protobuf::io::CodedOutputStream::CodedOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyOutputStream*::ByteCount
    - SetInitialBuffer
    - ZeroCopyOutputStream*::Next
    - IsDefaultSerializationDeterministic
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStream::CodedOutputStream(ZeroCopyOutputStream* stream,\n
      \                                    bool do_eager_refresh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 944
    functionName: CodedOutputStream::~CodedOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Trim
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::~CodedOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: WriteStringToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' str'
    - target
    argTypes:
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 952
    functionName: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32ToArray
    - GOOGLE_DCHECK_LE
    - WriteStringToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteStringWithSizeToArray(const std::string&
      str,\n                                                     uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - input
    - data
    - size
    argTypes:
    - ZeroCopyInputStream*
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: google::protobuf::io::NextNonEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyInputStream*::Next
    linkageType: ''
    returnType: bool
    signature: "bool NextNonEmpty(ZeroCopyInputStream* input, const void** data,\n
      \                        int* size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUpInputToCurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: CodedInputStream::~CodedInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUpInputToCurrentPosition
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::~CodedInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:93,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:95,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - BackUp
    - BufferSize
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::BackUpInputToCurrentPosition()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 28
    functionsReached:
    - std::min
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::RecomputeBufferLimits()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:120,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:127,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::CodedInputStream::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 14
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - CurrentPosition
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::PushLimit(int byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: google::protobuf::io::CodedInputStream::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - byte_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: std::pair<CodedInputStream::Limit, int>
    signature: std::pair<CodedInputStream::Limit, int> CodedInputStream::IncrementRecursionDepthAndPushLimit(int
      byte_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - google::protobuf::io::CodedInputStream::PushLimit
    linkageType: ''
    returnType: CodedInputStream::Limit
    signature: CodedInputStream::Limit CodedInputStream::ReadLengthAndPushLimit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:159,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:160,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::DecrementRecursionDepthAndPopLimit(Limit limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConsumedEntireMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:167,1
    - Dst: google::protobuf::io::CodedInputStream::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - Limit
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ConsumedEntireMessage
    - google::protobuf::io::CodedInputStream::PopLimit
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::CheckEntireMessageConsumedAndPopLimit(Limit
      limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: google::protobuf::io::CodedInputStream::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:182,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:183,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: google::protobuf::io::CodedInputStream::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    - std::max
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::SetTotalBytesLimit(int total_bytes_limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - CurrentPosition
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BytesUntilTotalBytesLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 7
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::PrintTotalBytesLimitError()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:205,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:214,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:220,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:225,1
    - Dst: ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - count
    - original_buffer_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 231
    functionName: google::protobuf::io::CodedInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ByteCount
    - std::min
    - Skip
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::SkipFallback(int count, int original_buffer_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:234,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: google::protobuf::io::CodedInputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::Refresh
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::GetDirectBufferPointer(const void** data, int*
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:243,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:245,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:246,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:248,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:249,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:252,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CodedInputStream::ReadRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 14
    functionsReached:
    - BufferSize
    - Advance
    - memcpy
    - reinterpret_cast<uint8*>
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadRaw(void* buffer, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:261,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:262,1
    - Dst: as_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:263,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:267,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:268,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:269,1
    - Dst: google::protobuf::io::CodedInputStream::ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 275
    functionName: google::protobuf::io::CodedInputStream::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Advance
    - memcpy
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadStringFallback
    - as_string_data
    - STLStringResizeUninitialized
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadString(std::string* buffer, int size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:278,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:279,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:282,1
    - Dst: CurrentPosition
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:284,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:286,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:291,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:296,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:300,1
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:301,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:304,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - std::string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 308
    functionName: google::protobuf::io::CodedInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 8
    functionsReached:
    - std::string*::empty
    - std::string*::reserve
    - Advance
    - std::min
    - std::string*::append
    - CurrentPosition
    - reinterpret_cast<const char*>
    - BufferSize
    - std::string*::clear
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadStringFallback(std::string* buffer, int
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:315,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:318,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:321,1
    - Dst: ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 326
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian32FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian32Fallback(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:332,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:335,1
    - Dst: google::protobuf::io::CodedInputStream::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:338,1
    - Dst: ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Advance
    - ReadLittleEndian64FromArray
    - google::protobuf::io::CodedInputStream::ReadRaw
    - BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian64Fallback(uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 14
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:352,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:353,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::DecodeVarint64KnownSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 15
    functionsReached:
    - static_cast<uint64>
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: uint8
    signature: uint8 * DecodeVarint64KnownSize(const uint8* buffer, uint64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:373,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:374,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:405,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - first_byte
    - buffer
    - value
    argTypes:
    - uint32
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: google::protobuf::io::ReadVarint32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint32FromArray(\n    uint32
      first_byte, const uint8* buffer, uint32* value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:417,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:421,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:423,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:425,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:427,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:429,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:431,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:433,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:435,1
    - Dst: google::protobuf::io::DecodeVarint64KnownSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:437,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:441,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:444,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: google::protobuf::io::ReadVarint64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - std::make_pair
    - GOOGLE_DCHECK_GE
    - google::protobuf::io::DecodeVarint64KnownSize
    linkageType: ''
    returnType: ::std::pair<bool, const uint8*>
    signature: "::std::pair<bool, const uint8*> ReadVarint64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:452,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 7
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint32Slow(uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:458,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:462,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:466,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint32Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 477
    functionName: google::protobuf::io::CodedInputStream::ReadVarint32Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_NE
    - static_cast<int64>
    - ReadVarint32FromArray
    - BufferSize
    - google::protobuf::io::CodedInputStream::ReadVarint32Slow
    linkageType: ''
    returnType: int64
    signature: int64 CodedInputStream::ReadVarint32Fallback(uint32 first_byte_or_zero)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:482,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 3
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 7
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntSlow()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:488,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:493,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:494,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 503
    functionName: google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
    - BufferSize
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::ReadVarintSizeAsIntFallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:508,1
    - Dst: ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:527,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 529
    functionName: google::protobuf::io::CodedInputStream::ReadTagSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 7
    functionsReached:
    - static_cast<uint32>
    - ReadVarint64
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagSlow()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:532,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:537,1
    - Dst: ReadVarint32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:544,1
    - Dst: google::protobuf::io::CodedInputStream::ReadTagSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - first_byte_or_zero
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 566
    functionName: google::protobuf::io::CodedInputStream::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedInputStream::ReadTagSlow
    - GOOGLE_DCHECK_EQ
    - ReadVarint32FromArray
    - BufferSize
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagFallback(uint32 first_byte_or_zero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CodedInputStream::Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:582,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:588,1
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:589,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 595
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 7
    functionsReached:
    - static_cast<uint64>
    - Advance
    - google::protobuf::io::CodedInputStream::Refresh
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint64Slow(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:598,1
    - Dst: ReadVarint64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:603,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:605,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:608,1
    - Dst: google::protobuf::io::CodedInputStream::ReadVarint64Slow
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:611,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 614
    functionName: google::protobuf::io::CodedInputStream::ReadVarint64Fallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 16
    functionsReached:
    - std::make_pair
    - ReadVarint64FromArray
    - google::protobuf::io::CodedInputStream::ReadVarint64Slow
    - BufferSize
    linkageType: ''
    returnType: std::pair<uint64, bool>
    signature: std::pair<uint64, bool> CodedInputStream::ReadVarint64Fallback()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:617,1
    - Dst: google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:627,1
    - Dst: NextNonEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:635,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:636,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:638,1
    - Dst: google::protobuf::io::CodedInputStream::RecomputeBufferLimits
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 665
    functionName: google::protobuf::io::CodedInputStream::Refresh
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 40
    functionsReached:
    - NextNonEmpty
    - reinterpret_cast<const uint8*>
    - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
    - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
    - BufferSize
    - GOOGLE_CHECK_GE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::Refresh()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllowsAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: google::protobuf::io::EpsCopyOutputStream::EnableAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - AllowsAliasing
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream::EnableAliasing(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: google::protobuf::io::EpsCopyOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::EpsCopyOutputStream::ByteCount
    linkageType: ''
    returnType: int64
    signature: int64 EpsCopyOutputStream::ByteCount(uint8* ptr) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:685,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:686,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:687,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:692,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 702
    functionName: google::protobuf::io::EpsCopyOutputStream::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 35
    functionsReached:
    - std::memcpy
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: int
    signature: int EpsCopyOutputStream::Flush(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:706,1
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: google::protobuf::io::EpsCopyOutputStream::Trim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 7
    functionsReached:
    - BackUp
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Trim(uint8* ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:716,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::FlushAndResetBuffer(uint8* ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:727,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:735,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:736,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - count
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::EpsCopyOutputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Flush
    - static_cast<uint8*>
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool EpsCopyOutputStream::Skip(int count, uint8** pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:750,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:757,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:758,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - data
    - size
    - pp
    argTypes:
    - void**
    - int*
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 764
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - Error
    - google::protobuf::io::EpsCopyOutputStream::Next
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: bool
    signature: "bool EpsCopyOutputStream::GetDirectBufferPointer(void** data, int*
      size,\n                                                 uint8** pp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EpsCopyOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:772,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:779,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - size
    - pp
    argTypes:
    - int
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 785
    functionName: google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    - google::protobuf::io::EpsCopyOutputStream::Flush
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance(int
      size,\n                                                               uint8**
      pp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:788,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:789,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:792,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:797,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:800,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:802,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:804,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:805,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:810,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:812,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 823
    functionName: google::protobuf::io::EpsCopyOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 39
    functionsReached:
    - Error
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<uint8*>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::io::EpsCopyOutputStream::Next
    - std::memmove
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::Next()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:827,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:829,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:830,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:831,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 835
    functionName: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 7
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK
    - google::protobuf::io::EpsCopyOutputStream::Next
    linkageType: ''
    returnType: uint8
    signature: uint8 * EpsCopyOutputStream::EnsureSpaceFallback(uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:839,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:841,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:843,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:844,1
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:845,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 849
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
    - std::memcpy
    - GetSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawFallback(const void* data, int
      size,\n                                             uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetSize
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:853,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:855,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:857,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:858,1
    - Dst: Error
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 861
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 8
    functionsReached:
    - Error
    - GetSize
    - google::protobuf::io::EpsCopyOutputStream::Trim
    - WriteRaw
    - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteAliasedRaw(const void* data, int
      size,\n                                            uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:866,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:869,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:872,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:875,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:878,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:880,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 885
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian32(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:889,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:892,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:895,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:898,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:901,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:903,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 908
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - EnsureSpace
    - std::memcpy
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian64(const void* data,
      int size,\n                                                   uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:915,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:916,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:917,1
    - Dst: WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 919
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteLengthDelim
    - data
    - WriteRawMaybeAliased
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringMaybeAliasedOutline(uint32
      num,\n                                                           const std::string&
      s,\n                                                           uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:923,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:924,1
    - Dst: WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:925,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 927
    functionName: google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteRaw
    - WriteLengthDelim
    - data
    - EnsureSpace
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteStringOutline(uint32 num, const
      std::string& s,\n                                               uint8* ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:934,1
    - Dst: ZeroCopyOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:935,1
    - Dst: ZeroCopyOutputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:939,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - do_eager_refresh
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: google::protobuf::io::CodedOutputStream::CodedOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyOutputStream*::ByteCount
    - SetInitialBuffer
    - ZeroCopyOutputStream*::Next
    - IsDefaultSerializationDeterministic
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStream::CodedOutputStream(ZeroCopyOutputStream* stream,\n
      \                                    bool do_eager_refresh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 944
    functionName: CodedOutputStream::~CodedOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - Trim
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::~CodedOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:949,1
    - Dst: WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:950,1
    - Dst: WriteStringToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' str'
    - target
    argTypes:
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 952
    functionName: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32ToArray
    - GOOGLE_DCHECK_LE
    - WriteStringToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteStringWithSizeToArray(const std::string&
      str,\n                                                     uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - T
    - ','
    - n
    - ','
    - pos
    - ','
    - sh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: STEP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP(T, n, pos, sh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:63,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:65,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:67,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:68,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:69,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: google::protobuf::Fls64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_ULONGLONG
    - GOOGLE_DCHECK_NE
    - STEP
    linkageType: ''
    returnType: int
    signature: int Fls64(uint64 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:77,1
    - Dst: google::protobuf::Fls64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:78,1
    - Dst: google::protobuf::Fls64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:80,1
    - Dst: google::protobuf::Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: google::protobuf::Fls128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Uint128Low64
    - google::protobuf::Fls64
    - google::protobuf::Uint128High64
    linkageType: ''
    returnType: int
    signature: int Fls128(uint128 n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:86,1
    - Dst: Fls128
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:93,1
    - Dst: Fls128
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - dividend
    - divisor
    - quotient_ret
    - remainder_ret
    argTypes:
    - uint128
    - uint128
    - uint128*
    - uint128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 110
    functionName: google::protobuf::uint128::DivModImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - Fls128
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void uint128::DivModImpl(uint128 dividend, uint128 divisor,\n                         uint128*
      quotient_ret, uint128* remainder_ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' divisor'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: '& uint128::operator/=(const uint128& divisor)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - DivModImpl
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator/=(const uint128& divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' divisor'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: '& uint128::operator%=(const uint128& divisor)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - DivModImpl
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator%=(const uint128& divisor)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: flags
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:129,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:137,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:137,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:141,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:142,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:146,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:147,1
    - Dst: std::ostringstream::setf
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:158,1
    - Dst: google::protobuf::uint128::DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:161,1
    - Dst: google::protobuf::uint128::DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:163,1
    - Dst: std::setfill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:166,1
    - Dst: std::setw
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:166,1
    - Dst: std::setw
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:168,1
    - Dst: std::setfill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:171,1
    - Dst: std::setw
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:171,1
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:174,1
    - Dst: width
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:177,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:178,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:180,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:180,1
    - Dst: fill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:180,1
    - Dst: std::string::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:182,1
    - Dst: static_cast<std::string::size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:182,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:183,1
    - Dst: fill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - ' o'
    - ' b'
    argTypes:
    - std::ostream
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 189
    functionName: '& operator<<(std::ostream& o, const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::string::size_type>
    - std::ostringstream::str
    - std::ostringstream::setf
    - static_cast<uint64>
    - std::string::append
    - PROTOBUF_ULONGLONG
    - google::protobuf::uint128::DivModImpl
    - fill
    - width
    - std::setfill
    - std::setw
    - std::string::insert
    - flags
    - std::string::size
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& o, const uint128& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - T
    - ','
    - n
    - ','
    - pos
    - ','
    - sh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: STEP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP(T, n, pos, sh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:63,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:65,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:67,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:68,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:69,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: google::protobuf::Fls64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 1
    functionsReached:
    - PROTOBUF_ULONGLONG
    - GOOGLE_DCHECK_NE
    - STEP
    linkageType: ''
    returnType: int
    signature: int Fls64(uint64 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:77,1
    - Dst: google::protobuf::Fls64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:78,1
    - Dst: google::protobuf::Fls64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:80,1
    - Dst: google::protobuf::Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: google::protobuf::Fls128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Uint128Low64
    - google::protobuf::Fls64
    - google::protobuf::Uint128High64
    linkageType: ''
    returnType: int
    signature: int Fls128(uint128 n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:86,1
    - Dst: Fls128
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:93,1
    - Dst: Fls128
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - dividend
    - divisor
    - quotient_ret
    - remainder_ret
    argTypes:
    - uint128
    - uint128
    - uint128*
    - uint128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 110
    functionName: google::protobuf::uint128::DivModImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 1
    functionsReached:
    - Fls128
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void uint128::DivModImpl(uint128 dividend, uint128 divisor,\n                         uint128*
      quotient_ret, uint128* remainder_ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' divisor'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: '& uint128::operator/=(const uint128& divisor)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - DivModImpl
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator/=(const uint128& divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' divisor'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: '& uint128::operator%=(const uint128& divisor)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - DivModImpl
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator%=(const uint128& divisor)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: flags
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:129,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:137,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:137,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:141,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:142,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:146,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:147,1
    - Dst: std::ostringstream::setf
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:158,1
    - Dst: google::protobuf::uint128::DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:161,1
    - Dst: google::protobuf::uint128::DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:163,1
    - Dst: std::setfill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:166,1
    - Dst: std::setw
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:166,1
    - Dst: std::setw
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:168,1
    - Dst: std::setfill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:171,1
    - Dst: std::setw
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:171,1
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:174,1
    - Dst: width
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:177,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:178,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:180,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:180,1
    - Dst: fill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:180,1
    - Dst: std::string::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:182,1
    - Dst: static_cast<std::string::size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:182,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:183,1
    - Dst: fill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - ' o'
    - ' b'
    argTypes:
    - std::ostream
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 189
    functionName: '& operator<<(std::ostream& o, const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::string::size_type>
    - std::ostringstream::str
    - std::ostringstream::setf
    - static_cast<uint64>
    - std::string::append
    - PROTOBUF_ULONGLONG
    - google::protobuf::uint128::DivModImpl
    - fill
    - width
    - std::setfill
    - std::setw
    - std::string::insert
    - flags
    - std::string::size
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& o, const uint128& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - T
    - ','
    - n
    - ','
    - pos
    - ','
    - sh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: STEP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP(T, n, pos, sh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:63,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:65,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:67,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:68,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:69,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: google::protobuf::Fls64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 2
    functionsReached:
    - PROTOBUF_ULONGLONG
    - GOOGLE_DCHECK_NE
    - STEP
    linkageType: ''
    returnType: int
    signature: int Fls64(uint64 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:77,1
    - Dst: google::protobuf::Fls64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:78,1
    - Dst: google::protobuf::Fls64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:80,1
    - Dst: google::protobuf::Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: google::protobuf::Fls128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Uint128Low64
    - google::protobuf::Fls64
    - google::protobuf::Uint128High64
    linkageType: ''
    returnType: int
    signature: int Fls128(uint128 n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:86,1
    - Dst: Fls128
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:93,1
    - Dst: Fls128
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - dividend
    - divisor
    - quotient_ret
    - remainder_ret
    argTypes:
    - uint128
    - uint128
    - uint128*
    - uint128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 110
    functionName: google::protobuf::uint128::DivModImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 2
    functionsReached:
    - Fls128
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void uint128::DivModImpl(uint128 dividend, uint128 divisor,\n                         uint128*
      quotient_ret, uint128* remainder_ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' divisor'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: '& uint128::operator/=(const uint128& divisor)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - DivModImpl
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator/=(const uint128& divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' divisor'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: '& uint128::operator%=(const uint128& divisor)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - DivModImpl
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator%=(const uint128& divisor)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: flags
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:129,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:137,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:137,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:141,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:142,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:146,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:147,1
    - Dst: std::ostringstream::setf
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:158,1
    - Dst: google::protobuf::uint128::DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:161,1
    - Dst: google::protobuf::uint128::DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:163,1
    - Dst: std::setfill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:166,1
    - Dst: std::setw
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:166,1
    - Dst: std::setw
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:168,1
    - Dst: std::setfill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:171,1
    - Dst: std::setw
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:171,1
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:174,1
    - Dst: width
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:177,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:178,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:180,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:180,1
    - Dst: fill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:180,1
    - Dst: std::string::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:182,1
    - Dst: static_cast<std::string::size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:182,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:183,1
    - Dst: fill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - ' o'
    - ' b'
    argTypes:
    - std::ostream
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 189
    functionName: '& operator<<(std::ostream& o, const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::string::size_type>
    - std::ostringstream::str
    - std::ostringstream::setf
    - static_cast<uint64>
    - std::string::append
    - PROTOBUF_ULONGLONG
    - google::protobuf::uint128::DivModImpl
    - fill
    - width
    - std::setfill
    - std::setw
    - std::string::insert
    - flags
    - std::string::size
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& o, const uint128& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - T
    - ','
    - n
    - ','
    - pos
    - ','
    - sh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: STEP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP(T, n, pos, sh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:63,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:65,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:67,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:68,1
    - Dst: STEP
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:69,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: google::protobuf::Fls64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 3
    functionsReached:
    - PROTOBUF_ULONGLONG
    - GOOGLE_DCHECK_NE
    - STEP
    linkageType: ''
    returnType: int
    signature: int Fls64(uint64 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:77,1
    - Dst: google::protobuf::Fls64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:78,1
    - Dst: google::protobuf::Fls64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:80,1
    - Dst: google::protobuf::Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: google::protobuf::Fls128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Uint128Low64
    - google::protobuf::Fls64
    - google::protobuf::Uint128High64
    linkageType: ''
    returnType: int
    signature: int Fls128(uint128 n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:86,1
    - Dst: Fls128
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:93,1
    - Dst: Fls128
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - dividend
    - divisor
    - quotient_ret
    - remainder_ret
    argTypes:
    - uint128
    - uint128
    - uint128*
    - uint128*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 110
    functionName: google::protobuf::uint128::DivModImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 3
    functionsReached:
    - Fls128
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void uint128::DivModImpl(uint128 dividend, uint128 divisor,\n                         uint128*
      quotient_ret, uint128* remainder_ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' divisor'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: '& uint128::operator/=(const uint128& divisor)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - DivModImpl
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator/=(const uint128& divisor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' divisor'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: '& uint128::operator%=(const uint128& divisor)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - DivModImpl
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator%=(const uint128& divisor)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: flags
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:129,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:137,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:137,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:141,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:142,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:146,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:147,1
    - Dst: std::ostringstream::setf
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:158,1
    - Dst: google::protobuf::uint128::DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:161,1
    - Dst: google::protobuf::uint128::DivModImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:163,1
    - Dst: std::setfill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:166,1
    - Dst: std::setw
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:166,1
    - Dst: std::setw
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:168,1
    - Dst: std::setfill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:171,1
    - Dst: std::setw
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:171,1
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:174,1
    - Dst: width
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:177,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:178,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:180,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:180,1
    - Dst: fill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:180,1
    - Dst: std::string::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:182,1
    - Dst: static_cast<std::string::size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:182,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:183,1
    - Dst: fill
      Src: /src/sentencepiece/third_party/protobuf-lite/int128.cc:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - ' o'
    - ' b'
    argTypes:
    - std::ostream
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 189
    functionName: '& operator<<(std::ostream& o, const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/int128.cc
    functionUses: 0
    functionsReached:
    - static_cast<std::string::size_type>
    - std::ostringstream::str
    - std::ostringstream::setf
    - static_cast<uint64>
    - std::string::append
    - PROTOBUF_ULONGLONG
    - google::protobuf::uint128::DivModImpl
    - fill
    - width
    - std::setfill
    - std::setw
    - std::string::insert
    - flags
    - std::string::size
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& o, const uint128& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - Tbl
    argTypes:
    - UTF8ScanObj*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::InStateZero
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: bool
    signature: bool InStateZero(const UTF8ScanObj* st, const uint8* Tbl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:395,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:421,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:422,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:471,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:476,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::UTF8GenericScan
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InStateZero
    - reinterpret_cast<const uint32 *>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScan(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:503,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:518,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:519,1
    - Dst: google::protobuf::internal::UTF8GenericScan
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:528,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 534
    functionName: google::protobuf::internal::UTF8GenericScanFastAscii
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::UTF8GenericScan
    - reinterpret_cast<const uint32*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScanFastAscii(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(const char* buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:565,1
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:568,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::UTF8SpnStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: int
    signature: int UTF8SpnStructurallyValid(StringPiece str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:587,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:588,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:589,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:591,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:596,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:604,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - src_str
    - idst
    - replace_char
    argTypes:
    - StringPiece
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 611
    functionName: google::protobuf::internal::UTF8CoerceToStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - StringPiece::data
    - memmove
    - StringPiece::length
    - google::protobuf::internal::UTF8SpnStructurallyValid
    - const_cast<char*>
    linkageType: ''
    returnType: char
    signature: "char * UTF8CoerceToStructurallyValid(StringPiece src_str, char* idst,\n
      \                                   const char replace_char)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - Tbl
    argTypes:
    - UTF8ScanObj*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::InStateZero
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 1
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: bool
    signature: bool InStateZero(const UTF8ScanObj* st, const uint8* Tbl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:395,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:421,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:422,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:471,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:476,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::UTF8GenericScan
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::InStateZero
    - reinterpret_cast<const uint32 *>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScan(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:503,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:518,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:519,1
    - Dst: google::protobuf::internal::UTF8GenericScan
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:528,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 534
    functionName: google::protobuf::internal::UTF8GenericScanFastAscii
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::UTF8GenericScan
    - reinterpret_cast<const uint32*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScanFastAscii(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(const char* buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:565,1
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:568,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::UTF8SpnStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: int
    signature: int UTF8SpnStructurallyValid(StringPiece str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:587,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:588,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:589,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:591,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:596,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:604,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - src_str
    - idst
    - replace_char
    argTypes:
    - StringPiece
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 611
    functionName: google::protobuf::internal::UTF8CoerceToStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - StringPiece::data
    - memmove
    - StringPiece::length
    - google::protobuf::internal::UTF8SpnStructurallyValid
    - const_cast<char*>
    linkageType: ''
    returnType: char
    signature: "char * UTF8CoerceToStructurallyValid(StringPiece src_str, char* idst,\n
      \                                   const char replace_char)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - Tbl
    argTypes:
    - UTF8ScanObj*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::InStateZero
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 2
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: bool
    signature: bool InStateZero(const UTF8ScanObj* st, const uint8* Tbl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:395,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:421,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:422,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:471,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:476,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::UTF8GenericScan
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::InStateZero
    - reinterpret_cast<const uint32 *>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScan(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:503,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:518,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:519,1
    - Dst: google::protobuf::internal::UTF8GenericScan
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:528,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 534
    functionName: google::protobuf::internal::UTF8GenericScanFastAscii
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::UTF8GenericScan
    - reinterpret_cast<const uint32*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScanFastAscii(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(const char* buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:565,1
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:568,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::UTF8SpnStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: int
    signature: int UTF8SpnStructurallyValid(StringPiece str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:587,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:588,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:589,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:591,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:596,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:604,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - src_str
    - idst
    - replace_char
    argTypes:
    - StringPiece
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 611
    functionName: google::protobuf::internal::UTF8CoerceToStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - StringPiece::data
    - memmove
    - StringPiece::length
    - google::protobuf::internal::UTF8SpnStructurallyValid
    - const_cast<char*>
    linkageType: ''
    returnType: char
    signature: "char * UTF8CoerceToStructurallyValid(StringPiece src_str, char* idst,\n
      \                                   const char replace_char)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - Tbl
    argTypes:
    - UTF8ScanObj*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::InStateZero
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 3
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: bool
    signature: bool InStateZero(const UTF8ScanObj* st, const uint8* Tbl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:395,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:421,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:422,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:471,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:476,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::UTF8GenericScan
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::InStateZero
    - reinterpret_cast<const uint32 *>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScan(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:503,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:518,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:519,1
    - Dst: google::protobuf::internal::UTF8GenericScan
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:528,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 534
    functionName: google::protobuf::internal::UTF8GenericScanFastAscii
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::UTF8GenericScan
    - reinterpret_cast<const uint32*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScanFastAscii(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(const char* buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:565,1
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:568,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::UTF8SpnStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: int
    signature: int UTF8SpnStructurallyValid(StringPiece str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:587,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:588,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:589,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:591,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:596,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:604,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - src_str
    - idst
    - replace_char
    argTypes:
    - StringPiece
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 611
    functionName: google::protobuf::internal::UTF8CoerceToStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - StringPiece::data
    - memmove
    - StringPiece::length
    - google::protobuf::internal::UTF8SpnStructurallyValid
    - const_cast<char*>
    linkageType: ''
    returnType: char
    signature: "char * UTF8CoerceToStructurallyValid(StringPiece src_str, char* idst,\n
      \                                   const char replace_char)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - Tbl
    argTypes:
    - UTF8ScanObj*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::InStateZero
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 4
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: bool
    signature: bool InStateZero(const UTF8ScanObj* st, const uint8* Tbl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:395,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:421,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:422,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:471,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:476,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::UTF8GenericScan
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::InStateZero
    - reinterpret_cast<const uint32 *>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScan(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:503,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:518,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:519,1
    - Dst: google::protobuf::internal::UTF8GenericScan
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:528,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 534
    functionName: google::protobuf::internal::UTF8GenericScanFastAscii
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::UTF8GenericScan
    - reinterpret_cast<const uint32*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScanFastAscii(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(const char* buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:565,1
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:568,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::UTF8SpnStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: int
    signature: int UTF8SpnStructurallyValid(StringPiece str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:587,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:588,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:589,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:591,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:596,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:604,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - src_str
    - idst
    - replace_char
    argTypes:
    - StringPiece
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 611
    functionName: google::protobuf::internal::UTF8CoerceToStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - StringPiece::data
    - memmove
    - StringPiece::length
    - google::protobuf::internal::UTF8SpnStructurallyValid
    - const_cast<char*>
    linkageType: ''
    returnType: char
    signature: "char * UTF8CoerceToStructurallyValid(StringPiece src_str, char* idst,\n
      \                                   const char replace_char)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - Tbl
    argTypes:
    - UTF8ScanObj*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::InStateZero
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 5
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: bool
    signature: bool InStateZero(const UTF8ScanObj* st, const uint8* Tbl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:395,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:421,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:422,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:471,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:476,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::UTF8GenericScan
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::InStateZero
    - reinterpret_cast<const uint32 *>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScan(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:503,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:518,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:519,1
    - Dst: google::protobuf::internal::UTF8GenericScan
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:528,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 534
    functionName: google::protobuf::internal::UTF8GenericScanFastAscii
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::UTF8GenericScan
    - reinterpret_cast<const uint32*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScanFastAscii(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(const char* buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:565,1
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:568,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::UTF8SpnStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: int
    signature: int UTF8SpnStructurallyValid(StringPiece str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:587,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:588,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:589,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:591,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:596,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:604,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - src_str
    - idst
    - replace_char
    argTypes:
    - StringPiece
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 611
    functionName: google::protobuf::internal::UTF8CoerceToStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - StringPiece::data
    - memmove
    - StringPiece::length
    - google::protobuf::internal::UTF8SpnStructurallyValid
    - const_cast<char*>
    linkageType: ''
    returnType: char
    signature: "char * UTF8CoerceToStructurallyValid(StringPiece src_str, char* idst,\n
      \                                   const char replace_char)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - Tbl
    argTypes:
    - UTF8ScanObj*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::InStateZero
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 6
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: bool
    signature: bool InStateZero(const UTF8ScanObj* st, const uint8* Tbl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:395,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:421,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:422,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:471,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:476,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::UTF8GenericScan
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::InStateZero
    - reinterpret_cast<const uint32 *>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScan(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:503,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:518,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:519,1
    - Dst: google::protobuf::internal::UTF8GenericScan
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:528,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 534
    functionName: google::protobuf::internal::UTF8GenericScanFastAscii
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::UTF8GenericScan
    - reinterpret_cast<const uint32*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScanFastAscii(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(const char* buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:565,1
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:568,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::UTF8SpnStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: int
    signature: int UTF8SpnStructurallyValid(StringPiece str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:587,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:588,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:589,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:591,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:596,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:604,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - src_str
    - idst
    - replace_char
    argTypes:
    - StringPiece
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 611
    functionName: google::protobuf::internal::UTF8CoerceToStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - StringPiece::data
    - memmove
    - StringPiece::length
    - google::protobuf::internal::UTF8SpnStructurallyValid
    - const_cast<char*>
    linkageType: ''
    returnType: char
    signature: "char * UTF8CoerceToStructurallyValid(StringPiece src_str, char* idst,\n
      \                                   const char replace_char)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - Tbl
    argTypes:
    - UTF8ScanObj*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::InStateZero
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 7
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: bool
    signature: bool InStateZero(const UTF8ScanObj* st, const uint8* Tbl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:395,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:421,1
    - Dst: reinterpret_cast<const uint32 *>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:422,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:471,1
    - Dst: google::protobuf::internal::InStateZero
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:476,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::UTF8GenericScan
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::InStateZero
    - reinterpret_cast<const uint32 *>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScan(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:503,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:518,1
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:519,1
    - Dst: google::protobuf::internal::UTF8GenericScan
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:528,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - st
    - str
    - str_length
    - bytes_consumed
    argTypes:
    - UTF8ScanObj*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 534
    functionName: google::protobuf::internal::UTF8GenericScanFastAscii
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::UTF8GenericScan
    - reinterpret_cast<const uint32*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: "int UTF8GenericScanFastAscii(const UTF8ScanObj* st,\n                    const
      char * str,\n                    int str_length,\n                    int* bytes_consumed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::InitDetector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InitDetector()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(const char* buf, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:565,1
    - Dst: google::protobuf::internal::UTF8GenericScanFastAscii
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:568,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::UTF8SpnStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::UTF8GenericScanFastAscii
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: int
    signature: int UTF8SpnStructurallyValid(StringPiece str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:587,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:588,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:589,1
    - Dst: const_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:591,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:596,1
    - Dst: google::protobuf::internal::UTF8SpnStructurallyValid
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:604,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - src_str
    - idst
    - replace_char
    argTypes:
    - StringPiece
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 611
    functionName: google::protobuf::internal::UTF8CoerceToStructurallyValid
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    functionUses: 0
    functionsReached:
    - StringPiece::data
    - memmove
    - StringPiece::length
    - google::protobuf::internal::UTF8SpnStructurallyValid
    - const_cast<char*>
    linkageType: ''
    returnType: char
    signature: "char * UTF8CoerceToStructurallyValid(StringPiece src_str, char* idst,\n
      \                                   const char replace_char)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: google::protobuf::isxdigit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isxdigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: google::protobuf::isprint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isprint(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:88,1
    - Dst: strpbrk
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:90,1
    - Dst: strpbrk
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - remove
    - replacewith
    argTypes:
    - std::string*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: google::protobuf::ReplaceCharacters
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - strpbrk
    - std::string*::c_str
    linkageType: ''
    returnType: void
    signature: void ReplaceCharacters(std::string *s, const char *remove, char replacewith)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:98,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:102,1
    - Dst: std::string*::at
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:102,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:107,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:111,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:117,1
    - Dst: std::string*::at
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:117,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 123
    functionName: google::protobuf::StripWhitespace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - std::string*::at
    - std::string*::length
    - std::string*::erase
    - std::string*::clear
    - google::protobuf::ascii_isspace
    linkageType: ''
    returnType: void
    signature: void StripWhitespace(std::string *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:135,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:136,1
    - Dst: std::string::find
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:143,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:147,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:148,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:149,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:151,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - s
    - oldsub
    - newsub
    - replace_all
    - res
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: google::protobuf::StringReplace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    - std::string*::append
    - std::string::length
    - std::string::find
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void StringReplace(const std::string &s, const std::string &oldsub,\n
      \                  const std::string &newsub, bool replace_all,\n                   std::string
      *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringReplace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - s
    - oldsub
    - newsub
    - replace_all
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: google::protobuf::StringReplace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::StringReplace
    linkageType: ''
    returnType: std::string
    signature: "std::string StringReplace(const std::string &s, const std::string
      &oldsub,\n                          const std::string &newsub, bool replace_all)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:184,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:185,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:192,1
    - Dst: StringPiece::find_first_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:199,1
    - Dst: StringPiece::find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:201,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:203,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:203,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:207,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:207,1
    - Dst: StringPiece::find_first_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - full
    - delim
    - result
    argTypes:
    - StringPiece
    - char*
    - ITR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 210
    functionName: google::protobuf::SplitStringToIteratorUsing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - StringPiece::find_first_not_of
    - StringPiece::data
    - std::string
    - StringPiece::find_first_of
    - StringPiece::substr
    - StringPiece::size
    linkageType: ''
    returnType: void
    signature: "void SplitStringToIteratorUsing(StringPiece full,\n                                              const
      char *delim, ITR &result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SplitStringToIteratorUsing
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - full
    - delim
    - result
    argTypes:
    - StringPiece
    - char*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: google::protobuf::SplitStringUsing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SplitStringToIteratorUsing
    linkageType: ''
    returnType: void
    signature: "void SplitStringUsing(StringPiece full, const char *delim,\n                      std::vector<std::string>
      *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:237,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:239,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:239,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:243,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:243,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:246,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - full
    - delim
    - pieces
    - result
    argTypes:
    - StringPiece
    - char*
    - int
    - ITR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 247
    functionName: google::protobuf::SplitStringToIteratorAllowEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - StringPiece::substr
    - std::string
    - StringPiece::find_first_of
    linkageType: ''
    returnType: void
    signature: "void SplitStringToIteratorAllowEmpty(StringPiece full,\n                                                   const
      char *delim,\n                                                   int pieces,
      ITR &result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SplitStringToIteratorAllowEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - full
    - delim
    - result
    argTypes:
    - StringPiece
    - char*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: google::protobuf::SplitStringAllowEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SplitStringToIteratorAllowEmpty
    linkageType: ''
    returnType: void
    signature: "void SplitStringAllowEmpty(StringPiece full, const char *delim,\n
      \                          std::vector<std::string> *result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:264,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:265,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:266,1
    - Dst: ITERATOR::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:274,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:276,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:281,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:283,1
    - Dst: ITERATOR::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:283,1
    - Dst: ITERATOR::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - start
    - end
    - delim
    - result
    argTypes:
    - ITERATOR
    - ITERATOR
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 285
    functionName: google::protobuf::JoinStringsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - ITERATOR::size
    - std::string*::reserve
    - ITERATOR::data
    - strlen
    - std::string*::append
    - GOOGLE_CHECK
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: "void JoinStringsIterator(const ITERATOR &start, const ITERATOR &end,\n
      \                               const char *delim, std::string *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::JoinStringsIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:289,1
    - Dst: std::vector<std::string>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:289,1
    - Dst: std::vector<std::string>::end
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - components
    - delim
    - result
    argTypes:
    - std::vector<std::string>
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: google::protobuf::JoinStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - std::vector<std::string>::begin
    - std::vector<std::string>::end
    - google::protobuf::JoinStringsIterator
    linkageType: ''
    returnType: void
    signature: "void JoinStrings(const std::vector<std::string> &components, const
      char *delim,\n                 std::string *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: IS_OCTAL_DIGIT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_OCTAL_DIGIT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - LEVEL
    - ','
    - VECTOR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: LOG_STRING
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_STRING(LEVEL, VECTOR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnescapeCEscapeSequences
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: google::protobuf::UnescapeCEscapeSequences
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::UnescapeCEscapeSequences
    linkageType: ''
    returnType: int
    signature: int UnescapeCEscapeSequences(const char* source, char* dest)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:316,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:331,1
    - Dst: IS_OCTAL_DIGIT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:348,1
    - Dst: IS_OCTAL_DIGIT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:350,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:356,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:358,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:360,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:367,1
    - Dst: google::protobuf::hex_digit_to_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:368,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:370,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:372,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:383,1
    - Dst: google::protobuf::hex_digit_to_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:384,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:386,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:388,1
    - Dst: runetochar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:392,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:400,1
    - Dst: google::protobuf::hex_digit_to_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:403,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:405,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:407,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:414,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:416,1
    - Dst: runetochar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:420,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:425,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 115
    argCount: 3
    argNames:
    - source
    - dest
    - errors
    argTypes:
    - char*
    - char*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 432
    functionName: google::protobuf::UnescapeCEscapeSequences
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::hex_digit_to_int
    - LOG_STRING
    - GOOGLE_DCHECK
    - google::protobuf::isxdigit
    - std::string
    - runetochar
    - IS_OCTAL_DIGIT
    linkageType: ''
    returnType: int
    signature: "int UnescapeCEscapeSequences(const char *source, char *dest,\n                             std::vector<std::string>
      *errors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnescapeCEscapeString
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: google::protobuf::UnescapeCEscapeString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::UnescapeCEscapeString
    linkageType: ''
    returnType: int
    signature: int UnescapeCEscapeString(const std::string &src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:454,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:454,1
    - Dst: google::protobuf::UnescapeCEscapeSequences
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:455,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:455,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:455,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:456,1
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:457,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src
    - dest
    - errors
    argTypes:
    - std::string
    - std::string*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: google::protobuf::UnescapeCEscapeString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - char::char
    - std::string*::assign
    - google::protobuf::UnescapeCEscapeSequences
    - GOOGLE_CHECK
    - std::string::c_str
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: int
    signature: "int UnescapeCEscapeString(const std::string &src, std::string *dest,\n
      \                         std::vector<std::string> *errors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:462,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:462,1
    - Dst: google::protobuf::UnescapeCEscapeSequences
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:463,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:463,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:463,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:464,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: google::protobuf::UnescapeCEscapeString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - char::char
    - std::string
    - google::protobuf::UnescapeCEscapeSequences
    - std::string::c_str
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string UnescapeCEscapeString(const std::string &src)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:501,1
    - Dst: google::protobuf::isprint
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:502,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:503,1
    - Dst: sprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:506,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:507,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 6
    argNames:
    - src
    - src_len
    - dest
    - dest_len
    - use_hex
    - utf8_safe
    argTypes:
    - char*
    - int
    - char*
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 522
    functionName: google::protobuf::CEscapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - sprintf
    - static_cast<uint8>
    - google::protobuf::isprint
    - google::protobuf::isxdigit
    linkageType: ''
    returnType: int
    signature: "int CEscapeInternal(const char* src, int src_len, char* dest,\n                    int
      dest_len, bool use_hex, bool utf8_safe)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:548,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 553
    functionName: google::protobuf::CEscapedLength
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - static_cast<unsigned char>
    linkageType: ''
    returnType: size_t
    signature: size_t CEscapedLength(StringPiece src)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CEscapedLength
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:562,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:563,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:564,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:564,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:564,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:568,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:569,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:572,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:573,1
    - Dst: google::protobuf::isprint
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:582,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 593
    functionName: google::protobuf::CEscapeAndAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CEscapedLength
    - static_cast<unsigned char>
    - StringPiece::data
    - std::string*::resize
    - std::string*::append
    - std::string*::size
    - google::protobuf::isprint
    - StringPiece::size
    linkageType: ''
    returnType: void
    signature: void CEscapeAndAppend(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CEscapeAndAppend
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: google::protobuf::CEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CEscapeAndAppend
    linkageType: ''
    returnType: std::string
    signature: std::string CEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:604,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:605,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:607,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:608,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: google::protobuf::strings::Utf8SafeCEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string Utf8SafeCEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:613,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:614,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:616,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:617,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 619
    functionName: google::protobuf::strings::CHexEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string CHexEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:604,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:605,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:607,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:608,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: google::protobuf::strings::Utf8SafeCEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string Utf8SafeCEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:613,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:614,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:616,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:617,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 619
    functionName: google::protobuf::strings::CHexEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string CHexEscape(const std::string &src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:634,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:648,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 649
    functionName: google::protobuf::strto32_adaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - strtol
    linkageType: ''
    returnType: int32
    signature: int32 strto32_adaptor(const char *nptr, char **endptr, int base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:654,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 664
    functionName: google::protobuf::strtou32_adaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    - strtoul
    linkageType: ''
    returnType: uint32
    signature: uint32 strtou32_adaptor(const char *nptr, char **endptr, int base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:668,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:669,1
    - Dst: std::string*::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:690,1
    - Dst: std::string*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - text
    - negative_ptr
    argTypes:
    - std::string*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 692
    functionName: google::protobuf::safe_parse_sign
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - std::string*::substr
    - std::string*::size
    - std::string*::data
    linkageType: ''
    returnType: bool
    signature: "bool safe_parse_sign(std::string *text /*inout*/,\n                            bool
      *negative_ptr /*output*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<IntType>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:698,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:699,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:700,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:702,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:703,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts:
    - condition: (vmax > 0)
      pos:
        line_end: 698
        line_start: 698
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    - condition: (vmax >= base)
      pos:
        line_end: 699
        line_start: 699
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    constantsTouched: []
    func_position:
      end: 725
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 725
    functionName: google::protobuf::safe_parse_positive_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - std::string::data
    - assert
    - std::string::size
    - std::numeric_limits<IntType>::max
    linkageType: ''
    returnType: bool
    signature: bool safe_parse_positive_int(std::string text, IntType *value_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<IntType>::min
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:731,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:732,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:733,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:742,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:743,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts:
    - condition: (vmin < 0)
      pos:
        line_end: 731
        line_start: 731
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    - condition: (vmin <= 0 - base)
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    constantsTouched: []
    func_position:
      end: 765
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 765
    functionName: google::protobuf::safe_parse_negative_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - std::string::data
    - assert
    - std::numeric_limits<IntType>::min
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: bool safe_parse_negative_int(const std::string &text, IntType *value_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_parse_sign
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:771,1
    - Dst: google::protobuf::safe_parse_positive_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:775,1
    - Dst: google::protobuf::safe_parse_negative_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 779
    functionName: google::protobuf::safe_int_internal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_parse_positive_int
    - google::protobuf::safe_parse_sign
    - google::protobuf::safe_parse_negative_int
    linkageType: ''
    returnType: bool
    signature: bool safe_int_internal(std::string text, IntType *value_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_parse_sign
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:785,1
    - Dst: google::protobuf::safe_parse_positive_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 789
    functionName: google::protobuf::safe_uint_internal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_parse_positive_int
    - google::protobuf::safe_parse_sign
    linkageType: ''
    returnType: bool
    signature: bool safe_uint_internal(std::string text, IntType *value_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 839
    functionName: google::protobuf::FastInt64ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *FastInt64ToBuffer(int64 i, char* buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 884
    functionName: google::protobuf::FastInt32ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *FastInt32ToBuffer(int32 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 897
    functionName: google::protobuf::FastHexToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    linkageType: ''
    returnType: char
    signature: char *FastHexToBuffer(int i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint32
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - value
    - buffer
    - num_byte
    argTypes:
    - uint64
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 914
    functionName: google::protobuf::InternalFastHexToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - uint32
    linkageType: ''
    returnType: char
    signature: char *InternalFastHexToBuffer(uint64 value, char* buffer, int num_byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InternalFastHexToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - uint64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 918
    functionName: google::protobuf::FastHex64ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InternalFastHexToBuffer
    linkageType: ''
    returnType: char
    signature: char *FastHex64ToBuffer(uint64 value, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InternalFastHexToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 922
    functionName: google::protobuf::FastHex32ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InternalFastHexToBuffer
    linkageType: ''
    returnType: char
    signature: char *FastHex32ToBuffer(uint32 value, char* buffer)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 92
    argCount: 2
    argNames:
    - u
    - buffer
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 1043
    functionName: google::protobuf::FastUInt32ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * FastUInt32ToBufferLeft(uint32 u, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1054
    functionName: google::protobuf::FastInt32ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastInt32ToBufferLeft(int32 i, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1060,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1061,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1064,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 2
    argNames:
    - u64
    - buffer
    argTypes:
    - uint64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1096
    functionName: google::protobuf::FastUInt64ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - static_cast<uint32>
    - GOOGLE_DCHECK_LT
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastUInt64ToBufferLeft(uint64 u64, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1107
    functionName: google::protobuf::FastInt64ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastInt64ToBufferLeft(int64 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1119,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1125,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1126,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1128
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - std::string
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(unsigned int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1133,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1135
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1139,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1140,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1137
    functionDepth: 2
    functionLinenumber: 1137
    functionLinenumberEnd: 1142
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - std::string
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(unsigned long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1147,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1149
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(long long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1153,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1154,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1151
    functionDepth: 2
    functionLinenumber: 1151
    functionLinenumberEnd: 1156
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - std::string
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(unsigned long long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1199
    functionDepth: 1
    functionLinenumber: 1199
    functionLinenumberEnd: 1202
    functionName: google::protobuf::SimpleDtoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::DoubleToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleDtoa(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1207
    functionName: google::protobuf::SimpleFtoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FloatToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleFtoa(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1213
    functionName: google::protobuf::IsValidFloatChar
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValidFloatChar(char c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1218,1
    - Dst: google::protobuf::IsValidFloatChar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1221,1
    - Dst: google::protobuf::IsValidFloatChar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1233,1
    - Dst: google::protobuf::IsValidFloatChar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1237,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1238,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1215
    functionDepth: 1
    functionLinenumber: 1215
    functionLinenumberEnd: 1240
    functionName: google::protobuf::DelocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - strchr
    - memmove
    - strlen
    - google::protobuf::IsValidFloatChar
    linkageType: ''
    returnType: void
    signature: void DelocalizeRadix(char* buffer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1247,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1249,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1250,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1252,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1253,1
    - Dst: std::isnan
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1255,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1256,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1261,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1265,1
    - Dst: google::protobuf::internal::NoLocaleStrtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1273,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1276,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1279,1
    - Dst: google::protobuf::DelocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1242
    functionDepth: 2
    functionLinenumber: 1242
    functionLinenumberEnd: 1284
    functionName: google::protobuf::DoubleToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::NoLocaleStrtod
    - google::protobuf::DelocalizeRadix
    - GOOGLE_COMPILE_ASSERT
    - std::isnan
    - std::numeric_limits<double>::infinity
    - strcpy
    - snprintf
    linkageType: ''
    returnType: char
    signature: char * DoubleToBuffer(double value, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1287,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1288,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1292,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1292,1
    - Dst: google::protobuf::ascii_tolower
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1292,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1293,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1293,1
    - Dst: google::protobuf::ascii_tolower
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s1
    - s2
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1297
    functionName: google::protobuf::memcasecmp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    - reinterpret_cast<const unsigned char *>
    - google::protobuf::ascii_tolower
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int memcasecmp(const char *s1, const char *s2, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1300,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1300,1
    - Dst: google::protobuf::memcasecmp
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 2
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: google::protobuf::CaseEqual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    - google::protobuf::memcasecmp
    linkageType: ''
    returnType: bool
    signature: bool CaseEqual(StringPiece s1, StringPiece s2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1305,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1306,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1306,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1307,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1307,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1308,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1312,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1312,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1313,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1313,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1314,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1304
    functionDepth: 3
    functionLinenumber: 1304
    functionLinenumberEnd: 1319
    functionName: google::protobuf::safe_strtob
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::CaseEqual
    linkageType: ''
    returnType: bool
    signature: bool safe_strtob(StringPiece str, bool* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::NoLocaleStrtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1325,1
    - Dst: strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1330
    functionName: google::protobuf::safe_strtof
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::NoLocaleStrtod
    - strtof
    linkageType: ''
    returnType: bool
    signature: bool safe_strtof(const char* str, float* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::NoLocaleStrtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1334,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1342
    functionName: google::protobuf::safe_strtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::NoLocaleStrtod
    - google::protobuf::ascii_isspace
    linkageType: ''
    returnType: bool
    signature: bool safe_strtod(const char* str, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_int_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1344
    functionDepth: 2
    functionLinenumber: 1344
    functionLinenumberEnd: 1346
    functionName: google::protobuf::safe_strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_int_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strto32(const std::string &str, int32 *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_uint_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1348
    functionDepth: 2
    functionLinenumber: 1348
    functionLinenumberEnd: 1350
    functionName: google::protobuf::safe_strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_uint_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou32(const std::string &str, uint32 *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_int_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1352
    functionDepth: 2
    functionLinenumber: 1352
    functionLinenumberEnd: 1354
    functionName: google::protobuf::safe_strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_int_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strto64(const std::string &str, int64 *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_uint_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1356
    functionDepth: 2
    functionLinenumber: 1356
    functionLinenumberEnd: 1358
    functionName: google::protobuf::safe_strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_uint_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou64(const std::string &str, uint64 *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1365,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1367,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1368,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1370,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1371,1
    - Dst: std::isnan
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1373,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1374,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1379,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1383,1
    - Dst: google::protobuf::safe_strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1386,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1388,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1391,1
    - Dst: google::protobuf::DelocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - float
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1360
    functionDepth: 2
    functionLinenumber: 1360
    functionLinenumberEnd: 1396
    functionName: google::protobuf::FloatToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::safe_strtof
    - google::protobuf::DelocalizeRadix
    - GOOGLE_COMPILE_ASSERT
    - std::isnan
    - std::numeric_limits<double>::infinity
    - strcpy
    - snprintf
    linkageType: ''
    returnType: char
    signature: char * FloatToBuffer(float value, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hex
    argTypes:
    - strings::Hex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1417
    functionName: google::protobuf::strings::AlphaNum::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: void
    signature: void AlphaNum::AlphaNum(strings::Hex hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hex
    argTypes:
    - strings::Hex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1417
    functionName: google::protobuf::strings::AlphaNum::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: void
    signature: void AlphaNum::AlphaNum(strings::Hex hex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1432,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1433,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1433,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1433,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - char*
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1437
    functionName: google::protobuf::Append1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - AlphaNum::size
    - AlphaNum::data
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *Append1(char *out, const AlphaNum &x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1440,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1441,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1441,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1441,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1442,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1444,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1445,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1445,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1445,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - out
    - x1
    - x2
    argTypes:
    - char*
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1449
    functionName: google::protobuf::Append2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - AlphaNum::size
    - AlphaNum::data
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *Append2(char *out, const AlphaNum &x1, const AlphaNum &x2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1453,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1454,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1454,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1454,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1455,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1457,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1458,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1458,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1458,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1459,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1461,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1462,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1462,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1462,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1463,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1465,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1466,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1466,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1466,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - out
    - x1
    - x2
    - x3
    - x4
    argTypes:
    - char*
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1470
    functionName: google::protobuf::Append4
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - AlphaNum::size
    - AlphaNum::data
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *Append4(char *out, const AlphaNum &x1, const AlphaNum &x2,\n
      \                    const AlphaNum &x3, const AlphaNum &x4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1474,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1474,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1474,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1475,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1476,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1477,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1479
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string StrCat(const AlphaNum &a, const AlphaNum &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1484,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1485,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1486,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1487,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1489
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - google::protobuf::Append1
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1495,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1496,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1497,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1499
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1505,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1506,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1507,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1508,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - a
    - b
    - c
    - d
    - e
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1510
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append1
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1516,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1517,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1518,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1519,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1520,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1522
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1529,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1529,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1530,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1531,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1532,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1533,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1534,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 7
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1524
    functionDepth: 1
    functionLinenumber: 1524
    functionLinenumberEnd: 1536
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - google::protobuf::Append1
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f,\n                   const AlphaNum &g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1543,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1543,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1543,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1544,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1545,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1546,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1547,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 8
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    - h
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1549
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f,\n                   const AlphaNum &g, const AlphaNum &h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1557,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1558,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1559,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1560,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1561,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 9
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    - h
    - i
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1551
    functionDepth: 1
    functionLinenumber: 1551
    functionLinenumberEnd: 1563
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append1
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f,\n                   const AlphaNum &g, const AlphaNum &h, const AlphaNum
      &i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1572
    functionName: GOOGLE_DCHECK_NO_OVERLAP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_NO_OVERLAP(dest, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1574,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1575,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1575,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - result
    - a
    argTypes:
    - std::string*
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1576
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::data
    - AlphaNum::size
    - GOOGLE_DCHECK_NO_OVERLAP
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void StrAppend(std::string *result, const AlphaNum &a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1579,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1580,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1581,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1582,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1582,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1582,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1583,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1584,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1585,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - result
    - a
    - b
    argTypes:
    - std::string*
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1586
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::size
    - google::protobuf::Append2
    - std::string*::resize
    - std::string*::size
    - GOOGLE_DCHECK_NO_OVERLAP
    - GOOGLE_DCHECK_EQ
    - std::string*::begin
    linkageType: ''
    returnType: void
    signature: void StrAppend(std::string *result, const AlphaNum &a, const AlphaNum
      &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1590,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1591,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1592,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1593,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1595,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1596,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1597,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1598,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - result
    - a
    - b
    - c
    argTypes:
    - std::string*
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1599
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::size
    - google::protobuf::Append2
    - std::string*::resize
    - google::protobuf::Append1
    - std::string*::size
    - GOOGLE_DCHECK_NO_OVERLAP
    - GOOGLE_DCHECK_EQ
    - std::string*::begin
    linkageType: ''
    returnType: void
    signature: "void StrAppend(std::string *result, const AlphaNum &a, const AlphaNum
      &b,\n               const AlphaNum &c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1603,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1604,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1605,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1606,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1607,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1609,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1610,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1611,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - result
    - a
    - b
    - c
    - d
    argTypes:
    - std::string*
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1612
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::size
    - std::string*::resize
    - std::string*::size
    - google::protobuf::Append4
    - GOOGLE_DCHECK_NO_OVERLAP
    - GOOGLE_DCHECK_EQ
    - std::string*::begin
    linkageType: ''
    returnType: void
    signature: "void StrAppend(std::string *result, const AlphaNum &a, const AlphaNum
      &b,\n               const AlphaNum &c, const AlphaNum &d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1616,1
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1617,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1617,1
    - Dst: std::string*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1622,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1622,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1622,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1623,1
    - Dst: std::string*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1624,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1624,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1624,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1627,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1629,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1629,1
    - Dst: std::string::end
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1629,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1634,1
    - Dst: std::string*::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1634,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - substring
    - replacement
    - s
    argTypes:
    - std::string
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1614
    functionDepth: 1
    functionLinenumber: 1614
    functionLinenumberEnd: 1638
    functionName: google::protobuf::GlobalReplaceSubstring
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 40
    functionsReached:
    - std::string*::empty
    - std::string::empty
    - std::string::begin
    - std::string::data
    - std::string::append
    - std::string::end
    - std::string::length
    - GOOGLE_CHECK
    - std::string*::length
    - std::string*::find
    - std::string*::swap
    linkageType: ''
    returnType: int
    signature: "int GlobalReplaceSubstring(const std::string &substring,\n                           const
      std::string &replacement, std::string *s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - input_len
    - do_padding
    argTypes:
    - int
    - bool
    assertStmts:
    - condition: (len >= input_len)
      pos:
        line_end: 1682
        line_start: 1682
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    constantsTouched: []
    func_position:
      end: 1685
      start: 1640
    functionDepth: 0
    functionLinenumber: 1640
    functionLinenumberEnd: 1685
    functionName: google::protobuf::CalculateBase64EscapedLen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int CalculateBase64EscapedLen(int input_len, bool do_padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CalculateBase64EscapedLen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1690
    functionName: google::protobuf::CalculateBase64EscapedLen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::CalculateBase64EscapedLen
    linkageType: ''
    returnType: int
    signature: int CalculateBase64EscapedLen(int input_len)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1731,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1784,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1786,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1788,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1790,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1819,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1820,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1821,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1822,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1838,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1857,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1930,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1942,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 125
    argCount: 5
    argNames:
    - src_param
    - szsrc
    - dest
    - szdest
    - unbase64
    argTypes:
    - char*
    - int
    - char*
    - int
    - signed char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1949
    functionName: google::protobuf::Base64UnescapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::ascii_isspace
    - GOOGLE_LOG
    - GET_INPUT
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: int
    signature: "int Base64UnescapeInternal(const char *src_param, int szsrc,\n                           char
      *dest, int szdest,\n                           const signed char* unbase64)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - label
    - ','
    - remain
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1750
    functionName: GET_INPUT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_INPUT(label, remain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2050
    functionDepth: 2
    functionLinenumber: 2050
    functionLinenumberEnd: 2052
    functionName: google::protobuf::WebSafeBase64Unescape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64UnescapeInternal
    linkageType: ''
    returnType: int
    signature: int WebSafeBase64Unescape(const char *src, int szsrc, char *dest, int
      szdest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2061,1
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2065,1
    - Dst: google::protobuf::string_as_array
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2065,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2068,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2073,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - src
    - slen
    - dest
    - unbase64
    argTypes:
    - char*
    - int
    - std::string*
    - signed char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2054
    functionDepth: 1
    functionLinenumber: 2054
    functionLinenumberEnd: 2077
    functionName: google::protobuf::Base64UnescapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - std::string*::resize
    - google::protobuf::string_as_array
    - google::protobuf::Base64UnescapeInternal
    - std::string*::erase
    - std::string*::clear
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: bool
    signature: "bool Base64UnescapeInternal(const char *src, int slen, std::string
      *dest,\n                                   const signed char *unbase64)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2080,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2080,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2079
    functionDepth: 2
    functionLinenumber: 2079
    functionLinenumberEnd: 2081
    functionName: google::protobuf::Base64Unescape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64UnescapeInternal
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool Base64Unescape(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2084,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2084,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2083
    functionDepth: 2
    functionLinenumber: 2083
    functionLinenumberEnd: 2085
    functionName: google::protobuf::WebSafeBase64Unescape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64UnescapeInternal
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool WebSafeBase64Unescape(StringPiece src, std::string *dest)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BigEndian::Load32
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2105,1
    - Dst: BigEndian::Load16
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2148,1
    - Dst: BigEndian::Load16
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2167,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 6
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    - base64
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - char*
    - int
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2087
    functionDepth: 1
    functionLinenumber: 2087
    functionLinenumberEnd: 2185
    functionName: google::protobuf::Base64EscapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - BigEndian::Load32
    - BigEndian::Load16
    - GOOGLE_LOG
    linkageType: ''
    returnType: int
    signature: "int Base64EscapeInternal(const unsigned char *src, int szsrc,\n                         char
      *dest, int szdest, const char *base64,\n                         bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    argTypes:
    - unsigned char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2193
    functionDepth: 2
    functionLinenumber: 2193
    functionLinenumberEnd: 2195
    functionName: google::protobuf::Base64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: int
    signature: int Base64Escape(const unsigned char *src, int szsrc, char *dest, int
      szdest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2196
    functionDepth: 2
    functionLinenumber: 2196
    functionLinenumberEnd: 2200
    functionName: google::protobuf::WebSafeBase64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: int
    signature: "int WebSafeBase64Escape(const unsigned char *src, int szsrc, char
      *dest,\n                        int szdest, bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CalculateBase64EscapedLen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2206,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2207,1
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2208,1
    - Dst: google::protobuf::string_as_array
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2209,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2210,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2213,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - src
    - szsrc
    - dest
    - do_padding
    - base64_chars
    argTypes:
    - unsigned char*
    - int
    - std::string*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2202
    functionDepth: 1
    functionLinenumber: 2202
    functionLinenumberEnd: 2215
    functionName: google::protobuf::Base64EscapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - std::string*::resize
    - google::protobuf::string_as_array
    - std::string*::size
    - std::string*::erase
    - google::protobuf::Base64EscapeInternal
    - google::protobuf::CalculateBase64EscapedLen
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void Base64EscapeInternal(const unsigned char *src, int szsrc,\n                          std::string
      *dest, bool do_padding,\n                          const char *base64_chars)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2217
    functionDepth: 2
    functionLinenumber: 2217
    functionLinenumberEnd: 2220
    functionName: google::protobuf::Base64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: void
    signature: "void Base64Escape(const unsigned char *src, int szsrc, std::string
      *dest,\n                  bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2222
    functionDepth: 2
    functionLinenumber: 2222
    functionLinenumberEnd: 2225
    functionName: google::protobuf::WebSafeBase64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: void
    signature: "void WebSafeBase64Escape(const unsigned char *src, int szsrc, std::string
      *dest,\n                         bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64Escape
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2228,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2228,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2228,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2227
    functionDepth: 1
    functionLinenumber: 2227
    functionLinenumberEnd: 2230
    functionName: google::protobuf::Base64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - StringPiece::size
    - reinterpret_cast<const unsigned char*>
    - StringPiece::data
    - google::protobuf::Base64Escape
    linkageType: ''
    returnType: void
    signature: void Base64Escape(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::WebSafeBase64Escape
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2233,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2233,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2233,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2232
    functionDepth: 1
    functionLinenumber: 2232
    functionLinenumberEnd: 2235
    functionName: google::protobuf::WebSafeBase64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::WebSafeBase64Escape
    - StringPiece::size
    - StringPiece::data
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: void
    signature: void WebSafeBase64Escape(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::WebSafeBase64Escape
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2238,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2238,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2238,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2237
    functionDepth: 3
    functionLinenumber: 2237
    functionLinenumberEnd: 2240
    functionName: google::protobuf::WebSafeBase64EscapeWithPadding
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::WebSafeBase64Escape
    - StringPiece::size
    - StringPiece::data
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: void
    signature: void WebSafeBase64EscapeWithPadding(StringPiece src, std::string *dest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ghtonl
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2271,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2272,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - code_point
    - output
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2274
    functionName: google::protobuf::EncodeAsUTF8Char
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - ghtonl
    - memcpy
    linkageType: ''
    returnType: int
    signature: int EncodeAsUTF8Char(uint32 code_point, char* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2298
    functionName: google::protobuf::UTF8FirstLetterNumBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: int UTF8FirstLetterNumBytes(const char* src, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2335,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2336,1
    - Dst: google::protobuf::CleanStringLineEndings
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2337,1
    - Dst: google::protobuf::CleanStringLineEndings
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2340,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - src
    - dst
    - auto_end_last_line
    argTypes:
    - std::string
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2333
    functionDepth: 1
    functionLinenumber: 2333
    functionLinenumberEnd: 2343
    functionName: google::protobuf::CleanStringLineEndings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::CleanStringLineEndings
    - std::string*::empty
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: "void CleanStringLineEndings(const std::string &src, std::string *dst,\n
      \                           bool auto_end_last_line)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2348,1
    - Dst: GOOGLE_UNALIGNED_LOAD64
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2354,1
    - Dst: has_less
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2365,1
    - Dst: GOOGLE_UNALIGNED_STORE64
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2369,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2398,1
    - Dst: str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2399,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2401,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - str
    - auto_end_last_line
    argTypes:
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2345
    functionDepth: 1
    functionLinenumber: 2345
    functionLinenumberEnd: 2403
    functionName: google::protobuf::CleanStringLineEndings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - str
    - std::string*::resize
    - std::string*::size
    - GOOGLE_UNALIGNED_LOAD64
    - GOOGLE_UNALIGNED_STORE64
    - has_less
    linkageType: ''
    returnType: void
    signature: void CleanStringLineEndings(std::string *str, bool auto_end_last_line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2365
    functionName: has_less
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: has_less(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2448,1
    - Dst: google::protobuf::internal::LocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2455,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2456,1
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2458,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: const_cast<char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - str
    - endptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2440
    functionDepth: 2
    functionLinenumber: 2440
    functionLinenumberEnd: 2472
    functionName: google::protobuf::internal::NoLocaleStrtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - const_cast<char *>
    - google::protobuf::internal::LocalizeRadix
    - strlen
    - strtod
    - std::string::c_str
    - std::string::size
    linkageType: ''
    returnType: double
    signature: double NoLocaleStrtod(const char *str, char **endptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2448,1
    - Dst: google::protobuf::internal::LocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2455,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2456,1
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2458,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: const_cast<char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - str
    - endptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2440
    functionDepth: 2
    functionLinenumber: 2440
    functionLinenumberEnd: 2472
    functionName: google::protobuf::internal::NoLocaleStrtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - const_cast<char *>
    - google::protobuf::internal::LocalizeRadix
    - strlen
    - strtod
    - std::string::c_str
    - std::string::size
    linkageType: ''
    returnType: double
    signature: double NoLocaleStrtod(const char *str, char **endptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: google::protobuf::isxdigit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isxdigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: google::protobuf::isprint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isprint(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:88,1
    - Dst: strpbrk
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:90,1
    - Dst: strpbrk
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - remove
    - replacewith
    argTypes:
    - std::string*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: google::protobuf::ReplaceCharacters
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - strpbrk
    - std::string*::c_str
    linkageType: ''
    returnType: void
    signature: void ReplaceCharacters(std::string *s, const char *remove, char replacewith)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:98,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:102,1
    - Dst: std::string*::at
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:102,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:107,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:111,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:117,1
    - Dst: std::string*::at
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:117,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 123
    functionName: google::protobuf::StripWhitespace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - std::string*::at
    - std::string*::length
    - std::string*::erase
    - std::string*::clear
    - google::protobuf::ascii_isspace
    linkageType: ''
    returnType: void
    signature: void StripWhitespace(std::string *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:135,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:136,1
    - Dst: std::string::find
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:143,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:147,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:148,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:149,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:151,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - s
    - oldsub
    - newsub
    - replace_all
    - res
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: google::protobuf::StringReplace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - std::string::empty
    - std::string*::append
    - std::string::length
    - std::string::find
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void StringReplace(const std::string &s, const std::string &oldsub,\n
      \                  const std::string &newsub, bool replace_all,\n                   std::string
      *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringReplace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - s
    - oldsub
    - newsub
    - replace_all
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: google::protobuf::StringReplace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::StringReplace
    linkageType: ''
    returnType: std::string
    signature: "std::string StringReplace(const std::string &s, const std::string
      &oldsub,\n                          const std::string &newsub, bool replace_all)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:184,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:185,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:192,1
    - Dst: StringPiece::find_first_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:199,1
    - Dst: StringPiece::find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:201,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:203,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:203,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:207,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:207,1
    - Dst: StringPiece::find_first_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - full
    - delim
    - result
    argTypes:
    - StringPiece
    - char*
    - ITR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 210
    functionName: google::protobuf::SplitStringToIteratorUsing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - StringPiece::find_first_not_of
    - StringPiece::data
    - std::string
    - StringPiece::find_first_of
    - StringPiece::substr
    - StringPiece::size
    linkageType: ''
    returnType: void
    signature: "void SplitStringToIteratorUsing(StringPiece full,\n                                              const
      char *delim, ITR &result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SplitStringToIteratorUsing
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - full
    - delim
    - result
    argTypes:
    - StringPiece
    - char*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: google::protobuf::SplitStringUsing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SplitStringToIteratorUsing
    linkageType: ''
    returnType: void
    signature: "void SplitStringUsing(StringPiece full, const char *delim,\n                      std::vector<std::string>
      *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:237,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:239,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:239,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:243,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:243,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:246,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - full
    - delim
    - pieces
    - result
    argTypes:
    - StringPiece
    - char*
    - int
    - ITR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 247
    functionName: google::protobuf::SplitStringToIteratorAllowEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - StringPiece::substr
    - std::string
    - StringPiece::find_first_of
    linkageType: ''
    returnType: void
    signature: "void SplitStringToIteratorAllowEmpty(StringPiece full,\n                                                   const
      char *delim,\n                                                   int pieces,
      ITR &result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SplitStringToIteratorAllowEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - full
    - delim
    - result
    argTypes:
    - StringPiece
    - char*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: google::protobuf::SplitStringAllowEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SplitStringToIteratorAllowEmpty
    linkageType: ''
    returnType: void
    signature: "void SplitStringAllowEmpty(StringPiece full, const char *delim,\n
      \                          std::vector<std::string> *result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:264,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:265,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:266,1
    - Dst: ITERATOR::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:274,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:276,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:281,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:283,1
    - Dst: ITERATOR::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:283,1
    - Dst: ITERATOR::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - start
    - end
    - delim
    - result
    argTypes:
    - ITERATOR
    - ITERATOR
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 285
    functionName: google::protobuf::JoinStringsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - ITERATOR::size
    - std::string*::reserve
    - ITERATOR::data
    - strlen
    - std::string*::append
    - GOOGLE_CHECK
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: "void JoinStringsIterator(const ITERATOR &start, const ITERATOR &end,\n
      \                               const char *delim, std::string *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::JoinStringsIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:289,1
    - Dst: std::vector<std::string>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:289,1
    - Dst: std::vector<std::string>::end
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - components
    - delim
    - result
    argTypes:
    - std::vector<std::string>
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: google::protobuf::JoinStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - std::vector<std::string>::begin
    - std::vector<std::string>::end
    - google::protobuf::JoinStringsIterator
    linkageType: ''
    returnType: void
    signature: "void JoinStrings(const std::vector<std::string> &components, const
      char *delim,\n                 std::string *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: IS_OCTAL_DIGIT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_OCTAL_DIGIT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - LEVEL
    - ','
    - VECTOR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: LOG_STRING
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_STRING(LEVEL, VECTOR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnescapeCEscapeSequences
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: google::protobuf::UnescapeCEscapeSequences
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::UnescapeCEscapeSequences
    linkageType: ''
    returnType: int
    signature: int UnescapeCEscapeSequences(const char* source, char* dest)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:316,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:331,1
    - Dst: IS_OCTAL_DIGIT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:348,1
    - Dst: IS_OCTAL_DIGIT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:350,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:356,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:358,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:360,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:367,1
    - Dst: google::protobuf::hex_digit_to_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:368,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:370,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:372,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:383,1
    - Dst: google::protobuf::hex_digit_to_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:384,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:386,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:388,1
    - Dst: runetochar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:392,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:400,1
    - Dst: google::protobuf::hex_digit_to_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:403,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:405,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:407,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:414,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:416,1
    - Dst: runetochar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:420,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:425,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 115
    argCount: 3
    argNames:
    - source
    - dest
    - errors
    argTypes:
    - char*
    - char*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 432
    functionName: google::protobuf::UnescapeCEscapeSequences
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::hex_digit_to_int
    - LOG_STRING
    - GOOGLE_DCHECK
    - google::protobuf::isxdigit
    - std::string
    - runetochar
    - IS_OCTAL_DIGIT
    linkageType: ''
    returnType: int
    signature: "int UnescapeCEscapeSequences(const char *source, char *dest,\n                             std::vector<std::string>
      *errors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnescapeCEscapeString
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: google::protobuf::UnescapeCEscapeString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::UnescapeCEscapeString
    linkageType: ''
    returnType: int
    signature: int UnescapeCEscapeString(const std::string &src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:454,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:454,1
    - Dst: google::protobuf::UnescapeCEscapeSequences
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:455,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:455,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:455,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:456,1
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:457,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src
    - dest
    - errors
    argTypes:
    - std::string
    - std::string*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: google::protobuf::UnescapeCEscapeString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - char::char
    - std::string*::assign
    - google::protobuf::UnescapeCEscapeSequences
    - GOOGLE_CHECK
    - std::string::c_str
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: int
    signature: "int UnescapeCEscapeString(const std::string &src, std::string *dest,\n
      \                         std::vector<std::string> *errors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:462,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:462,1
    - Dst: google::protobuf::UnescapeCEscapeSequences
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:463,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:463,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:463,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:464,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: google::protobuf::UnescapeCEscapeString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - char::char
    - std::string
    - google::protobuf::UnescapeCEscapeSequences
    - std::string::c_str
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string UnescapeCEscapeString(const std::string &src)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:501,1
    - Dst: google::protobuf::isprint
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:502,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:503,1
    - Dst: sprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:506,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:507,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 6
    argNames:
    - src
    - src_len
    - dest
    - dest_len
    - use_hex
    - utf8_safe
    argTypes:
    - char*
    - int
    - char*
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 522
    functionName: google::protobuf::CEscapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - sprintf
    - static_cast<uint8>
    - google::protobuf::isprint
    - google::protobuf::isxdigit
    linkageType: ''
    returnType: int
    signature: "int CEscapeInternal(const char* src, int src_len, char* dest,\n                    int
      dest_len, bool use_hex, bool utf8_safe)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:548,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 553
    functionName: google::protobuf::CEscapedLength
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - StringPiece::size
    - static_cast<unsigned char>
    linkageType: ''
    returnType: size_t
    signature: size_t CEscapedLength(StringPiece src)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CEscapedLength
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:562,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:563,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:564,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:564,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:564,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:568,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:569,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:572,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:573,1
    - Dst: google::protobuf::isprint
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:582,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 593
    functionName: google::protobuf::CEscapeAndAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::CEscapedLength
    - static_cast<unsigned char>
    - StringPiece::data
    - std::string*::resize
    - std::string*::append
    - std::string*::size
    - google::protobuf::isprint
    - StringPiece::size
    linkageType: ''
    returnType: void
    signature: void CEscapeAndAppend(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CEscapeAndAppend
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: google::protobuf::CEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CEscapeAndAppend
    linkageType: ''
    returnType: std::string
    signature: std::string CEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:604,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:605,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:607,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:608,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: google::protobuf::strings::Utf8SafeCEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string Utf8SafeCEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:613,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:614,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:616,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:617,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 619
    functionName: google::protobuf::strings::CHexEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string CHexEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:604,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:605,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:607,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:608,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: google::protobuf::strings::Utf8SafeCEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string Utf8SafeCEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:613,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:614,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:616,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:617,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 619
    functionName: google::protobuf::strings::CHexEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string CHexEscape(const std::string &src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:634,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:648,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 649
    functionName: google::protobuf::strto32_adaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - strtol
    linkageType: ''
    returnType: int32
    signature: int32 strto32_adaptor(const char *nptr, char **endptr, int base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:654,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 664
    functionName: google::protobuf::strtou32_adaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    - strtoul
    linkageType: ''
    returnType: uint32
    signature: uint32 strtou32_adaptor(const char *nptr, char **endptr, int base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:668,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:669,1
    - Dst: std::string*::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:690,1
    - Dst: std::string*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - text
    - negative_ptr
    argTypes:
    - std::string*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 692
    functionName: google::protobuf::safe_parse_sign
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - std::string*::substr
    - std::string*::size
    - std::string*::data
    linkageType: ''
    returnType: bool
    signature: "bool safe_parse_sign(std::string *text /*inout*/,\n                            bool
      *negative_ptr /*output*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<IntType>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:698,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:699,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:700,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:702,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:703,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts:
    - condition: (vmax > 0)
      pos:
        line_end: 698
        line_start: 698
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    - condition: (vmax >= base)
      pos:
        line_end: 699
        line_start: 699
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    constantsTouched: []
    func_position:
      end: 725
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 725
    functionName: google::protobuf::safe_parse_positive_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - static_cast<unsigned char>
    - std::string::data
    - assert
    - std::string::size
    - std::numeric_limits<IntType>::max
    linkageType: ''
    returnType: bool
    signature: bool safe_parse_positive_int(std::string text, IntType *value_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<IntType>::min
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:731,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:732,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:733,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:742,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:743,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts:
    - condition: (vmin < 0)
      pos:
        line_end: 731
        line_start: 731
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    - condition: (vmin <= 0 - base)
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    constantsTouched: []
    func_position:
      end: 765
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 765
    functionName: google::protobuf::safe_parse_negative_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    - std::string::data
    - assert
    - std::numeric_limits<IntType>::min
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: bool safe_parse_negative_int(const std::string &text, IntType *value_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_parse_sign
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:771,1
    - Dst: google::protobuf::safe_parse_positive_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:775,1
    - Dst: google::protobuf::safe_parse_negative_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 779
    functionName: google::protobuf::safe_int_internal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::safe_parse_positive_int
    - google::protobuf::safe_parse_sign
    - google::protobuf::safe_parse_negative_int
    linkageType: ''
    returnType: bool
    signature: bool safe_int_internal(std::string text, IntType *value_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_parse_sign
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:785,1
    - Dst: google::protobuf::safe_parse_positive_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 789
    functionName: google::protobuf::safe_uint_internal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::safe_parse_positive_int
    - google::protobuf::safe_parse_sign
    linkageType: ''
    returnType: bool
    signature: bool safe_uint_internal(std::string text, IntType *value_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 839
    functionName: google::protobuf::FastInt64ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *FastInt64ToBuffer(int64 i, char* buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 884
    functionName: google::protobuf::FastInt32ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *FastInt32ToBuffer(int32 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 897
    functionName: google::protobuf::FastHexToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    linkageType: ''
    returnType: char
    signature: char *FastHexToBuffer(int i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint32
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - value
    - buffer
    - num_byte
    argTypes:
    - uint64
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 914
    functionName: google::protobuf::InternalFastHexToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - uint32
    linkageType: ''
    returnType: char
    signature: char *InternalFastHexToBuffer(uint64 value, char* buffer, int num_byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InternalFastHexToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - uint64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 918
    functionName: google::protobuf::FastHex64ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InternalFastHexToBuffer
    linkageType: ''
    returnType: char
    signature: char *FastHex64ToBuffer(uint64 value, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InternalFastHexToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 922
    functionName: google::protobuf::FastHex32ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InternalFastHexToBuffer
    linkageType: ''
    returnType: char
    signature: char *FastHex32ToBuffer(uint32 value, char* buffer)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 92
    argCount: 2
    argNames:
    - u
    - buffer
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 1043
    functionName: google::protobuf::FastUInt32ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * FastUInt32ToBufferLeft(uint32 u, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1054
    functionName: google::protobuf::FastInt32ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastInt32ToBufferLeft(int32 i, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1060,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1061,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1064,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 2
    argNames:
    - u64
    - buffer
    argTypes:
    - uint64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1096
    functionName: google::protobuf::FastUInt64ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - static_cast<uint32>
    - GOOGLE_DCHECK_LT
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastUInt64ToBufferLeft(uint64 u64, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1107
    functionName: google::protobuf::FastInt64ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastInt64ToBufferLeft(int64 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1119,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1125,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1126,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1128
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - std::string
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(unsigned int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1133,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1135
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1139,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1140,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1137
    functionDepth: 2
    functionLinenumber: 1137
    functionLinenumberEnd: 1142
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - std::string
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(unsigned long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1147,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1149
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(long long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1153,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1154,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1151
    functionDepth: 2
    functionLinenumber: 1151
    functionLinenumberEnd: 1156
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - std::string
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(unsigned long long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1199
    functionDepth: 3
    functionLinenumber: 1199
    functionLinenumberEnd: 1202
    functionName: google::protobuf::SimpleDtoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::DoubleToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleDtoa(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1204
    functionDepth: 3
    functionLinenumber: 1204
    functionLinenumberEnd: 1207
    functionName: google::protobuf::SimpleFtoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FloatToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleFtoa(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1213
    functionName: google::protobuf::IsValidFloatChar
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValidFloatChar(char c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1218,1
    - Dst: google::protobuf::IsValidFloatChar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1221,1
    - Dst: google::protobuf::IsValidFloatChar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1233,1
    - Dst: google::protobuf::IsValidFloatChar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1237,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1238,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1215
    functionDepth: 1
    functionLinenumber: 1215
    functionLinenumberEnd: 1240
    functionName: google::protobuf::DelocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - strchr
    - memmove
    - strlen
    - google::protobuf::IsValidFloatChar
    linkageType: ''
    returnType: void
    signature: void DelocalizeRadix(char* buffer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1247,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1249,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1250,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1252,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1253,1
    - Dst: std::isnan
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1255,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1256,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1261,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1265,1
    - Dst: google::protobuf::internal::NoLocaleStrtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1273,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1276,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1279,1
    - Dst: google::protobuf::DelocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1242
    functionDepth: 3
    functionLinenumber: 1242
    functionLinenumberEnd: 1284
    functionName: google::protobuf::DoubleToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::NoLocaleStrtod
    - google::protobuf::DelocalizeRadix
    - GOOGLE_COMPILE_ASSERT
    - std::isnan
    - std::numeric_limits<double>::infinity
    - strcpy
    - snprintf
    linkageType: ''
    returnType: char
    signature: char * DoubleToBuffer(double value, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1287,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1288,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1292,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1292,1
    - Dst: google::protobuf::ascii_tolower
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1292,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1293,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1293,1
    - Dst: google::protobuf::ascii_tolower
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s1
    - s2
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1297
    functionName: google::protobuf::memcasecmp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    - reinterpret_cast<const unsigned char *>
    - google::protobuf::ascii_tolower
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int memcasecmp(const char *s1, const char *s2, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1300,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1300,1
    - Dst: google::protobuf::memcasecmp
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 2
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: google::protobuf::CaseEqual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    - google::protobuf::memcasecmp
    linkageType: ''
    returnType: bool
    signature: bool CaseEqual(StringPiece s1, StringPiece s2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1305,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1306,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1306,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1307,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1307,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1308,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1312,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1312,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1313,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1313,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1314,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1304
    functionDepth: 3
    functionLinenumber: 1304
    functionLinenumberEnd: 1319
    functionName: google::protobuf::safe_strtob
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::CaseEqual
    linkageType: ''
    returnType: bool
    signature: bool safe_strtob(StringPiece str, bool* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::NoLocaleStrtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1325,1
    - Dst: strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1321
    functionDepth: 3
    functionLinenumber: 1321
    functionLinenumberEnd: 1330
    functionName: google::protobuf::safe_strtof
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::NoLocaleStrtod
    - strtof
    linkageType: ''
    returnType: bool
    signature: bool safe_strtof(const char* str, float* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::NoLocaleStrtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1334,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1332
    functionDepth: 3
    functionLinenumber: 1332
    functionLinenumberEnd: 1342
    functionName: google::protobuf::safe_strtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::NoLocaleStrtod
    - google::protobuf::ascii_isspace
    linkageType: ''
    returnType: bool
    signature: bool safe_strtod(const char* str, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_int_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1344
    functionDepth: 2
    functionLinenumber: 1344
    functionLinenumberEnd: 1346
    functionName: google::protobuf::safe_strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_int_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strto32(const std::string &str, int32 *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_uint_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1348
    functionDepth: 2
    functionLinenumber: 1348
    functionLinenumberEnd: 1350
    functionName: google::protobuf::safe_strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_uint_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou32(const std::string &str, uint32 *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_int_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1352
    functionDepth: 2
    functionLinenumber: 1352
    functionLinenumberEnd: 1354
    functionName: google::protobuf::safe_strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_int_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strto64(const std::string &str, int64 *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_uint_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1356
    functionDepth: 2
    functionLinenumber: 1356
    functionLinenumberEnd: 1358
    functionName: google::protobuf::safe_strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_uint_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou64(const std::string &str, uint64 *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1365,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1367,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1368,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1370,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1371,1
    - Dst: std::isnan
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1373,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1374,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1379,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1383,1
    - Dst: google::protobuf::safe_strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1386,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1388,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1391,1
    - Dst: google::protobuf::DelocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - float
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1360
    functionDepth: 2
    functionLinenumber: 1360
    functionLinenumberEnd: 1396
    functionName: google::protobuf::FloatToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::safe_strtof
    - google::protobuf::DelocalizeRadix
    - GOOGLE_COMPILE_ASSERT
    - std::isnan
    - std::numeric_limits<double>::infinity
    - strcpy
    - snprintf
    linkageType: ''
    returnType: char
    signature: char * FloatToBuffer(float value, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hex
    argTypes:
    - strings::Hex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1417
    functionName: google::protobuf::strings::AlphaNum::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: void
    signature: void AlphaNum::AlphaNum(strings::Hex hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hex
    argTypes:
    - strings::Hex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1417
    functionName: google::protobuf::strings::AlphaNum::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: void
    signature: void AlphaNum::AlphaNum(strings::Hex hex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1432,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1433,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1433,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1433,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - char*
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1437
    functionName: google::protobuf::Append1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 5
    functionsReached:
    - AlphaNum::size
    - AlphaNum::data
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *Append1(char *out, const AlphaNum &x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1440,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1441,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1441,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1441,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1442,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1444,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1445,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1445,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1445,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - out
    - x1
    - x2
    argTypes:
    - char*
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1449
    functionName: google::protobuf::Append2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::size
    - AlphaNum::data
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *Append2(char *out, const AlphaNum &x1, const AlphaNum &x2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1453,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1454,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1454,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1454,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1455,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1457,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1458,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1458,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1458,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1459,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1461,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1462,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1462,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1462,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1463,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1465,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1466,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1466,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1466,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - out
    - x1
    - x2
    - x3
    - x4
    argTypes:
    - char*
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1470
    functionName: google::protobuf::Append4
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 7
    functionsReached:
    - AlphaNum::size
    - AlphaNum::data
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *Append4(char *out, const AlphaNum &x1, const AlphaNum &x2,\n
      \                    const AlphaNum &x3, const AlphaNum &x4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1474,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1474,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1474,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1475,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1476,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1477,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1479
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string StrCat(const AlphaNum &a, const AlphaNum &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1484,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1485,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1486,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1487,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1489
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - google::protobuf::Append1
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1495,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1496,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1497,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1499
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1505,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1506,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1507,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1508,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - a
    - b
    - c
    - d
    - e
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1510
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append1
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1516,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1517,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1518,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1519,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1520,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1522
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1529,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1529,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1530,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1531,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1532,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1533,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1534,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 7
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1524
    functionDepth: 1
    functionLinenumber: 1524
    functionLinenumberEnd: 1536
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - google::protobuf::Append1
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f,\n                   const AlphaNum &g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1543,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1543,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1543,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1544,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1545,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1546,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1547,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 8
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    - h
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1549
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f,\n                   const AlphaNum &g, const AlphaNum &h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1557,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1558,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1559,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1560,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1561,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 9
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    - h
    - i
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1551
    functionDepth: 1
    functionLinenumber: 1551
    functionLinenumberEnd: 1563
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append1
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f,\n                   const AlphaNum &g, const AlphaNum &h, const AlphaNum
      &i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1572
    functionName: GOOGLE_DCHECK_NO_OVERLAP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_NO_OVERLAP(dest, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1574,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1575,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1575,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - result
    - a
    argTypes:
    - std::string*
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1576
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::data
    - AlphaNum::size
    - GOOGLE_DCHECK_NO_OVERLAP
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void StrAppend(std::string *result, const AlphaNum &a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1579,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1580,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1581,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1582,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1582,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1582,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1583,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1584,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1585,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - result
    - a
    - b
    argTypes:
    - std::string*
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1586
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::size
    - google::protobuf::Append2
    - std::string*::resize
    - std::string*::size
    - GOOGLE_DCHECK_NO_OVERLAP
    - GOOGLE_DCHECK_EQ
    - std::string*::begin
    linkageType: ''
    returnType: void
    signature: void StrAppend(std::string *result, const AlphaNum &a, const AlphaNum
      &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1590,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1591,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1592,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1593,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1595,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1596,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1597,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1598,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - result
    - a
    - b
    - c
    argTypes:
    - std::string*
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1599
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::size
    - google::protobuf::Append2
    - std::string*::resize
    - google::protobuf::Append1
    - std::string*::size
    - GOOGLE_DCHECK_NO_OVERLAP
    - GOOGLE_DCHECK_EQ
    - std::string*::begin
    linkageType: ''
    returnType: void
    signature: "void StrAppend(std::string *result, const AlphaNum &a, const AlphaNum
      &b,\n               const AlphaNum &c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1603,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1604,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1605,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1606,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1607,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1609,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1610,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1611,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - result
    - a
    - b
    - c
    - d
    argTypes:
    - std::string*
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1612
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::size
    - std::string*::resize
    - std::string*::size
    - google::protobuf::Append4
    - GOOGLE_DCHECK_NO_OVERLAP
    - GOOGLE_DCHECK_EQ
    - std::string*::begin
    linkageType: ''
    returnType: void
    signature: "void StrAppend(std::string *result, const AlphaNum &a, const AlphaNum
      &b,\n               const AlphaNum &c, const AlphaNum &d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1616,1
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1617,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1617,1
    - Dst: std::string*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1622,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1622,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1622,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1623,1
    - Dst: std::string*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1624,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1624,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1624,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1627,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1629,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1629,1
    - Dst: std::string::end
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1629,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1634,1
    - Dst: std::string*::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1634,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - substring
    - replacement
    - s
    argTypes:
    - std::string
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1614
    functionDepth: 1
    functionLinenumber: 1614
    functionLinenumberEnd: 1638
    functionName: google::protobuf::GlobalReplaceSubstring
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 40
    functionsReached:
    - std::string*::empty
    - std::string::empty
    - std::string::begin
    - std::string::data
    - std::string::append
    - std::string::end
    - std::string::length
    - GOOGLE_CHECK
    - std::string*::length
    - std::string*::find
    - std::string*::swap
    linkageType: ''
    returnType: int
    signature: "int GlobalReplaceSubstring(const std::string &substring,\n                           const
      std::string &replacement, std::string *s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - input_len
    - do_padding
    argTypes:
    - int
    - bool
    assertStmts:
    - condition: (len >= input_len)
      pos:
        line_end: 1682
        line_start: 1682
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    constantsTouched: []
    func_position:
      end: 1685
      start: 1640
    functionDepth: 0
    functionLinenumber: 1640
    functionLinenumberEnd: 1685
    functionName: google::protobuf::CalculateBase64EscapedLen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int CalculateBase64EscapedLen(int input_len, bool do_padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CalculateBase64EscapedLen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1690
    functionName: google::protobuf::CalculateBase64EscapedLen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::CalculateBase64EscapedLen
    linkageType: ''
    returnType: int
    signature: int CalculateBase64EscapedLen(int input_len)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1731,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1784,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1786,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1788,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1790,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1819,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1820,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1821,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1822,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1838,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1857,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1930,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1942,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 125
    argCount: 5
    argNames:
    - src_param
    - szsrc
    - dest
    - szdest
    - unbase64
    argTypes:
    - char*
    - int
    - char*
    - int
    - signed char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1949
    functionName: google::protobuf::Base64UnescapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::ascii_isspace
    - GOOGLE_LOG
    - GET_INPUT
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: int
    signature: "int Base64UnescapeInternal(const char *src_param, int szsrc,\n                           char
      *dest, int szdest,\n                           const signed char* unbase64)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - label
    - ','
    - remain
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1750
    functionName: GET_INPUT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_INPUT(label, remain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2050
    functionDepth: 2
    functionLinenumber: 2050
    functionLinenumberEnd: 2052
    functionName: google::protobuf::WebSafeBase64Unescape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64UnescapeInternal
    linkageType: ''
    returnType: int
    signature: int WebSafeBase64Unescape(const char *src, int szsrc, char *dest, int
      szdest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2061,1
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2065,1
    - Dst: google::protobuf::string_as_array
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2065,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2068,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2073,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - src
    - slen
    - dest
    - unbase64
    argTypes:
    - char*
    - int
    - std::string*
    - signed char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2054
    functionDepth: 1
    functionLinenumber: 2054
    functionLinenumberEnd: 2077
    functionName: google::protobuf::Base64UnescapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - std::string*::resize
    - google::protobuf::string_as_array
    - google::protobuf::Base64UnescapeInternal
    - std::string*::erase
    - std::string*::clear
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: bool
    signature: "bool Base64UnescapeInternal(const char *src, int slen, std::string
      *dest,\n                                   const signed char *unbase64)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2080,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2080,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2079
    functionDepth: 2
    functionLinenumber: 2079
    functionLinenumberEnd: 2081
    functionName: google::protobuf::Base64Unescape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64UnescapeInternal
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool Base64Unescape(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2084,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2084,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2083
    functionDepth: 2
    functionLinenumber: 2083
    functionLinenumberEnd: 2085
    functionName: google::protobuf::WebSafeBase64Unescape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64UnescapeInternal
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool WebSafeBase64Unescape(StringPiece src, std::string *dest)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BigEndian::Load32
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2105,1
    - Dst: BigEndian::Load16
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2148,1
    - Dst: BigEndian::Load16
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2167,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 6
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    - base64
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - char*
    - int
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2087
    functionDepth: 1
    functionLinenumber: 2087
    functionLinenumberEnd: 2185
    functionName: google::protobuf::Base64EscapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 5
    functionsReached:
    - BigEndian::Load32
    - BigEndian::Load16
    - GOOGLE_LOG
    linkageType: ''
    returnType: int
    signature: "int Base64EscapeInternal(const unsigned char *src, int szsrc,\n                         char
      *dest, int szdest, const char *base64,\n                         bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    argTypes:
    - unsigned char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2193
    functionDepth: 2
    functionLinenumber: 2193
    functionLinenumberEnd: 2195
    functionName: google::protobuf::Base64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: int
    signature: int Base64Escape(const unsigned char *src, int szsrc, char *dest, int
      szdest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2196
    functionDepth: 2
    functionLinenumber: 2196
    functionLinenumberEnd: 2200
    functionName: google::protobuf::WebSafeBase64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: int
    signature: "int WebSafeBase64Escape(const unsigned char *src, int szsrc, char
      *dest,\n                        int szdest, bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CalculateBase64EscapedLen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2206,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2207,1
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2208,1
    - Dst: google::protobuf::string_as_array
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2209,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2210,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2213,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - src
    - szsrc
    - dest
    - do_padding
    - base64_chars
    argTypes:
    - unsigned char*
    - int
    - std::string*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2202
    functionDepth: 1
    functionLinenumber: 2202
    functionLinenumberEnd: 2215
    functionName: google::protobuf::Base64EscapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 8
    functionsReached:
    - std::string*::resize
    - google::protobuf::string_as_array
    - std::string*::size
    - std::string*::erase
    - google::protobuf::Base64EscapeInternal
    - google::protobuf::CalculateBase64EscapedLen
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void Base64EscapeInternal(const unsigned char *src, int szsrc,\n                          std::string
      *dest, bool do_padding,\n                          const char *base64_chars)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2217
    functionDepth: 2
    functionLinenumber: 2217
    functionLinenumberEnd: 2220
    functionName: google::protobuf::Base64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: void
    signature: "void Base64Escape(const unsigned char *src, int szsrc, std::string
      *dest,\n                  bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2222
    functionDepth: 2
    functionLinenumber: 2222
    functionLinenumberEnd: 2225
    functionName: google::protobuf::WebSafeBase64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: void
    signature: "void WebSafeBase64Escape(const unsigned char *src, int szsrc, std::string
      *dest,\n                         bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64Escape
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2228,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2228,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2228,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2227
    functionDepth: 1
    functionLinenumber: 2227
    functionLinenumberEnd: 2230
    functionName: google::protobuf::Base64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - StringPiece::size
    - reinterpret_cast<const unsigned char*>
    - StringPiece::data
    - google::protobuf::Base64Escape
    linkageType: ''
    returnType: void
    signature: void Base64Escape(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::WebSafeBase64Escape
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2233,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2233,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2233,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2232
    functionDepth: 1
    functionLinenumber: 2232
    functionLinenumberEnd: 2235
    functionName: google::protobuf::WebSafeBase64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::WebSafeBase64Escape
    - StringPiece::size
    - StringPiece::data
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: void
    signature: void WebSafeBase64Escape(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::WebSafeBase64Escape
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2238,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2238,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2238,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2237
    functionDepth: 3
    functionLinenumber: 2237
    functionLinenumberEnd: 2240
    functionName: google::protobuf::WebSafeBase64EscapeWithPadding
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::WebSafeBase64Escape
    - StringPiece::size
    - StringPiece::data
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: void
    signature: void WebSafeBase64EscapeWithPadding(StringPiece src, std::string *dest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ghtonl
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2271,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2272,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - code_point
    - output
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2274
    functionName: google::protobuf::EncodeAsUTF8Char
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - ghtonl
    - memcpy
    linkageType: ''
    returnType: int
    signature: int EncodeAsUTF8Char(uint32 code_point, char* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2298
    functionName: google::protobuf::UTF8FirstLetterNumBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: int UTF8FirstLetterNumBytes(const char* src, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2335,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2336,1
    - Dst: google::protobuf::CleanStringLineEndings
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2337,1
    - Dst: google::protobuf::CleanStringLineEndings
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2340,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - src
    - dst
    - auto_end_last_line
    argTypes:
    - std::string
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2333
    functionDepth: 1
    functionLinenumber: 2333
    functionLinenumberEnd: 2343
    functionName: google::protobuf::CleanStringLineEndings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::CleanStringLineEndings
    - std::string*::empty
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: "void CleanStringLineEndings(const std::string &src, std::string *dst,\n
      \                           bool auto_end_last_line)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2348,1
    - Dst: GOOGLE_UNALIGNED_LOAD64
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2354,1
    - Dst: has_less
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2365,1
    - Dst: GOOGLE_UNALIGNED_STORE64
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2369,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2398,1
    - Dst: str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2399,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2401,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - str
    - auto_end_last_line
    argTypes:
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2345
    functionDepth: 1
    functionLinenumber: 2345
    functionLinenumberEnd: 2403
    functionName: google::protobuf::CleanStringLineEndings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - str
    - std::string*::resize
    - std::string*::size
    - GOOGLE_UNALIGNED_LOAD64
    - GOOGLE_UNALIGNED_STORE64
    - has_less
    linkageType: ''
    returnType: void
    signature: void CleanStringLineEndings(std::string *str, bool auto_end_last_line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2365
    functionName: has_less
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: has_less(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2448,1
    - Dst: google::protobuf::internal::LocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2455,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2456,1
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2458,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: const_cast<char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - str
    - endptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2440
    functionDepth: 2
    functionLinenumber: 2440
    functionLinenumberEnd: 2472
    functionName: google::protobuf::internal::NoLocaleStrtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - const_cast<char *>
    - google::protobuf::internal::LocalizeRadix
    - strlen
    - strtod
    - std::string::c_str
    - std::string::size
    linkageType: ''
    returnType: double
    signature: double NoLocaleStrtod(const char *str, char **endptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2448,1
    - Dst: google::protobuf::internal::LocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2455,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2456,1
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2458,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: const_cast<char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - str
    - endptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2440
    functionDepth: 2
    functionLinenumber: 2440
    functionLinenumberEnd: 2472
    functionName: google::protobuf::internal::NoLocaleStrtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - const_cast<char *>
    - google::protobuf::internal::LocalizeRadix
    - strlen
    - strtod
    - std::string::c_str
    - std::string::size
    linkageType: ''
    returnType: double
    signature: double NoLocaleStrtod(const char *str, char **endptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: google::protobuf::isxdigit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isxdigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: google::protobuf::isprint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isprint(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:88,1
    - Dst: strpbrk
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:90,1
    - Dst: strpbrk
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - remove
    - replacewith
    argTypes:
    - std::string*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: google::protobuf::ReplaceCharacters
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - strpbrk
    - std::string*::c_str
    linkageType: ''
    returnType: void
    signature: void ReplaceCharacters(std::string *s, const char *remove, char replacewith)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:98,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:102,1
    - Dst: std::string*::at
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:102,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:107,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:111,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:117,1
    - Dst: std::string*::at
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:117,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 123
    functionName: google::protobuf::StripWhitespace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - std::string*::at
    - std::string*::length
    - std::string*::erase
    - std::string*::clear
    - google::protobuf::ascii_isspace
    linkageType: ''
    returnType: void
    signature: void StripWhitespace(std::string *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:135,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:136,1
    - Dst: std::string::find
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:143,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:147,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:148,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:149,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:151,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - s
    - oldsub
    - newsub
    - replace_all
    - res
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: google::protobuf::StringReplace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - std::string::empty
    - std::string*::append
    - std::string::length
    - std::string::find
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void StringReplace(const std::string &s, const std::string &oldsub,\n
      \                  const std::string &newsub, bool replace_all,\n                   std::string
      *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringReplace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - s
    - oldsub
    - newsub
    - replace_all
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: google::protobuf::StringReplace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::StringReplace
    linkageType: ''
    returnType: std::string
    signature: "std::string StringReplace(const std::string &s, const std::string
      &oldsub,\n                          const std::string &newsub, bool replace_all)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:184,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:185,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:192,1
    - Dst: StringPiece::find_first_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:199,1
    - Dst: StringPiece::find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:201,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:203,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:203,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:207,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:207,1
    - Dst: StringPiece::find_first_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - full
    - delim
    - result
    argTypes:
    - StringPiece
    - char*
    - ITR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 210
    functionName: google::protobuf::SplitStringToIteratorUsing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - StringPiece::find_first_not_of
    - StringPiece::data
    - std::string
    - StringPiece::find_first_of
    - StringPiece::substr
    - StringPiece::size
    linkageType: ''
    returnType: void
    signature: "void SplitStringToIteratorUsing(StringPiece full,\n                                              const
      char *delim, ITR &result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SplitStringToIteratorUsing
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - full
    - delim
    - result
    argTypes:
    - StringPiece
    - char*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: google::protobuf::SplitStringUsing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SplitStringToIteratorUsing
    linkageType: ''
    returnType: void
    signature: "void SplitStringUsing(StringPiece full, const char *delim,\n                      std::vector<std::string>
      *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:237,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:239,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:239,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:243,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:243,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:246,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - full
    - delim
    - pieces
    - result
    argTypes:
    - StringPiece
    - char*
    - int
    - ITR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 247
    functionName: google::protobuf::SplitStringToIteratorAllowEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - StringPiece::substr
    - std::string
    - StringPiece::find_first_of
    linkageType: ''
    returnType: void
    signature: "void SplitStringToIteratorAllowEmpty(StringPiece full,\n                                                   const
      char *delim,\n                                                   int pieces,
      ITR &result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SplitStringToIteratorAllowEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - full
    - delim
    - result
    argTypes:
    - StringPiece
    - char*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: google::protobuf::SplitStringAllowEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SplitStringToIteratorAllowEmpty
    linkageType: ''
    returnType: void
    signature: "void SplitStringAllowEmpty(StringPiece full, const char *delim,\n
      \                          std::vector<std::string> *result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:264,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:265,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:266,1
    - Dst: ITERATOR::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:274,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:276,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:281,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:283,1
    - Dst: ITERATOR::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:283,1
    - Dst: ITERATOR::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - start
    - end
    - delim
    - result
    argTypes:
    - ITERATOR
    - ITERATOR
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 285
    functionName: google::protobuf::JoinStringsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - ITERATOR::size
    - std::string*::reserve
    - ITERATOR::data
    - strlen
    - std::string*::append
    - GOOGLE_CHECK
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: "void JoinStringsIterator(const ITERATOR &start, const ITERATOR &end,\n
      \                               const char *delim, std::string *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::JoinStringsIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:289,1
    - Dst: std::vector<std::string>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:289,1
    - Dst: std::vector<std::string>::end
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - components
    - delim
    - result
    argTypes:
    - std::vector<std::string>
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: google::protobuf::JoinStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - std::vector<std::string>::begin
    - std::vector<std::string>::end
    - google::protobuf::JoinStringsIterator
    linkageType: ''
    returnType: void
    signature: "void JoinStrings(const std::vector<std::string> &components, const
      char *delim,\n                 std::string *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: IS_OCTAL_DIGIT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_OCTAL_DIGIT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - LEVEL
    - ','
    - VECTOR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: LOG_STRING
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_STRING(LEVEL, VECTOR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnescapeCEscapeSequences
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: google::protobuf::UnescapeCEscapeSequences
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::UnescapeCEscapeSequences
    linkageType: ''
    returnType: int
    signature: int UnescapeCEscapeSequences(const char* source, char* dest)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:316,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:331,1
    - Dst: IS_OCTAL_DIGIT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:348,1
    - Dst: IS_OCTAL_DIGIT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:350,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:356,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:358,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:360,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:367,1
    - Dst: google::protobuf::hex_digit_to_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:368,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:370,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:372,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:383,1
    - Dst: google::protobuf::hex_digit_to_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:384,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:386,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:388,1
    - Dst: runetochar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:392,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:400,1
    - Dst: google::protobuf::hex_digit_to_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:403,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:405,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:407,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:414,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:416,1
    - Dst: runetochar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:420,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:425,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 115
    argCount: 3
    argNames:
    - source
    - dest
    - errors
    argTypes:
    - char*
    - char*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 432
    functionName: google::protobuf::UnescapeCEscapeSequences
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::hex_digit_to_int
    - LOG_STRING
    - GOOGLE_DCHECK
    - google::protobuf::isxdigit
    - std::string
    - runetochar
    - IS_OCTAL_DIGIT
    linkageType: ''
    returnType: int
    signature: "int UnescapeCEscapeSequences(const char *source, char *dest,\n                             std::vector<std::string>
      *errors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnescapeCEscapeString
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: google::protobuf::UnescapeCEscapeString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::UnescapeCEscapeString
    linkageType: ''
    returnType: int
    signature: int UnescapeCEscapeString(const std::string &src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:454,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:454,1
    - Dst: google::protobuf::UnescapeCEscapeSequences
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:455,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:455,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:455,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:456,1
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:457,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src
    - dest
    - errors
    argTypes:
    - std::string
    - std::string*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: google::protobuf::UnescapeCEscapeString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - char::char
    - std::string*::assign
    - google::protobuf::UnescapeCEscapeSequences
    - GOOGLE_CHECK
    - std::string::c_str
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: int
    signature: "int UnescapeCEscapeString(const std::string &src, std::string *dest,\n
      \                         std::vector<std::string> *errors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:462,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:462,1
    - Dst: google::protobuf::UnescapeCEscapeSequences
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:463,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:463,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:463,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:464,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: google::protobuf::UnescapeCEscapeString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - char::char
    - std::string
    - google::protobuf::UnescapeCEscapeSequences
    - std::string::c_str
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string UnescapeCEscapeString(const std::string &src)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:501,1
    - Dst: google::protobuf::isprint
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:502,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:503,1
    - Dst: sprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:506,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:507,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 6
    argNames:
    - src
    - src_len
    - dest
    - dest_len
    - use_hex
    - utf8_safe
    argTypes:
    - char*
    - int
    - char*
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 522
    functionName: google::protobuf::CEscapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - sprintf
    - static_cast<uint8>
    - google::protobuf::isprint
    - google::protobuf::isxdigit
    linkageType: ''
    returnType: int
    signature: "int CEscapeInternal(const char* src, int src_len, char* dest,\n                    int
      dest_len, bool use_hex, bool utf8_safe)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:548,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 553
    functionName: google::protobuf::CEscapedLength
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - StringPiece::size
    - static_cast<unsigned char>
    linkageType: ''
    returnType: size_t
    signature: size_t CEscapedLength(StringPiece src)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CEscapedLength
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:562,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:563,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:564,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:564,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:564,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:568,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:569,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:572,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:573,1
    - Dst: google::protobuf::isprint
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:582,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 593
    functionName: google::protobuf::CEscapeAndAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::CEscapedLength
    - static_cast<unsigned char>
    - StringPiece::data
    - std::string*::resize
    - std::string*::append
    - std::string*::size
    - google::protobuf::isprint
    - StringPiece::size
    linkageType: ''
    returnType: void
    signature: void CEscapeAndAppend(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CEscapeAndAppend
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: google::protobuf::CEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CEscapeAndAppend
    linkageType: ''
    returnType: std::string
    signature: std::string CEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:604,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:605,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:607,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:608,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: google::protobuf::strings::Utf8SafeCEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string Utf8SafeCEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:613,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:614,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:616,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:617,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 619
    functionName: google::protobuf::strings::CHexEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string CHexEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:604,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:605,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:607,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:608,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: google::protobuf::strings::Utf8SafeCEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string Utf8SafeCEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:613,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:614,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:616,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:617,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 619
    functionName: google::protobuf::strings::CHexEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string CHexEscape(const std::string &src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:634,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:648,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 649
    functionName: google::protobuf::strto32_adaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - strtol
    linkageType: ''
    returnType: int32
    signature: int32 strto32_adaptor(const char *nptr, char **endptr, int base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:654,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 664
    functionName: google::protobuf::strtou32_adaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    - strtoul
    linkageType: ''
    returnType: uint32
    signature: uint32 strtou32_adaptor(const char *nptr, char **endptr, int base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:668,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:669,1
    - Dst: std::string*::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:690,1
    - Dst: std::string*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - text
    - negative_ptr
    argTypes:
    - std::string*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 692
    functionName: google::protobuf::safe_parse_sign
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - std::string*::substr
    - std::string*::size
    - std::string*::data
    linkageType: ''
    returnType: bool
    signature: "bool safe_parse_sign(std::string *text /*inout*/,\n                            bool
      *negative_ptr /*output*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<IntType>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:698,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:699,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:700,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:702,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:703,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts:
    - condition: (vmax > 0)
      pos:
        line_end: 698
        line_start: 698
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    - condition: (vmax >= base)
      pos:
        line_end: 699
        line_start: 699
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    constantsTouched: []
    func_position:
      end: 725
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 725
    functionName: google::protobuf::safe_parse_positive_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - static_cast<unsigned char>
    - std::string::data
    - assert
    - std::string::size
    - std::numeric_limits<IntType>::max
    linkageType: ''
    returnType: bool
    signature: bool safe_parse_positive_int(std::string text, IntType *value_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<IntType>::min
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:731,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:732,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:733,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:742,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:743,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts:
    - condition: (vmin < 0)
      pos:
        line_end: 731
        line_start: 731
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    - condition: (vmin <= 0 - base)
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    constantsTouched: []
    func_position:
      end: 765
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 765
    functionName: google::protobuf::safe_parse_negative_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - static_cast<unsigned char>
    - std::string::data
    - assert
    - std::numeric_limits<IntType>::min
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: bool safe_parse_negative_int(const std::string &text, IntType *value_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_parse_sign
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:771,1
    - Dst: google::protobuf::safe_parse_positive_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:775,1
    - Dst: google::protobuf::safe_parse_negative_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 779
    functionName: google::protobuf::safe_int_internal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::safe_parse_positive_int
    - google::protobuf::safe_parse_sign
    - google::protobuf::safe_parse_negative_int
    linkageType: ''
    returnType: bool
    signature: bool safe_int_internal(std::string text, IntType *value_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_parse_sign
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:785,1
    - Dst: google::protobuf::safe_parse_positive_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 789
    functionName: google::protobuf::safe_uint_internal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::safe_parse_positive_int
    - google::protobuf::safe_parse_sign
    linkageType: ''
    returnType: bool
    signature: bool safe_uint_internal(std::string text, IntType *value_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 839
    functionName: google::protobuf::FastInt64ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *FastInt64ToBuffer(int64 i, char* buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 884
    functionName: google::protobuf::FastInt32ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *FastInt32ToBuffer(int32 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 897
    functionName: google::protobuf::FastHexToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    linkageType: ''
    returnType: char
    signature: char *FastHexToBuffer(int i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint32
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - value
    - buffer
    - num_byte
    argTypes:
    - uint64
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 914
    functionName: google::protobuf::InternalFastHexToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - uint32
    linkageType: ''
    returnType: char
    signature: char *InternalFastHexToBuffer(uint64 value, char* buffer, int num_byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InternalFastHexToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - uint64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 918
    functionName: google::protobuf::FastHex64ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InternalFastHexToBuffer
    linkageType: ''
    returnType: char
    signature: char *FastHex64ToBuffer(uint64 value, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InternalFastHexToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 922
    functionName: google::protobuf::FastHex32ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InternalFastHexToBuffer
    linkageType: ''
    returnType: char
    signature: char *FastHex32ToBuffer(uint32 value, char* buffer)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 92
    argCount: 2
    argNames:
    - u
    - buffer
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 1043
    functionName: google::protobuf::FastUInt32ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * FastUInt32ToBufferLeft(uint32 u, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1054
    functionName: google::protobuf::FastInt32ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastInt32ToBufferLeft(int32 i, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1060,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1061,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1064,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 2
    argNames:
    - u64
    - buffer
    argTypes:
    - uint64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1096
    functionName: google::protobuf::FastUInt64ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 11
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - static_cast<uint32>
    - GOOGLE_DCHECK_LT
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastUInt64ToBufferLeft(uint64 u64, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1107
    functionName: google::protobuf::FastInt64ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastInt64ToBufferLeft(int64 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1119,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1125,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1126,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1128
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - std::string
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(unsigned int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1133,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1135
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1139,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1140,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1137
    functionDepth: 2
    functionLinenumber: 1137
    functionLinenumberEnd: 1142
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - std::string
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(unsigned long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1147,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1149
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(long long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1153,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1154,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1151
    functionDepth: 2
    functionLinenumber: 1151
    functionLinenumberEnd: 1156
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - std::string
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(unsigned long long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1199
    functionDepth: 3
    functionLinenumber: 1199
    functionLinenumberEnd: 1202
    functionName: google::protobuf::SimpleDtoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::DoubleToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleDtoa(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1204
    functionDepth: 3
    functionLinenumber: 1204
    functionLinenumberEnd: 1207
    functionName: google::protobuf::SimpleFtoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FloatToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleFtoa(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1213
    functionName: google::protobuf::IsValidFloatChar
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValidFloatChar(char c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1218,1
    - Dst: google::protobuf::IsValidFloatChar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1221,1
    - Dst: google::protobuf::IsValidFloatChar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1233,1
    - Dst: google::protobuf::IsValidFloatChar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1237,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1238,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1215
    functionDepth: 1
    functionLinenumber: 1215
    functionLinenumberEnd: 1240
    functionName: google::protobuf::DelocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - strchr
    - memmove
    - strlen
    - google::protobuf::IsValidFloatChar
    linkageType: ''
    returnType: void
    signature: void DelocalizeRadix(char* buffer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1247,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1249,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1250,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1252,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1253,1
    - Dst: std::isnan
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1255,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1256,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1261,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1265,1
    - Dst: google::protobuf::internal::NoLocaleStrtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1273,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1276,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1279,1
    - Dst: google::protobuf::DelocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1242
    functionDepth: 3
    functionLinenumber: 1242
    functionLinenumberEnd: 1284
    functionName: google::protobuf::DoubleToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::NoLocaleStrtod
    - google::protobuf::DelocalizeRadix
    - GOOGLE_COMPILE_ASSERT
    - std::isnan
    - std::numeric_limits<double>::infinity
    - strcpy
    - snprintf
    linkageType: ''
    returnType: char
    signature: char * DoubleToBuffer(double value, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1287,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1288,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1292,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1292,1
    - Dst: google::protobuf::ascii_tolower
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1292,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1293,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1293,1
    - Dst: google::protobuf::ascii_tolower
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s1
    - s2
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1297
    functionName: google::protobuf::memcasecmp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - static_cast<unsigned char>
    - reinterpret_cast<const unsigned char *>
    - google::protobuf::ascii_tolower
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int memcasecmp(const char *s1, const char *s2, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1300,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1300,1
    - Dst: google::protobuf::memcasecmp
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 2
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: google::protobuf::CaseEqual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    - google::protobuf::memcasecmp
    linkageType: ''
    returnType: bool
    signature: bool CaseEqual(StringPiece s1, StringPiece s2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1305,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1306,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1306,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1307,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1307,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1308,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1312,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1312,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1313,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1313,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1314,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1304
    functionDepth: 3
    functionLinenumber: 1304
    functionLinenumberEnd: 1319
    functionName: google::protobuf::safe_strtob
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::CaseEqual
    linkageType: ''
    returnType: bool
    signature: bool safe_strtob(StringPiece str, bool* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::NoLocaleStrtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1325,1
    - Dst: strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1321
    functionDepth: 3
    functionLinenumber: 1321
    functionLinenumberEnd: 1330
    functionName: google::protobuf::safe_strtof
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::NoLocaleStrtod
    - strtof
    linkageType: ''
    returnType: bool
    signature: bool safe_strtof(const char* str, float* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::NoLocaleStrtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1334,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1332
    functionDepth: 3
    functionLinenumber: 1332
    functionLinenumberEnd: 1342
    functionName: google::protobuf::safe_strtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::NoLocaleStrtod
    - google::protobuf::ascii_isspace
    linkageType: ''
    returnType: bool
    signature: bool safe_strtod(const char* str, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_int_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1344
    functionDepth: 2
    functionLinenumber: 1344
    functionLinenumberEnd: 1346
    functionName: google::protobuf::safe_strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_int_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strto32(const std::string &str, int32 *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_uint_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1348
    functionDepth: 2
    functionLinenumber: 1348
    functionLinenumberEnd: 1350
    functionName: google::protobuf::safe_strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_uint_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou32(const std::string &str, uint32 *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_int_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1352
    functionDepth: 2
    functionLinenumber: 1352
    functionLinenumberEnd: 1354
    functionName: google::protobuf::safe_strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_int_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strto64(const std::string &str, int64 *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_uint_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1356
    functionDepth: 2
    functionLinenumber: 1356
    functionLinenumberEnd: 1358
    functionName: google::protobuf::safe_strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_uint_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou64(const std::string &str, uint64 *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1365,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1367,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1368,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1370,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1371,1
    - Dst: std::isnan
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1373,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1374,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1379,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1383,1
    - Dst: google::protobuf::safe_strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1386,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1388,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1391,1
    - Dst: google::protobuf::DelocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - float
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1360
    functionDepth: 2
    functionLinenumber: 1360
    functionLinenumberEnd: 1396
    functionName: google::protobuf::FloatToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::safe_strtof
    - google::protobuf::DelocalizeRadix
    - GOOGLE_COMPILE_ASSERT
    - std::isnan
    - std::numeric_limits<double>::infinity
    - strcpy
    - snprintf
    linkageType: ''
    returnType: char
    signature: char * FloatToBuffer(float value, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hex
    argTypes:
    - strings::Hex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1417
    functionName: google::protobuf::strings::AlphaNum::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: void
    signature: void AlphaNum::AlphaNum(strings::Hex hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hex
    argTypes:
    - strings::Hex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1417
    functionName: google::protobuf::strings::AlphaNum::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: void
    signature: void AlphaNum::AlphaNum(strings::Hex hex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1432,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1433,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1433,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1433,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - char*
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1437
    functionName: google::protobuf::Append1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 10
    functionsReached:
    - AlphaNum::size
    - AlphaNum::data
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *Append1(char *out, const AlphaNum &x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1440,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1441,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1441,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1441,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1442,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1444,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1445,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1445,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1445,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - out
    - x1
    - x2
    argTypes:
    - char*
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1449
    functionName: google::protobuf::Append2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 12
    functionsReached:
    - AlphaNum::size
    - AlphaNum::data
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *Append2(char *out, const AlphaNum &x1, const AlphaNum &x2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1453,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1454,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1454,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1454,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1455,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1457,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1458,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1458,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1458,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1459,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1461,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1462,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1462,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1462,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1463,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1465,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1466,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1466,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1466,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - out
    - x1
    - x2
    - x3
    - x4
    argTypes:
    - char*
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1470
    functionName: google::protobuf::Append4
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 14
    functionsReached:
    - AlphaNum::size
    - AlphaNum::data
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *Append4(char *out, const AlphaNum &x1, const AlphaNum &x2,\n
      \                    const AlphaNum &x3, const AlphaNum &x4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1474,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1474,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1474,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1475,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1476,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1477,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1479
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string StrCat(const AlphaNum &a, const AlphaNum &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1484,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1485,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1486,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1487,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1489
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - google::protobuf::Append1
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1495,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1496,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1497,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1499
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1505,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1506,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1507,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1508,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - a
    - b
    - c
    - d
    - e
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1510
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append1
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1516,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1517,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1518,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1519,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1520,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1522
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1529,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1529,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1530,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1531,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1532,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1533,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1534,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 7
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1524
    functionDepth: 1
    functionLinenumber: 1524
    functionLinenumberEnd: 1536
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - google::protobuf::Append1
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f,\n                   const AlphaNum &g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1543,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1543,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1543,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1544,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1545,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1546,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1547,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 8
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    - h
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1549
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f,\n                   const AlphaNum &g, const AlphaNum &h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1557,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1558,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1559,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1560,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1561,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 9
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    - h
    - i
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1551
    functionDepth: 1
    functionLinenumber: 1551
    functionLinenumberEnd: 1563
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append1
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f,\n                   const AlphaNum &g, const AlphaNum &h, const AlphaNum
      &i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1572
    functionName: GOOGLE_DCHECK_NO_OVERLAP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_NO_OVERLAP(dest, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1574,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1575,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1575,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - result
    - a
    argTypes:
    - std::string*
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1576
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::data
    - AlphaNum::size
    - GOOGLE_DCHECK_NO_OVERLAP
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void StrAppend(std::string *result, const AlphaNum &a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1579,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1580,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1581,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1582,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1582,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1582,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1583,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1584,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1585,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - result
    - a
    - b
    argTypes:
    - std::string*
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1586
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::size
    - google::protobuf::Append2
    - std::string*::resize
    - std::string*::size
    - GOOGLE_DCHECK_NO_OVERLAP
    - GOOGLE_DCHECK_EQ
    - std::string*::begin
    linkageType: ''
    returnType: void
    signature: void StrAppend(std::string *result, const AlphaNum &a, const AlphaNum
      &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1590,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1591,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1592,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1593,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1595,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1596,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1597,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1598,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - result
    - a
    - b
    - c
    argTypes:
    - std::string*
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1599
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::size
    - google::protobuf::Append2
    - std::string*::resize
    - google::protobuf::Append1
    - std::string*::size
    - GOOGLE_DCHECK_NO_OVERLAP
    - GOOGLE_DCHECK_EQ
    - std::string*::begin
    linkageType: ''
    returnType: void
    signature: "void StrAppend(std::string *result, const AlphaNum &a, const AlphaNum
      &b,\n               const AlphaNum &c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1603,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1604,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1605,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1606,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1607,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1609,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1610,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1611,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - result
    - a
    - b
    - c
    - d
    argTypes:
    - std::string*
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1612
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::size
    - std::string*::resize
    - std::string*::size
    - google::protobuf::Append4
    - GOOGLE_DCHECK_NO_OVERLAP
    - GOOGLE_DCHECK_EQ
    - std::string*::begin
    linkageType: ''
    returnType: void
    signature: "void StrAppend(std::string *result, const AlphaNum &a, const AlphaNum
      &b,\n               const AlphaNum &c, const AlphaNum &d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1616,1
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1617,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1617,1
    - Dst: std::string*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1622,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1622,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1622,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1623,1
    - Dst: std::string*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1624,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1624,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1624,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1627,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1629,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1629,1
    - Dst: std::string::end
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1629,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1634,1
    - Dst: std::string*::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1634,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - substring
    - replacement
    - s
    argTypes:
    - std::string
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1614
    functionDepth: 1
    functionLinenumber: 1614
    functionLinenumberEnd: 1638
    functionName: google::protobuf::GlobalReplaceSubstring
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 40
    functionsReached:
    - std::string*::empty
    - std::string::empty
    - std::string::begin
    - std::string::data
    - std::string::append
    - std::string::end
    - std::string::length
    - GOOGLE_CHECK
    - std::string*::length
    - std::string*::find
    - std::string*::swap
    linkageType: ''
    returnType: int
    signature: "int GlobalReplaceSubstring(const std::string &substring,\n                           const
      std::string &replacement, std::string *s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - input_len
    - do_padding
    argTypes:
    - int
    - bool
    assertStmts:
    - condition: (len >= input_len)
      pos:
        line_end: 1682
        line_start: 1682
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    constantsTouched: []
    func_position:
      end: 1685
      start: 1640
    functionDepth: 0
    functionLinenumber: 1640
    functionLinenumberEnd: 1685
    functionName: google::protobuf::CalculateBase64EscapedLen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int CalculateBase64EscapedLen(int input_len, bool do_padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CalculateBase64EscapedLen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1690
    functionName: google::protobuf::CalculateBase64EscapedLen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::CalculateBase64EscapedLen
    linkageType: ''
    returnType: int
    signature: int CalculateBase64EscapedLen(int input_len)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1731,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1784,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1786,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1788,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1790,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1819,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1820,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1821,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1822,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1838,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1857,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1930,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1942,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 125
    argCount: 5
    argNames:
    - src_param
    - szsrc
    - dest
    - szdest
    - unbase64
    argTypes:
    - char*
    - int
    - char*
    - int
    - signed char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1949
    functionName: google::protobuf::Base64UnescapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::ascii_isspace
    - GOOGLE_LOG
    - GET_INPUT
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: int
    signature: "int Base64UnescapeInternal(const char *src_param, int szsrc,\n                           char
      *dest, int szdest,\n                           const signed char* unbase64)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - label
    - ','
    - remain
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1750
    functionName: GET_INPUT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_INPUT(label, remain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2050
    functionDepth: 2
    functionLinenumber: 2050
    functionLinenumberEnd: 2052
    functionName: google::protobuf::WebSafeBase64Unescape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64UnescapeInternal
    linkageType: ''
    returnType: int
    signature: int WebSafeBase64Unescape(const char *src, int szsrc, char *dest, int
      szdest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2061,1
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2065,1
    - Dst: google::protobuf::string_as_array
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2065,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2068,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2073,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - src
    - slen
    - dest
    - unbase64
    argTypes:
    - char*
    - int
    - std::string*
    - signed char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2054
    functionDepth: 1
    functionLinenumber: 2054
    functionLinenumberEnd: 2077
    functionName: google::protobuf::Base64UnescapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 10
    functionsReached:
    - std::string*::resize
    - google::protobuf::string_as_array
    - google::protobuf::Base64UnescapeInternal
    - std::string*::erase
    - std::string*::clear
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: bool
    signature: "bool Base64UnescapeInternal(const char *src, int slen, std::string
      *dest,\n                                   const signed char *unbase64)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2080,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2080,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2079
    functionDepth: 2
    functionLinenumber: 2079
    functionLinenumberEnd: 2081
    functionName: google::protobuf::Base64Unescape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64UnescapeInternal
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool Base64Unescape(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2084,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2084,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2083
    functionDepth: 2
    functionLinenumber: 2083
    functionLinenumberEnd: 2085
    functionName: google::protobuf::WebSafeBase64Unescape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64UnescapeInternal
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool WebSafeBase64Unescape(StringPiece src, std::string *dest)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BigEndian::Load32
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2105,1
    - Dst: BigEndian::Load16
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2148,1
    - Dst: BigEndian::Load16
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2167,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 6
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    - base64
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - char*
    - int
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2087
    functionDepth: 1
    functionLinenumber: 2087
    functionLinenumberEnd: 2185
    functionName: google::protobuf::Base64EscapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 10
    functionsReached:
    - BigEndian::Load32
    - BigEndian::Load16
    - GOOGLE_LOG
    linkageType: ''
    returnType: int
    signature: "int Base64EscapeInternal(const unsigned char *src, int szsrc,\n                         char
      *dest, int szdest, const char *base64,\n                         bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    argTypes:
    - unsigned char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2193
    functionDepth: 2
    functionLinenumber: 2193
    functionLinenumberEnd: 2195
    functionName: google::protobuf::Base64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: int
    signature: int Base64Escape(const unsigned char *src, int szsrc, char *dest, int
      szdest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2196
    functionDepth: 2
    functionLinenumber: 2196
    functionLinenumberEnd: 2200
    functionName: google::protobuf::WebSafeBase64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: int
    signature: "int WebSafeBase64Escape(const unsigned char *src, int szsrc, char
      *dest,\n                        int szdest, bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CalculateBase64EscapedLen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2206,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2207,1
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2208,1
    - Dst: google::protobuf::string_as_array
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2209,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2210,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2213,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - src
    - szsrc
    - dest
    - do_padding
    - base64_chars
    argTypes:
    - unsigned char*
    - int
    - std::string*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2202
    functionDepth: 1
    functionLinenumber: 2202
    functionLinenumberEnd: 2215
    functionName: google::protobuf::Base64EscapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 13
    functionsReached:
    - std::string*::resize
    - google::protobuf::string_as_array
    - std::string*::size
    - std::string*::erase
    - google::protobuf::Base64EscapeInternal
    - google::protobuf::CalculateBase64EscapedLen
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void Base64EscapeInternal(const unsigned char *src, int szsrc,\n                          std::string
      *dest, bool do_padding,\n                          const char *base64_chars)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2217
    functionDepth: 2
    functionLinenumber: 2217
    functionLinenumberEnd: 2220
    functionName: google::protobuf::Base64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: void
    signature: "void Base64Escape(const unsigned char *src, int szsrc, std::string
      *dest,\n                  bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2222
    functionDepth: 2
    functionLinenumber: 2222
    functionLinenumberEnd: 2225
    functionName: google::protobuf::WebSafeBase64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: void
    signature: "void WebSafeBase64Escape(const unsigned char *src, int szsrc, std::string
      *dest,\n                         bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64Escape
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2228,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2228,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2228,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2227
    functionDepth: 1
    functionLinenumber: 2227
    functionLinenumberEnd: 2230
    functionName: google::protobuf::Base64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - StringPiece::size
    - reinterpret_cast<const unsigned char*>
    - StringPiece::data
    - google::protobuf::Base64Escape
    linkageType: ''
    returnType: void
    signature: void Base64Escape(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::WebSafeBase64Escape
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2233,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2233,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2233,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2232
    functionDepth: 1
    functionLinenumber: 2232
    functionLinenumberEnd: 2235
    functionName: google::protobuf::WebSafeBase64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::WebSafeBase64Escape
    - StringPiece::size
    - StringPiece::data
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: void
    signature: void WebSafeBase64Escape(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::WebSafeBase64Escape
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2238,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2238,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2238,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2237
    functionDepth: 3
    functionLinenumber: 2237
    functionLinenumberEnd: 2240
    functionName: google::protobuf::WebSafeBase64EscapeWithPadding
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::WebSafeBase64Escape
    - StringPiece::size
    - StringPiece::data
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: void
    signature: void WebSafeBase64EscapeWithPadding(StringPiece src, std::string *dest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ghtonl
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2271,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2272,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - code_point
    - output
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2274
    functionName: google::protobuf::EncodeAsUTF8Char
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - ghtonl
    - memcpy
    linkageType: ''
    returnType: int
    signature: int EncodeAsUTF8Char(uint32 code_point, char* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2298
    functionName: google::protobuf::UTF8FirstLetterNumBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: int UTF8FirstLetterNumBytes(const char* src, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2335,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2336,1
    - Dst: google::protobuf::CleanStringLineEndings
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2337,1
    - Dst: google::protobuf::CleanStringLineEndings
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2340,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - src
    - dst
    - auto_end_last_line
    argTypes:
    - std::string
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2333
    functionDepth: 1
    functionLinenumber: 2333
    functionLinenumberEnd: 2343
    functionName: google::protobuf::CleanStringLineEndings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::CleanStringLineEndings
    - std::string*::empty
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: "void CleanStringLineEndings(const std::string &src, std::string *dst,\n
      \                           bool auto_end_last_line)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2348,1
    - Dst: GOOGLE_UNALIGNED_LOAD64
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2354,1
    - Dst: has_less
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2365,1
    - Dst: GOOGLE_UNALIGNED_STORE64
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2369,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2398,1
    - Dst: str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2399,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2401,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - str
    - auto_end_last_line
    argTypes:
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2345
    functionDepth: 1
    functionLinenumber: 2345
    functionLinenumberEnd: 2403
    functionName: google::protobuf::CleanStringLineEndings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - str
    - std::string*::resize
    - std::string*::size
    - GOOGLE_UNALIGNED_LOAD64
    - GOOGLE_UNALIGNED_STORE64
    - has_less
    linkageType: ''
    returnType: void
    signature: void CleanStringLineEndings(std::string *str, bool auto_end_last_line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2365
    functionName: has_less
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: has_less(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2448,1
    - Dst: google::protobuf::internal::LocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2455,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2456,1
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2458,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: const_cast<char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - str
    - endptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2440
    functionDepth: 2
    functionLinenumber: 2440
    functionLinenumberEnd: 2472
    functionName: google::protobuf::internal::NoLocaleStrtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 9
    functionsReached:
    - const_cast<char *>
    - google::protobuf::internal::LocalizeRadix
    - strlen
    - strtod
    - std::string::c_str
    - std::string::size
    linkageType: ''
    returnType: double
    signature: double NoLocaleStrtod(const char *str, char **endptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 5
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 5
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2448,1
    - Dst: google::protobuf::internal::LocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2455,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2456,1
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2458,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: const_cast<char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - str
    - endptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2440
    functionDepth: 2
    functionLinenumber: 2440
    functionLinenumberEnd: 2472
    functionName: google::protobuf::internal::NoLocaleStrtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 9
    functionsReached:
    - const_cast<char *>
    - google::protobuf::internal::LocalizeRadix
    - strlen
    - strtod
    - std::string::c_str
    - std::string::size
    linkageType: ''
    returnType: double
    signature: double NoLocaleStrtod(const char *str, char **endptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: google::protobuf::isxdigit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isxdigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: google::protobuf::isprint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isprint(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:88,1
    - Dst: strpbrk
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:90,1
    - Dst: strpbrk
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - remove
    - replacewith
    argTypes:
    - std::string*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: google::protobuf::ReplaceCharacters
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - strpbrk
    - std::string*::c_str
    linkageType: ''
    returnType: void
    signature: void ReplaceCharacters(std::string *s, const char *remove, char replacewith)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:98,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:102,1
    - Dst: std::string*::at
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:102,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:107,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:111,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:117,1
    - Dst: std::string*::at
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:117,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 123
    functionName: google::protobuf::StripWhitespace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - std::string*::at
    - std::string*::length
    - std::string*::erase
    - std::string*::clear
    - google::protobuf::ascii_isspace
    linkageType: ''
    returnType: void
    signature: void StripWhitespace(std::string *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:135,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:136,1
    - Dst: std::string::find
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:143,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:147,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:148,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:149,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:151,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - s
    - oldsub
    - newsub
    - replace_all
    - res
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: google::protobuf::StringReplace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - std::string::empty
    - std::string*::append
    - std::string::length
    - std::string::find
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void StringReplace(const std::string &s, const std::string &oldsub,\n
      \                  const std::string &newsub, bool replace_all,\n                   std::string
      *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringReplace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - s
    - oldsub
    - newsub
    - replace_all
    argTypes:
    - std::string
    - std::string
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: google::protobuf::StringReplace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::StringReplace
    linkageType: ''
    returnType: std::string
    signature: "std::string StringReplace(const std::string &s, const std::string
      &oldsub,\n                          const std::string &newsub, bool replace_all)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:184,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:185,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:192,1
    - Dst: StringPiece::find_first_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:199,1
    - Dst: StringPiece::find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:201,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:203,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:203,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:207,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:207,1
    - Dst: StringPiece::find_first_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - full
    - delim
    - result
    argTypes:
    - StringPiece
    - char*
    - ITR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 210
    functionName: google::protobuf::SplitStringToIteratorUsing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - StringPiece::find_first_not_of
    - StringPiece::data
    - std::string
    - StringPiece::find_first_of
    - StringPiece::substr
    - StringPiece::size
    linkageType: ''
    returnType: void
    signature: "void SplitStringToIteratorUsing(StringPiece full,\n                                              const
      char *delim, ITR &result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SplitStringToIteratorUsing
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - full
    - delim
    - result
    argTypes:
    - StringPiece
    - char*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: google::protobuf::SplitStringUsing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SplitStringToIteratorUsing
    linkageType: ''
    returnType: void
    signature: "void SplitStringUsing(StringPiece full, const char *delim,\n                      std::vector<std::string>
      *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:237,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:239,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:239,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:243,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:243,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:246,1
    - Dst: StringPiece::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - full
    - delim
    - pieces
    - result
    argTypes:
    - StringPiece
    - char*
    - int
    - ITR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 247
    functionName: google::protobuf::SplitStringToIteratorAllowEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 5
    functionsReached:
    - StringPiece::substr
    - std::string
    - StringPiece::find_first_of
    linkageType: ''
    returnType: void
    signature: "void SplitStringToIteratorAllowEmpty(StringPiece full,\n                                                   const
      char *delim,\n                                                   int pieces,
      ITR &result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SplitStringToIteratorAllowEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - full
    - delim
    - result
    argTypes:
    - StringPiece
    - char*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: google::protobuf::SplitStringAllowEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SplitStringToIteratorAllowEmpty
    linkageType: ''
    returnType: void
    signature: "void SplitStringAllowEmpty(StringPiece full, const char *delim,\n
      \                          std::vector<std::string> *result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:264,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:265,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:266,1
    - Dst: ITERATOR::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:274,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:276,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:281,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:283,1
    - Dst: ITERATOR::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:283,1
    - Dst: ITERATOR::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - start
    - end
    - delim
    - result
    argTypes:
    - ITERATOR
    - ITERATOR
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 285
    functionName: google::protobuf::JoinStringsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - ITERATOR::size
    - std::string*::reserve
    - ITERATOR::data
    - strlen
    - std::string*::append
    - GOOGLE_CHECK
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: "void JoinStringsIterator(const ITERATOR &start, const ITERATOR &end,\n
      \                               const char *delim, std::string *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::JoinStringsIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:289,1
    - Dst: std::vector<std::string>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:289,1
    - Dst: std::vector<std::string>::end
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - components
    - delim
    - result
    argTypes:
    - std::vector<std::string>
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: google::protobuf::JoinStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - std::vector<std::string>::begin
    - std::vector<std::string>::end
    - google::protobuf::JoinStringsIterator
    linkageType: ''
    returnType: void
    signature: "void JoinStrings(const std::vector<std::string> &components, const
      char *delim,\n                 std::string *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: IS_OCTAL_DIGIT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_OCTAL_DIGIT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - LEVEL
    - ','
    - VECTOR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: LOG_STRING
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_STRING(LEVEL, VECTOR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnescapeCEscapeSequences
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: google::protobuf::UnescapeCEscapeSequences
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::UnescapeCEscapeSequences
    linkageType: ''
    returnType: int
    signature: int UnescapeCEscapeSequences(const char* source, char* dest)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:316,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:331,1
    - Dst: IS_OCTAL_DIGIT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:348,1
    - Dst: IS_OCTAL_DIGIT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:350,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:356,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:358,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:360,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:367,1
    - Dst: google::protobuf::hex_digit_to_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:368,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:370,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:372,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:383,1
    - Dst: google::protobuf::hex_digit_to_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:384,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:386,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:388,1
    - Dst: runetochar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:392,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:400,1
    - Dst: google::protobuf::hex_digit_to_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:403,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:405,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:407,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:414,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:416,1
    - Dst: runetochar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:420,1
    - Dst: LOG_STRING
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:425,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 115
    argCount: 3
    argNames:
    - source
    - dest
    - errors
    argTypes:
    - char*
    - char*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 432
    functionName: google::protobuf::UnescapeCEscapeSequences
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::hex_digit_to_int
    - LOG_STRING
    - GOOGLE_DCHECK
    - google::protobuf::isxdigit
    - std::string
    - runetochar
    - IS_OCTAL_DIGIT
    linkageType: ''
    returnType: int
    signature: "int UnescapeCEscapeSequences(const char *source, char *dest,\n                             std::vector<std::string>
      *errors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnescapeCEscapeString
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: google::protobuf::UnescapeCEscapeString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::UnescapeCEscapeString
    linkageType: ''
    returnType: int
    signature: int UnescapeCEscapeString(const std::string &src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:454,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:454,1
    - Dst: google::protobuf::UnescapeCEscapeSequences
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:455,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:455,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:455,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:456,1
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:457,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src
    - dest
    - errors
    argTypes:
    - std::string
    - std::string*
    - std::vector<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: google::protobuf::UnescapeCEscapeString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - char::char
    - std::string*::assign
    - google::protobuf::UnescapeCEscapeSequences
    - GOOGLE_CHECK
    - std::string::c_str
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: int
    signature: "int UnescapeCEscapeString(const std::string &src, std::string *dest,\n
      \                         std::vector<std::string> *errors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:462,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:462,1
    - Dst: google::protobuf::UnescapeCEscapeSequences
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:463,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:463,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:463,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:464,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: google::protobuf::UnescapeCEscapeString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - char::char
    - std::string
    - google::protobuf::UnescapeCEscapeSequences
    - std::string::c_str
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string UnescapeCEscapeString(const std::string &src)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:501,1
    - Dst: google::protobuf::isprint
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:502,1
    - Dst: google::protobuf::isxdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:503,1
    - Dst: sprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:506,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:507,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 6
    argNames:
    - src
    - src_len
    - dest
    - dest_len
    - use_hex
    - utf8_safe
    argTypes:
    - char*
    - int
    - char*
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 522
    functionName: google::protobuf::CEscapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - sprintf
    - static_cast<uint8>
    - google::protobuf::isprint
    - google::protobuf::isxdigit
    linkageType: ''
    returnType: int
    signature: "int CEscapeInternal(const char* src, int src_len, char* dest,\n                    int
      dest_len, bool use_hex, bool utf8_safe)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:548,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 553
    functionName: google::protobuf::CEscapedLength
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - StringPiece::size
    - static_cast<unsigned char>
    linkageType: ''
    returnType: size_t
    signature: size_t CEscapedLength(StringPiece src)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CEscapedLength
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:562,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:563,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:564,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:564,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:564,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:568,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:569,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:572,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:573,1
    - Dst: google::protobuf::isprint
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:582,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 593
    functionName: google::protobuf::CEscapeAndAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::CEscapedLength
    - static_cast<unsigned char>
    - StringPiece::data
    - std::string*::resize
    - std::string*::append
    - std::string*::size
    - google::protobuf::isprint
    - StringPiece::size
    linkageType: ''
    returnType: void
    signature: void CEscapeAndAppend(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CEscapeAndAppend
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: google::protobuf::CEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::CEscapeAndAppend
    linkageType: ''
    returnType: std::string
    signature: std::string CEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:604,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:605,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:607,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:608,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: google::protobuf::strings::Utf8SafeCEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string Utf8SafeCEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:613,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:614,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:616,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:617,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 619
    functionName: google::protobuf::strings::CHexEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string CHexEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:604,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:605,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:606,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:607,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:608,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: google::protobuf::strings::Utf8SafeCEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string Utf8SafeCEscape(const std::string &src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:613,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:614,1
    - Dst: CEscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:615,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:616,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:617,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 619
    functionName: google::protobuf::strings::CHexEscape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - char::char
    - GOOGLE_DCHECK_GE
    - std::string::data
    - std::string
    - CEscapeInternal
    - std::unique_ptr::get
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string CHexEscape(const std::string &src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:634,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:648,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 649
    functionName: google::protobuf::strto32_adaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - strtol
    linkageType: ''
    returnType: int32
    signature: int32 strto32_adaptor(const char *nptr, char **endptr, int base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:654,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 664
    functionName: google::protobuf::strtou32_adaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    - strtoul
    linkageType: ''
    returnType: uint32
    signature: uint32 strtou32_adaptor(const char *nptr, char **endptr, int base)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:668,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:669,1
    - Dst: std::string*::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:690,1
    - Dst: std::string*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - text
    - negative_ptr
    argTypes:
    - std::string*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 692
    functionName: google::protobuf::safe_parse_sign
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - std::string*::substr
    - std::string*::size
    - std::string*::data
    linkageType: ''
    returnType: bool
    signature: "bool safe_parse_sign(std::string *text /*inout*/,\n                            bool
      *negative_ptr /*output*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<IntType>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:698,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:699,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:700,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:702,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:703,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts:
    - condition: (vmax > 0)
      pos:
        line_end: 698
        line_start: 698
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    - condition: (vmax >= base)
      pos:
        line_end: 699
        line_start: 699
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    constantsTouched: []
    func_position:
      end: 725
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 725
    functionName: google::protobuf::safe_parse_positive_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - static_cast<unsigned char>
    - std::string::data
    - assert
    - std::string::size
    - std::numeric_limits<IntType>::max
    linkageType: ''
    returnType: bool
    signature: bool safe_parse_positive_int(std::string text, IntType *value_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<IntType>::min
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:731,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:732,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:733,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:742,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:743,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts:
    - condition: (vmin < 0)
      pos:
        line_end: 731
        line_start: 731
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    - condition: (vmin <= 0 - base)
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    constantsTouched: []
    func_position:
      end: 765
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 765
    functionName: google::protobuf::safe_parse_negative_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - static_cast<unsigned char>
    - std::string::data
    - assert
    - std::numeric_limits<IntType>::min
    - std::string::size
    linkageType: ''
    returnType: bool
    signature: bool safe_parse_negative_int(const std::string &text, IntType *value_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_parse_sign
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:771,1
    - Dst: google::protobuf::safe_parse_positive_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:775,1
    - Dst: google::protobuf::safe_parse_negative_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 779
    functionName: google::protobuf::safe_int_internal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::safe_parse_positive_int
    - google::protobuf::safe_parse_sign
    - google::protobuf::safe_parse_negative_int
    linkageType: ''
    returnType: bool
    signature: bool safe_int_internal(std::string text, IntType *value_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_parse_sign
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:785,1
    - Dst: google::protobuf::safe_parse_positive_int
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - text
    - value_p
    argTypes:
    - std::string
    - IntType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 789
    functionName: google::protobuf::safe_uint_internal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::safe_parse_positive_int
    - google::protobuf::safe_parse_sign
    linkageType: ''
    returnType: bool
    signature: bool safe_uint_internal(std::string text, IntType *value_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 839
    functionName: google::protobuf::FastInt64ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *FastInt64ToBuffer(int64 i, char* buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 884
    functionName: google::protobuf::FastInt32ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *FastInt32ToBuffer(int32 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 897
    functionName: google::protobuf::FastHexToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    linkageType: ''
    returnType: char
    signature: char *FastHexToBuffer(int i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint32
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - value
    - buffer
    - num_byte
    argTypes:
    - uint64
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 914
    functionName: google::protobuf::InternalFastHexToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - uint32
    linkageType: ''
    returnType: char
    signature: char *InternalFastHexToBuffer(uint64 value, char* buffer, int num_byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InternalFastHexToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - uint64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 918
    functionName: google::protobuf::FastHex64ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InternalFastHexToBuffer
    linkageType: ''
    returnType: char
    signature: char *FastHex64ToBuffer(uint64 value, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InternalFastHexToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 922
    functionName: google::protobuf::FastHex32ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::InternalFastHexToBuffer
    linkageType: ''
    returnType: char
    signature: char *FastHex32ToBuffer(uint32 value, char* buffer)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 92
    argCount: 2
    argNames:
    - u
    - buffer
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 1043
    functionName: google::protobuf::FastUInt32ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * FastUInt32ToBufferLeft(uint32 u, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1054
    functionName: google::protobuf::FastInt32ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastInt32ToBufferLeft(int32 i, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1060,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1061,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1064,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 2
    argNames:
    - u64
    - buffer
    argTypes:
    - uint64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1096
    functionName: google::protobuf::FastUInt64ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - static_cast<uint32>
    - GOOGLE_DCHECK_LT
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastUInt64ToBufferLeft(uint64 u64, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1107
    functionName: google::protobuf::FastInt64ToBufferLeft
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastInt64ToBufferLeft(int64 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1119,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1125,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1126,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1128
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - std::string
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(unsigned int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1133,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1135
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1139,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1140,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1137
    functionDepth: 2
    functionLinenumber: 1137
    functionLinenumberEnd: 1142
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - std::string
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(unsigned long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1147,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1149
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(long long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1153,1
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1154,1
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1151
    functionDepth: 2
    functionLinenumber: 1151
    functionLinenumberEnd: 1156
    functionName: google::protobuf::SimpleItoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    - std::string
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleItoa(unsigned long long i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1199
    functionDepth: 3
    functionLinenumber: 1199
    functionLinenumberEnd: 1202
    functionName: google::protobuf::SimpleDtoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::DoubleToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleDtoa(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1204
    functionDepth: 3
    functionLinenumber: 1204
    functionLinenumberEnd: 1207
    functionName: google::protobuf::SimpleFtoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::FloatToBuffer
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleFtoa(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1213
    functionName: google::protobuf::IsValidFloatChar
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValidFloatChar(char c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1218,1
    - Dst: google::protobuf::IsValidFloatChar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1221,1
    - Dst: google::protobuf::IsValidFloatChar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1233,1
    - Dst: google::protobuf::IsValidFloatChar
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1237,1
    - Dst: memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1238,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1215
    functionDepth: 1
    functionLinenumber: 1215
    functionLinenumberEnd: 1240
    functionName: google::protobuf::DelocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - strchr
    - memmove
    - strlen
    - google::protobuf::IsValidFloatChar
    linkageType: ''
    returnType: void
    signature: void DelocalizeRadix(char* buffer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1247,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1249,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1250,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1252,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1253,1
    - Dst: std::isnan
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1255,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1256,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1261,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1265,1
    - Dst: google::protobuf::internal::NoLocaleStrtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1273,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1276,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1279,1
    - Dst: google::protobuf::DelocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1242
    functionDepth: 3
    functionLinenumber: 1242
    functionLinenumberEnd: 1284
    functionName: google::protobuf::DoubleToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::NoLocaleStrtod
    - google::protobuf::DelocalizeRadix
    - GOOGLE_COMPILE_ASSERT
    - std::isnan
    - std::numeric_limits<double>::infinity
    - strcpy
    - snprintf
    linkageType: ''
    returnType: char
    signature: char * DoubleToBuffer(double value, char* buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1287,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1288,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1292,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1292,1
    - Dst: google::protobuf::ascii_tolower
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1292,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1293,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1293,1
    - Dst: google::protobuf::ascii_tolower
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s1
    - s2
    - len
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1297
    functionName: google::protobuf::memcasecmp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - static_cast<unsigned char>
    - reinterpret_cast<const unsigned char *>
    - google::protobuf::ascii_tolower
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int memcasecmp(const char *s1, const char *s2, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1300,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1300,1
    - Dst: google::protobuf::memcasecmp
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 2
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: google::protobuf::CaseEqual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    - google::protobuf::memcasecmp
    linkageType: ''
    returnType: bool
    signature: bool CaseEqual(StringPiece s1, StringPiece s2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1305,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1306,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1306,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1307,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1307,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1308,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1312,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1312,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1313,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1313,1
    - Dst: google::protobuf::CaseEqual
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1314,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1304
    functionDepth: 3
    functionLinenumber: 1304
    functionLinenumberEnd: 1319
    functionName: google::protobuf::safe_strtob
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::CaseEqual
    linkageType: ''
    returnType: bool
    signature: bool safe_strtob(StringPiece str, bool* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::NoLocaleStrtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1325,1
    - Dst: strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1321
    functionDepth: 3
    functionLinenumber: 1321
    functionLinenumberEnd: 1330
    functionName: google::protobuf::safe_strtof
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::NoLocaleStrtod
    - strtof
    linkageType: ''
    returnType: bool
    signature: bool safe_strtof(const char* str, float* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::NoLocaleStrtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1334,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1332
    functionDepth: 3
    functionLinenumber: 1332
    functionLinenumberEnd: 1342
    functionName: google::protobuf::safe_strtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::NoLocaleStrtod
    - google::protobuf::ascii_isspace
    linkageType: ''
    returnType: bool
    signature: bool safe_strtod(const char* str, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_int_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1344
    functionDepth: 2
    functionLinenumber: 1344
    functionLinenumberEnd: 1346
    functionName: google::protobuf::safe_strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_int_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strto32(const std::string &str, int32 *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_uint_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1348
    functionDepth: 2
    functionLinenumber: 1348
    functionLinenumberEnd: 1350
    functionName: google::protobuf::safe_strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_uint_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou32(const std::string &str, uint32 *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_int_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1352
    functionDepth: 2
    functionLinenumber: 1352
    functionLinenumberEnd: 1354
    functionName: google::protobuf::safe_strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_int_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strto64(const std::string &str, int64 *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_uint_internal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - std::string
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1356
    functionDepth: 2
    functionLinenumber: 1356
    functionLinenumberEnd: 1358
    functionName: google::protobuf::safe_strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::safe_uint_internal
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou64(const std::string &str, uint64 *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1365,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1367,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1368,1
    - Dst: std::numeric_limits<double>::infinity
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1370,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1371,1
    - Dst: std::isnan
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1373,1
    - Dst: strcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1374,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1379,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1383,1
    - Dst: google::protobuf::safe_strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1386,1
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1388,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1391,1
    - Dst: google::protobuf::DelocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - value
    - buffer
    argTypes:
    - float
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1360
    functionDepth: 2
    functionLinenumber: 1360
    functionLinenumberEnd: 1396
    functionName: google::protobuf::FloatToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::safe_strtof
    - google::protobuf::DelocalizeRadix
    - GOOGLE_COMPILE_ASSERT
    - std::isnan
    - std::numeric_limits<double>::infinity
    - strcpy
    - snprintf
    linkageType: ''
    returnType: char
    signature: char * FloatToBuffer(float value, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hex
    argTypes:
    - strings::Hex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1417
    functionName: google::protobuf::strings::AlphaNum::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: void
    signature: void AlphaNum::AlphaNum(strings::Hex hex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hex
    argTypes:
    - strings::Hex
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1417
    functionName: google::protobuf::strings::AlphaNum::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: void
    signature: void AlphaNum::AlphaNum(strings::Hex hex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1432,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1433,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1433,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1433,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - out
    - x
    argTypes:
    - char*
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1437
    functionName: google::protobuf::Append1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 15
    functionsReached:
    - AlphaNum::size
    - AlphaNum::data
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *Append1(char *out, const AlphaNum &x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1440,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1441,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1441,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1441,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1442,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1444,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1445,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1445,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1445,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - out
    - x1
    - x2
    argTypes:
    - char*
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1449
    functionName: google::protobuf::Append2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 18
    functionsReached:
    - AlphaNum::size
    - AlphaNum::data
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *Append2(char *out, const AlphaNum &x1, const AlphaNum &x2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1453,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1454,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1454,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1454,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1455,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1457,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1458,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1458,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1458,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1459,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1461,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1462,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1462,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1462,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1463,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1465,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1466,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1466,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1466,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - out
    - x1
    - x2
    - x3
    - x4
    argTypes:
    - char*
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1470
    functionName: google::protobuf::Append4
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 21
    functionsReached:
    - AlphaNum::size
    - AlphaNum::data
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *Append4(char *out, const AlphaNum &x1, const AlphaNum &x2,\n
      \                    const AlphaNum &x3, const AlphaNum &x4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1474,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1474,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1474,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1475,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1476,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1477,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1479
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string StrCat(const AlphaNum &a, const AlphaNum &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1483,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1484,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1485,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1486,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1487,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1489
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - google::protobuf::Append1
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1494,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1495,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1496,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1497,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - a
    - b
    - c
    - d
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1499
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1504,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1505,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1506,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1507,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1508,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - a
    - b
    - c
    - d
    - e
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1510
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append1
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1515,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1516,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1517,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1518,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1519,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1520,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1522
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1528,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1529,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1529,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1530,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1531,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1532,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1533,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1534,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 7
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1524
    functionDepth: 1
    functionLinenumber: 1524
    functionLinenumberEnd: 1536
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append2
    - google::protobuf::Append1
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f,\n                   const AlphaNum &g)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1542,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1543,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1543,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1543,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1544,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1545,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1546,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1547,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 8
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    - h
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1549
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f,\n                   const AlphaNum &g, const AlphaNum &h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1555,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1556,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1557,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1558,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1559,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1560,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1561,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 9
    argNames:
    - a
    - b
    - c
    - d
    - e
    - f
    - g
    - h
    - i
    argTypes:
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1551
    functionDepth: 1
    functionLinenumber: 1551
    functionLinenumberEnd: 1563
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 108
    functionsReached:
    - std::string::resize
    - std::string::begin
    - AlphaNum::size
    - google::protobuf::Append1
    - google::protobuf::Append4
    - GOOGLE_DCHECK_EQ
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: "std::string StrCat(const AlphaNum &a, const AlphaNum &b, const AlphaNum
      &c,\n                   const AlphaNum &d, const AlphaNum &e, const AlphaNum
      &f,\n                   const AlphaNum &g, const AlphaNum &h, const AlphaNum
      &i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1572
    functionName: GOOGLE_DCHECK_NO_OVERLAP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_NO_OVERLAP(dest, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1574,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1575,1
    - Dst: AlphaNum::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1575,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - result
    - a
    argTypes:
    - std::string*
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1576
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::data
    - AlphaNum::size
    - GOOGLE_DCHECK_NO_OVERLAP
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void StrAppend(std::string *result, const AlphaNum &a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1579,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1580,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1581,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1582,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1582,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1582,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1583,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1584,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1585,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - result
    - a
    - b
    argTypes:
    - std::string*
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1586
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::size
    - google::protobuf::Append2
    - std::string*::resize
    - std::string*::size
    - GOOGLE_DCHECK_NO_OVERLAP
    - GOOGLE_DCHECK_EQ
    - std::string*::begin
    linkageType: ''
    returnType: void
    signature: void StrAppend(std::string *result, const AlphaNum &a, const AlphaNum
      &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1590,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1591,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1592,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1593,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1594,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1595,1
    - Dst: google::protobuf::Append2
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1596,1
    - Dst: google::protobuf::Append1
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1597,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1598,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - result
    - a
    - b
    - c
    argTypes:
    - std::string*
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1599
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::size
    - google::protobuf::Append2
    - std::string*::resize
    - google::protobuf::Append1
    - std::string*::size
    - GOOGLE_DCHECK_NO_OVERLAP
    - GOOGLE_DCHECK_EQ
    - std::string*::begin
    linkageType: ''
    returnType: void
    signature: "void StrAppend(std::string *result, const AlphaNum &a, const AlphaNum
      &b,\n               const AlphaNum &c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1603,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1604,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1605,1
    - Dst: GOOGLE_DCHECK_NO_OVERLAP
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1606,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1607,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: AlphaNum::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1608,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1609,1
    - Dst: google::protobuf::Append4
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1610,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1611,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - result
    - a
    - b
    - c
    - d
    argTypes:
    - std::string*
    - AlphaNum
    - AlphaNum
    - AlphaNum
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1612
    functionName: google::protobuf::StrAppend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - AlphaNum::size
    - std::string*::resize
    - std::string*::size
    - google::protobuf::Append4
    - GOOGLE_DCHECK_NO_OVERLAP
    - GOOGLE_DCHECK_EQ
    - std::string*::begin
    linkageType: ''
    returnType: void
    signature: "void StrAppend(std::string *result, const AlphaNum &a, const AlphaNum
      &b,\n               const AlphaNum &c, const AlphaNum &d)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1616,1
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1617,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1617,1
    - Dst: std::string*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1622,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1622,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1622,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1623,1
    - Dst: std::string*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1624,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1624,1
    - Dst: std::string::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1624,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1627,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1629,1
    - Dst: std::string::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1629,1
    - Dst: std::string::end
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1629,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1634,1
    - Dst: std::string*::length
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1634,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - substring
    - replacement
    - s
    argTypes:
    - std::string
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1614
    functionDepth: 1
    functionLinenumber: 1614
    functionLinenumberEnd: 1638
    functionName: google::protobuf::GlobalReplaceSubstring
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 40
    functionsReached:
    - std::string*::empty
    - std::string::empty
    - std::string::begin
    - std::string::data
    - std::string::append
    - std::string::end
    - std::string::length
    - GOOGLE_CHECK
    - std::string*::length
    - std::string*::find
    - std::string*::swap
    linkageType: ''
    returnType: int
    signature: "int GlobalReplaceSubstring(const std::string &substring,\n                           const
      std::string &replacement, std::string *s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - input_len
    - do_padding
    argTypes:
    - int
    - bool
    assertStmts:
    - condition: (len >= input_len)
      pos:
        line_end: 1682
        line_start: 1682
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    constantsTouched: []
    func_position:
      end: 1685
      start: 1640
    functionDepth: 0
    functionLinenumber: 1640
    functionLinenumberEnd: 1685
    functionName: google::protobuf::CalculateBase64EscapedLen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int CalculateBase64EscapedLen(int input_len, bool do_padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CalculateBase64EscapedLen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input_len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1690
    functionName: google::protobuf::CalculateBase64EscapedLen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::CalculateBase64EscapedLen
    linkageType: ''
    returnType: int
    signature: int CalculateBase64EscapedLen(int input_len)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1731,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1784,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1786,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1788,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1790,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1819,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1820,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1821,1
    - Dst: GET_INPUT
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1822,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1838,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1857,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1930,1
    - Dst: google::protobuf::ascii_isspace
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:1942,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 125
    argCount: 5
    argNames:
    - src_param
    - szsrc
    - dest
    - szdest
    - unbase64
    argTypes:
    - char*
    - int
    - char*
    - int
    - signed char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1949
    functionName: google::protobuf::Base64UnescapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::ascii_isspace
    - GOOGLE_LOG
    - GET_INPUT
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: int
    signature: "int Base64UnescapeInternal(const char *src_param, int szsrc,\n                           char
      *dest, int szdest,\n                           const signed char* unbase64)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - label
    - ','
    - remain
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1750
    functionName: GET_INPUT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_INPUT(label, remain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2050
    functionDepth: 2
    functionLinenumber: 2050
    functionLinenumberEnd: 2052
    functionName: google::protobuf::WebSafeBase64Unescape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64UnescapeInternal
    linkageType: ''
    returnType: int
    signature: int WebSafeBase64Unescape(const char *src, int szsrc, char *dest, int
      szdest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2061,1
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2065,1
    - Dst: google::protobuf::string_as_array
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2065,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2068,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2073,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - src
    - slen
    - dest
    - unbase64
    argTypes:
    - char*
    - int
    - std::string*
    - signed char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2054
    functionDepth: 1
    functionLinenumber: 2054
    functionLinenumberEnd: 2077
    functionName: google::protobuf::Base64UnescapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 14
    functionsReached:
    - std::string*::resize
    - google::protobuf::string_as_array
    - google::protobuf::Base64UnescapeInternal
    - std::string*::erase
    - std::string*::clear
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: bool
    signature: "bool Base64UnescapeInternal(const char *src, int slen, std::string
      *dest,\n                                   const signed char *unbase64)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2080,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2080,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2079
    functionDepth: 2
    functionLinenumber: 2079
    functionLinenumberEnd: 2081
    functionName: google::protobuf::Base64Unescape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64UnescapeInternal
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool Base64Unescape(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64UnescapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2084,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2084,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2083
    functionDepth: 2
    functionLinenumber: 2083
    functionLinenumberEnd: 2085
    functionName: google::protobuf::WebSafeBase64Unescape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::Base64UnescapeInternal
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool WebSafeBase64Unescape(StringPiece src, std::string *dest)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BigEndian::Load32
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2105,1
    - Dst: BigEndian::Load16
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2148,1
    - Dst: BigEndian::Load16
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2167,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 6
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    - base64
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - char*
    - int
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2087
    functionDepth: 1
    functionLinenumber: 2087
    functionLinenumberEnd: 2185
    functionName: google::protobuf::Base64EscapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 15
    functionsReached:
    - BigEndian::Load32
    - BigEndian::Load16
    - GOOGLE_LOG
    linkageType: ''
    returnType: int
    signature: "int Base64EscapeInternal(const unsigned char *src, int szsrc,\n                         char
      *dest, int szdest, const char *base64,\n                         bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    argTypes:
    - unsigned char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2193
    functionDepth: 2
    functionLinenumber: 2193
    functionLinenumberEnd: 2195
    functionName: google::protobuf::Base64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: int
    signature: int Base64Escape(const unsigned char *src, int szsrc, char *dest, int
      szdest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - src
    - szsrc
    - dest
    - szdest
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2196
    functionDepth: 2
    functionLinenumber: 2196
    functionLinenumberEnd: 2200
    functionName: google::protobuf::WebSafeBase64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: int
    signature: "int WebSafeBase64Escape(const unsigned char *src, int szsrc, char
      *dest,\n                        int szdest, bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CalculateBase64EscapedLen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2206,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2207,1
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2208,1
    - Dst: google::protobuf::string_as_array
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2209,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2210,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2213,1
    - Dst: std::string*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - src
    - szsrc
    - dest
    - do_padding
    - base64_chars
    argTypes:
    - unsigned char*
    - int
    - std::string*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2202
    functionDepth: 1
    functionLinenumber: 2202
    functionLinenumberEnd: 2215
    functionName: google::protobuf::Base64EscapeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 18
    functionsReached:
    - std::string*::resize
    - google::protobuf::string_as_array
    - std::string*::size
    - std::string*::erase
    - google::protobuf::Base64EscapeInternal
    - google::protobuf::CalculateBase64EscapedLen
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void Base64EscapeInternal(const unsigned char *src, int szsrc,\n                          std::string
      *dest, bool do_padding,\n                          const char *base64_chars)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2217
    functionDepth: 2
    functionLinenumber: 2217
    functionLinenumberEnd: 2220
    functionName: google::protobuf::Base64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: void
    signature: "void Base64Escape(const unsigned char *src, int szsrc, std::string
      *dest,\n                  bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64EscapeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - szsrc
    - dest
    - do_padding
    argTypes:
    - unsigned char*
    - int
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2222
    functionDepth: 2
    functionLinenumber: 2222
    functionLinenumberEnd: 2225
    functionName: google::protobuf::WebSafeBase64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::Base64EscapeInternal
    linkageType: ''
    returnType: void
    signature: "void WebSafeBase64Escape(const unsigned char *src, int szsrc, std::string
      *dest,\n                         bool do_padding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Base64Escape
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2228,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2228,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2228,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2227
    functionDepth: 1
    functionLinenumber: 2227
    functionLinenumberEnd: 2230
    functionName: google::protobuf::Base64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - StringPiece::size
    - reinterpret_cast<const unsigned char*>
    - StringPiece::data
    - google::protobuf::Base64Escape
    linkageType: ''
    returnType: void
    signature: void Base64Escape(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::WebSafeBase64Escape
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2233,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2233,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2233,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2232
    functionDepth: 1
    functionLinenumber: 2232
    functionLinenumberEnd: 2235
    functionName: google::protobuf::WebSafeBase64Escape
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::WebSafeBase64Escape
    - StringPiece::size
    - StringPiece::data
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: void
    signature: void WebSafeBase64Escape(StringPiece src, std::string *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::WebSafeBase64Escape
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2238,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2238,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2238,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2237
    functionDepth: 3
    functionLinenumber: 2237
    functionLinenumberEnd: 2240
    functionName: google::protobuf::WebSafeBase64EscapeWithPadding
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::WebSafeBase64Escape
    - StringPiece::size
    - StringPiece::data
    - reinterpret_cast<const unsigned char*>
    linkageType: ''
    returnType: void
    signature: void WebSafeBase64EscapeWithPadding(StringPiece src, std::string *dest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ghtonl
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2271,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2272,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - code_point
    - output
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2274
    functionName: google::protobuf::EncodeAsUTF8Char
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - ghtonl
    - memcpy
    linkageType: ''
    returnType: int
    signature: int EncodeAsUTF8Char(uint32 code_point, char* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2298
    functionName: google::protobuf::UTF8FirstLetterNumBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: int
    signature: int UTF8FirstLetterNumBytes(const char* src, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2335,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2336,1
    - Dst: google::protobuf::CleanStringLineEndings
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2337,1
    - Dst: google::protobuf::CleanStringLineEndings
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2340,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - src
    - dst
    - auto_end_last_line
    argTypes:
    - std::string
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2333
    functionDepth: 1
    functionLinenumber: 2333
    functionLinenumberEnd: 2343
    functionName: google::protobuf::CleanStringLineEndings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::CleanStringLineEndings
    - std::string*::empty
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: "void CleanStringLineEndings(const std::string &src, std::string *dst,\n
      \                           bool auto_end_last_line)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2348,1
    - Dst: GOOGLE_UNALIGNED_LOAD64
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2354,1
    - Dst: has_less
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2365,1
    - Dst: GOOGLE_UNALIGNED_STORE64
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2369,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2398,1
    - Dst: str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2399,1
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2401,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - str
    - auto_end_last_line
    argTypes:
    - std::string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2345
    functionDepth: 1
    functionLinenumber: 2345
    functionLinenumberEnd: 2403
    functionName: google::protobuf::CleanStringLineEndings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached:
    - str
    - std::string*::resize
    - std::string*::size
    - GOOGLE_UNALIGNED_LOAD64
    - GOOGLE_UNALIGNED_STORE64
    - has_less
    linkageType: ''
    returnType: void
    signature: void CleanStringLineEndings(std::string *str, bool auto_end_last_line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2365
    functionName: has_less
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: has_less(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 6
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2448,1
    - Dst: google::protobuf::internal::LocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2455,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2456,1
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2458,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: const_cast<char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - str
    - endptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2440
    functionDepth: 2
    functionLinenumber: 2440
    functionLinenumberEnd: 2472
    functionName: google::protobuf::internal::NoLocaleStrtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 12
    functionsReached:
    - const_cast<char *>
    - google::protobuf::internal::LocalizeRadix
    - strlen
    - strtod
    - std::string::c_str
    - std::string::size
    linkageType: ''
    returnType: double
    signature: double NoLocaleStrtod(const char *str, char **endptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 7
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2424,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2425,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2426,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2427,1
    - Dst: std::string::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2431,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2432,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2433,1
    - Dst: std::string::append
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - radix_pos
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2436
    functionName: google::protobuf::internal::LocalizeRadix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 7
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::string::append
    - strlen
    - std::string::reserve
    - GOOGLE_CHECK_EQ
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string LocalizeRadix(const char *input, const char *radix_pos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2448,1
    - Dst: google::protobuf::internal::LocalizeRadix
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2455,1
    - Dst: std::string::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2456,1
    - Dst: strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2458,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2464,1
    - Dst: const_cast<char *>
      Src: /src/sentencepiece/third_party/protobuf-lite/strutil.cc:2466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - str
    - endptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2440
    functionDepth: 2
    functionLinenumber: 2440
    functionLinenumberEnd: 2472
    functionName: google::protobuf::internal::NoLocaleStrtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
    functionUses: 12
    functionsReached:
    - const_cast<char *>
    - google::protobuf::internal::LocalizeRadix
    - strlen
    - strtod
    - std::string::c_str
    - std::string::size
    linkageType: ''
    returnType: double
    signature: double NoLocaleStrtod(const char *str, char **endptr)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - error_code
    - error_message
    argTypes:
    - error::Code
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached:
    - StringPiece::ToString
    linkageType: ''
    returnType: void
    signature: void Status::Status(error::Code error_code, StringPiece error_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '& Status::operator=(const Status& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & Status::operator=(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: Status::operator==(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Status::operator==(const Status& x) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:118,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:119,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: google::protobuf::util::Status::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - empty
    - google::protobuf::util::error::CodeEnumToString
    linkageType: ''
    returnType: std::string
    signature: std::string Status::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - std::ostream
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '& operator<<(std::ostream& os, const Status& x)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Status& x)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - error_code
    - error_message
    argTypes:
    - error::Code
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached:
    - StringPiece::ToString
    linkageType: ''
    returnType: void
    signature: void Status::Status(error::Code error_code, StringPiece error_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '& Status::operator=(const Status& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & Status::operator=(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: Status::operator==(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Status::operator==(const Status& x) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:118,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:119,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: google::protobuf::util::Status::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - empty
    - google::protobuf::util::error::CodeEnumToString
    linkageType: ''
    returnType: std::string
    signature: std::string Status::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - std::ostream
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '& operator<<(std::ostream& os, const Status& x)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Status& x)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - error_code
    - error_message
    argTypes:
    - error::Code
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached:
    - StringPiece::ToString
    linkageType: ''
    returnType: void
    signature: void Status::Status(error::Code error_code, StringPiece error_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '& Status::operator=(const Status& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & Status::operator=(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: Status::operator==(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Status::operator==(const Status& x) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:118,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:119,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: google::protobuf::util::Status::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - empty
    - google::protobuf::util::error::CodeEnumToString
    linkageType: ''
    returnType: std::string
    signature: std::string Status::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - std::ostream
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '& operator<<(std::ostream& os, const Status& x)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Status& x)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - error_code
    - error_message
    argTypes:
    - error::Code
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached:
    - StringPiece::ToString
    linkageType: ''
    returnType: void
    signature: void Status::Status(error::Code error_code, StringPiece error_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '& Status::operator=(const Status& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & Status::operator=(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: Status::operator==(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Status::operator==(const Status& x) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:118,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:119,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: google::protobuf::util::Status::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - empty
    - google::protobuf::util::error::CodeEnumToString
    linkageType: ''
    returnType: std::string
    signature: std::string Status::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - std::ostream
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '& operator<<(std::ostream& os, const Status& x)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Status& x)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - error_code
    - error_message
    argTypes:
    - error::Code
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached:
    - StringPiece::ToString
    linkageType: ''
    returnType: void
    signature: void Status::Status(error::Code error_code, StringPiece error_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '& Status::operator=(const Status& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & Status::operator=(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: Status::operator==(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Status::operator==(const Status& x) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:118,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:119,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: google::protobuf::util::Status::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - empty
    - google::protobuf::util::error::CodeEnumToString
    linkageType: ''
    returnType: std::string
    signature: std::string Status::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - std::ostream
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '& operator<<(std::ostream& os, const Status& x)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Status& x)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - error_code
    - error_message
    argTypes:
    - error::Code
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached:
    - StringPiece::ToString
    linkageType: ''
    returnType: void
    signature: void Status::Status(error::Code error_code, StringPiece error_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '& Status::operator=(const Status& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & Status::operator=(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: Status::operator==(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Status::operator==(const Status& x) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:118,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:119,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: google::protobuf::util::Status::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - empty
    - google::protobuf::util::error::CodeEnumToString
    linkageType: ''
    returnType: std::string
    signature: std::string Status::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - std::ostream
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '& operator<<(std::ostream& os, const Status& x)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Status& x)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - error_code
    - error_message
    argTypes:
    - error::Code
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached:
    - StringPiece::ToString
    linkageType: ''
    returnType: void
    signature: void Status::Status(error::Code error_code, StringPiece error_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '& Status::operator=(const Status& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & Status::operator=(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: Status::operator==(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Status::operator==(const Status& x) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:118,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:119,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: google::protobuf::util::Status::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - empty
    - google::protobuf::util::error::CodeEnumToString
    linkageType: ''
    returnType: std::string
    signature: std::string Status::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - std::ostream
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '& operator<<(std::ostream& os, const Status& x)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Status& x)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - error::Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: google::protobuf::util::error::CodeEnumToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string CodeEnumToString(error::Code code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - error_code
    - error_message
    argTypes:
    - error::Code
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached:
    - StringPiece::ToString
    linkageType: ''
    returnType: void
    signature: void Status::Status(error::Code error_code, StringPiece error_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::Status::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Status::Status(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '& Status::operator=(const Status& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & Status::operator=(const Status& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: Status::operator==(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Status::operator==(const Status& x) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:118,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:119,1
    - Dst: google::protobuf::util::error::CodeEnumToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: google::protobuf::util::Status::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - empty
    - google::protobuf::util::error::CodeEnumToString
    linkageType: ''
    returnType: std::string
    signature: std::string Status::ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/status.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' os'
    - ' x'
    argTypes:
    - std::ostream
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: '& operator<<(std::ostream& os, const Status& x)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/status.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Status& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: google::protobuf::MessageLite::InitializationErrorString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::InitializationErrorString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:68,1
    - Dst: StrCat
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:69,1
    - Dst: google::protobuf::strings::Hex
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: google::protobuf::MessageLite::DebugString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::strings::Hex
    - StrCat
    - reinterpret_cast<std::uintptr_t>
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::DebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:84,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:85,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:87,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:91,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - byte_size_before_serialization
    - byte_size_after_serialization
    - bytes_produced_by_serialization
    - ' message'
    argTypes:
    - size_t
    - size_t
    - size_t
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: google::protobuf::ByteSizeConsistencyError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - GOOGLE_LOG
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ByteSizeConsistencyError(size_t byte_size_before_serialization,\n
      \                             size_t byte_size_after_serialization,\n                              size_t
      bytes_produced_by_serialization,\n                              const MessageLite&
      message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:110,1
    - Dst: InitializationErrorString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - action
    - ' message'
    argTypes:
    - char*
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: google::protobuf::InitializationErrorMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - InitializationErrorString
    linkageType: ''
    returnType: std::string
    signature: "std::string InitializationErrorMessage(const char* action,\n                                       const
      MessageLite& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::as_string_view
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 32
    functionsReached:
    - google::protobuf::StringPiece
    - static_cast<const char*>
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece as_string_view(const void* data, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:124,1
    - Dst: google::protobuf::IsInitializedWithErrors
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' ctx'
    - ' msg'
    - parse_flags
    argTypes:
    - internal::ParseContext
    - MessageLite
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: google::protobuf::CheckFieldPresence
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::IsInitializedWithErrors
    linkageType: ''
    returnType: bool
    signature: "bool CheckFieldPresence(const internal::ParseContext& ctx,\n                               const
      MessageLite& msg,\n                               MessageLite::ParseFlags parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:84,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:85,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:87,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:91,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - byte_size_before_serialization
    - byte_size_after_serialization
    - bytes_produced_by_serialization
    - ' message'
    argTypes:
    - size_t
    - size_t
    - size_t
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: google::protobuf::ByteSizeConsistencyError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - GOOGLE_LOG
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ByteSizeConsistencyError(size_t byte_size_before_serialization,\n
      \                             size_t byte_size_after_serialization,\n                              size_t
      bytes_produced_by_serialization,\n                              const MessageLite&
      message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:110,1
    - Dst: InitializationErrorString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - action
    - ' message'
    argTypes:
    - char*
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: google::protobuf::InitializationErrorMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - InitializationErrorString
    linkageType: ''
    returnType: std::string
    signature: "std::string InitializationErrorMessage(const char* action,\n                                       const
      MessageLite& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::as_string_view
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 32
    functionsReached:
    - google::protobuf::StringPiece
    - static_cast<const char*>
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece as_string_view(const void* data, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:124,1
    - Dst: google::protobuf::IsInitializedWithErrors
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' ctx'
    - ' msg'
    - parse_flags
    argTypes:
    - internal::ParseContext
    - MessageLite
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: google::protobuf::CheckFieldPresence
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::IsInitializedWithErrors
    linkageType: ''
    returnType: bool
    signature: "bool CheckFieldPresence(const internal::ParseContext& ctx,\n                               const
      MessageLite& msg,\n                               MessageLite::ParseFlags parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:133,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: google::protobuf::MessageLite::LogInitializationErrorMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - InitializationErrorMessage
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void MessageLite::LogInitializationErrorMessage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:142,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:144,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - StringPiece
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(StringPiece input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:156,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:158,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: internal::ParseContext::EndedAtEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - io::ZeroCopyInputStream*
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - MessageLite*::_InternalParse
    - internal::ParseContext::EndedAtEndOfStream
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(io::ZeroCopyInputStream* input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:170,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:172,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:173,1
    - Dst: internal::ParseContext::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:174,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - BoundedZCIS
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - internal::ParseContext::BackUp
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(BoundedZCIS input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:142,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:144,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - StringPiece
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(StringPiece input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:156,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:158,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: internal::ParseContext::EndedAtEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - io::ZeroCopyInputStream*
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - MessageLite*::_InternalParse
    - internal::ParseContext::EndedAtEndOfStream
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(io::ZeroCopyInputStream* input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:170,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:172,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:173,1
    - Dst: internal::ParseContext::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:174,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - BoundedZCIS
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - internal::ParseContext::BackUp
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(BoundedZCIS input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::New
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:199,1
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: google::protobuf::MessageLite::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 1
    functionsReached:
    - Arena*::Own
    - google::protobuf::MessageLite::New
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * MessageLite::New(Arena* arena) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cis
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: google::protobuf::ZeroCopyCodedInputStream::ZeroCopyCodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZeroCopyCodedInputStream(io::CodedInputStream* cis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDirectBufferPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:210,1
    - Dst: google::protobuf::ZeroCopyCodedInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: google::protobuf::ZeroCopyCodedInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetDirectBufferPointer
    - google::protobuf::ZeroCopyCodedInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool Next(const void** data, int* size) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: google::protobuf::ZeroCopyCodedInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - Advance
    linkageType: ''
    returnType: void
    signature: void BackUp(int count) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ZeroCopyCodedInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: google::protobuf::ZeroCopyCodedInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::ZeroCopyCodedInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool Skip(int count) final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: google::protobuf::ZeroCopyCodedInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ByteCount() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: google::protobuf::ZeroCopyCodedInputStream::aliasing_enabled
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool aliasing_enabled()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::RecursionBudget
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:228,1
    - Dst: ZeroCopyCodedInputStream::aliasing_enabled
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:228,1
    - Dst: internal::ParseContext::TrackCorrectEnding
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:233,1
    - Dst: internal::ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:234,1
    - Dst: io::CodedInputStream*::GetExtensionPool
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:234,1
    - Dst: internal::ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:235,1
    - Dst: io::CodedInputStream*::GetExtensionFactory
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:235,1
    - Dst: _InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:236,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:237,1
    - Dst: internal::ParseContext::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:238,1
    - Dst: internal::ParseContext::EndedAtEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:239,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:240,1
    - Dst: internal::ParseContext::LastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:240,1
    - Dst: internal::ParseContext::IsExceedingLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:241,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:242,1
    - Dst: internal::ParseContext::LastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:242,1
    - Dst: io::CodedInputStream*::SetConsumed
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:244,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - input
    - parse_flags
    argTypes:
    - io::CodedInputStream*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 247
    functionName: google::protobuf::MessageLite::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - internal::ParseContext::BackUp
    - GOOGLE_DCHECK
    - internal::ParseContext::TrackCorrectEnding
    - internal::ParseContext::IsExceedingLimit
    - _InternalParse
    - io::CodedInputStream*::GetExtensionPool
    - internal::ParseContext::data
    - io::CodedInputStream*::GetExtensionFactory
    - internal::ParseContext::LastTag
    - internal::ParseContext::EndedAtEndOfStream
    - io::CodedInputStream*::SetLastTag
    - io::CodedInputStream*::SetConsumed
    - CheckFieldPresence
    - PROTOBUF_PREDICT_FALSE
    - io::CodedInputStream*::RecursionBudget
    - ZeroCopyCodedInputStream::aliasing_enabled
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::MergeFromImpl(io::CodedInputStream* input,\n                                MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: google::protobuf::MessageLite::MergePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::MergePartialFromCodedStream(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: google::protobuf::MessageLite::MergeFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::MergeFromCodedStream(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:258,1
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: google::protobuf::MessageLite::ParseFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    - Clear
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromCodedStream(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:263,1
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: google::protobuf::MessageLite::ParsePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    - Clear
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromCodedStream(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: google::protobuf::MessageLite::ParseFromZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromZeroCopyStream(io::ZeroCopyInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::ParsePartialFromZeroCopyStream(\n    io::ZeroCopyInputStream*
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:278,1
    - Dst: io::FileInputStream::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: google::protobuf::MessageLite::ParseFromFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFromZeroCopyStream
    - io::FileInputStream::GetErrno
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromFileDescriptor(int file_descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:283,1
    - Dst: io::FileInputStream::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: google::protobuf::MessageLite::ParsePartialFromFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
    - io::FileInputStream::GetErrno
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromFileDescriptor(int file_descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:288,1
    - Dst: std::istream*::eof
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: google::protobuf::MessageLite::ParseFromIstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFromZeroCopyStream
    - std::istream*::eof
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromIstream(std::istream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:293,1
    - Dst: std::istream*::eof
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: google::protobuf::MessageLite::ParsePartialFromIstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
    - std::istream*::eof
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromIstream(std::istream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: google::protobuf::MessageLite::MergePartialFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::MergePartialFromBoundedZeroCopyStream(\n    io::ZeroCopyInputStream*
      input, int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: google::protobuf::MessageLite::MergeFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::MergeFromBoundedZeroCopyStream(io::ZeroCopyInputStream*
      input,\n                                                 int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: google::protobuf::MessageLite::ParseFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::ParseFromBoundedZeroCopyStream(io::ZeroCopyInputStream*
      input,\n                                                 int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: google::protobuf::MessageLite::ParsePartialFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::ParsePartialFromBoundedZeroCopyStream(\n    io::ZeroCopyInputStream*
      input, int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: google::protobuf::MessageLite::ParseFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromString(ConstStringParam data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: google::protobuf::MessageLite::ParsePartialFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromString(ConstStringParam data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:325,1
    - Dst: as_string_view
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: google::protobuf::MessageLite::ParseFromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - as_string_view
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromArray(const void* data, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:329,1
    - Dst: as_string_view
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::MessageLite::ParsePartialFromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - as_string_view
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromArray(const void* data, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: google::protobuf::MessageLite::MergeFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::MergeFromString(ConstStringParam data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:349,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:351,1
    - Dst: io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:352,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:353,1
    - Dst: io::EpsCopyOutputStream::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:353,1
    - Dst: io::ArrayOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:353,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:359,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' msg'
    - target
    - size
    argTypes:
    - MessageLite
    - uint8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 363
    functionName: google::protobuf::SerializeToArrayImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - io::ArrayOutputStream::ByteCount
    - google::protobuf::IsDefaultSerializationDeterministic
    - GOOGLE_DCHECK
    - _InternalSerialize
    - io::EpsCopyOutputStream::Trim
    - io::EpsCopyOutputStream::HadError
    linkageType: ''
    returnType: uint8
    signature: "uint8 * SerializeToArrayImpl(const MessageLite& msg, uint8* target,\n
      \                                  int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SerializeToArrayImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:368,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: google::protobuf::MessageLite::SerializeWithCachedSizesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetCachedSize
    - SerializeToArrayImpl
    linkageType: ''
    returnType: uint8
    signature: uint8 * MessageLite::SerializeWithCachedSizesToArray(uint8* target)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:372,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:372,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:372,1
    - Dst: google::protobuf::MessageLite::SerializePartialToCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: google::protobuf::MessageLite::SerializeToCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToCodedStream
    - IsInitialized
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToCodedStream(io::CodedOutputStream* output)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:378,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:380,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:380,1
    - Dst: io::CodedOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:385,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:386,1
    - Dst: io::CodedOutputStream*::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:387,1
    - Dst: io::CodedOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:390,1
    - Dst: ByteSizeConsistencyError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:393,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 398
    functionName: google::protobuf::MessageLite::SerializePartialToCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 1
    functionsReached:
    - GOOGLE_LOG
    - SerializeWithCachedSizes
    - ByteSizeLong
    - io::CodedOutputStream*::ByteCount
    - GetTypeName
    - ByteSizeConsistencyError
    - io::CodedOutputStream*::HadError
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::SerializePartialToCodedStream(\n    io::CodedOutputStream*
      output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:402,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:402,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:402,1
    - Dst: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::ZeroCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: google::protobuf::MessageLite::SerializeToZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    - IsInitialized
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::SerializeToZeroCopyStream(\n    io::ZeroCopyOutputStream*
      output) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:408,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:410,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:410,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:417,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:419,1
    - Dst: io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:420,1
    - Dst: io::EpsCopyOutputStream::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::ZeroCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::IsDefaultSerializationDeterministic
    - _InternalSerialize
    - GOOGLE_LOG
    - ByteSizeLong
    - GetTypeName
    - io::EpsCopyOutputStream::Trim
    - io::EpsCopyOutputStream::HadError
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::SerializePartialToZeroCopyStream(\n    io::ZeroCopyOutputStream*
      output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:427,1
    - Dst: io::FileOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: google::protobuf::MessageLite::SerializeToFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - io::FileOutputStream::Flush
    - google::protobuf::MessageLite::SerializeToZeroCopyStream
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToFileDescriptor(int file_descriptor) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:432,1
    - Dst: io::FileOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: google::protobuf::MessageLite::SerializePartialToFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    - io::FileOutputStream::Flush
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToFileDescriptor(int file_descriptor)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:438,1
    - Dst: std::ostream*::good
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: google::protobuf::MessageLite::SerializeToOstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - std::ostream*::good
    - google::protobuf::MessageLite::SerializeToZeroCopyStream
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToOstream(std::ostream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: google::protobuf::MessageLite::SerializePartialToOstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToOstream(std::ostream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:449,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:449,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:449,1
    - Dst: google::protobuf::MessageLite::AppendPartialToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: google::protobuf::MessageLite::AppendToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::AppendPartialToString
    - IsInitialized
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::AppendToString(std::string* output) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:454,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:455,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:457,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:457,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:462,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:464,1
    - Dst: google::protobuf::io::mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:464,1
    - Dst: SerializeToArrayImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 467
    functionName: google::protobuf::MessageLite::AppendPartialToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::mutable_string_data
    - GOOGLE_LOG
    - ByteSizeLong
    - std::string*::size
    - GetTypeName
    - reinterpret_cast<uint8*>
    - SerializeToArrayImpl
    - STLStringResizeUninitialized
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::AppendPartialToString(std::string* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:470,1
    - Dst: google::protobuf::MessageLite::AppendToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: google::protobuf::MessageLite::SerializeToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - google::protobuf::MessageLite::AppendToString
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToString(std::string* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:475,1
    - Dst: google::protobuf::MessageLite::AppendPartialToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: google::protobuf::MessageLite::SerializePartialToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - google::protobuf::MessageLite::AppendPartialToString
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToString(std::string* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:480,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:480,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:480,1
    - Dst: google::protobuf::MessageLite::SerializePartialToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: google::protobuf::MessageLite::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - IsInitialized
    - google::protobuf::MessageLite::SerializePartialToArray
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToArray(void* data, int size) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:485,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:487,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:487,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:492,1
    - Dst: SerializeToArrayImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 495
    functionName: google::protobuf::MessageLite::SerializePartialToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 1
    functionsReached:
    - GOOGLE_LOG
    - ByteSizeLong
    - GetTypeName
    - reinterpret_cast<uint8*>
    - SerializeToArrayImpl
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToArray(void* data, int size) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::AppendToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:503,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: google::protobuf::MessageLite::SerializeAsString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::AppendToString
    - std::string::clear
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::SerializeAsString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::AppendPartialToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:509,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: google::protobuf::MessageLite::SerializePartialAsString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::AppendPartialToString
    - std::string::clear
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::SerializePartialAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prototype
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GenericTypeHandler<MessageLite>::NewFromPrototype(\n
      \   const MessageLite* prototype, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<MessageLite>::Merge(const MessageLite& from,\n
      \                                           MessageLite* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<std::string>::Merge(const std::string& from,\n
      \                                           std::string* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prototype
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GenericTypeHandler<MessageLite>::NewFromPrototype(\n
      \   const MessageLite* prototype, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<MessageLite>::Merge(const MessageLite& from,\n
      \                                           MessageLite* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<std::string>::Merge(const std::string& from,\n
      \                                           std::string* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: first
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: ~ShutdownData()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - end
    - first
    - begin
    - std::reverse
    linkageType: ''
    returnType: void
    signature: void ~ShutdownData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownData::ShutdownData
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - ShutdownData::ShutdownData
    linkageType: ''
    returnType: ShutdownData
    signature: ShutdownData * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: google::protobuf::internal::RunZeroArgFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - reinterpret_cast<void (*)()>
    - func
    linkageType: ''
    returnType: void
    signature: void RunZeroArgFunc(const void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::OnShutdown
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdown(void (*func)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyThreadPool::get
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:565,1
    - Dst: auto::functions::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::OnShutdownRun
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 1
    functionsReached:
    - PyThreadPool::get
    - auto::functions::push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void OnShutdownRun(void (*f)(const void*), const void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: first
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: ~ShutdownData()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - first
    - google::protobuf::end
    - google::protobuf::begin
    - std::reverse
    linkageType: ''
    returnType: void
    signature: void ~ShutdownData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownData::ShutdownData
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - ShutdownData::ShutdownData
    linkageType: ''
    returnType: ShutdownData
    signature: ShutdownData * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: google::protobuf::internal::RunZeroArgFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - reinterpret_cast<void (*)()>
    - func
    linkageType: ''
    returnType: void
    signature: void RunZeroArgFunc(const void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::OnShutdown
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdown(void (*func)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyThreadPool::get
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:565,1
    - Dst: auto::functions::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::OnShutdownRun
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 2
    functionsReached:
    - PyThreadPool::get
    - auto::functions::push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void OnShutdownRun(void (*f)(const void*), const void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PyThreadPool::get
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 579
    functionName: google::protobuf::ShutdownProtobufLibrary
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 1
    functionsReached:
    - PyThreadPool::get
    linkageType: ''
    returnType: void
    signature: void ShutdownProtobufLibrary()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: google::protobuf::MessageLite::InitializationErrorString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::InitializationErrorString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:68,1
    - Dst: StrCat
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:69,1
    - Dst: google::protobuf::strings::Hex
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: google::protobuf::MessageLite::DebugString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::strings::Hex
    - StrCat
    - reinterpret_cast<std::uintptr_t>
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::DebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:84,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:85,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:87,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:91,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - byte_size_before_serialization
    - byte_size_after_serialization
    - bytes_produced_by_serialization
    - ' message'
    argTypes:
    - size_t
    - size_t
    - size_t
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: google::protobuf::ByteSizeConsistencyError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - GOOGLE_LOG
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ByteSizeConsistencyError(size_t byte_size_before_serialization,\n
      \                             size_t byte_size_after_serialization,\n                              size_t
      bytes_produced_by_serialization,\n                              const MessageLite&
      message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:110,1
    - Dst: InitializationErrorString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - action
    - ' message'
    argTypes:
    - char*
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: google::protobuf::InitializationErrorMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - InitializationErrorString
    linkageType: ''
    returnType: std::string
    signature: "std::string InitializationErrorMessage(const char* action,\n                                       const
      MessageLite& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::as_string_view
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 32
    functionsReached:
    - google::protobuf::StringPiece
    - static_cast<const char*>
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece as_string_view(const void* data, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:124,1
    - Dst: google::protobuf::IsInitializedWithErrors
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' ctx'
    - ' msg'
    - parse_flags
    argTypes:
    - internal::ParseContext
    - MessageLite
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: google::protobuf::CheckFieldPresence
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::IsInitializedWithErrors
    linkageType: ''
    returnType: bool
    signature: "bool CheckFieldPresence(const internal::ParseContext& ctx,\n                               const
      MessageLite& msg,\n                               MessageLite::ParseFlags parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:84,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:85,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:87,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:91,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - byte_size_before_serialization
    - byte_size_after_serialization
    - bytes_produced_by_serialization
    - ' message'
    argTypes:
    - size_t
    - size_t
    - size_t
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: google::protobuf::ByteSizeConsistencyError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - GOOGLE_LOG
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ByteSizeConsistencyError(size_t byte_size_before_serialization,\n
      \                             size_t byte_size_after_serialization,\n                              size_t
      bytes_produced_by_serialization,\n                              const MessageLite&
      message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:110,1
    - Dst: InitializationErrorString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - action
    - ' message'
    argTypes:
    - char*
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: google::protobuf::InitializationErrorMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - InitializationErrorString
    linkageType: ''
    returnType: std::string
    signature: "std::string InitializationErrorMessage(const char* action,\n                                       const
      MessageLite& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::as_string_view
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 32
    functionsReached:
    - google::protobuf::StringPiece
    - static_cast<const char*>
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece as_string_view(const void* data, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:124,1
    - Dst: google::protobuf::IsInitializedWithErrors
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' ctx'
    - ' msg'
    - parse_flags
    argTypes:
    - internal::ParseContext
    - MessageLite
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: google::protobuf::CheckFieldPresence
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::IsInitializedWithErrors
    linkageType: ''
    returnType: bool
    signature: "bool CheckFieldPresence(const internal::ParseContext& ctx,\n                               const
      MessageLite& msg,\n                               MessageLite::ParseFlags parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:133,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: google::protobuf::MessageLite::LogInitializationErrorMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - InitializationErrorMessage
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void MessageLite::LogInitializationErrorMessage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:142,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:144,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - StringPiece
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(StringPiece input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:156,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:158,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: internal::ParseContext::EndedAtEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - io::ZeroCopyInputStream*
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - MessageLite*::_InternalParse
    - internal::ParseContext::EndedAtEndOfStream
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(io::ZeroCopyInputStream* input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:170,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:172,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:173,1
    - Dst: internal::ParseContext::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:174,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - BoundedZCIS
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - internal::ParseContext::BackUp
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(BoundedZCIS input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:142,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:144,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - StringPiece
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(StringPiece input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:156,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:158,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: internal::ParseContext::EndedAtEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - io::ZeroCopyInputStream*
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - MessageLite*::_InternalParse
    - internal::ParseContext::EndedAtEndOfStream
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(io::ZeroCopyInputStream* input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:170,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:172,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:173,1
    - Dst: internal::ParseContext::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:174,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - BoundedZCIS
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - internal::ParseContext::BackUp
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(BoundedZCIS input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::New
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:199,1
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: google::protobuf::MessageLite::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 2
    functionsReached:
    - Arena*::Own
    - google::protobuf::MessageLite::New
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * MessageLite::New(Arena* arena) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cis
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: google::protobuf::ZeroCopyCodedInputStream::ZeroCopyCodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZeroCopyCodedInputStream(io::CodedInputStream* cis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDirectBufferPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:210,1
    - Dst: google::protobuf::ZeroCopyCodedInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: google::protobuf::ZeroCopyCodedInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetDirectBufferPointer
    - google::protobuf::ZeroCopyCodedInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool Next(const void** data, int* size) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: google::protobuf::ZeroCopyCodedInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - Advance
    linkageType: ''
    returnType: void
    signature: void BackUp(int count) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ZeroCopyCodedInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: google::protobuf::ZeroCopyCodedInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::ZeroCopyCodedInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool Skip(int count) final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: google::protobuf::ZeroCopyCodedInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ByteCount() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: google::protobuf::ZeroCopyCodedInputStream::aliasing_enabled
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool aliasing_enabled()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::RecursionBudget
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:228,1
    - Dst: ZeroCopyCodedInputStream::aliasing_enabled
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:228,1
    - Dst: internal::ParseContext::TrackCorrectEnding
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:233,1
    - Dst: internal::ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:234,1
    - Dst: io::CodedInputStream*::GetExtensionPool
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:234,1
    - Dst: internal::ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:235,1
    - Dst: io::CodedInputStream*::GetExtensionFactory
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:235,1
    - Dst: _InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:236,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:237,1
    - Dst: internal::ParseContext::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:238,1
    - Dst: internal::ParseContext::EndedAtEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:239,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:240,1
    - Dst: internal::ParseContext::LastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:240,1
    - Dst: internal::ParseContext::IsExceedingLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:241,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:242,1
    - Dst: internal::ParseContext::LastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:242,1
    - Dst: io::CodedInputStream*::SetConsumed
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:244,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - input
    - parse_flags
    argTypes:
    - io::CodedInputStream*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 247
    functionName: google::protobuf::MessageLite::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 4
    functionsReached:
    - internal::ParseContext::BackUp
    - GOOGLE_DCHECK
    - internal::ParseContext::TrackCorrectEnding
    - internal::ParseContext::IsExceedingLimit
    - _InternalParse
    - io::CodedInputStream*::GetExtensionPool
    - internal::ParseContext::data
    - io::CodedInputStream*::GetExtensionFactory
    - internal::ParseContext::LastTag
    - internal::ParseContext::EndedAtEndOfStream
    - io::CodedInputStream*::SetLastTag
    - io::CodedInputStream*::SetConsumed
    - CheckFieldPresence
    - PROTOBUF_PREDICT_FALSE
    - io::CodedInputStream*::RecursionBudget
    - ZeroCopyCodedInputStream::aliasing_enabled
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::MergeFromImpl(io::CodedInputStream* input,\n                                MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: google::protobuf::MessageLite::MergePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::MergePartialFromCodedStream(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: google::protobuf::MessageLite::MergeFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::MergeFromCodedStream(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:258,1
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: google::protobuf::MessageLite::ParseFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    - Clear
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromCodedStream(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:263,1
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: google::protobuf::MessageLite::ParsePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    - Clear
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromCodedStream(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: google::protobuf::MessageLite::ParseFromZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromZeroCopyStream(io::ZeroCopyInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::ParsePartialFromZeroCopyStream(\n    io::ZeroCopyInputStream*
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:278,1
    - Dst: io::FileInputStream::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: google::protobuf::MessageLite::ParseFromFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFromZeroCopyStream
    - io::FileInputStream::GetErrno
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromFileDescriptor(int file_descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:283,1
    - Dst: io::FileInputStream::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: google::protobuf::MessageLite::ParsePartialFromFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
    - io::FileInputStream::GetErrno
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromFileDescriptor(int file_descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:288,1
    - Dst: std::istream*::eof
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: google::protobuf::MessageLite::ParseFromIstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFromZeroCopyStream
    - std::istream*::eof
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromIstream(std::istream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:293,1
    - Dst: std::istream*::eof
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: google::protobuf::MessageLite::ParsePartialFromIstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
    - std::istream*::eof
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromIstream(std::istream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: google::protobuf::MessageLite::MergePartialFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::MergePartialFromBoundedZeroCopyStream(\n    io::ZeroCopyInputStream*
      input, int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: google::protobuf::MessageLite::MergeFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::MergeFromBoundedZeroCopyStream(io::ZeroCopyInputStream*
      input,\n                                                 int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: google::protobuf::MessageLite::ParseFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::ParseFromBoundedZeroCopyStream(io::ZeroCopyInputStream*
      input,\n                                                 int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: google::protobuf::MessageLite::ParsePartialFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::ParsePartialFromBoundedZeroCopyStream(\n    io::ZeroCopyInputStream*
      input, int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: google::protobuf::MessageLite::ParseFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromString(ConstStringParam data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: google::protobuf::MessageLite::ParsePartialFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromString(ConstStringParam data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:325,1
    - Dst: as_string_view
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: google::protobuf::MessageLite::ParseFromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - as_string_view
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromArray(const void* data, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:329,1
    - Dst: as_string_view
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::MessageLite::ParsePartialFromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - as_string_view
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromArray(const void* data, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: google::protobuf::MessageLite::MergeFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::MergeFromString(ConstStringParam data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:349,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:351,1
    - Dst: io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:352,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:353,1
    - Dst: io::EpsCopyOutputStream::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:353,1
    - Dst: io::ArrayOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:353,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:359,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' msg'
    - target
    - size
    argTypes:
    - MessageLite
    - uint8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 363
    functionName: google::protobuf::SerializeToArrayImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - io::ArrayOutputStream::ByteCount
    - google::protobuf::IsDefaultSerializationDeterministic
    - GOOGLE_DCHECK
    - _InternalSerialize
    - io::EpsCopyOutputStream::Trim
    - io::EpsCopyOutputStream::HadError
    linkageType: ''
    returnType: uint8
    signature: "uint8 * SerializeToArrayImpl(const MessageLite& msg, uint8* target,\n
      \                                  int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SerializeToArrayImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:368,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: google::protobuf::MessageLite::SerializeWithCachedSizesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetCachedSize
    - SerializeToArrayImpl
    linkageType: ''
    returnType: uint8
    signature: uint8 * MessageLite::SerializeWithCachedSizesToArray(uint8* target)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:372,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:372,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:372,1
    - Dst: google::protobuf::MessageLite::SerializePartialToCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: google::protobuf::MessageLite::SerializeToCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToCodedStream
    - IsInitialized
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToCodedStream(io::CodedOutputStream* output)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:378,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:380,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:380,1
    - Dst: io::CodedOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:385,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:386,1
    - Dst: io::CodedOutputStream*::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:387,1
    - Dst: io::CodedOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:390,1
    - Dst: ByteSizeConsistencyError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:393,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 398
    functionName: google::protobuf::MessageLite::SerializePartialToCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_LOG
    - SerializeWithCachedSizes
    - ByteSizeLong
    - io::CodedOutputStream*::ByteCount
    - GetTypeName
    - ByteSizeConsistencyError
    - io::CodedOutputStream*::HadError
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::SerializePartialToCodedStream(\n    io::CodedOutputStream*
      output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:402,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:402,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:402,1
    - Dst: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::ZeroCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: google::protobuf::MessageLite::SerializeToZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    - IsInitialized
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::SerializeToZeroCopyStream(\n    io::ZeroCopyOutputStream*
      output) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:408,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:410,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:410,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:417,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:419,1
    - Dst: io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:420,1
    - Dst: io::EpsCopyOutputStream::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::ZeroCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::IsDefaultSerializationDeterministic
    - _InternalSerialize
    - GOOGLE_LOG
    - ByteSizeLong
    - GetTypeName
    - io::EpsCopyOutputStream::Trim
    - io::EpsCopyOutputStream::HadError
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::SerializePartialToZeroCopyStream(\n    io::ZeroCopyOutputStream*
      output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:427,1
    - Dst: io::FileOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: google::protobuf::MessageLite::SerializeToFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - io::FileOutputStream::Flush
    - google::protobuf::MessageLite::SerializeToZeroCopyStream
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToFileDescriptor(int file_descriptor) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:432,1
    - Dst: io::FileOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: google::protobuf::MessageLite::SerializePartialToFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    - io::FileOutputStream::Flush
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToFileDescriptor(int file_descriptor)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:438,1
    - Dst: std::ostream*::good
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: google::protobuf::MessageLite::SerializeToOstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - std::ostream*::good
    - google::protobuf::MessageLite::SerializeToZeroCopyStream
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToOstream(std::ostream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: google::protobuf::MessageLite::SerializePartialToOstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToOstream(std::ostream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:449,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:449,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:449,1
    - Dst: google::protobuf::MessageLite::AppendPartialToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: google::protobuf::MessageLite::AppendToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::MessageLite::AppendPartialToString
    - IsInitialized
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::AppendToString(std::string* output) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:454,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:455,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:457,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:457,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:462,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:464,1
    - Dst: google::protobuf::io::mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:464,1
    - Dst: SerializeToArrayImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 467
    functionName: google::protobuf::MessageLite::AppendPartialToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::mutable_string_data
    - GOOGLE_LOG
    - ByteSizeLong
    - std::string*::size
    - GetTypeName
    - reinterpret_cast<uint8*>
    - SerializeToArrayImpl
    - STLStringResizeUninitialized
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::AppendPartialToString(std::string* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:470,1
    - Dst: google::protobuf::MessageLite::AppendToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: google::protobuf::MessageLite::SerializeToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - google::protobuf::MessageLite::AppendToString
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToString(std::string* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:475,1
    - Dst: google::protobuf::MessageLite::AppendPartialToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: google::protobuf::MessageLite::SerializePartialToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - google::protobuf::MessageLite::AppendPartialToString
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToString(std::string* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:480,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:480,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:480,1
    - Dst: google::protobuf::MessageLite::SerializePartialToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: google::protobuf::MessageLite::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - IsInitialized
    - google::protobuf::MessageLite::SerializePartialToArray
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToArray(void* data, int size) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:485,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:487,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:487,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:492,1
    - Dst: SerializeToArrayImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 495
    functionName: google::protobuf::MessageLite::SerializePartialToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_LOG
    - ByteSizeLong
    - GetTypeName
    - reinterpret_cast<uint8*>
    - SerializeToArrayImpl
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToArray(void* data, int size) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::AppendToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:503,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: google::protobuf::MessageLite::SerializeAsString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::AppendToString
    - std::string::clear
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::SerializeAsString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::AppendPartialToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:509,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: google::protobuf::MessageLite::SerializePartialAsString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::AppendPartialToString
    - std::string::clear
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::SerializePartialAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prototype
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GenericTypeHandler<MessageLite>::NewFromPrototype(\n
      \   const MessageLite* prototype, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<MessageLite>::Merge(const MessageLite& from,\n
      \                                           MessageLite* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<std::string>::Merge(const std::string& from,\n
      \                                           std::string* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prototype
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GenericTypeHandler<MessageLite>::NewFromPrototype(\n
      \   const MessageLite* prototype, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<MessageLite>::Merge(const MessageLite& from,\n
      \                                           MessageLite* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<std::string>::Merge(const std::string& from,\n
      \                                           std::string* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: first
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: ~ShutdownData()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - end
    - first
    - begin
    - std::reverse
    linkageType: ''
    returnType: void
    signature: void ~ShutdownData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownData::ShutdownData
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - ShutdownData::ShutdownData
    linkageType: ''
    returnType: ShutdownData
    signature: ShutdownData * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: google::protobuf::internal::RunZeroArgFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - reinterpret_cast<void (*)()>
    - func
    linkageType: ''
    returnType: void
    signature: void RunZeroArgFunc(const void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::OnShutdown
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdown(void (*func)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyThreadPool::get
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:565,1
    - Dst: auto::functions::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::OnShutdownRun
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 3
    functionsReached:
    - PyThreadPool::get
    - auto::functions::push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void OnShutdownRun(void (*f)(const void*), const void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: first
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: ~ShutdownData()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - end
    - first
    - begin
    - std::reverse
    linkageType: ''
    returnType: void
    signature: void ~ShutdownData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownData::ShutdownData
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - ShutdownData::ShutdownData
    linkageType: ''
    returnType: ShutdownData
    signature: ShutdownData * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: google::protobuf::internal::RunZeroArgFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - reinterpret_cast<void (*)()>
    - func
    linkageType: ''
    returnType: void
    signature: void RunZeroArgFunc(const void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::OnShutdown
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdown(void (*func)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyThreadPool::get
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:565,1
    - Dst: auto::functions::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::OnShutdownRun
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 4
    functionsReached:
    - PyThreadPool::get
    - auto::functions::push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void OnShutdownRun(void (*f)(const void*), const void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PyThreadPool::get
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 579
    functionName: google::protobuf::ShutdownProtobufLibrary
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 1
    functionsReached:
    - PyThreadPool::get
    linkageType: ''
    returnType: void
    signature: void ShutdownProtobufLibrary()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: google::protobuf::MessageLite::InitializationErrorString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::InitializationErrorString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:68,1
    - Dst: StrCat
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:69,1
    - Dst: google::protobuf::strings::Hex
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: google::protobuf::MessageLite::DebugString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::strings::Hex
    - StrCat
    - reinterpret_cast<std::uintptr_t>
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::DebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:84,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:85,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:87,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:91,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - byte_size_before_serialization
    - byte_size_after_serialization
    - bytes_produced_by_serialization
    - ' message'
    argTypes:
    - size_t
    - size_t
    - size_t
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: google::protobuf::ByteSizeConsistencyError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - GOOGLE_LOG
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ByteSizeConsistencyError(size_t byte_size_before_serialization,\n
      \                             size_t byte_size_after_serialization,\n                              size_t
      bytes_produced_by_serialization,\n                              const MessageLite&
      message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:110,1
    - Dst: InitializationErrorString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - action
    - ' message'
    argTypes:
    - char*
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: google::protobuf::InitializationErrorMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - InitializationErrorString
    linkageType: ''
    returnType: std::string
    signature: "std::string InitializationErrorMessage(const char* action,\n                                       const
      MessageLite& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::as_string_view
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 32
    functionsReached:
    - google::protobuf::StringPiece
    - static_cast<const char*>
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece as_string_view(const void* data, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:124,1
    - Dst: google::protobuf::IsInitializedWithErrors
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' ctx'
    - ' msg'
    - parse_flags
    argTypes:
    - internal::ParseContext
    - MessageLite
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: google::protobuf::CheckFieldPresence
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::IsInitializedWithErrors
    linkageType: ''
    returnType: bool
    signature: "bool CheckFieldPresence(const internal::ParseContext& ctx,\n                               const
      MessageLite& msg,\n                               MessageLite::ParseFlags parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:84,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:85,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:87,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:91,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - byte_size_before_serialization
    - byte_size_after_serialization
    - bytes_produced_by_serialization
    - ' message'
    argTypes:
    - size_t
    - size_t
    - size_t
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: google::protobuf::ByteSizeConsistencyError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - GOOGLE_LOG
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ByteSizeConsistencyError(size_t byte_size_before_serialization,\n
      \                             size_t byte_size_after_serialization,\n                              size_t
      bytes_produced_by_serialization,\n                              const MessageLite&
      message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:110,1
    - Dst: InitializationErrorString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - action
    - ' message'
    argTypes:
    - char*
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: google::protobuf::InitializationErrorMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - InitializationErrorString
    linkageType: ''
    returnType: std::string
    signature: "std::string InitializationErrorMessage(const char* action,\n                                       const
      MessageLite& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::as_string_view
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 32
    functionsReached:
    - google::protobuf::StringPiece
    - static_cast<const char*>
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece as_string_view(const void* data, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:124,1
    - Dst: google::protobuf::IsInitializedWithErrors
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' ctx'
    - ' msg'
    - parse_flags
    argTypes:
    - internal::ParseContext
    - MessageLite
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: google::protobuf::CheckFieldPresence
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::IsInitializedWithErrors
    linkageType: ''
    returnType: bool
    signature: "bool CheckFieldPresence(const internal::ParseContext& ctx,\n                               const
      MessageLite& msg,\n                               MessageLite::ParseFlags parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:133,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: google::protobuf::MessageLite::LogInitializationErrorMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - InitializationErrorMessage
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void MessageLite::LogInitializationErrorMessage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:142,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:144,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - StringPiece
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(StringPiece input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:156,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:158,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: internal::ParseContext::EndedAtEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - io::ZeroCopyInputStream*
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - MessageLite*::_InternalParse
    - internal::ParseContext::EndedAtEndOfStream
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(io::ZeroCopyInputStream* input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:170,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:172,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:173,1
    - Dst: internal::ParseContext::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:174,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - BoundedZCIS
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - internal::ParseContext::BackUp
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(BoundedZCIS input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:142,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:144,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - StringPiece
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(StringPiece input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:156,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:158,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: internal::ParseContext::EndedAtEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - io::ZeroCopyInputStream*
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - MessageLite*::_InternalParse
    - internal::ParseContext::EndedAtEndOfStream
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(io::ZeroCopyInputStream* input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:170,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:172,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:173,1
    - Dst: internal::ParseContext::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:174,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - BoundedZCIS
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - internal::ParseContext::BackUp
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(BoundedZCIS input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::New
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:199,1
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: google::protobuf::MessageLite::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 3
    functionsReached:
    - Arena*::Own
    - google::protobuf::MessageLite::New
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * MessageLite::New(Arena* arena) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cis
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: google::protobuf::ZeroCopyCodedInputStream::ZeroCopyCodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZeroCopyCodedInputStream(io::CodedInputStream* cis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDirectBufferPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:210,1
    - Dst: google::protobuf::ZeroCopyCodedInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: google::protobuf::ZeroCopyCodedInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetDirectBufferPointer
    - google::protobuf::ZeroCopyCodedInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool Next(const void** data, int* size) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: google::protobuf::ZeroCopyCodedInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - Advance
    linkageType: ''
    returnType: void
    signature: void BackUp(int count) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ZeroCopyCodedInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: google::protobuf::ZeroCopyCodedInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::ZeroCopyCodedInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool Skip(int count) final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: google::protobuf::ZeroCopyCodedInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ByteCount() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: google::protobuf::ZeroCopyCodedInputStream::aliasing_enabled
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool aliasing_enabled()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::RecursionBudget
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:228,1
    - Dst: ZeroCopyCodedInputStream::aliasing_enabled
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:228,1
    - Dst: internal::ParseContext::TrackCorrectEnding
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:233,1
    - Dst: internal::ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:234,1
    - Dst: io::CodedInputStream*::GetExtensionPool
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:234,1
    - Dst: internal::ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:235,1
    - Dst: io::CodedInputStream*::GetExtensionFactory
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:235,1
    - Dst: _InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:236,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:237,1
    - Dst: internal::ParseContext::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:238,1
    - Dst: internal::ParseContext::EndedAtEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:239,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:240,1
    - Dst: internal::ParseContext::LastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:240,1
    - Dst: internal::ParseContext::IsExceedingLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:241,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:242,1
    - Dst: internal::ParseContext::LastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:242,1
    - Dst: io::CodedInputStream*::SetConsumed
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:244,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - input
    - parse_flags
    argTypes:
    - io::CodedInputStream*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 247
    functionName: google::protobuf::MessageLite::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 8
    functionsReached:
    - internal::ParseContext::BackUp
    - GOOGLE_DCHECK
    - internal::ParseContext::TrackCorrectEnding
    - internal::ParseContext::IsExceedingLimit
    - _InternalParse
    - io::CodedInputStream*::GetExtensionPool
    - internal::ParseContext::data
    - io::CodedInputStream*::GetExtensionFactory
    - internal::ParseContext::LastTag
    - internal::ParseContext::EndedAtEndOfStream
    - io::CodedInputStream*::SetLastTag
    - io::CodedInputStream*::SetConsumed
    - CheckFieldPresence
    - PROTOBUF_PREDICT_FALSE
    - io::CodedInputStream*::RecursionBudget
    - ZeroCopyCodedInputStream::aliasing_enabled
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::MergeFromImpl(io::CodedInputStream* input,\n                                MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: google::protobuf::MessageLite::MergePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::MergePartialFromCodedStream(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: google::protobuf::MessageLite::MergeFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::MergeFromCodedStream(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:258,1
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: google::protobuf::MessageLite::ParseFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    - Clear
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromCodedStream(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:263,1
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: google::protobuf::MessageLite::ParsePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    - Clear
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromCodedStream(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: google::protobuf::MessageLite::ParseFromZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromZeroCopyStream(io::ZeroCopyInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::ParsePartialFromZeroCopyStream(\n    io::ZeroCopyInputStream*
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:278,1
    - Dst: io::FileInputStream::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: google::protobuf::MessageLite::ParseFromFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFromZeroCopyStream
    - io::FileInputStream::GetErrno
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromFileDescriptor(int file_descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:283,1
    - Dst: io::FileInputStream::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: google::protobuf::MessageLite::ParsePartialFromFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
    - io::FileInputStream::GetErrno
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromFileDescriptor(int file_descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:288,1
    - Dst: std::istream*::eof
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: google::protobuf::MessageLite::ParseFromIstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFromZeroCopyStream
    - std::istream*::eof
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromIstream(std::istream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:293,1
    - Dst: std::istream*::eof
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: google::protobuf::MessageLite::ParsePartialFromIstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
    - std::istream*::eof
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromIstream(std::istream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: google::protobuf::MessageLite::MergePartialFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::MergePartialFromBoundedZeroCopyStream(\n    io::ZeroCopyInputStream*
      input, int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: google::protobuf::MessageLite::MergeFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::MergeFromBoundedZeroCopyStream(io::ZeroCopyInputStream*
      input,\n                                                 int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: google::protobuf::MessageLite::ParseFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::ParseFromBoundedZeroCopyStream(io::ZeroCopyInputStream*
      input,\n                                                 int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: google::protobuf::MessageLite::ParsePartialFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::ParsePartialFromBoundedZeroCopyStream(\n    io::ZeroCopyInputStream*
      input, int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: google::protobuf::MessageLite::ParseFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromString(ConstStringParam data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: google::protobuf::MessageLite::ParsePartialFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromString(ConstStringParam data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:325,1
    - Dst: as_string_view
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: google::protobuf::MessageLite::ParseFromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - as_string_view
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromArray(const void* data, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:329,1
    - Dst: as_string_view
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::MessageLite::ParsePartialFromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - as_string_view
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromArray(const void* data, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: google::protobuf::MessageLite::MergeFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::MergeFromString(ConstStringParam data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:349,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:351,1
    - Dst: io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:352,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:353,1
    - Dst: io::EpsCopyOutputStream::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:353,1
    - Dst: io::ArrayOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:353,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:359,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' msg'
    - target
    - size
    argTypes:
    - MessageLite
    - uint8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 363
    functionName: google::protobuf::SerializeToArrayImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - io::ArrayOutputStream::ByteCount
    - google::protobuf::IsDefaultSerializationDeterministic
    - GOOGLE_DCHECK
    - _InternalSerialize
    - io::EpsCopyOutputStream::Trim
    - io::EpsCopyOutputStream::HadError
    linkageType: ''
    returnType: uint8
    signature: "uint8 * SerializeToArrayImpl(const MessageLite& msg, uint8* target,\n
      \                                  int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SerializeToArrayImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:368,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: google::protobuf::MessageLite::SerializeWithCachedSizesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetCachedSize
    - SerializeToArrayImpl
    linkageType: ''
    returnType: uint8
    signature: uint8 * MessageLite::SerializeWithCachedSizesToArray(uint8* target)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:372,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:372,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:372,1
    - Dst: google::protobuf::MessageLite::SerializePartialToCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: google::protobuf::MessageLite::SerializeToCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToCodedStream
    - IsInitialized
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToCodedStream(io::CodedOutputStream* output)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:378,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:380,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:380,1
    - Dst: io::CodedOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:385,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:386,1
    - Dst: io::CodedOutputStream*::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:387,1
    - Dst: io::CodedOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:390,1
    - Dst: ByteSizeConsistencyError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:393,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 398
    functionName: google::protobuf::MessageLite::SerializePartialToCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_LOG
    - SerializeWithCachedSizes
    - ByteSizeLong
    - io::CodedOutputStream*::ByteCount
    - GetTypeName
    - ByteSizeConsistencyError
    - io::CodedOutputStream*::HadError
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::SerializePartialToCodedStream(\n    io::CodedOutputStream*
      output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:402,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:402,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:402,1
    - Dst: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::ZeroCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: google::protobuf::MessageLite::SerializeToZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    - IsInitialized
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::SerializeToZeroCopyStream(\n    io::ZeroCopyOutputStream*
      output) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:408,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:410,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:410,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:417,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:419,1
    - Dst: io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:420,1
    - Dst: io::EpsCopyOutputStream::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::ZeroCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::IsDefaultSerializationDeterministic
    - _InternalSerialize
    - GOOGLE_LOG
    - ByteSizeLong
    - GetTypeName
    - io::EpsCopyOutputStream::Trim
    - io::EpsCopyOutputStream::HadError
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::SerializePartialToZeroCopyStream(\n    io::ZeroCopyOutputStream*
      output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:427,1
    - Dst: io::FileOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: google::protobuf::MessageLite::SerializeToFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - io::FileOutputStream::Flush
    - google::protobuf::MessageLite::SerializeToZeroCopyStream
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToFileDescriptor(int file_descriptor) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:432,1
    - Dst: io::FileOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: google::protobuf::MessageLite::SerializePartialToFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    - io::FileOutputStream::Flush
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToFileDescriptor(int file_descriptor)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:438,1
    - Dst: std::ostream*::good
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: google::protobuf::MessageLite::SerializeToOstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - std::ostream*::good
    - google::protobuf::MessageLite::SerializeToZeroCopyStream
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToOstream(std::ostream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: google::protobuf::MessageLite::SerializePartialToOstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToOstream(std::ostream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:449,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:449,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:449,1
    - Dst: google::protobuf::MessageLite::AppendPartialToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: google::protobuf::MessageLite::AppendToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::MessageLite::AppendPartialToString
    - IsInitialized
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::AppendToString(std::string* output) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:454,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:455,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:457,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:457,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:462,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:464,1
    - Dst: google::protobuf::io::mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:464,1
    - Dst: SerializeToArrayImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 467
    functionName: google::protobuf::MessageLite::AppendPartialToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::mutable_string_data
    - GOOGLE_LOG
    - ByteSizeLong
    - std::string*::size
    - GetTypeName
    - reinterpret_cast<uint8*>
    - SerializeToArrayImpl
    - STLStringResizeUninitialized
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::AppendPartialToString(std::string* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:470,1
    - Dst: google::protobuf::MessageLite::AppendToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: google::protobuf::MessageLite::SerializeToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - google::protobuf::MessageLite::AppendToString
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToString(std::string* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:475,1
    - Dst: google::protobuf::MessageLite::AppendPartialToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: google::protobuf::MessageLite::SerializePartialToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - google::protobuf::MessageLite::AppendPartialToString
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToString(std::string* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:480,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:480,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:480,1
    - Dst: google::protobuf::MessageLite::SerializePartialToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: google::protobuf::MessageLite::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - IsInitialized
    - google::protobuf::MessageLite::SerializePartialToArray
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToArray(void* data, int size) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:485,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:487,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:487,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:492,1
    - Dst: SerializeToArrayImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 495
    functionName: google::protobuf::MessageLite::SerializePartialToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_LOG
    - ByteSizeLong
    - GetTypeName
    - reinterpret_cast<uint8*>
    - SerializeToArrayImpl
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToArray(void* data, int size) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::AppendToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:503,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: google::protobuf::MessageLite::SerializeAsString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::AppendToString
    - std::string::clear
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::SerializeAsString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::AppendPartialToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:509,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: google::protobuf::MessageLite::SerializePartialAsString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::AppendPartialToString
    - std::string::clear
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::SerializePartialAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prototype
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GenericTypeHandler<MessageLite>::NewFromPrototype(\n
      \   const MessageLite* prototype, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<MessageLite>::Merge(const MessageLite& from,\n
      \                                           MessageLite* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<std::string>::Merge(const std::string& from,\n
      \                                           std::string* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prototype
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GenericTypeHandler<MessageLite>::NewFromPrototype(\n
      \   const MessageLite* prototype, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<MessageLite>::Merge(const MessageLite& from,\n
      \                                           MessageLite* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<std::string>::Merge(const std::string& from,\n
      \                                           std::string* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: first
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: ~ShutdownData()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - end
    - first
    - begin
    - std::reverse
    linkageType: ''
    returnType: void
    signature: void ~ShutdownData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownData::ShutdownData
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - ShutdownData::ShutdownData
    linkageType: ''
    returnType: ShutdownData
    signature: ShutdownData * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: google::protobuf::internal::RunZeroArgFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - reinterpret_cast<void (*)()>
    - func
    linkageType: ''
    returnType: void
    signature: void RunZeroArgFunc(const void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::OnShutdown
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdown(void (*func)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyThreadPool::get
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:565,1
    - Dst: auto::functions::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::OnShutdownRun
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 5
    functionsReached:
    - PyThreadPool::get
    - auto::functions::push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void OnShutdownRun(void (*f)(const void*), const void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: first
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: ~ShutdownData()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - end
    - first
    - begin
    - std::reverse
    linkageType: ''
    returnType: void
    signature: void ~ShutdownData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownData::ShutdownData
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - ShutdownData::ShutdownData
    linkageType: ''
    returnType: ShutdownData
    signature: ShutdownData * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: google::protobuf::internal::RunZeroArgFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - reinterpret_cast<void (*)()>
    - func
    linkageType: ''
    returnType: void
    signature: void RunZeroArgFunc(const void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::OnShutdown
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdown(void (*func)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyThreadPool::get
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:565,1
    - Dst: auto::functions::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::OnShutdownRun
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 6
    functionsReached:
    - PyThreadPool::get
    - auto::functions::push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void OnShutdownRun(void (*f)(const void*), const void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PyThreadPool::get
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 579
    functionName: google::protobuf::ShutdownProtobufLibrary
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 1
    functionsReached:
    - PyThreadPool::get
    linkageType: ''
    returnType: void
    signature: void ShutdownProtobufLibrary()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: google::protobuf::MessageLite::InitializationErrorString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::InitializationErrorString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:68,1
    - Dst: StrCat
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:69,1
    - Dst: google::protobuf::strings::Hex
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: google::protobuf::MessageLite::DebugString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::strings::Hex
    - StrCat
    - reinterpret_cast<std::uintptr_t>
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::DebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:84,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:85,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:87,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:91,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - byte_size_before_serialization
    - byte_size_after_serialization
    - bytes_produced_by_serialization
    - ' message'
    argTypes:
    - size_t
    - size_t
    - size_t
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: google::protobuf::ByteSizeConsistencyError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - GOOGLE_LOG
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ByteSizeConsistencyError(size_t byte_size_before_serialization,\n
      \                             size_t byte_size_after_serialization,\n                              size_t
      bytes_produced_by_serialization,\n                              const MessageLite&
      message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:110,1
    - Dst: InitializationErrorString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - action
    - ' message'
    argTypes:
    - char*
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: google::protobuf::InitializationErrorMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - InitializationErrorString
    linkageType: ''
    returnType: std::string
    signature: "std::string InitializationErrorMessage(const char* action,\n                                       const
      MessageLite& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::as_string_view
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 32
    functionsReached:
    - google::protobuf::StringPiece
    - static_cast<const char*>
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece as_string_view(const void* data, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:124,1
    - Dst: google::protobuf::IsInitializedWithErrors
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' ctx'
    - ' msg'
    - parse_flags
    argTypes:
    - internal::ParseContext
    - MessageLite
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: google::protobuf::CheckFieldPresence
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::IsInitializedWithErrors
    linkageType: ''
    returnType: bool
    signature: "bool CheckFieldPresence(const internal::ParseContext& ctx,\n                               const
      MessageLite& msg,\n                               MessageLite::ParseFlags parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:84,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:85,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:87,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:91,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - byte_size_before_serialization
    - byte_size_after_serialization
    - bytes_produced_by_serialization
    - ' message'
    argTypes:
    - size_t
    - size_t
    - size_t
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: google::protobuf::ByteSizeConsistencyError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - GOOGLE_LOG
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: "void ByteSizeConsistencyError(size_t byte_size_before_serialization,\n
      \                             size_t byte_size_after_serialization,\n                              size_t
      bytes_produced_by_serialization,\n                              const MessageLite&
      message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:110,1
    - Dst: InitializationErrorString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - action
    - ' message'
    argTypes:
    - char*
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: google::protobuf::InitializationErrorMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetTypeName
    - InitializationErrorString
    linkageType: ''
    returnType: std::string
    signature: "std::string InitializationErrorMessage(const char* action,\n                                       const
      MessageLite& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::as_string_view
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 32
    functionsReached:
    - google::protobuf::StringPiece
    - static_cast<const char*>
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece as_string_view(const void* data, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:124,1
    - Dst: google::protobuf::IsInitializedWithErrors
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' ctx'
    - ' msg'
    - parse_flags
    argTypes:
    - internal::ParseContext
    - MessageLite
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: google::protobuf::CheckFieldPresence
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::IsInitializedWithErrors
    linkageType: ''
    returnType: bool
    signature: "bool CheckFieldPresence(const internal::ParseContext& ctx,\n                               const
      MessageLite& msg,\n                               MessageLite::ParseFlags parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:133,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: google::protobuf::MessageLite::LogInitializationErrorMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - InitializationErrorMessage
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void MessageLite::LogInitializationErrorMessage() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:142,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:144,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - StringPiece
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(StringPiece input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:156,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:158,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: internal::ParseContext::EndedAtEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - io::ZeroCopyInputStream*
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - MessageLite*::_InternalParse
    - internal::ParseContext::EndedAtEndOfStream
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(io::ZeroCopyInputStream* input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:170,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:172,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:173,1
    - Dst: internal::ParseContext::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:174,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - BoundedZCIS
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - internal::ParseContext::BackUp
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(BoundedZCIS input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:142,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:144,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:146,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - StringPiece
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(StringPiece input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:156,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:158,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: internal::ParseContext::EndedAtEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:160,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - io::ZeroCopyInputStream*
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::GetDefaultRecursionLimit
    - MessageLite*::_InternalParse
    - internal::ParseContext::EndedAtEndOfStream
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(io::ZeroCopyInputStream* input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetDefaultRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:170,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:172,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:173,1
    - Dst: internal::ParseContext::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:174,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: internal::ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:175,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - input
    - msg
    - parse_flags
    argTypes:
    - BoundedZCIS
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - internal::ParseContext::BackUp
    - google::protobuf::io::GetDefaultRecursionLimit
    - internal::ParseContext::EndedAtLimit
    - MessageLite*::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - CheckFieldPresence
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(BoundedZCIS input, MessageLite* msg,\n                   MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::New
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:199,1
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: google::protobuf::MessageLite::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 4
    functionsReached:
    - Arena*::Own
    - google::protobuf::MessageLite::New
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * MessageLite::New(Arena* arena) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cis
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 208
    functionName: google::protobuf::ZeroCopyCodedInputStream::ZeroCopyCodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZeroCopyCodedInputStream(io::CodedInputStream* cis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDirectBufferPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:210,1
    - Dst: google::protobuf::ZeroCopyCodedInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: google::protobuf::ZeroCopyCodedInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetDirectBufferPointer
    - google::protobuf::ZeroCopyCodedInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool Next(const void** data, int* size) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: google::protobuf::ZeroCopyCodedInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - Advance
    linkageType: ''
    returnType: void
    signature: void BackUp(int count) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ZeroCopyCodedInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: google::protobuf::ZeroCopyCodedInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::ZeroCopyCodedInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool Skip(int count) final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: google::protobuf::ZeroCopyCodedInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ByteCount() const final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: google::protobuf::ZeroCopyCodedInputStream::aliasing_enabled
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool aliasing_enabled()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::RecursionBudget
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:228,1
    - Dst: ZeroCopyCodedInputStream::aliasing_enabled
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:228,1
    - Dst: internal::ParseContext::TrackCorrectEnding
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:233,1
    - Dst: internal::ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:234,1
    - Dst: io::CodedInputStream*::GetExtensionPool
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:234,1
    - Dst: internal::ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:235,1
    - Dst: io::CodedInputStream*::GetExtensionFactory
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:235,1
    - Dst: _InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:236,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:237,1
    - Dst: internal::ParseContext::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:238,1
    - Dst: internal::ParseContext::EndedAtEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:239,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:240,1
    - Dst: internal::ParseContext::LastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:240,1
    - Dst: internal::ParseContext::IsExceedingLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:241,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:242,1
    - Dst: internal::ParseContext::LastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:242,1
    - Dst: io::CodedInputStream*::SetConsumed
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:244,1
    - Dst: CheckFieldPresence
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - input
    - parse_flags
    argTypes:
    - io::CodedInputStream*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 247
    functionName: google::protobuf::MessageLite::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 12
    functionsReached:
    - internal::ParseContext::BackUp
    - GOOGLE_DCHECK
    - internal::ParseContext::TrackCorrectEnding
    - internal::ParseContext::IsExceedingLimit
    - _InternalParse
    - io::CodedInputStream*::GetExtensionPool
    - internal::ParseContext::data
    - io::CodedInputStream*::GetExtensionFactory
    - internal::ParseContext::LastTag
    - internal::ParseContext::EndedAtEndOfStream
    - io::CodedInputStream*::SetLastTag
    - io::CodedInputStream*::SetConsumed
    - CheckFieldPresence
    - PROTOBUF_PREDICT_FALSE
    - io::CodedInputStream*::RecursionBudget
    - ZeroCopyCodedInputStream::aliasing_enabled
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::MergeFromImpl(io::CodedInputStream* input,\n                                MessageLite::ParseFlags
      parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: google::protobuf::MessageLite::MergePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::MergePartialFromCodedStream(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: google::protobuf::MessageLite::MergeFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::MergeFromCodedStream(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:258,1
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: google::protobuf::MessageLite::ParseFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    - Clear
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromCodedStream(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:263,1
    - Dst: google::protobuf::MessageLite::MergeFromImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: google::protobuf::MessageLite::ParsePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::MergeFromImpl
    - Clear
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromCodedStream(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: google::protobuf::MessageLite::ParseFromZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromZeroCopyStream(io::ZeroCopyInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::ParsePartialFromZeroCopyStream(\n    io::ZeroCopyInputStream*
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:278,1
    - Dst: io::FileInputStream::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: google::protobuf::MessageLite::ParseFromFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFromZeroCopyStream
    - io::FileInputStream::GetErrno
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromFileDescriptor(int file_descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:283,1
    - Dst: io::FileInputStream::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: google::protobuf::MessageLite::ParsePartialFromFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
    - io::FileInputStream::GetErrno
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromFileDescriptor(int file_descriptor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:288,1
    - Dst: std::istream*::eof
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: google::protobuf::MessageLite::ParseFromIstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFromZeroCopyStream
    - std::istream*::eof
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromIstream(std::istream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:293,1
    - Dst: std::istream*::eof
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: google::protobuf::MessageLite::ParsePartialFromIstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
    - std::istream*::eof
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromIstream(std::istream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: google::protobuf::MessageLite::MergePartialFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::MergePartialFromBoundedZeroCopyStream(\n    io::ZeroCopyInputStream*
      input, int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: google::protobuf::MessageLite::MergeFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::MergeFromBoundedZeroCopyStream(io::ZeroCopyInputStream*
      input,\n                                                 int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: google::protobuf::MessageLite::ParseFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::ParseFromBoundedZeroCopyStream(io::ZeroCopyInputStream*
      input,\n                                                 int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - size
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: google::protobuf::MessageLite::ParsePartialFromBoundedZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::ParsePartialFromBoundedZeroCopyStream(\n    io::ZeroCopyInputStream*
      input, int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: google::protobuf::MessageLite::ParseFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromString(ConstStringParam data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: google::protobuf::MessageLite::ParsePartialFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromString(ConstStringParam data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:325,1
    - Dst: as_string_view
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: google::protobuf::MessageLite::ParseFromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - as_string_view
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFromArray(const void* data, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:329,1
    - Dst: as_string_view
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::MessageLite::ParsePartialFromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - as_string_view
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParsePartialFromArray(const void* data, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::ParseFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: google::protobuf::MessageLite::MergeFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::ParseFrom
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::MergeFromString(ConstStringParam data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:349,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:351,1
    - Dst: io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:352,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:353,1
    - Dst: io::EpsCopyOutputStream::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:353,1
    - Dst: io::ArrayOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:353,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:359,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ' msg'
    - target
    - size
    argTypes:
    - MessageLite
    - uint8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 363
    functionName: google::protobuf::SerializeToArrayImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - io::ArrayOutputStream::ByteCount
    - google::protobuf::IsDefaultSerializationDeterministic
    - GOOGLE_DCHECK
    - _InternalSerialize
    - io::EpsCopyOutputStream::Trim
    - io::EpsCopyOutputStream::HadError
    linkageType: ''
    returnType: uint8
    signature: "uint8 * SerializeToArrayImpl(const MessageLite& msg, uint8* target,\n
      \                                  int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SerializeToArrayImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:368,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: google::protobuf::MessageLite::SerializeWithCachedSizesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - GetCachedSize
    - SerializeToArrayImpl
    linkageType: ''
    returnType: uint8
    signature: uint8 * MessageLite::SerializeWithCachedSizesToArray(uint8* target)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:372,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:372,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:372,1
    - Dst: google::protobuf::MessageLite::SerializePartialToCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: google::protobuf::MessageLite::SerializeToCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToCodedStream
    - IsInitialized
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToCodedStream(io::CodedOutputStream* output)
      const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:378,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:380,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:380,1
    - Dst: io::CodedOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:385,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:386,1
    - Dst: io::CodedOutputStream*::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:387,1
    - Dst: io::CodedOutputStream*::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:390,1
    - Dst: ByteSizeConsistencyError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:393,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 398
    functionName: google::protobuf::MessageLite::SerializePartialToCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 4
    functionsReached:
    - GOOGLE_LOG
    - SerializeWithCachedSizes
    - ByteSizeLong
    - io::CodedOutputStream*::ByteCount
    - GetTypeName
    - ByteSizeConsistencyError
    - io::CodedOutputStream*::HadError
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::SerializePartialToCodedStream(\n    io::CodedOutputStream*
      output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:402,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:402,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:402,1
    - Dst: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::ZeroCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: google::protobuf::MessageLite::SerializeToZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    - IsInitialized
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::SerializeToZeroCopyStream(\n    io::ZeroCopyOutputStream*
      output) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:408,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:410,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:410,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:417,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:419,1
    - Dst: io::EpsCopyOutputStream::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:420,1
    - Dst: io::EpsCopyOutputStream::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::ZeroCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 423
    functionName: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::IsDefaultSerializationDeterministic
    - _InternalSerialize
    - GOOGLE_LOG
    - ByteSizeLong
    - GetTypeName
    - io::EpsCopyOutputStream::Trim
    - io::EpsCopyOutputStream::HadError
    linkageType: ''
    returnType: bool
    signature: "bool MessageLite::SerializePartialToZeroCopyStream(\n    io::ZeroCopyOutputStream*
      output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:427,1
    - Dst: io::FileOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: google::protobuf::MessageLite::SerializeToFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - io::FileOutputStream::Flush
    - google::protobuf::MessageLite::SerializeToZeroCopyStream
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToFileDescriptor(int file_descriptor) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:432,1
    - Dst: io::FileOutputStream::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: google::protobuf::MessageLite::SerializePartialToFileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    - io::FileOutputStream::Flush
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToFileDescriptor(int file_descriptor)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:438,1
    - Dst: std::ostream*::good
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: google::protobuf::MessageLite::SerializeToOstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - std::ostream*::good
    - google::protobuf::MessageLite::SerializeToZeroCopyStream
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToOstream(std::ostream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializePartialToZeroCopyStream
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: google::protobuf::MessageLite::SerializePartialToOstream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToOstream(std::ostream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:449,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:449,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:449,1
    - Dst: google::protobuf::MessageLite::AppendPartialToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: google::protobuf::MessageLite::AppendToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::MessageLite::AppendPartialToString
    - IsInitialized
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::AppendToString(std::string* output) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:454,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:455,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:457,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:457,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:462,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:464,1
    - Dst: google::protobuf::io::mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:464,1
    - Dst: SerializeToArrayImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 467
    functionName: google::protobuf::MessageLite::AppendPartialToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::io::mutable_string_data
    - GOOGLE_LOG
    - ByteSizeLong
    - std::string*::size
    - GetTypeName
    - reinterpret_cast<uint8*>
    - SerializeToArrayImpl
    - STLStringResizeUninitialized
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::AppendPartialToString(std::string* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:470,1
    - Dst: google::protobuf::MessageLite::AppendToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: google::protobuf::MessageLite::SerializeToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - google::protobuf::MessageLite::AppendToString
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToString(std::string* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:475,1
    - Dst: google::protobuf::MessageLite::AppendPartialToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: google::protobuf::MessageLite::SerializePartialToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - google::protobuf::MessageLite::AppendPartialToString
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToString(std::string* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:480,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:480,1
    - Dst: InitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:480,1
    - Dst: google::protobuf::MessageLite::SerializePartialToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: google::protobuf::MessageLite::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - IsInitialized
    - google::protobuf::MessageLite::SerializePartialToArray
    - GOOGLE_DCHECK
    - InitializationErrorMessage
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializeToArray(void* data, int size) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:485,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:487,1
    - Dst: GetTypeName
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:487,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:492,1
    - Dst: SerializeToArrayImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 495
    functionName: google::protobuf::MessageLite::SerializePartialToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 4
    functionsReached:
    - GOOGLE_LOG
    - ByteSizeLong
    - GetTypeName
    - reinterpret_cast<uint8*>
    - SerializeToArrayImpl
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::SerializePartialToArray(void* data, int size) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::AppendToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:503,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: google::protobuf::MessageLite::SerializeAsString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::AppendToString
    - std::string::clear
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::SerializeAsString() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::AppendPartialToString
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:509,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: google::protobuf::MessageLite::SerializePartialAsString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::AppendPartialToString
    - std::string::clear
    linkageType: ''
    returnType: std::string
    signature: std::string MessageLite::SerializePartialAsString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prototype
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GenericTypeHandler<MessageLite>::NewFromPrototype(\n
      \   const MessageLite* prototype, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<MessageLite>::Merge(const MessageLite& from,\n
      \                                           MessageLite* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<std::string>::Merge(const std::string& from,\n
      \                                           std::string* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prototype
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GenericTypeHandler<MessageLite>::NewFromPrototype(\n
      \   const MessageLite* prototype, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<MessageLite>::Merge(const MessageLite& from,\n
      \                                           MessageLite* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<std::string>::Merge(const std::string& from,\n
      \                                           std::string* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: first
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: ~ShutdownData()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - end
    - first
    - begin
    - std::reverse
    linkageType: ''
    returnType: void
    signature: void ~ShutdownData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownData::ShutdownData
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - ShutdownData::ShutdownData
    linkageType: ''
    returnType: ShutdownData
    signature: ShutdownData * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: google::protobuf::internal::RunZeroArgFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - reinterpret_cast<void (*)()>
    - func
    linkageType: ''
    returnType: void
    signature: void RunZeroArgFunc(const void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::OnShutdown
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdown(void (*func)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyThreadPool::get
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:565,1
    - Dst: auto::functions::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::OnShutdownRun
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 7
    functionsReached:
    - PyThreadPool::get
    - auto::functions::push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void OnShutdownRun(void (*f)(const void*), const void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::reverse
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:542,1
    - Dst: first
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: ~ShutdownData()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - end
    - first
    - begin
    - std::reverse
    linkageType: ''
    returnType: void
    signature: void ~ShutdownData()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ShutdownData::ShutdownData
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - ShutdownData::ShutdownData
    linkageType: ''
    returnType: ShutdownData
    signature: ShutdownData * get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (*)()>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:556,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: google::protobuf::internal::RunZeroArgFunc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - reinterpret_cast<void (*)()>
    - func
    linkageType: ''
    returnType: void
    signature: void RunZeroArgFunc(const void* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 562
    functionName: google::protobuf::internal::OnShutdown
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdown(void (*func)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PyThreadPool::get
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:565,1
    - Dst: auto::functions::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::OnShutdownRun
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 8
    functionsReached:
    - PyThreadPool::get
    - auto::functions::push_back
    - std::make_pair
    linkageType: ''
    returnType: void
    signature: void OnShutdownRun(void (*f)(const void*), const void* arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PyThreadPool::get
      Src: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 579
    functionName: google::protobuf::ShutdownProtobufLibrary
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    functionUses: 1
    functionsReached:
    - PyThreadPool::get
    linkageType: ''
    returnType: void
    signature: void ShutdownProtobufLibrary()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:105,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:116,1
    - Dst: ParseEndsInSlopRegion
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:118,1
    - Dst: StreamNext
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:122,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:125,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:126,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:131,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:137,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:148,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::EpsCopyInputStream::NextBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - StreamNext
    - ParseEndsInSlopRegion
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<const char*>
    - reinterpret_cast<std::uintptr_t>
    - std::memmove
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::NextBuffer(int overrun, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:158,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:159,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:163,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::EpsCopyInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - GOOGLE_DCHECK
    - SetEndOfStream
    - std::min
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::Next()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:174,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:176,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:181,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:183,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:184,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:188,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:189,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:192,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:193,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:196,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 205
    functionName: google::protobuf::internal::EpsCopyInputStream::DoneFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - SetEndOfStream
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - std::min
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<const char*, bool>
    signature: "std::pair<const char*, bool> EpsCopyInputStream::DoneFallback(int
      overrun,\n                                                              int
      depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: google::protobuf::internal::EpsCopyInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::SkipFallback(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:213,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:214,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:220,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - std::string*::clear
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadStringFallback(const char* ptr, int
      size,\n                                                   std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:226,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:232,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::AppendStringFallback(const char* ptr, int
      size,\n                                                     std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:244,1
    - Dst: UnalignedLoad<Tag>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - expected_tag
    - out
    argTypes:
    - char*
    - Tag
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - UnalignedLoad<Tag>
    - RepeatedField<T>*::Add
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadRepeatedFixed(const char* ptr,\n                                                  Tag
      expected_tag,\n                                                  RepeatedField<T>*
      out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void byteswap<1>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: bswap_32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32*>
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void byteswap<4>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: bswap_64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - bswap_64
    - static_cast<uint64*>
    linkageType: ''
    returnType: void
    signature: void byteswap<8>(void* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:268,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:269,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:271,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:273,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:276,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:280,1
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:286,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:287,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:289,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:291,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ptr
    - size
    - out
    argTypes:
    - char*
    - int
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 298
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::Next
    - std::memcpy
    - RepeatedField<T>*::AddNAlreadyReserved
    - RepeatedField<T>*::Reserve
    - RepeatedField<T>*::size
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadPackedFixed(const char* ptr, int size,\n
      \                                               RepeatedField<T>* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:305,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:308,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - zcis
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 327
    functionName: google::protobuf::internal::EpsCopyInputStream::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - io::ZeroCopyInputStream*::Next
    - std::memcpy
    - static_cast<const char*>
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::InitFrom(io::ZeroCopyInputStream* zcis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - MessageLite*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(MessageLite* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - Message*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(Message* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:340,1
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - val
    - s
    argTypes:
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 4
    functionsReached:
    - std::string*::push_back
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:347,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WriteVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:352,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - google::protobuf::internal::WriteVarint
    - std::string*::append
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void WriteLengthDelimited(uint32 num, StringPiece val, std::string*
      s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:359,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:361,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:367,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: google::protobuf::internal::VarintParseSlow32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> VarintParseSlow32(const char* p, uint32
      res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:378,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res32
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::VarintParseSlow64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint64>
    signature: std::pair<const char*, uint64> VarintParseSlow64(const char* p, uint32
      res32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:389,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> ReadTagFallback(const char* p, uint32
      res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:400,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:402,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:406,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:407,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::ReadSizeFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, int32>
    signature: std::pair<const char*, int32> ReadSizeFallback(const char* p, uint32
      res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:420,1
    - Dst: auto::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - begin
    - end
    - object
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::protobuf::internal::StringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - auto::append
    - static_cast<std::string*>
    linkageType: ''
    returnType: char
    signature: "char * StringParser(const char* begin, const char* end, void* object,\n
      \                        ParseContext*)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:430,1
    - Dst: google::protobuf::internal::PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - field_name
    argTypes:
    - StringPiece
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::VerifyUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::PrintUTF8ErrorLog
    - google::protobuf::internal::IsStructurallyValidUTF8
    linkageType: ''
    returnType: bool
    signature: bool VerifyUTF8(StringPiece str, const char* field_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:439,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: google::protobuf::internal::InlineGreedyStringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 12
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    linkageType: ''
    returnType: char
    signature: "char * InlineGreedyStringParser(std::string* s, const char* ptr,\n
      \                                    ParseContext* ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ReadPackedVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:447,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:451,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:453,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: google::protobuf::internal::VarintParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagDecode64
    - google::protobuf::internal::WireFormatLite::ZigZagDecode32
    - static_cast<RepeatedField<T>*>
    - ParseContext*::ReadPackedVarint
    linkageType: ''
    returnType: char
    signature: char * VarintParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: google::protobuf::internal::PackedInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt32Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::PackedUInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: google::protobuf::internal::PackedInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt64Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: google::protobuf::internal::PackedUInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::PackedSInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::PackedSInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::PackedEnumParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedEnumParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: google::protobuf::internal::PackedBoolParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedBoolParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:497,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:498,1
    - Dst: ParseContext*::ReadPackedFixed
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:499,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::FixedParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<RepeatedField<T>*>
    - ReadSize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ReadPackedFixed
    linkageType: ''
    returnType: char
    signature: char * FixedParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: google::protobuf::internal::PackedFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed32Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: google::protobuf::internal::PackedSFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed32Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: google::protobuf::internal::PackedFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed64Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: google::protobuf::internal::PackedSFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed64Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::PackedFloatParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFloatParser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::PackedDoubleParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedDoubleParser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - unknown
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownFieldLiteParserHelper(std::string* unknown)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:535,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    linkageType: ''
    returnType: void
    signature: void AddVarint(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:540,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:542,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:543,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void AddFixed64(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:548,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:549,1
    - Dst: ParseContext*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:550,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:551,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:552,1
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 554
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - WriteVarint
    - ParseContext*::Skip
    - ParseContext*::AppendString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ParseLengthDelimited(uint32 num, const char* ptr,\n                                   ParseContext*
      ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:556,1
    - Dst: ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:557,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:558,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ParseGroup
    linkageType: ''
    returnType: char
    signature: char * ParseGroup(uint32 num, const char* ptr, ParseContext* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:564,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:566,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:567,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - reinterpret_cast<uint8*>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: void
    signature: void AddFixed32(uint32 num, uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - unknown
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: google::protobuf::internal::UnknownGroupLiteParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownGroupLiteParse(std::string* unknown, const char* ptr,\n
      \                                 ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - unknown
    - ptr
    - ctx
    argTypes:
    - uint32
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: google::protobuf::internal::UnknownFieldParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - FieldParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownFieldParse(uint32 tag, std::string* unknown, const char*
      ptr,\n                              ParseContext* ctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:105,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:116,1
    - Dst: ParseEndsInSlopRegion
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:118,1
    - Dst: StreamNext
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:122,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:125,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:126,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:131,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:137,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:148,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::EpsCopyInputStream::NextBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 2
    functionsReached:
    - StreamNext
    - ParseEndsInSlopRegion
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<const char*>
    - reinterpret_cast<std::uintptr_t>
    - std::memmove
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::NextBuffer(int overrun, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:158,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:159,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:163,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::EpsCopyInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - GOOGLE_DCHECK
    - SetEndOfStream
    - std::min
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::Next()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:174,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:176,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:181,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:183,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:184,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:188,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:189,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:192,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:193,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:196,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 205
    functionName: google::protobuf::internal::EpsCopyInputStream::DoneFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - SetEndOfStream
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - std::min
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<const char*, bool>
    signature: "std::pair<const char*, bool> EpsCopyInputStream::DoneFallback(int
      overrun,\n                                                              int
      depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: google::protobuf::internal::EpsCopyInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::SkipFallback(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:213,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:214,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:220,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - std::string*::clear
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadStringFallback(const char* ptr, int
      size,\n                                                   std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:226,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:232,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::AppendStringFallback(const char* ptr, int
      size,\n                                                     std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:244,1
    - Dst: UnalignedLoad<Tag>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - expected_tag
    - out
    argTypes:
    - char*
    - Tag
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - UnalignedLoad<Tag>
    - RepeatedField<T>*::Add
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadRepeatedFixed(const char* ptr,\n                                                  Tag
      expected_tag,\n                                                  RepeatedField<T>*
      out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void byteswap<1>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: bswap_32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32*>
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void byteswap<4>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: bswap_64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - bswap_64
    - static_cast<uint64*>
    linkageType: ''
    returnType: void
    signature: void byteswap<8>(void* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:268,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:269,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:271,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:273,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:276,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:280,1
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:286,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:287,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:289,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:291,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ptr
    - size
    - out
    argTypes:
    - char*
    - int
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 298
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::Next
    - std::memcpy
    - RepeatedField<T>*::AddNAlreadyReserved
    - RepeatedField<T>*::Reserve
    - RepeatedField<T>*::size
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadPackedFixed(const char* ptr, int size,\n
      \                                               RepeatedField<T>* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:305,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:308,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - zcis
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 327
    functionName: google::protobuf::internal::EpsCopyInputStream::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - io::ZeroCopyInputStream*::Next
    - std::memcpy
    - static_cast<const char*>
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::InitFrom(io::ZeroCopyInputStream* zcis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - MessageLite*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(MessageLite* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - Message*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(Message* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:340,1
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - val
    - s
    argTypes:
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 6
    functionsReached:
    - std::string*::push_back
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:347,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WriteVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:352,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - google::protobuf::internal::WriteVarint
    - std::string*::append
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void WriteLengthDelimited(uint32 num, StringPiece val, std::string*
      s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:359,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:361,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:367,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: google::protobuf::internal::VarintParseSlow32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> VarintParseSlow32(const char* p, uint32
      res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:378,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res32
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::VarintParseSlow64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint64>
    signature: std::pair<const char*, uint64> VarintParseSlow64(const char* p, uint32
      res32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:389,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> ReadTagFallback(const char* p, uint32
      res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:400,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:402,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:406,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:407,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::ReadSizeFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, int32>
    signature: std::pair<const char*, int32> ReadSizeFallback(const char* p, uint32
      res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:420,1
    - Dst: auto::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - begin
    - end
    - object
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::protobuf::internal::StringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - auto::append
    - static_cast<std::string*>
    linkageType: ''
    returnType: char
    signature: "char * StringParser(const char* begin, const char* end, void* object,\n
      \                        ParseContext*)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:430,1
    - Dst: google::protobuf::internal::PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - field_name
    argTypes:
    - StringPiece
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::VerifyUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::PrintUTF8ErrorLog
    - google::protobuf::internal::IsStructurallyValidUTF8
    linkageType: ''
    returnType: bool
    signature: bool VerifyUTF8(StringPiece str, const char* field_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:439,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: google::protobuf::internal::InlineGreedyStringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 12
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    linkageType: ''
    returnType: char
    signature: "char * InlineGreedyStringParser(std::string* s, const char* ptr,\n
      \                                    ParseContext* ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ReadPackedVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:447,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:451,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:453,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: google::protobuf::internal::VarintParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagDecode64
    - google::protobuf::internal::WireFormatLite::ZigZagDecode32
    - static_cast<RepeatedField<T>*>
    - ParseContext*::ReadPackedVarint
    linkageType: ''
    returnType: char
    signature: char * VarintParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: google::protobuf::internal::PackedInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt32Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::PackedUInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: google::protobuf::internal::PackedInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt64Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: google::protobuf::internal::PackedUInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::PackedSInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::PackedSInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::PackedEnumParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedEnumParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: google::protobuf::internal::PackedBoolParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedBoolParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:497,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:498,1
    - Dst: ParseContext*::ReadPackedFixed
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:499,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::FixedParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 6
    functionsReached:
    - static_cast<RepeatedField<T>*>
    - ReadSize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ReadPackedFixed
    linkageType: ''
    returnType: char
    signature: char * FixedParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: google::protobuf::internal::PackedFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed32Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: google::protobuf::internal::PackedSFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed32Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: google::protobuf::internal::PackedFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed64Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: google::protobuf::internal::PackedSFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed64Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::PackedFloatParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFloatParser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::PackedDoubleParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedDoubleParser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - unknown
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownFieldLiteParserHelper(std::string* unknown)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:535,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    linkageType: ''
    returnType: void
    signature: void AddVarint(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:540,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:542,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:543,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void AddFixed64(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:548,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:549,1
    - Dst: ParseContext*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:550,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:551,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:552,1
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 554
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - WriteVarint
    - ParseContext*::Skip
    - ParseContext*::AppendString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ParseLengthDelimited(uint32 num, const char* ptr,\n                                   ParseContext*
      ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:556,1
    - Dst: ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:557,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:558,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ParseGroup
    linkageType: ''
    returnType: char
    signature: char * ParseGroup(uint32 num, const char* ptr, ParseContext* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:564,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:566,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:567,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - reinterpret_cast<uint8*>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: void
    signature: void AddFixed32(uint32 num, uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - unknown
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: google::protobuf::internal::UnknownGroupLiteParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownGroupLiteParse(std::string* unknown, const char* ptr,\n
      \                                 ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - unknown
    - ptr
    - ctx
    argTypes:
    - uint32
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: google::protobuf::internal::UnknownFieldParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - FieldParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownFieldParse(uint32 tag, std::string* unknown, const char*
      ptr,\n                              ParseContext* ctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:105,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:116,1
    - Dst: ParseEndsInSlopRegion
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:118,1
    - Dst: StreamNext
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:122,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:125,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:126,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:131,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:137,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:148,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::EpsCopyInputStream::NextBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 4
    functionsReached:
    - StreamNext
    - ParseEndsInSlopRegion
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<const char*>
    - reinterpret_cast<std::uintptr_t>
    - std::memmove
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::NextBuffer(int overrun, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:158,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:159,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:163,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::EpsCopyInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - GOOGLE_DCHECK
    - SetEndOfStream
    - std::min
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::Next()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:174,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:176,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:181,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:183,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:184,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:188,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:189,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:192,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:193,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:196,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 205
    functionName: google::protobuf::internal::EpsCopyInputStream::DoneFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - SetEndOfStream
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - std::min
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<const char*, bool>
    signature: "std::pair<const char*, bool> EpsCopyInputStream::DoneFallback(int
      overrun,\n                                                              int
      depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: google::protobuf::internal::EpsCopyInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::SkipFallback(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:213,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:214,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:220,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - std::string*::clear
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadStringFallback(const char* ptr, int
      size,\n                                                   std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:226,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:232,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::AppendStringFallback(const char* ptr, int
      size,\n                                                     std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:244,1
    - Dst: UnalignedLoad<Tag>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - expected_tag
    - out
    argTypes:
    - char*
    - Tag
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - UnalignedLoad<Tag>
    - RepeatedField<T>*::Add
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadRepeatedFixed(const char* ptr,\n                                                  Tag
      expected_tag,\n                                                  RepeatedField<T>*
      out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void byteswap<1>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: bswap_32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32*>
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void byteswap<4>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: bswap_64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - bswap_64
    - static_cast<uint64*>
    linkageType: ''
    returnType: void
    signature: void byteswap<8>(void* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:268,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:269,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:271,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:273,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:276,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:280,1
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:286,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:287,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:289,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:291,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ptr
    - size
    - out
    argTypes:
    - char*
    - int
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 298
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::Next
    - std::memcpy
    - RepeatedField<T>*::AddNAlreadyReserved
    - RepeatedField<T>*::Reserve
    - RepeatedField<T>*::size
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadPackedFixed(const char* ptr, int size,\n
      \                                               RepeatedField<T>* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:305,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:308,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - zcis
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 327
    functionName: google::protobuf::internal::EpsCopyInputStream::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - io::ZeroCopyInputStream*::Next
    - std::memcpy
    - static_cast<const char*>
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::InitFrom(io::ZeroCopyInputStream* zcis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - MessageLite*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(MessageLite* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - Message*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 6
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(Message* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:340,1
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - val
    - s
    argTypes:
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 8
    functionsReached:
    - std::string*::push_back
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:347,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::WriteVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:352,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - google::protobuf::internal::WriteVarint
    - std::string*::append
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void WriteLengthDelimited(uint32 num, StringPiece val, std::string*
      s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:359,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:361,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:367,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: google::protobuf::internal::VarintParseSlow32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> VarintParseSlow32(const char* p, uint32
      res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:378,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res32
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::VarintParseSlow64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint64>
    signature: std::pair<const char*, uint64> VarintParseSlow64(const char* p, uint32
      res32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:389,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> ReadTagFallback(const char* p, uint32
      res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:400,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:402,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:406,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:407,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::ReadSizeFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, int32>
    signature: std::pair<const char*, int32> ReadSizeFallback(const char* p, uint32
      res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:420,1
    - Dst: auto::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - begin
    - end
    - object
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::protobuf::internal::StringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - auto::append
    - static_cast<std::string*>
    linkageType: ''
    returnType: char
    signature: "char * StringParser(const char* begin, const char* end, void* object,\n
      \                        ParseContext*)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:430,1
    - Dst: google::protobuf::internal::PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - field_name
    argTypes:
    - StringPiece
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::VerifyUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::PrintUTF8ErrorLog
    - google::protobuf::internal::IsStructurallyValidUTF8
    linkageType: ''
    returnType: bool
    signature: bool VerifyUTF8(StringPiece str, const char* field_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:439,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: google::protobuf::internal::InlineGreedyStringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 12
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    linkageType: ''
    returnType: char
    signature: "char * InlineGreedyStringParser(std::string* s, const char* ptr,\n
      \                                    ParseContext* ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ReadPackedVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:447,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:451,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:453,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: google::protobuf::internal::VarintParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagDecode64
    - google::protobuf::internal::WireFormatLite::ZigZagDecode32
    - static_cast<RepeatedField<T>*>
    - ParseContext*::ReadPackedVarint
    linkageType: ''
    returnType: char
    signature: char * VarintParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: google::protobuf::internal::PackedInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt32Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::PackedUInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: google::protobuf::internal::PackedInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt64Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: google::protobuf::internal::PackedUInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::PackedSInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::PackedSInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::PackedEnumParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedEnumParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: google::protobuf::internal::PackedBoolParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedBoolParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:497,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:498,1
    - Dst: ParseContext*::ReadPackedFixed
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:499,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::FixedParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 12
    functionsReached:
    - static_cast<RepeatedField<T>*>
    - ReadSize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ReadPackedFixed
    linkageType: ''
    returnType: char
    signature: char * FixedParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: google::protobuf::internal::PackedFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed32Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: google::protobuf::internal::PackedSFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed32Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: google::protobuf::internal::PackedFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed64Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: google::protobuf::internal::PackedSFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed64Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::PackedFloatParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFloatParser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::PackedDoubleParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedDoubleParser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - unknown
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownFieldLiteParserHelper(std::string* unknown)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:535,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    linkageType: ''
    returnType: void
    signature: void AddVarint(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:540,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:542,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:543,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void AddFixed64(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:548,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:549,1
    - Dst: ParseContext*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:550,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:551,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:552,1
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 554
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - WriteVarint
    - ParseContext*::Skip
    - ParseContext*::AppendString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ParseLengthDelimited(uint32 num, const char* ptr,\n                                   ParseContext*
      ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:556,1
    - Dst: ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:557,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:558,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ParseGroup
    linkageType: ''
    returnType: char
    signature: char * ParseGroup(uint32 num, const char* ptr, ParseContext* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:564,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:566,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:567,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - reinterpret_cast<uint8*>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: void
    signature: void AddFixed32(uint32 num, uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - unknown
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: google::protobuf::internal::UnknownGroupLiteParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownGroupLiteParse(std::string* unknown, const char* ptr,\n
      \                                 ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - unknown
    - ptr
    - ctx
    argTypes:
    - uint32
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: google::protobuf::internal::UnknownFieldParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - FieldParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownFieldParse(uint32 tag, std::string* unknown, const char*
      ptr,\n                              ParseContext* ctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:105,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:116,1
    - Dst: ParseEndsInSlopRegion
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:118,1
    - Dst: StreamNext
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:122,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:125,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:126,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:131,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:137,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:148,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::EpsCopyInputStream::NextBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 6
    functionsReached:
    - StreamNext
    - ParseEndsInSlopRegion
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<const char*>
    - reinterpret_cast<std::uintptr_t>
    - std::memmove
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::NextBuffer(int overrun, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:158,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:159,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:163,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::EpsCopyInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - GOOGLE_DCHECK
    - SetEndOfStream
    - std::min
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::Next()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:174,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:176,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:181,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:183,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:184,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:188,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:189,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:192,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:193,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:196,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 205
    functionName: google::protobuf::internal::EpsCopyInputStream::DoneFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - SetEndOfStream
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - std::min
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<const char*, bool>
    signature: "std::pair<const char*, bool> EpsCopyInputStream::DoneFallback(int
      overrun,\n                                                              int
      depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: google::protobuf::internal::EpsCopyInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::SkipFallback(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:213,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:214,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:220,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - std::string*::clear
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadStringFallback(const char* ptr, int
      size,\n                                                   std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:226,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:232,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::AppendStringFallback(const char* ptr, int
      size,\n                                                     std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:244,1
    - Dst: UnalignedLoad<Tag>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - expected_tag
    - out
    argTypes:
    - char*
    - Tag
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - UnalignedLoad<Tag>
    - RepeatedField<T>*::Add
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadRepeatedFixed(const char* ptr,\n                                                  Tag
      expected_tag,\n                                                  RepeatedField<T>*
      out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void byteswap<1>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: bswap_32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32*>
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void byteswap<4>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: bswap_64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - bswap_64
    - static_cast<uint64*>
    linkageType: ''
    returnType: void
    signature: void byteswap<8>(void* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:268,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:269,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:271,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:273,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:276,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:280,1
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:286,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:287,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:289,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:291,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ptr
    - size
    - out
    argTypes:
    - char*
    - int
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 298
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::Next
    - std::memcpy
    - RepeatedField<T>*::AddNAlreadyReserved
    - RepeatedField<T>*::Reserve
    - RepeatedField<T>*::size
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadPackedFixed(const char* ptr, int size,\n
      \                                               RepeatedField<T>* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:305,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:308,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - zcis
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 327
    functionName: google::protobuf::internal::EpsCopyInputStream::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - io::ZeroCopyInputStream*::Next
    - std::memcpy
    - static_cast<const char*>
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::InitFrom(io::ZeroCopyInputStream* zcis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - MessageLite*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(MessageLite* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - Message*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 8
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(Message* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:340,1
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - val
    - s
    argTypes:
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 10
    functionsReached:
    - std::string*::push_back
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:347,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 11
    functionsReached:
    - google::protobuf::internal::WriteVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:352,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - google::protobuf::internal::WriteVarint
    - std::string*::append
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void WriteLengthDelimited(uint32 num, StringPiece val, std::string*
      s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:359,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:361,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:367,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: google::protobuf::internal::VarintParseSlow32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> VarintParseSlow32(const char* p, uint32
      res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:378,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res32
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::VarintParseSlow64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint64>
    signature: std::pair<const char*, uint64> VarintParseSlow64(const char* p, uint32
      res32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:389,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> ReadTagFallback(const char* p, uint32
      res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:400,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:402,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:406,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:407,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::ReadSizeFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, int32>
    signature: std::pair<const char*, int32> ReadSizeFallback(const char* p, uint32
      res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:420,1
    - Dst: auto::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - begin
    - end
    - object
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::protobuf::internal::StringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - auto::append
    - static_cast<std::string*>
    linkageType: ''
    returnType: char
    signature: "char * StringParser(const char* begin, const char* end, void* object,\n
      \                        ParseContext*)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:430,1
    - Dst: google::protobuf::internal::PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - field_name
    argTypes:
    - StringPiece
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::VerifyUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::PrintUTF8ErrorLog
    - google::protobuf::internal::IsStructurallyValidUTF8
    linkageType: ''
    returnType: bool
    signature: bool VerifyUTF8(StringPiece str, const char* field_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:439,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: google::protobuf::internal::InlineGreedyStringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 12
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    linkageType: ''
    returnType: char
    signature: "char * InlineGreedyStringParser(std::string* s, const char* ptr,\n
      \                                    ParseContext* ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ReadPackedVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:447,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:451,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:453,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: google::protobuf::internal::VarintParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagDecode64
    - google::protobuf::internal::WireFormatLite::ZigZagDecode32
    - static_cast<RepeatedField<T>*>
    - ParseContext*::ReadPackedVarint
    linkageType: ''
    returnType: char
    signature: char * VarintParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: google::protobuf::internal::PackedInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt32Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::PackedUInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: google::protobuf::internal::PackedInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt64Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: google::protobuf::internal::PackedUInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::PackedSInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::PackedSInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::PackedEnumParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedEnumParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: google::protobuf::internal::PackedBoolParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedBoolParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:497,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:498,1
    - Dst: ParseContext*::ReadPackedFixed
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:499,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::FixedParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 18
    functionsReached:
    - static_cast<RepeatedField<T>*>
    - ReadSize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ReadPackedFixed
    linkageType: ''
    returnType: char
    signature: char * FixedParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: google::protobuf::internal::PackedFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed32Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: google::protobuf::internal::PackedSFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed32Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: google::protobuf::internal::PackedFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed64Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: google::protobuf::internal::PackedSFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed64Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::PackedFloatParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFloatParser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::PackedDoubleParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedDoubleParser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - unknown
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownFieldLiteParserHelper(std::string* unknown)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:535,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    linkageType: ''
    returnType: void
    signature: void AddVarint(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:540,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:542,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:543,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void AddFixed64(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:548,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:549,1
    - Dst: ParseContext*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:550,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:551,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:552,1
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 554
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - WriteVarint
    - ParseContext*::Skip
    - ParseContext*::AppendString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ParseLengthDelimited(uint32 num, const char* ptr,\n                                   ParseContext*
      ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:556,1
    - Dst: ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:557,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:558,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ParseGroup
    linkageType: ''
    returnType: char
    signature: char * ParseGroup(uint32 num, const char* ptr, ParseContext* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:564,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:566,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:567,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - reinterpret_cast<uint8*>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: void
    signature: void AddFixed32(uint32 num, uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - unknown
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: google::protobuf::internal::UnknownGroupLiteParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownGroupLiteParse(std::string* unknown, const char* ptr,\n
      \                                 ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - unknown
    - ptr
    - ctx
    argTypes:
    - uint32
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: google::protobuf::internal::UnknownFieldParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - FieldParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownFieldParse(uint32 tag, std::string* unknown, const char*
      ptr,\n                              ParseContext* ctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:105,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:116,1
    - Dst: ParseEndsInSlopRegion
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:118,1
    - Dst: StreamNext
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:122,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:125,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:126,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:131,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:137,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:148,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::EpsCopyInputStream::NextBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 8
    functionsReached:
    - StreamNext
    - ParseEndsInSlopRegion
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<const char*>
    - reinterpret_cast<std::uintptr_t>
    - std::memmove
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::NextBuffer(int overrun, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:158,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:159,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:163,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::EpsCopyInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - GOOGLE_DCHECK
    - SetEndOfStream
    - std::min
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::Next()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:174,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:176,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:181,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:183,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:184,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:188,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:189,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:192,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:193,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:196,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 205
    functionName: google::protobuf::internal::EpsCopyInputStream::DoneFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - SetEndOfStream
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - std::min
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<const char*, bool>
    signature: "std::pair<const char*, bool> EpsCopyInputStream::DoneFallback(int
      overrun,\n                                                              int
      depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: google::protobuf::internal::EpsCopyInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::SkipFallback(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:213,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:214,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:220,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - std::string*::clear
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadStringFallback(const char* ptr, int
      size,\n                                                   std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:226,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:232,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::AppendStringFallback(const char* ptr, int
      size,\n                                                     std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:244,1
    - Dst: UnalignedLoad<Tag>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - expected_tag
    - out
    argTypes:
    - char*
    - Tag
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - UnalignedLoad<Tag>
    - RepeatedField<T>*::Add
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadRepeatedFixed(const char* ptr,\n                                                  Tag
      expected_tag,\n                                                  RepeatedField<T>*
      out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void byteswap<1>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: bswap_32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32*>
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void byteswap<4>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: bswap_64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - bswap_64
    - static_cast<uint64*>
    linkageType: ''
    returnType: void
    signature: void byteswap<8>(void* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:268,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:269,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:271,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:273,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:276,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:280,1
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:286,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:287,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:289,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:291,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ptr
    - size
    - out
    argTypes:
    - char*
    - int
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 298
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::Next
    - std::memcpy
    - RepeatedField<T>*::AddNAlreadyReserved
    - RepeatedField<T>*::Reserve
    - RepeatedField<T>*::size
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadPackedFixed(const char* ptr, int size,\n
      \                                               RepeatedField<T>* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:305,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:308,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - zcis
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 327
    functionName: google::protobuf::internal::EpsCopyInputStream::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - io::ZeroCopyInputStream*::Next
    - std::memcpy
    - static_cast<const char*>
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::InitFrom(io::ZeroCopyInputStream* zcis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - MessageLite*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(MessageLite* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - Message*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 10
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(Message* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:340,1
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - val
    - s
    argTypes:
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 12
    functionsReached:
    - std::string*::push_back
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:347,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 13
    functionsReached:
    - google::protobuf::internal::WriteVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:352,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - google::protobuf::internal::WriteVarint
    - std::string*::append
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void WriteLengthDelimited(uint32 num, StringPiece val, std::string*
      s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:359,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:361,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:367,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: google::protobuf::internal::VarintParseSlow32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> VarintParseSlow32(const char* p, uint32
      res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:378,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res32
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::VarintParseSlow64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint64>
    signature: std::pair<const char*, uint64> VarintParseSlow64(const char* p, uint32
      res32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:389,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> ReadTagFallback(const char* p, uint32
      res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:400,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:402,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:406,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:407,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::ReadSizeFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, int32>
    signature: std::pair<const char*, int32> ReadSizeFallback(const char* p, uint32
      res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:420,1
    - Dst: auto::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - begin
    - end
    - object
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::protobuf::internal::StringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - auto::append
    - static_cast<std::string*>
    linkageType: ''
    returnType: char
    signature: "char * StringParser(const char* begin, const char* end, void* object,\n
      \                        ParseContext*)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:430,1
    - Dst: google::protobuf::internal::PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - field_name
    argTypes:
    - StringPiece
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::VerifyUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::PrintUTF8ErrorLog
    - google::protobuf::internal::IsStructurallyValidUTF8
    linkageType: ''
    returnType: bool
    signature: bool VerifyUTF8(StringPiece str, const char* field_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:439,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: google::protobuf::internal::InlineGreedyStringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 12
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    linkageType: ''
    returnType: char
    signature: "char * InlineGreedyStringParser(std::string* s, const char* ptr,\n
      \                                    ParseContext* ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ReadPackedVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:447,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:451,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:453,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: google::protobuf::internal::VarintParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 32
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagDecode64
    - google::protobuf::internal::WireFormatLite::ZigZagDecode32
    - static_cast<RepeatedField<T>*>
    - ParseContext*::ReadPackedVarint
    linkageType: ''
    returnType: char
    signature: char * VarintParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: google::protobuf::internal::PackedInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt32Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::PackedUInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: google::protobuf::internal::PackedInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt64Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: google::protobuf::internal::PackedUInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::PackedSInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::PackedSInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::PackedEnumParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedEnumParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: google::protobuf::internal::PackedBoolParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedBoolParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:497,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:498,1
    - Dst: ParseContext*::ReadPackedFixed
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:499,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::FixedParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 24
    functionsReached:
    - static_cast<RepeatedField<T>*>
    - ReadSize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ReadPackedFixed
    linkageType: ''
    returnType: char
    signature: char * FixedParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: google::protobuf::internal::PackedFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed32Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: google::protobuf::internal::PackedSFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed32Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: google::protobuf::internal::PackedFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed64Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: google::protobuf::internal::PackedSFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed64Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::PackedFloatParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFloatParser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::PackedDoubleParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedDoubleParser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - unknown
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownFieldLiteParserHelper(std::string* unknown)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:535,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    linkageType: ''
    returnType: void
    signature: void AddVarint(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:540,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:542,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:543,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void AddFixed64(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:548,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:549,1
    - Dst: ParseContext*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:550,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:551,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:552,1
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 554
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - WriteVarint
    - ParseContext*::Skip
    - ParseContext*::AppendString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ParseLengthDelimited(uint32 num, const char* ptr,\n                                   ParseContext*
      ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:556,1
    - Dst: ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:557,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:558,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ParseGroup
    linkageType: ''
    returnType: char
    signature: char * ParseGroup(uint32 num, const char* ptr, ParseContext* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:564,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:566,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:567,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - reinterpret_cast<uint8*>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: void
    signature: void AddFixed32(uint32 num, uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - unknown
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: google::protobuf::internal::UnknownGroupLiteParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownGroupLiteParse(std::string* unknown, const char* ptr,\n
      \                                 ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - unknown
    - ptr
    - ctx
    argTypes:
    - uint32
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: google::protobuf::internal::UnknownFieldParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - FieldParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownFieldParse(uint32 tag, std::string* unknown, const char*
      ptr,\n                              ParseContext* ctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:105,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:116,1
    - Dst: ParseEndsInSlopRegion
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:118,1
    - Dst: StreamNext
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:122,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:125,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:126,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:131,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:137,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:148,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::EpsCopyInputStream::NextBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 10
    functionsReached:
    - StreamNext
    - ParseEndsInSlopRegion
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<const char*>
    - reinterpret_cast<std::uintptr_t>
    - std::memmove
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::NextBuffer(int overrun, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:158,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:159,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:163,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::EpsCopyInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - GOOGLE_DCHECK
    - SetEndOfStream
    - std::min
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::Next()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:174,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:176,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:181,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:183,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:184,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:188,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:189,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:192,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:193,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:196,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 205
    functionName: google::protobuf::internal::EpsCopyInputStream::DoneFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - SetEndOfStream
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - std::min
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<const char*, bool>
    signature: "std::pair<const char*, bool> EpsCopyInputStream::DoneFallback(int
      overrun,\n                                                              int
      depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: google::protobuf::internal::EpsCopyInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::SkipFallback(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:213,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:214,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:220,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - std::string*::clear
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadStringFallback(const char* ptr, int
      size,\n                                                   std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:226,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:232,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::AppendStringFallback(const char* ptr, int
      size,\n                                                     std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:244,1
    - Dst: UnalignedLoad<Tag>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - expected_tag
    - out
    argTypes:
    - char*
    - Tag
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - UnalignedLoad<Tag>
    - RepeatedField<T>*::Add
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadRepeatedFixed(const char* ptr,\n                                                  Tag
      expected_tag,\n                                                  RepeatedField<T>*
      out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void byteswap<1>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: bswap_32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32*>
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void byteswap<4>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: bswap_64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - bswap_64
    - static_cast<uint64*>
    linkageType: ''
    returnType: void
    signature: void byteswap<8>(void* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:268,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:269,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:271,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:273,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:276,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:280,1
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:286,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:287,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:289,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:291,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ptr
    - size
    - out
    argTypes:
    - char*
    - int
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 298
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::Next
    - std::memcpy
    - RepeatedField<T>*::AddNAlreadyReserved
    - RepeatedField<T>*::Reserve
    - RepeatedField<T>*::size
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadPackedFixed(const char* ptr, int size,\n
      \                                               RepeatedField<T>* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:305,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:308,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - zcis
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 327
    functionName: google::protobuf::internal::EpsCopyInputStream::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - io::ZeroCopyInputStream*::Next
    - std::memcpy
    - static_cast<const char*>
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::InitFrom(io::ZeroCopyInputStream* zcis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - MessageLite*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 11
    functionsReached:
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(MessageLite* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - Message*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 12
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(Message* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:340,1
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - val
    - s
    argTypes:
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 14
    functionsReached:
    - std::string*::push_back
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:347,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::WriteVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:352,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - google::protobuf::internal::WriteVarint
    - std::string*::append
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void WriteLengthDelimited(uint32 num, StringPiece val, std::string*
      s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:359,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:361,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:367,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: google::protobuf::internal::VarintParseSlow32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> VarintParseSlow32(const char* p, uint32
      res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:378,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res32
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::VarintParseSlow64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint64>
    signature: std::pair<const char*, uint64> VarintParseSlow64(const char* p, uint32
      res32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:389,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> ReadTagFallback(const char* p, uint32
      res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:400,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:402,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:406,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:407,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::ReadSizeFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, int32>
    signature: std::pair<const char*, int32> ReadSizeFallback(const char* p, uint32
      res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:420,1
    - Dst: auto::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - begin
    - end
    - object
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::protobuf::internal::StringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - auto::append
    - static_cast<std::string*>
    linkageType: ''
    returnType: char
    signature: "char * StringParser(const char* begin, const char* end, void* object,\n
      \                        ParseContext*)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:430,1
    - Dst: google::protobuf::internal::PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - field_name
    argTypes:
    - StringPiece
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::VerifyUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::PrintUTF8ErrorLog
    - google::protobuf::internal::IsStructurallyValidUTF8
    linkageType: ''
    returnType: bool
    signature: bool VerifyUTF8(StringPiece str, const char* field_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:439,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: google::protobuf::internal::InlineGreedyStringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 12
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    linkageType: ''
    returnType: char
    signature: "char * InlineGreedyStringParser(std::string* s, const char* ptr,\n
      \                                    ParseContext* ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ReadPackedVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:447,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:451,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:453,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: google::protobuf::internal::VarintParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 40
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagDecode64
    - google::protobuf::internal::WireFormatLite::ZigZagDecode32
    - static_cast<RepeatedField<T>*>
    - ParseContext*::ReadPackedVarint
    linkageType: ''
    returnType: char
    signature: char * VarintParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: google::protobuf::internal::PackedInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt32Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::PackedUInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: google::protobuf::internal::PackedInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt64Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: google::protobuf::internal::PackedUInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::PackedSInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::PackedSInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::PackedEnumParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedEnumParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: google::protobuf::internal::PackedBoolParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedBoolParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:497,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:498,1
    - Dst: ParseContext*::ReadPackedFixed
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:499,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::FixedParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 30
    functionsReached:
    - static_cast<RepeatedField<T>*>
    - ReadSize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ReadPackedFixed
    linkageType: ''
    returnType: char
    signature: char * FixedParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: google::protobuf::internal::PackedFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed32Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: google::protobuf::internal::PackedSFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed32Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: google::protobuf::internal::PackedFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed64Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: google::protobuf::internal::PackedSFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed64Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::PackedFloatParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFloatParser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::PackedDoubleParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedDoubleParser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - unknown
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownFieldLiteParserHelper(std::string* unknown)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:535,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    linkageType: ''
    returnType: void
    signature: void AddVarint(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:540,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:542,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:543,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void AddFixed64(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:548,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:549,1
    - Dst: ParseContext*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:550,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:551,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:552,1
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 554
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - WriteVarint
    - ParseContext*::Skip
    - ParseContext*::AppendString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ParseLengthDelimited(uint32 num, const char* ptr,\n                                   ParseContext*
      ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:556,1
    - Dst: ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:557,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:558,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ParseGroup
    linkageType: ''
    returnType: char
    signature: char * ParseGroup(uint32 num, const char* ptr, ParseContext* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:564,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:566,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:567,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - reinterpret_cast<uint8*>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: void
    signature: void AddFixed32(uint32 num, uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - unknown
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: google::protobuf::internal::UnknownGroupLiteParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownGroupLiteParse(std::string* unknown, const char* ptr,\n
      \                                 ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - unknown
    - ptr
    - ctx
    argTypes:
    - uint32
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: google::protobuf::internal::UnknownFieldParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - FieldParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownFieldParse(uint32 tag, std::string* unknown, const char*
      ptr,\n                              ParseContext* ctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:105,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:116,1
    - Dst: ParseEndsInSlopRegion
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:118,1
    - Dst: StreamNext
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:122,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:125,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:126,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:131,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:137,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:148,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::EpsCopyInputStream::NextBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 12
    functionsReached:
    - StreamNext
    - ParseEndsInSlopRegion
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<const char*>
    - reinterpret_cast<std::uintptr_t>
    - std::memmove
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::NextBuffer(int overrun, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:158,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:159,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:163,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::EpsCopyInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - GOOGLE_DCHECK
    - SetEndOfStream
    - std::min
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::Next()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:174,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:176,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:181,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:183,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:184,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:188,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:189,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:192,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:193,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:196,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 205
    functionName: google::protobuf::internal::EpsCopyInputStream::DoneFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - SetEndOfStream
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - std::min
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<const char*, bool>
    signature: "std::pair<const char*, bool> EpsCopyInputStream::DoneFallback(int
      overrun,\n                                                              int
      depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: google::protobuf::internal::EpsCopyInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::SkipFallback(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:213,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:214,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:220,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - std::string*::clear
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadStringFallback(const char* ptr, int
      size,\n                                                   std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:226,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:232,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::AppendStringFallback(const char* ptr, int
      size,\n                                                     std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:244,1
    - Dst: UnalignedLoad<Tag>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - expected_tag
    - out
    argTypes:
    - char*
    - Tag
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - UnalignedLoad<Tag>
    - RepeatedField<T>*::Add
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadRepeatedFixed(const char* ptr,\n                                                  Tag
      expected_tag,\n                                                  RepeatedField<T>*
      out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void byteswap<1>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: bswap_32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32*>
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void byteswap<4>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: bswap_64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - bswap_64
    - static_cast<uint64*>
    linkageType: ''
    returnType: void
    signature: void byteswap<8>(void* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:268,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:269,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:271,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:273,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:276,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:280,1
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:286,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:287,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:289,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:291,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ptr
    - size
    - out
    argTypes:
    - char*
    - int
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 298
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::Next
    - std::memcpy
    - RepeatedField<T>*::AddNAlreadyReserved
    - RepeatedField<T>*::Reserve
    - RepeatedField<T>*::size
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadPackedFixed(const char* ptr, int size,\n
      \                                               RepeatedField<T>* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:305,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:308,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - zcis
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 327
    functionName: google::protobuf::internal::EpsCopyInputStream::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - io::ZeroCopyInputStream*::Next
    - std::memcpy
    - static_cast<const char*>
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::InitFrom(io::ZeroCopyInputStream* zcis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - MessageLite*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 13
    functionsReached:
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(MessageLite* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - Message*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 14
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(Message* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:340,1
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - val
    - s
    argTypes:
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 16
    functionsReached:
    - std::string*::push_back
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:347,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 17
    functionsReached:
    - google::protobuf::internal::WriteVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:352,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - google::protobuf::internal::WriteVarint
    - std::string*::append
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void WriteLengthDelimited(uint32 num, StringPiece val, std::string*
      s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:359,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:361,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:367,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: google::protobuf::internal::VarintParseSlow32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> VarintParseSlow32(const char* p, uint32
      res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:378,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res32
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::VarintParseSlow64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint64>
    signature: std::pair<const char*, uint64> VarintParseSlow64(const char* p, uint32
      res32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:389,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> ReadTagFallback(const char* p, uint32
      res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:400,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:402,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:406,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:407,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::ReadSizeFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, int32>
    signature: std::pair<const char*, int32> ReadSizeFallback(const char* p, uint32
      res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:420,1
    - Dst: auto::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - begin
    - end
    - object
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::protobuf::internal::StringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - auto::append
    - static_cast<std::string*>
    linkageType: ''
    returnType: char
    signature: "char * StringParser(const char* begin, const char* end, void* object,\n
      \                        ParseContext*)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:430,1
    - Dst: google::protobuf::internal::PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - field_name
    argTypes:
    - StringPiece
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::VerifyUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::PrintUTF8ErrorLog
    - google::protobuf::internal::IsStructurallyValidUTF8
    linkageType: ''
    returnType: bool
    signature: bool VerifyUTF8(StringPiece str, const char* field_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:439,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: google::protobuf::internal::InlineGreedyStringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 12
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    linkageType: ''
    returnType: char
    signature: "char * InlineGreedyStringParser(std::string* s, const char* ptr,\n
      \                                    ParseContext* ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ReadPackedVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:447,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:451,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:453,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: google::protobuf::internal::VarintParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 48
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagDecode64
    - google::protobuf::internal::WireFormatLite::ZigZagDecode32
    - static_cast<RepeatedField<T>*>
    - ParseContext*::ReadPackedVarint
    linkageType: ''
    returnType: char
    signature: char * VarintParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: google::protobuf::internal::PackedInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt32Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::PackedUInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: google::protobuf::internal::PackedInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt64Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: google::protobuf::internal::PackedUInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::PackedSInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::PackedSInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::PackedEnumParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedEnumParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: google::protobuf::internal::PackedBoolParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedBoolParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:497,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:498,1
    - Dst: ParseContext*::ReadPackedFixed
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:499,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::FixedParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 36
    functionsReached:
    - static_cast<RepeatedField<T>*>
    - ReadSize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ReadPackedFixed
    linkageType: ''
    returnType: char
    signature: char * FixedParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: google::protobuf::internal::PackedFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed32Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: google::protobuf::internal::PackedSFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed32Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: google::protobuf::internal::PackedFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed64Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: google::protobuf::internal::PackedSFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed64Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::PackedFloatParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFloatParser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::PackedDoubleParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedDoubleParser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - unknown
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownFieldLiteParserHelper(std::string* unknown)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:535,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    linkageType: ''
    returnType: void
    signature: void AddVarint(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:540,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:542,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:543,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void AddFixed64(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:548,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:549,1
    - Dst: ParseContext*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:550,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:551,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:552,1
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 554
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - WriteVarint
    - ParseContext*::Skip
    - ParseContext*::AppendString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ParseLengthDelimited(uint32 num, const char* ptr,\n                                   ParseContext*
      ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:556,1
    - Dst: ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:557,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:558,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ParseGroup
    linkageType: ''
    returnType: char
    signature: char * ParseGroup(uint32 num, const char* ptr, ParseContext* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:564,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:566,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:567,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - reinterpret_cast<uint8*>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: void
    signature: void AddFixed32(uint32 num, uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - unknown
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: google::protobuf::internal::UnknownGroupLiteParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownGroupLiteParse(std::string* unknown, const char* ptr,\n
      \                                 ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - unknown
    - ptr
    - ctx
    argTypes:
    - uint32
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: google::protobuf::internal::UnknownFieldParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - FieldParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownFieldParse(uint32 tag, std::string* unknown, const char*
      ptr,\n                              ParseContext* ctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:53,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:54,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:59,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:67,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:76,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - begin
    - overrun
    - depth
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::ParseEndsInSlopRegion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - VarintParse
    - ReadSize
    - GOOGLE_DCHECK
    - ReadTag
    linkageType: ''
    returnType: bool
    signature: bool ParseEndsInSlopRegion(const char* begin, int overrun, int depth)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:105,1
    - Dst: std::memmove
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:116,1
    - Dst: ParseEndsInSlopRegion
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:118,1
    - Dst: StreamNext
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:122,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:125,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:126,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:131,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:137,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:148,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::EpsCopyInputStream::NextBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 14
    functionsReached:
    - StreamNext
    - ParseEndsInSlopRegion
    - GOOGLE_DCHECK
    - std::memcpy
    - static_cast<const char*>
    - reinterpret_cast<std::uintptr_t>
    - std::memmove
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::NextBuffer(int overrun, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:158,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:159,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:163,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::EpsCopyInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - GOOGLE_DCHECK
    - SetEndOfStream
    - std::min
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::Next()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:174,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:176,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:181,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:183,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:184,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:188,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::NextBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:189,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:192,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:193,1
    - Dst: SetEndOfStream
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:196,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - overrun
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 205
    functionName: google::protobuf::internal::EpsCopyInputStream::DoneFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - SetEndOfStream
    - google::protobuf::internal::EpsCopyInputStream::NextBuffer
    - std::min
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: std::pair<const char*, bool>
    signature: "std::pair<const char*, bool> EpsCopyInputStream::DoneFallback(int
      overrun,\n                                                              int
      depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: google::protobuf::internal::EpsCopyInputStream::SkipFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::SkipFallback(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:213,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:214,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:218,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:220,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - std::string*::clear
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadStringFallback(const char* ptr, int
      size,\n                                                   std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:226,1
    - Dst: std::string*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::string*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: std::min<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:230,1
    - Dst: AppendSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:232,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - size
    - str
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - AppendSize
    - std::string*::reserve
    - std::string*::append
    - std::string*::size
    - std::min<int>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::AppendStringFallback(const char* ptr, int
      size,\n                                                     std::string* str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:242,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:244,1
    - Dst: UnalignedLoad<Tag>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - expected_tag
    - out
    argTypes:
    - char*
    - Tag
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - UnalignedLoad<Tag>
    - RepeatedField<T>*::Add
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadRepeatedFixed(const char* ptr,\n                                                  Tag
      expected_tag,\n                                                  RepeatedField<T>*
      out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void byteswap<1>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: bswap_32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    - Dst: static_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32*>
    - bswap_32
    linkageType: ''
    returnType: void
    signature: void byteswap<4>(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: bswap_64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    - Dst: static_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: google::protobuf::internal::byteswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - bswap_64
    - static_cast<uint64*>
    linkageType: ''
    returnType: void
    signature: void byteswap<8>(void* p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:268,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:269,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:271,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:273,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:276,1
    - Dst: google::protobuf::internal::EpsCopyInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:280,1
    - Dst: RepeatedField<T>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:286,1
    - Dst: RepeatedField<T>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:287,1
    - Dst: RepeatedField<T>*::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:289,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:291,1
    - Dst: UnalignedLoad<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - ptr
    - size
    - out
    argTypes:
    - char*
    - int
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 298
    functionName: google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::EpsCopyInputStream::Next
    - std::memcpy
    - RepeatedField<T>*::AddNAlreadyReserved
    - RepeatedField<T>*::Reserve
    - RepeatedField<T>*::size
    - UnalignedLoad<T>
    linkageType: ''
    returnType: char
    signature: "char * EpsCopyInputStream::ReadPackedFixed(const char* ptr, int size,\n
      \                                               RepeatedField<T>* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::ZeroCopyInputStream*::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:305,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:308,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - zcis
    argTypes:
    - io::ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 327
    functionName: google::protobuf::internal::EpsCopyInputStream::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - io::ZeroCopyInputStream*::Next
    - std::memcpy
    - static_cast<const char*>
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::InitFrom(io::ZeroCopyInputStream* zcis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - MessageLite*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(MessageLite* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseContext::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - Message*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: google::protobuf::internal::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 16
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::ParseContext::ParseMessage
    linkageType: ''
    returnType: char
    signature: char * ParseContext::ParseMessage(Message* msg, const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:340,1
    - Dst: std::string*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - val
    - s
    argTypes:
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 18
    functionsReached:
    - std::string*::push_back
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:347,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - uint64
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 19
    functionsReached:
    - google::protobuf::internal::WriteVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:352,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:353,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - val
    - s
    argTypes:
    - uint32
    - StringPiece
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - google::protobuf::internal::WriteVarint
    - std::string*::append
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void WriteLengthDelimited(uint32 num, StringPiece val, std::string*
      s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:359,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:361,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:367,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: google::protobuf::internal::VarintParseSlow32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> VarintParseSlow32(const char* p, uint32
      res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:378,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res32
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::VarintParseSlow64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint64>
    signature: std::pair<const char*, uint64> VarintParseSlow64(const char* p, uint32
      res32)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:389,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::ReadTagFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, uint32>
    signature: std::pair<const char*, uint32> ReadTagFallback(const char* p, uint32
      res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:400,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:402,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:406,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:407,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - p
    - res
    argTypes:
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::ReadSizeFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    linkageType: ''
    returnType: std::pair<const char*, int32>
    signature: std::pair<const char*, int32> ReadSizeFallback(const char* p, uint32
      res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:420,1
    - Dst: auto::append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - begin
    - end
    - object
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::protobuf::internal::StringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - auto::append
    - static_cast<std::string*>
    linkageType: ''
    returnType: char
    signature: "char * StringParser(const char* begin, const char* end, void* object,\n
      \                        ParseContext*)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:430,1
    - Dst: google::protobuf::internal::PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - str
    - field_name
    argTypes:
    - StringPiece
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::VerifyUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::PrintUTF8ErrorLog
    - google::protobuf::internal::IsStructurallyValidUTF8
    linkageType: ''
    returnType: bool
    signature: bool VerifyUTF8(StringPiece str, const char* field_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:439,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: google::protobuf::internal::InlineGreedyStringParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 12
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    linkageType: ''
    returnType: char
    signature: "char * InlineGreedyStringParser(std::string* s, const char* ptr,\n
      \                                    ParseContext* ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ReadPackedVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:447,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:451,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:453,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: google::protobuf::internal::VarintParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 56
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagDecode64
    - google::protobuf::internal::WireFormatLite::ZigZagDecode32
    - static_cast<RepeatedField<T>*>
    - ParseContext*::ReadPackedVarint
    linkageType: ''
    returnType: char
    signature: char * VarintParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: google::protobuf::internal::PackedInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt32Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::PackedUInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: google::protobuf::internal::PackedInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedInt64Parser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: google::protobuf::internal::PackedUInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedUInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: google::protobuf::internal::PackedSInt32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt32Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::PackedSInt64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSInt64Parser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::PackedEnumParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedEnumParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::VarintParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: google::protobuf::internal::PackedBoolParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VarintParser
    linkageType: ''
    returnType: char
    signature: char * PackedBoolParser(void* object, const char* ptr, ParseContext*
      ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:497,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:498,1
    - Dst: ParseContext*::ReadPackedFixed
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:499,1
    - Dst: static_cast<RepeatedField<T>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::FixedParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 42
    functionsReached:
    - static_cast<RepeatedField<T>*>
    - ReadSize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ReadPackedFixed
    linkageType: ''
    returnType: char
    signature: char * FixedParser(void* object, const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: google::protobuf::internal::PackedFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed32Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: google::protobuf::internal::PackedSFixed32Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed32Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: google::protobuf::internal::PackedFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFixed64Parser(void* object, const char* ptr,\n                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: google::protobuf::internal::PackedSFixed64Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedSFixed64Parser(void* object, const char* ptr,\n                                 ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::PackedFloatParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedFloatParser(void* object, const char* ptr,\n                              ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FixedParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - ptr
    - ctx
    argTypes:
    - void*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::PackedDoubleParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FixedParser
    linkageType: ''
    returnType: char
    signature: "char * PackedDoubleParser(void* object, const char* ptr,\n                               ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - unknown
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 531
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownFieldLiteParserHelper(std::string* unknown)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:535,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    linkageType: ''
    returnType: void
    signature: void AddVarint(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:540,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:542,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:543,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void AddFixed64(uint32 num, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:548,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:549,1
    - Dst: ParseContext*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:550,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:551,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:552,1
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 554
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - WriteVarint
    - ParseContext*::Skip
    - ParseContext*::AppendString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ParseLengthDelimited(uint32 num, const char* ptr,\n                                   ParseContext*
      ctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:556,1
    - Dst: ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:557,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:558,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ptr
    - ctx
    argTypes:
    - uint32
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WriteVarint
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ParseContext*::ParseGroup
    linkageType: ''
    returnType: char
    signature: char * ParseGroup(uint32 num, const char* ptr, ParseContext* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:564,1
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:566,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:567,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num
    - value
    argTypes:
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - append
    - WriteVarint
    - reinterpret_cast<uint8*>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: void
    signature: void AddFixed32(uint32 num, uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WireFormatParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - unknown
    - ptr
    - ctx
    argTypes:
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: google::protobuf::internal::UnknownGroupLiteParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - WireFormatParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownGroupLiteParse(std::string* unknown, const char* ptr,\n
      \                                 ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldParser
      Src: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag
    - unknown
    - ptr
    - ctx
    argTypes:
    - uint32
    - std::string*
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: google::protobuf::internal::UnknownFieldParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
    functionUses: 0
    functionsReached:
    - FieldParser
    linkageType: ''
    returnType: char
    signature: "char * UnknownFieldParse(uint32 tag, std::string* unknown, const char*
      ptr,\n                              ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - size
    - name
    - value
    argTypes:
    - EnumEntry*
    - size_t
    - StringPiece
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::LookUpEnumValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    linkageType: ''
    returnType: bool
    signature: "bool LookUpEnumValue(const EnumEntry* enums, size_t size,\n                     StringPiece
      name, int* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - value
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::LookUpEnumName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    - google::protobuf::internal::GetValue
    linkageType: ''
    returnType: int
    signature: "int LookUpEnumName(const EnumEntry* enums, const int* sorted_indices,\n
      \                  size_t size, int value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Construct
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:87,1
    - Dst: google::protobuf::OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    - Dst: get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - enum_strings
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - internal::ExplicitlyConstructed<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::InitializeEnumStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - get_mutable
    - google::protobuf::OnShutdownDestroyString
    - Construct
    linkageType: ''
    returnType: bool
    signature: "bool InitializeEnumStrings(\n    const EnumEntry* enums, const int*
      sorted_indices, size_t size,\n    internal::ExplicitlyConstructed<std::string>*
      enum_strings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - size
    - name
    - value
    argTypes:
    - EnumEntry*
    - size_t
    - StringPiece
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::LookUpEnumValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    linkageType: ''
    returnType: bool
    signature: "bool LookUpEnumValue(const EnumEntry* enums, size_t size,\n                     StringPiece
      name, int* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - value
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::LookUpEnumName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    - google::protobuf::internal::GetValue
    linkageType: ''
    returnType: int
    signature: "int LookUpEnumName(const EnumEntry* enums, const int* sorted_indices,\n
      \                  size_t size, int value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Construct
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:87,1
    - Dst: google::protobuf::OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    - Dst: get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - enum_strings
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - internal::ExplicitlyConstructed<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::InitializeEnumStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - get_mutable
    - google::protobuf::OnShutdownDestroyString
    - Construct
    linkageType: ''
    returnType: bool
    signature: "bool InitializeEnumStrings(\n    const EnumEntry* enums, const int*
      sorted_indices, size_t size,\n    internal::ExplicitlyConstructed<std::string>*
      enum_strings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - size
    - name
    - value
    argTypes:
    - EnumEntry*
    - size_t
    - StringPiece
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::LookUpEnumValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    linkageType: ''
    returnType: bool
    signature: "bool LookUpEnumValue(const EnumEntry* enums, size_t size,\n                     StringPiece
      name, int* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - value
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::LookUpEnumName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    - google::protobuf::internal::GetValue
    linkageType: ''
    returnType: int
    signature: "int LookUpEnumName(const EnumEntry* enums, const int* sorted_indices,\n
      \                  size_t size, int value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Construct
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:87,1
    - Dst: google::protobuf::OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    - Dst: get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - enum_strings
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - internal::ExplicitlyConstructed<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::InitializeEnumStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - get_mutable
    - google::protobuf::OnShutdownDestroyString
    - Construct
    linkageType: ''
    returnType: bool
    signature: "bool InitializeEnumStrings(\n    const EnumEntry* enums, const int*
      sorted_indices, size_t size,\n    internal::ExplicitlyConstructed<std::string>*
      enum_strings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - size
    - name
    - value
    argTypes:
    - EnumEntry*
    - size_t
    - StringPiece
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::LookUpEnumValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    linkageType: ''
    returnType: bool
    signature: "bool LookUpEnumValue(const EnumEntry* enums, size_t size,\n                     StringPiece
      name, int* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - value
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::LookUpEnumName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    - google::protobuf::internal::GetValue
    linkageType: ''
    returnType: int
    signature: "int LookUpEnumName(const EnumEntry* enums, const int* sorted_indices,\n
      \                  size_t size, int value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Construct
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:87,1
    - Dst: google::protobuf::OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    - Dst: get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - enum_strings
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - internal::ExplicitlyConstructed<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::InitializeEnumStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - get_mutable
    - google::protobuf::OnShutdownDestroyString
    - Construct
    linkageType: ''
    returnType: bool
    signature: "bool InitializeEnumStrings(\n    const EnumEntry* enums, const int*
      sorted_indices, size_t size,\n    internal::ExplicitlyConstructed<std::string>*
      enum_strings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - size
    - name
    - value
    argTypes:
    - EnumEntry*
    - size_t
    - StringPiece
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::LookUpEnumValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    linkageType: ''
    returnType: bool
    signature: "bool LookUpEnumValue(const EnumEntry* enums, size_t size,\n                     StringPiece
      name, int* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - value
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::LookUpEnumName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    - google::protobuf::internal::GetValue
    linkageType: ''
    returnType: int
    signature: "int LookUpEnumName(const EnumEntry* enums, const int* sorted_indices,\n
      \                  size_t size, int value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Construct
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:87,1
    - Dst: google::protobuf::OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    - Dst: get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - enum_strings
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - internal::ExplicitlyConstructed<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::InitializeEnumStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - get_mutable
    - google::protobuf::OnShutdownDestroyString
    - Construct
    linkageType: ''
    returnType: bool
    signature: "bool InitializeEnumStrings(\n    const EnumEntry* enums, const int*
      sorted_indices, size_t size,\n    internal::ExplicitlyConstructed<std::string>*
      enum_strings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - size
    - name
    - value
    argTypes:
    - EnumEntry*
    - size_t
    - StringPiece
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::LookUpEnumValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    linkageType: ''
    returnType: bool
    signature: "bool LookUpEnumValue(const EnumEntry* enums, size_t size,\n                     StringPiece
      name, int* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - value
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::LookUpEnumName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    - google::protobuf::internal::GetValue
    linkageType: ''
    returnType: int
    signature: "int LookUpEnumName(const EnumEntry* enums, const int* sorted_indices,\n
      \                  size_t size, int value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Construct
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:87,1
    - Dst: google::protobuf::OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    - Dst: get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - enum_strings
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - internal::ExplicitlyConstructed<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::InitializeEnumStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - get_mutable
    - google::protobuf::OnShutdownDestroyString
    - Construct
    linkageType: ''
    returnType: bool
    signature: "bool InitializeEnumStrings(\n    const EnumEntry* enums, const int*
      sorted_indices, size_t size,\n    internal::ExplicitlyConstructed<std::string>*
      enum_strings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - size
    - name
    - value
    argTypes:
    - EnumEntry*
    - size_t
    - StringPiece
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::LookUpEnumValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    linkageType: ''
    returnType: bool
    signature: "bool LookUpEnumValue(const EnumEntry* enums, size_t size,\n                     StringPiece
      name, int* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - value
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::LookUpEnumName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    - google::protobuf::internal::GetValue
    linkageType: ''
    returnType: int
    signature: "int LookUpEnumName(const EnumEntry* enums, const int* sorted_indices,\n
      \                  size_t size, int value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Construct
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:87,1
    - Dst: google::protobuf::OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    - Dst: get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - enum_strings
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - internal::ExplicitlyConstructed<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::InitializeEnumStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - get_mutable
    - google::protobuf::OnShutdownDestroyString
    - Construct
    linkageType: ''
    returnType: bool
    signature: "bool InitializeEnumStrings(\n    const EnumEntry* enums, const int*
      sorted_indices, size_t size,\n    internal::ExplicitlyConstructed<std::string>*
      enum_strings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - EnumEntry
    - EnumEntry
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: google::protobuf::internal::EnumCompareByName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - enums
    - i
    - target
    argTypes:
    - EnumEntry*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::GetValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetValue(const EnumEntry* enums, int i, int target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - size
    - name
    - value
    argTypes:
    - EnumEntry*
    - size_t
    - StringPiece
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::LookUpEnumValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    linkageType: ''
    returnType: bool
    signature: "bool LookUpEnumValue(const EnumEntry* enums, size_t size,\n                     StringPiece
      name, int* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: google::protobuf::internal::GetValue
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:73,1
    - Dst: std::lower_bound
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - value
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::LookUpEnumName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - std::lower_bound
    - google::protobuf::internal::GetValue
    linkageType: ''
    returnType: int
    signature: "int LookUpEnumName(const EnumEntry* enums, const int* sorted_indices,\n
      \                  size_t size, int value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Construct
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:87,1
    - Dst: google::protobuf::OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    - Dst: get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - enums
    - sorted_indices
    - size
    - enum_strings
    argTypes:
    - EnumEntry*
    - int*
    - size_t
    - internal::ExplicitlyConstructed<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::InitializeEnumStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
    functionUses: 4
    functionsReached:
    - get_mutable
    - google::protobuf::OnShutdownDestroyString
    - Construct
    linkageType: ''
    returnType: bool
    signature: "bool InitializeEnumStrings(\n    const EnumEntry* enums, const int*
      sorted_indices, size_t size,\n    internal::ExplicitlyConstructed<std::string>*
      enum_strings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 4
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 1
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 1
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 5
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 1
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 1
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 2
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 2
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 3
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 3
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 7
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 2
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 2
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 3
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 3
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 4
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 4
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 8
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 5
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 5
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 4
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 4
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 5
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 5
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 10
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 7
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 7
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 21
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 11
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 7
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 7
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 8
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 8
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 32
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 27
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 13
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 32
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 8
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 8
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 10
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 10
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 30
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 20
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 14
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 40
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 11
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 11
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 33
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 22
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 11
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 11
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 40
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 10
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 10
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 11
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 11
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 36
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 16
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 48
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 13
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 13
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 39
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 65
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 26
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 13
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 13
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 17
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 48
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 21
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 13
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 13
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 21
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 14
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 14
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 42
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 28
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 18
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 56
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 45
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 30
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 19
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 56
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 14
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 14
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 16
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 16
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 48
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 80
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 32
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 20
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 64
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 17
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 17
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 51
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 85
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 34
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 17
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 17
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 21
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 64
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 16
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 16
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 27
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 17
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 17
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 27
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 18
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 18
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 54
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 90
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 36
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 22
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 72
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 19
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 19
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 57
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 95
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 38
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 19
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 19
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 23
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 72
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 18
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 18
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 30
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 19
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 19
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 30
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 20
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 20
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 60
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 40
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 20
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 20
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 80
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 21
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 21
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 63
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 105
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 42
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 21
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 21
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 25
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 80
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 11
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 20
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 20
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 33
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 11
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 21
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 21
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 33
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 11
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 22
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 22
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 66
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 110
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 44
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 22
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 22
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 26
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 88
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 23
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 23
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 69
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 69
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 115
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 46
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 23
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 23
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 27
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 88
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 22
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 22
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 36
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 23
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 23
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 36
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 72
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 120
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 48
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 28
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 96
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 25
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 25
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 75
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 125
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 50
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 25
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 25
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 29
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 96
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 13
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 24
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 39
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 13
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 25
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 25
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 39
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 13
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 26
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 26
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 78
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 78
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 130
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 52
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 26
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 26
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 30
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 104
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 27
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 27
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 81
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 81
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 135
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 54
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 27
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 27
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 31
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 104
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 26
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 26
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 42
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 27
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 27
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 42
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 28
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 28
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 84
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 140
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 56
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 28
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 28
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 32
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 112
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 29
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 29
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 87
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 87
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 145
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 58
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 29
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 29
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 33
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 112
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 28
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 28
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 45
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 29
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 29
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 45
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 30
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 30
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 90
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 90
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 150
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 60
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 30
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 30
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 34
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 120
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 31
    functionsReached:
    - isalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(char ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iswalpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - wchar_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: google::protobuf::io::win32::is_alpha
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 31
    functionsReached:
    - iswalpha
    linkageType: ''
    returnType: bool
    signature: bool is_alpha(wchar_t ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::io::win32::null_or_empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool null_or_empty(const char_type* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::is_alpha
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::win32::has_drive_letter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 93
    functionsReached:
    - google::protobuf::io::win32::is_alpha
    linkageType: ''
    returnType: bool
    signature: bool has_drive_letter(const char_type* ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: google::protobuf::io::win32::has_longpath_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 93
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_longpath_prefix(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::io::win32::is_separator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 155
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_separator(char_type c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::win32::is_path_absolute
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 62
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_path_absolute(const char_type* path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::win32::is_drive_relative
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 31
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_drive_letter
    linkageType: ''
    returnType: bool
    signature: bool is_drive_relative(const char_type* path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:136,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:137,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:140,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:144,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:145,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' path1'
    - ' path2'
    argTypes:
    - wstring
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 151
    functionName: google::protobuf::io::win32::join_paths
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 31
    functionsReached:
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - c_str
    - google::protobuf::io::win32::is_path_absolute
    - empty
    - substr
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring join_paths(const wstring& path1, const wstring& path2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:154,1
    - Dst: wstring::substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:155,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:160,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:166,1
    - Dst: std::vector::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:178,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:179,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:180,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:182,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:183,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:193,1
    - Dst: google::protobuf::io::win32::has_drive_letter
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:194,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:201,1
    - Dst: wstring::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: wstring::size
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:209,1
    - Dst: std::wstringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:212,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 1
    argNames:
    - path
    argTypes:
    - wstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 213
    functionName: google::protobuf::io::win32::normalize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 35
    functionsReached:
    - wstring::c_str
    - std::vector::pop_back
    - google::protobuf::io::win32::is_separator
    - std::vector::empty
    - google::protobuf::io::win32::has_longpath_prefix
    - std::wstringstream::str
    - c_str
    - google::protobuf::io::win32::has_drive_letter
    - wstring::size
    - std::vector::size
    - std::vector::push_back
    - wstring::substr
    - wstring::empty
    - size
    linkageType: ''
    returnType: wstring
    signature: wstring normalize(wstring path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:216,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:217,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:221,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:224,1
    - Dst: google::protobuf::io::win32::is_separator
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_drive_relative
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:228,1
    - Dst: google::protobuf::io::win32::is_path_absolute
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:233,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:234,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:235,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:238,1
    - Dst: ::GetCurrentDirectoryW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:239,1
    - Dst: google::protobuf::io::win32::join_paths
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:240,1
    - Dst: google::protobuf::io::win32::normalize
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:242,1
    - Dst: google::protobuf::io::win32::has_longpath_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:243,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - path
    - result
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::win32::as_windows_path
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 120
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::is_separator
    - google::protobuf::io::win32::has_longpath_prefix
    - wstring*::clear
    - google::protobuf::io::win32::null_or_empty
    - ::GetCurrentDirectoryW
    - std::unique_ptr::get
    - google::protobuf::io::win32::join_paths
    - WCHAR::WCHAR
    - google::protobuf::io::win32::is_path_absolute
    - wstring
    - google::protobuf::io::win32::normalize
    - GetLastError
    - google::protobuf::io::win32::is_drive_relative
    linkageType: ''
    returnType: bool
    signature: bool as_windows_path(const char* path, wstring* result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:259,1
    - Dst: ::_wopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:263,1
    - Dst: ::_open
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - path
    - flags
    - mode
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: google::protobuf::io::win32::open
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_open
    - google::protobuf::io::win32::as_windows_path
    - ::_wopen
    linkageType: ''
    returnType: int
    signature: int open(const char* path, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:272,1
    - Dst: ::_wmkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:276,1
    - Dst: ::_mkdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - _mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: google::protobuf::io::win32::mkdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_mkdir
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    - ::_wmkdir
    linkageType: ''
    returnType: int
    signature: int mkdir(const char* path, int _mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:285,1
    - Dst: ::_waccess
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:289,1
    - Dst: ::_access
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 282
    functionDepth: 5
    functionLinenumber: 282
    functionLinenumberEnd: 293
    functionName: google::protobuf::io::win32::access
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_waccess
    - wstring::c_str
    - ::_access
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int access(const char* path, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:298,1
    - Dst: ::_wchdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:302,1
    - Dst: ::_chdir
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::win32::chdir
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::_wchdir
    - google::protobuf::io::win32::as_windows_path
    - ::_chdir
    linkageType: ''
    returnType: int
    signature: int chdir(const char* path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:311,1
    - Dst: ::_wstat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:315,1
    - Dst: ::_stat
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - buffer
    argTypes:
    - char*
    - struct _stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: google::protobuf::io::win32::stat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_wstat
    - ::_stat
    - wstring::c_str
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: int
    signature: int stat(const char* path, struct _stat* buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:323,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:328,1
    - Dst: google::protobuf::io::win32::strings::utf8_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:333,1
    - Dst: ::_wfopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:337,1
    - Dst: google::protobuf::io::win32::fopen
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 341
    functionName: google::protobuf::io::win32::fopen
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::io::win32::strings::utf8_to_wcs
    - wstring::c_str
    - google::protobuf::io::win32::null_or_empty
    - google::protobuf::io::win32::as_windows_path
    - google::protobuf::io::win32::fopen
    - ::_wfopen
    linkageType: ''
    returnType: FILE
    signature: FILE * fopen(const char* path, const char* mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_close
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::win32::close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_close
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 345
    functionName: google::protobuf::io::win32::dup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup
    linkageType: ''
    returnType: int
    signature: int dup(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_dup2
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd1
    - fd2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 347
    functionName: google::protobuf::io::win32::dup2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_dup2
    linkageType: ''
    returnType: int
    signature: int dup2(int fd1, int fd2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_read
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::win32::read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_read
    linkageType: ''
    returnType: int
    signature: int read(int fd, void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_setmode
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: google::protobuf::io::win32::setmode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_setmode
    linkageType: ''
    returnType: int
    signature: int setmode(int fd, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::_write
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - buffer
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::io::win32::write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - ::_write
    linkageType: ''
    returnType: int
    signature: int write(int fd, const void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    - Dst: wstring
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::io::win32::testonly_utf8_to_winpath
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring
    - google::protobuf::io::win32::as_windows_path
    linkageType: ''
    returnType: wstring
    signature: wstring testonly_utf8_to_winpath(const char* path)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:366,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:368,1
    - Dst: google::protobuf::io::win32::as_windows_path
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:373,1
    - Dst: ::FindFirstFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: wstring::c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:380,1
    - Dst: find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:386,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:389,1
    - Dst: google::protobuf::io::win32::strings::wcs_to_utf8
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:399,1
    - Dst: string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:403,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:404,1
    - Dst: consume
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:406,1
    - Dst: ::FindNextFileW
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:409,1
    - Dst: FindClose
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - ' path'
    - consume
    argTypes:
    - string
    - std::function<void(const string&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 5
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::win32::ExpandWildcards
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 0
    functionsReached:
    - wstring::c_str
    - ::FindFirstFileW
    - c_str
    - google::protobuf::io::win32::strings::wcs_to_utf8
    - consume
    - find_first_of
    - google::protobuf::io::win32::as_windows_path
    - string::empty
    - substr
    - find_last_of
    - ::FindNextFileW
    - FindClose
    linkageType: ''
    returnType: ExpandWildcardsResult
    signature: "ExpandWildcardsResult ExpandWildcards(\n    const string& path, std::function<void(const
      string&)> consume)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 30
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 30
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 48
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:417,1
    - Dst: string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:418,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:422,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:423,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:426,1
    - Dst: CHAR::CHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:430,1
    - Dst: WideCharToMultiByte
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:431,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:432,1
    - Dst: string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - outUtf8
    argTypes:
    - WCHAR*
    - string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 435
    functionName: google::protobuf::io::win32::strings::wcs_to_mbs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 31
    functionsReached:
    - SetLastError
    - null_or_empty
    - std::unique_ptr::get
    - string*::assign
    - WideCharToMultiByte
    - string*::clear
    - CHAR::CHAR
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_mbs(const WCHAR* s, string* out, bool outUtf8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: null_or_empty
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:438,1
    - Dst: wstring*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:439,1
    - Dst: SetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:443,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:445,1
    - Dst: GetLastError
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:446,1
    - Dst: WCHAR::WCHAR
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:449,1
    - Dst: MultiByteToWideChar
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:450,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:451,1
    - Dst: wstring*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    - Dst: std::unique_ptr::get
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - s
    - out
    - inUtf8
    argTypes:
    - char*
    - wstring*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: google::protobuf::io::win32::strings::mbs_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 31
    functionsReached:
    - SetLastError
    - null_or_empty
    - wstring*::clear
    - std::unique_ptr::get
    - wstring*::assign
    - WCHAR::WCHAR
    - MultiByteToWideChar
    - GetLastError
    linkageType: ''
    returnType: bool
    signature: bool mbs_to_wcs(const char* s, wstring* out, bool inUtf8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::mbs_to_wcs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - char*
    - wstring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::io::win32::strings::utf8_to_wcs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 48
    functionsReached:
    - google::protobuf::io::win32::strings::mbs_to_wcs
    linkageType: ''
    returnType: bool
    signature: bool utf8_to_wcs(const char* input, wstring* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::win32::strings::wcs_to_mbs
      Src: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - out
    argTypes:
    - wchar_t*
    - string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::io::win32::strings::wcs_to_utf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::io::win32::strings::wcs_to_mbs
    linkageType: ''
    returnType: bool
    signature: bool wcs_to_utf8(const wchar_t* input, string* out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:52,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:53,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:58,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '& LazyString::Init() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - WrappedMutex::Unlock
    - std::string::string
    - store
    - load
    - WrappedMutex::Lock
    - static_cast<void*>
    linkageType: ''
    returnType: std::string
    signature: std::string & LazyString::Init() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:67,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::data
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::length
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - ConstStringParam::length
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ConstStringParam::data
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value,\n                         ConstStringParam
      value, ::google::protobuf::Arena* arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:76,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:82,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:83,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: ::google::protobuf::Arena*::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:85,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:86,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - ' value'
    - arena
    argTypes:
    - std::string*
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - IsDonatedString
    - std::move
    - Get
    - ::google::protobuf::Arena*::OwnDestructor
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value, std::string&&
      value,\n                         ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 3
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, ConstStringParam value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 4
    functionsReached:
    - GetEmptyStringAlreadyInited
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, ConstStringParam value,\n
      \                        ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 6
    functionsReached:
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:114,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - IsDefault
    - IsDonatedString
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::Mutable(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:123,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Mutable(const LazyString& default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:132,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:136,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoCopy(const std::string* default_value,\n
      \                                          ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:146,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::ArenaStringPtr::MutableSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - get
    - Arena::Create<std::string>
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableSlow(::google::protobuf::Arena*
      arena,\n                                         const Lazy&... lazy_default)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:156,1
    - Dst: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::ArenaStringPtr::Release
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    - IsDefault
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Release(const std::string* default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:167,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:170,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:173,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:178,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDonatedString
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    - Get
    - std::string*::swap
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::ReleaseNonDefault(const std::string*
      default_value,\n                                               ::google::protobuf::Arena*
      arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:188,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:189,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:195,1
    - Dst: ::google::protobuf::Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:197,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:203,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ArenaStringPtr::SetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ::google::protobuf::Arena*::Own
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::SetAllocated(const std::string* default_value,\n
      \                                 std::string* value, ::google::protobuf::Arena*
      arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:214,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - IsDonatedString
    - IsDefault
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Destroy(const std::string* default_value,\n                             ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 1
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(NonEmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - Get
    - GetEmptyStringAlreadyInited
    - IsDefault
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearToEmpty()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:244,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:246,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - get
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::ClearToDefault(const LazyString& default_value,\n
      \                                   ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:52,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:53,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:58,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '& LazyString::Init() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - WrappedMutex::Unlock
    - std::string::string
    - store
    - load
    - WrappedMutex::Lock
    - static_cast<void*>
    linkageType: ''
    returnType: std::string
    signature: std::string & LazyString::Init() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:67,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::data
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::length
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 11
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - ConstStringParam::length
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ConstStringParam::data
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value,\n                         ConstStringParam
      value, ::google::protobuf::Arena* arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:76,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:82,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:83,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: ::google::protobuf::Arena*::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:85,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:86,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - ' value'
    - arena
    argTypes:
    - std::string*
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - IsDonatedString
    - std::move
    - Get
    - ::google::protobuf::Arena*::OwnDestructor
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value, std::string&&
      value,\n                         ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 13
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, ConstStringParam value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 14
    functionsReached:
    - GetEmptyStringAlreadyInited
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, ConstStringParam value,\n
      \                        ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 16
    functionsReached:
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:114,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - IsDefault
    - IsDonatedString
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::Mutable(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:123,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Mutable(const LazyString& default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:132,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:136,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoCopy(const std::string* default_value,\n
      \                                          ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:146,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::ArenaStringPtr::MutableSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - get
    - Arena::Create<std::string>
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableSlow(::google::protobuf::Arena*
      arena,\n                                         const Lazy&... lazy_default)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:156,1
    - Dst: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::ArenaStringPtr::Release
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    - IsDefault
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Release(const std::string* default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:167,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:170,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:173,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:178,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDonatedString
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    - Get
    - std::string*::swap
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::ReleaseNonDefault(const std::string*
      default_value,\n                                               ::google::protobuf::Arena*
      arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:188,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:189,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:195,1
    - Dst: ::google::protobuf::Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:197,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:203,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ArenaStringPtr::SetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ::google::protobuf::Arena*::Own
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::SetAllocated(const std::string* default_value,\n
      \                                 std::string* value, ::google::protobuf::Arena*
      arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:214,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 2
    functionsReached:
    - IsDonatedString
    - IsDefault
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Destroy(const std::string* default_value,\n                             ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 3
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(NonEmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - Get
    - GetEmptyStringAlreadyInited
    - IsDefault
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearToEmpty()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:244,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:246,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - get
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::ClearToDefault(const LazyString& default_value,\n
      \                                   ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:52,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:53,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:58,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '& LazyString::Init() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - WrappedMutex::Unlock
    - std::string::string
    - store
    - load
    - WrappedMutex::Lock
    - static_cast<void*>
    linkageType: ''
    returnType: std::string
    signature: std::string & LazyString::Init() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:67,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::data
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::length
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - ConstStringParam::length
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ConstStringParam::data
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value,\n                         ConstStringParam
      value, ::google::protobuf::Arena* arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:76,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:82,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:83,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: ::google::protobuf::Arena*::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:85,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:86,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - ' value'
    - arena
    argTypes:
    - std::string*
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 22
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - IsDonatedString
    - std::move
    - Get
    - ::google::protobuf::Arena*::OwnDestructor
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value, std::string&&
      value,\n                         ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 23
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, ConstStringParam value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 24
    functionsReached:
    - GetEmptyStringAlreadyInited
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 25
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, ConstStringParam value,\n
      \                        ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 26
    functionsReached:
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:114,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - IsDefault
    - IsDonatedString
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::Mutable(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:123,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Mutable(const LazyString& default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:132,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:136,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoCopy(const std::string* default_value,\n
      \                                          ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:146,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::ArenaStringPtr::MutableSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 6
    functionsReached:
    - GOOGLE_DCHECK
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - get
    - Arena::Create<std::string>
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableSlow(::google::protobuf::Arena*
      arena,\n                                         const Lazy&... lazy_default)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:156,1
    - Dst: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::ArenaStringPtr::Release
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    - IsDefault
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Release(const std::string* default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:167,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:170,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:173,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:178,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDonatedString
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    - Get
    - std::string*::swap
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::ReleaseNonDefault(const std::string*
      default_value,\n                                               ::google::protobuf::Arena*
      arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:188,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:189,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:195,1
    - Dst: ::google::protobuf::Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:197,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:203,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ArenaStringPtr::SetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ::google::protobuf::Arena*::Own
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::SetAllocated(const std::string* default_value,\n
      \                                 std::string* value, ::google::protobuf::Arena*
      arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:214,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 4
    functionsReached:
    - IsDonatedString
    - IsDefault
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Destroy(const std::string* default_value,\n                             ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 5
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(NonEmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - Get
    - GetEmptyStringAlreadyInited
    - IsDefault
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearToEmpty()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:244,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:246,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - get
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::ClearToDefault(const LazyString& default_value,\n
      \                                   ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:52,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:53,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:58,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '& LazyString::Init() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - WrappedMutex::Unlock
    - std::string::string
    - store
    - load
    - WrappedMutex::Lock
    - static_cast<void*>
    linkageType: ''
    returnType: std::string
    signature: std::string & LazyString::Init() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:67,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::data
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::length
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 31
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - ConstStringParam::length
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ConstStringParam::data
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value,\n                         ConstStringParam
      value, ::google::protobuf::Arena* arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:76,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:82,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:83,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: ::google::protobuf::Arena*::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:85,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:86,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - ' value'
    - arena
    argTypes:
    - std::string*
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 32
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - IsDonatedString
    - std::move
    - Get
    - ::google::protobuf::Arena*::OwnDestructor
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value, std::string&&
      value,\n                         ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 33
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, ConstStringParam value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 34
    functionsReached:
    - GetEmptyStringAlreadyInited
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 35
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, ConstStringParam value,\n
      \                        ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 36
    functionsReached:
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:114,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - IsDefault
    - IsDonatedString
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::Mutable(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:123,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Mutable(const LazyString& default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:132,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:136,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoCopy(const std::string* default_value,\n
      \                                          ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:146,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::ArenaStringPtr::MutableSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 8
    functionsReached:
    - GOOGLE_DCHECK
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - get
    - Arena::Create<std::string>
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableSlow(::google::protobuf::Arena*
      arena,\n                                         const Lazy&... lazy_default)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:156,1
    - Dst: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::ArenaStringPtr::Release
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    - IsDefault
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Release(const std::string* default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:167,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:170,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:173,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:178,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDonatedString
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    - Get
    - std::string*::swap
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::ReleaseNonDefault(const std::string*
      default_value,\n                                               ::google::protobuf::Arena*
      arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:188,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:189,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:195,1
    - Dst: ::google::protobuf::Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:197,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:203,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ArenaStringPtr::SetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ::google::protobuf::Arena*::Own
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::SetAllocated(const std::string* default_value,\n
      \                                 std::string* value, ::google::protobuf::Arena*
      arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:214,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 6
    functionsReached:
    - IsDonatedString
    - IsDefault
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Destroy(const std::string* default_value,\n                             ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 7
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(NonEmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - Get
    - GetEmptyStringAlreadyInited
    - IsDefault
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearToEmpty()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:244,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:246,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - get
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::ClearToDefault(const LazyString& default_value,\n
      \                                   ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:52,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:53,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:58,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '& LazyString::Init() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - WrappedMutex::Unlock
    - std::string::string
    - store
    - load
    - WrappedMutex::Lock
    - static_cast<void*>
    linkageType: ''
    returnType: std::string
    signature: std::string & LazyString::Init() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:67,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::data
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::length
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 41
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - ConstStringParam::length
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ConstStringParam::data
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value,\n                         ConstStringParam
      value, ::google::protobuf::Arena* arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:76,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:82,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:83,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: ::google::protobuf::Arena*::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:85,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:86,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - ' value'
    - arena
    argTypes:
    - std::string*
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 42
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - IsDonatedString
    - std::move
    - Get
    - ::google::protobuf::Arena*::OwnDestructor
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value, std::string&&
      value,\n                         ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 43
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, ConstStringParam value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 44
    functionsReached:
    - GetEmptyStringAlreadyInited
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 45
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, ConstStringParam value,\n
      \                        ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 46
    functionsReached:
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:114,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - IsDefault
    - IsDonatedString
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::Mutable(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:123,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Mutable(const LazyString& default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:132,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:136,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoCopy(const std::string* default_value,\n
      \                                          ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:146,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::ArenaStringPtr::MutableSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 10
    functionsReached:
    - GOOGLE_DCHECK
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - get
    - Arena::Create<std::string>
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableSlow(::google::protobuf::Arena*
      arena,\n                                         const Lazy&... lazy_default)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:156,1
    - Dst: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::ArenaStringPtr::Release
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    - IsDefault
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Release(const std::string* default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:167,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:170,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:173,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:178,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 5
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDonatedString
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    - Get
    - std::string*::swap
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::ReleaseNonDefault(const std::string*
      default_value,\n                                               ::google::protobuf::Arena*
      arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:188,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:189,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:195,1
    - Dst: ::google::protobuf::Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:197,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:203,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ArenaStringPtr::SetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ::google::protobuf::Arena*::Own
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::SetAllocated(const std::string* default_value,\n
      \                                 std::string* value, ::google::protobuf::Arena*
      arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:214,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 8
    functionsReached:
    - IsDonatedString
    - IsDefault
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Destroy(const std::string* default_value,\n                             ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 9
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(NonEmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - Get
    - GetEmptyStringAlreadyInited
    - IsDefault
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearToEmpty()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:244,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:246,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - get
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::ClearToDefault(const LazyString& default_value,\n
      \                                   ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:52,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:53,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:58,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '& LazyString::Init() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - WrappedMutex::Unlock
    - std::string::string
    - store
    - load
    - WrappedMutex::Lock
    - static_cast<void*>
    linkageType: ''
    returnType: std::string
    signature: std::string & LazyString::Init() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:67,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::data
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::length
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 51
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - ConstStringParam::length
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ConstStringParam::data
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value,\n                         ConstStringParam
      value, ::google::protobuf::Arena* arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:76,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:82,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:83,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: ::google::protobuf::Arena*::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:85,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:86,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - ' value'
    - arena
    argTypes:
    - std::string*
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 52
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - IsDonatedString
    - std::move
    - Get
    - ::google::protobuf::Arena*::OwnDestructor
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value, std::string&&
      value,\n                         ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 53
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, ConstStringParam value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 54
    functionsReached:
    - GetEmptyStringAlreadyInited
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 55
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, ConstStringParam value,\n
      \                        ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 56
    functionsReached:
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:114,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - IsDefault
    - IsDonatedString
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::Mutable(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:123,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Mutable(const LazyString& default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:132,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:136,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoCopy(const std::string* default_value,\n
      \                                          ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:146,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::ArenaStringPtr::MutableSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 12
    functionsReached:
    - GOOGLE_DCHECK
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - get
    - Arena::Create<std::string>
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableSlow(::google::protobuf::Arena*
      arena,\n                                         const Lazy&... lazy_default)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:156,1
    - Dst: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::ArenaStringPtr::Release
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    - IsDefault
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Release(const std::string* default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:167,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:170,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:173,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:178,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 6
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDonatedString
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    - Get
    - std::string*::swap
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::ReleaseNonDefault(const std::string*
      default_value,\n                                               ::google::protobuf::Arena*
      arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:188,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:189,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:195,1
    - Dst: ::google::protobuf::Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:197,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:203,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ArenaStringPtr::SetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ::google::protobuf::Arena*::Own
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::SetAllocated(const std::string* default_value,\n
      \                                 std::string* value, ::google::protobuf::Arena*
      arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:214,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 10
    functionsReached:
    - IsDonatedString
    - IsDefault
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Destroy(const std::string* default_value,\n                             ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 11
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(NonEmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - Get
    - GetEmptyStringAlreadyInited
    - IsDefault
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearToEmpty()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:244,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:246,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - get
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::ClearToDefault(const LazyString& default_value,\n
      \                                   ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:52,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:53,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:58,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '& LazyString::Init() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - WrappedMutex::Unlock
    - std::string::string
    - store
    - load
    - WrappedMutex::Lock
    - static_cast<void*>
    linkageType: ''
    returnType: std::string
    signature: std::string & LazyString::Init() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:67,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::data
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::length
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 61
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - ConstStringParam::length
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ConstStringParam::data
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value,\n                         ConstStringParam
      value, ::google::protobuf::Arena* arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:76,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:82,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:83,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: ::google::protobuf::Arena*::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:85,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:86,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - ' value'
    - arena
    argTypes:
    - std::string*
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 62
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - IsDonatedString
    - std::move
    - Get
    - ::google::protobuf::Arena*::OwnDestructor
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value, std::string&&
      value,\n                         ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 63
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, ConstStringParam value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 64
    functionsReached:
    - GetEmptyStringAlreadyInited
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 65
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, ConstStringParam value,\n
      \                        ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 66
    functionsReached:
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:114,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - IsDefault
    - IsDonatedString
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::Mutable(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:123,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Mutable(const LazyString& default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:132,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:136,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoCopy(const std::string* default_value,\n
      \                                          ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:146,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::ArenaStringPtr::MutableSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 14
    functionsReached:
    - GOOGLE_DCHECK
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - get
    - Arena::Create<std::string>
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableSlow(::google::protobuf::Arena*
      arena,\n                                         const Lazy&... lazy_default)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:156,1
    - Dst: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::ArenaStringPtr::Release
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    - IsDefault
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Release(const std::string* default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:167,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:170,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:173,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:178,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 7
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDonatedString
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    - Get
    - std::string*::swap
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::ReleaseNonDefault(const std::string*
      default_value,\n                                               ::google::protobuf::Arena*
      arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:188,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:189,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:195,1
    - Dst: ::google::protobuf::Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:197,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:203,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ArenaStringPtr::SetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ::google::protobuf::Arena*::Own
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::SetAllocated(const std::string* default_value,\n
      \                                 std::string* value, ::google::protobuf::Arena*
      arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:214,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 12
    functionsReached:
    - IsDonatedString
    - IsDefault
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Destroy(const std::string* default_value,\n                             ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 13
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(NonEmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - Get
    - GetEmptyStringAlreadyInited
    - IsDefault
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearToEmpty()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:244,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:246,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - get
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::ClearToDefault(const LazyString& default_value,\n
      \                                   ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:52,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:53,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:56,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:58,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: '& LazyString::Init() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - WrappedMutex::Unlock
    - std::string::string
    - store
    - load
    - WrappedMutex::Lock
    - static_cast<void*>
    linkageType: ''
    returnType: std::string
    signature: std::string & LazyString::Init() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:67,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:68,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::data
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    - Dst: ConstStringParam::length
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 71
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - ConstStringParam::length
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ConstStringParam::data
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value,\n                         ConstStringParam
      value, ::google::protobuf::Arena* arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:76,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:78,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:80,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:82,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:83,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:84,1
    - Dst: ::google::protobuf::Arena*::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:85,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:86,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - ' value'
    - arena
    argTypes:
    - std::string*
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 72
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - IsDonatedString
    - std::move
    - Get
    - ::google::protobuf::Arena*::OwnDestructor
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(const std::string* default_value, std::string&&
      value,\n                         ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 73
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, ConstStringParam value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 74
    functionsReached:
    - GetEmptyStringAlreadyInited
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(EmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - ConstStringParam
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 75
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, ConstStringParam value,\n
      \                        ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - arena
    argTypes:
    - std::string
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::ArenaStringPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 76
    functionsReached:
    - std::move
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Set(NonEmptyDefault, std::string&& value,\n                         ::google::protobuf::Arena*
      arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:113,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:114,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - IsDefault
    - IsDonatedString
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::Mutable(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:122,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:123,1
    - Dst: google::protobuf::internal::ArenaStringPtr::MutableSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::ArenaStringPtr::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::MutableSlow
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Mutable(const LazyString& default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:131,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:132,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:134,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:136,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoCopy(const std::string* default_value,\n
      \                                          ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:146,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:147,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:149,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::ArenaStringPtr::MutableSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 16
    functionsReached:
    - GOOGLE_DCHECK
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - get
    - Arena::Create<std::string>
    - GetEmptyStringAlreadyInited
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableSlow(::google::protobuf::Arena*
      arena,\n                                         const Lazy&... lazy_default)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:156,1
    - Dst: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::ArenaStringPtr::Release
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    - IsDefault
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::Release(const std::string* default_value,\n
      \                                    ::google::protobuf::Arena* arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:165,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:167,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:170,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:171,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:173,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:175,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:178,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:179,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 8
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - std::string::string
    - IsDonatedString
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    - Get
    - std::string*::swap
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::ReleaseNonDefault(const std::string*
      default_value,\n                                               ::google::protobuf::Arena*
      arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:188,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:189,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:192,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:195,1
    - Dst: ::google::protobuf::Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:197,1
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:203,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - default_value
    - value
    - arena
    argTypes:
    - std::string*
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ArenaStringPtr::SetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::Set
    - Arena::Create<std::string>
    - ::google::protobuf::Arena*::Own
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::SetAllocated(const std::string* default_value,\n
      \                                 std::string* value, ::google::protobuf::Arena*
      arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:213,1
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:214,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - default_value
    - arena
    argTypes:
    - std::string*
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 14
    functionsReached:
    - IsDonatedString
    - IsDefault
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Destroy(const std::string* default_value,\n                             ::google::protobuf::Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 15
    functionsReached:
    - GetEmptyStringAlreadyInited
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(EmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::ArenaStringPtr::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Destroy
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::Destroy(NonEmptyDefault, ::google::protobuf::Arena*
      arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:229,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - Get
    - GetEmptyStringAlreadyInited
    - IsDefault
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearToEmpty()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:244,1
    - Dst: IsDonatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:246,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' default_value'
    - arena
    argTypes:
    - LazyString
    - ::google::protobuf::Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: google::protobuf::internal::ArenaStringPtr::ClearToDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
    functionUses: 0
    functionsReached:
    - get
    - IsDefault
    - IsDonatedString
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::ClearToDefault(const LazyString& default_value,\n
      \                                   ::google::protobuf::Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:43,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:43,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' o'
    - piece
    argTypes:
    - std::ostream
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '& operator<<(std::ostream& o, StringPiece piece)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - write
    - StringPiece::data
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& o, StringPiece piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - details
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: google::protobuf::StringPiece::LogFatalSizeTooBig
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StringPiece::LogFatalSizeTooBig(size_t size, const char* details)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:54,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - pos
    argTypes:
    - StringPiece
    - stringpiece_ssize_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: google::protobuf::StringPiece::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void StringPiece::StringPiece(StringPiece x, stringpiece_ssize_type
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:61,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:62,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:63,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x
    - pos
    - len
    argTypes:
    - StringPiece
    - stringpiece_ssize_type
    - stringpiece_ssize_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: google::protobuf::StringPiece::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LE
    - std::min
    linkageType: ''
    returnType: void
    signature: "void StringPiece::StringPiece(StringPiece x,\n                         stringpiece_ssize_type
      pos,\n                         stringpiece_ssize_type len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::StringPiece::CopyToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::string*::assign
    linkageType: ''
    returnType: void
    signature: void StringPiece::CopyToString(std::string* target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: google::protobuf::StringPiece::AppendToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void StringPiece::AppendToString(std::string* target) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: google::protobuf::StringPiece::Consume
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - starts_with
    linkageType: ''
    returnType: bool
    signature: bool StringPiece::Consume(StringPiece x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ends_with
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: google::protobuf::StringPiece::ConsumeFromEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - ends_with
    linkageType: ''
    returnType: bool
    signature: bool StringPiece::ConsumeFromEnd(StringPiece x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:95,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - n
    - pos
    argTypes:
    - char*
    - size_type
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: google::protobuf::StringPiece::copy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::min
    - memcpy
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::copy(char* buf,\n                                         size_type
      n,\n                                         size_type pos) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: google::protobuf::StringPiece::contains
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::StringPiece::find
    linkageType: ''
    returnType: bool
    signature: bool StringPiece::contains(StringPiece s) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:105,1
    - Dst: std::search
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: google::protobuf::StringPiece::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 1
    functionsReached:
    - std::search
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::find(StringPiece s, size_type pos)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:115,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:118,1
    - Dst: memchr
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: google::protobuf::StringPiece::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 1
    functionsReached:
    - memchr
    - static_cast<const char*>
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::find(char c, size_type pos) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:126,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:128,1
    - Dst: std::find_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: google::protobuf::StringPiece::rfind
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::find_end
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::rfind(StringPiece s, size_type
      pos) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:138,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: google::protobuf::StringPiece::rfind
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::min
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::rfind(char c, size_type pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:157,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:158,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - characters_wanted
    - table
    argTypes:
    - StringPiece
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: google::protobuf::BuildLookupTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - StringPiece::length
    - static_cast<unsigned char>
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: "void BuildLookupTable(StringPiece characters_wanted,\n                                    bool*
      table)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:170,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:173,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 180
    functionName: google::protobuf::StringPiece::find_first_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 1
    functionsReached:
    - BuildLookupTable
    - google::protobuf::StringPiece::find_first_of
    - static_cast<unsigned char>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_first_of(StringPiece s,\n
      \                                                 size_type pos) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find_first_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:187,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:190,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: google::protobuf::StringPiece::find_first_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::StringPiece::find_first_not_of
    - BuildLookupTable
    - static_cast<unsigned char>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_first_not_of(StringPiece
      s,\n                                                      size_type pos) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: google::protobuf::StringPiece::find_first_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 1
    functionsReached:
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_first_not_of(char c,\n                                                      size_type
      pos) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:215,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:218,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:220,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:220,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: google::protobuf::StringPiece::find_last_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    - static_cast<size_type>
    - BuildLookupTable
    - std::min
    - google::protobuf::StringPiece::find_last_of
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_last_of(StringPiece s,\n
      \                                                size_type pos) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:232,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:232,1
    - Dst: google::protobuf::StringPiece::find_last_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:236,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:239,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: google::protobuf::StringPiece::find_last_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::StringPiece::find_last_not_of
    - static_cast<unsigned char>
    - static_cast<size_type>
    - BuildLookupTable
    - std::min
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_last_not_of(StringPiece s,\n
      \                                                    size_type pos) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:253,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: google::protobuf::StringPiece::find_last_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 1
    functionsReached:
    - std::min
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_last_not_of(char c,\n                                                     size_type
      pos) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pos
    - n
    argTypes:
    - size_type
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: google::protobuf::StringPiece::substr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::StringPiece::StringPiece
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece StringPiece::substr(size_type pos, size_type n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:43,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:43,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' o'
    - piece
    argTypes:
    - std::ostream
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '& operator<<(std::ostream& o, StringPiece piece)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - write
    - StringPiece::data
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& o, StringPiece piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - details
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: google::protobuf::StringPiece::LogFatalSizeTooBig
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StringPiece::LogFatalSizeTooBig(size_t size, const char* details)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:54,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - pos
    argTypes:
    - StringPiece
    - stringpiece_ssize_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: google::protobuf::StringPiece::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void StringPiece::StringPiece(StringPiece x, stringpiece_ssize_type
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:61,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:62,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:63,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x
    - pos
    - len
    argTypes:
    - StringPiece
    - stringpiece_ssize_type
    - stringpiece_ssize_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: google::protobuf::StringPiece::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LE
    - std::min
    linkageType: ''
    returnType: void
    signature: "void StringPiece::StringPiece(StringPiece x,\n                         stringpiece_ssize_type
      pos,\n                         stringpiece_ssize_type len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::StringPiece::CopyToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::string*::assign
    linkageType: ''
    returnType: void
    signature: void StringPiece::CopyToString(std::string* target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: google::protobuf::StringPiece::AppendToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void StringPiece::AppendToString(std::string* target) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: google::protobuf::StringPiece::Consume
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - starts_with
    linkageType: ''
    returnType: bool
    signature: bool StringPiece::Consume(StringPiece x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ends_with
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: google::protobuf::StringPiece::ConsumeFromEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - ends_with
    linkageType: ''
    returnType: bool
    signature: bool StringPiece::ConsumeFromEnd(StringPiece x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:95,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - n
    - pos
    argTypes:
    - char*
    - size_type
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: google::protobuf::StringPiece::copy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::min
    - memcpy
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::copy(char* buf,\n                                         size_type
      n,\n                                         size_type pos) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: google::protobuf::StringPiece::contains
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::StringPiece::find
    linkageType: ''
    returnType: bool
    signature: bool StringPiece::contains(StringPiece s) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:105,1
    - Dst: std::search
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: google::protobuf::StringPiece::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 2
    functionsReached:
    - std::search
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::find(StringPiece s, size_type pos)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:115,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:118,1
    - Dst: memchr
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: google::protobuf::StringPiece::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 2
    functionsReached:
    - memchr
    - static_cast<const char*>
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::find(char c, size_type pos) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:126,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:128,1
    - Dst: std::find_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: google::protobuf::StringPiece::rfind
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::find_end
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::rfind(StringPiece s, size_type
      pos) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:138,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: google::protobuf::StringPiece::rfind
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::min
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::rfind(char c, size_type pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:157,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:158,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - characters_wanted
    - table
    argTypes:
    - StringPiece
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: google::protobuf::BuildLookupTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - StringPiece::length
    - static_cast<unsigned char>
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: "void BuildLookupTable(StringPiece characters_wanted,\n                                    bool*
      table)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:170,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:173,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 180
    functionName: google::protobuf::StringPiece::find_first_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 2
    functionsReached:
    - BuildLookupTable
    - google::protobuf::StringPiece::find_first_of
    - static_cast<unsigned char>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_first_of(StringPiece s,\n
      \                                                 size_type pos) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find_first_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:187,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:190,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: google::protobuf::StringPiece::find_first_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::StringPiece::find_first_not_of
    - BuildLookupTable
    - static_cast<unsigned char>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_first_not_of(StringPiece
      s,\n                                                      size_type pos) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: google::protobuf::StringPiece::find_first_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 2
    functionsReached:
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_first_not_of(char c,\n                                                      size_type
      pos) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:215,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:218,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:220,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:220,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: google::protobuf::StringPiece::find_last_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 2
    functionsReached:
    - static_cast<unsigned char>
    - static_cast<size_type>
    - BuildLookupTable
    - std::min
    - google::protobuf::StringPiece::find_last_of
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_last_of(StringPiece s,\n
      \                                                size_type pos) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:232,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:232,1
    - Dst: google::protobuf::StringPiece::find_last_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:236,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:239,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: google::protobuf::StringPiece::find_last_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::StringPiece::find_last_not_of
    - static_cast<unsigned char>
    - static_cast<size_type>
    - BuildLookupTable
    - std::min
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_last_not_of(StringPiece s,\n
      \                                                    size_type pos) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:253,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: google::protobuf::StringPiece::find_last_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 2
    functionsReached:
    - std::min
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_last_not_of(char c,\n                                                     size_type
      pos) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pos
    - n
    argTypes:
    - size_type
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: google::protobuf::StringPiece::substr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::StringPiece::StringPiece
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece StringPiece::substr(size_type pos, size_type n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:43,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:43,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' o'
    - piece
    argTypes:
    - std::ostream
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '& operator<<(std::ostream& o, StringPiece piece)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - write
    - StringPiece::data
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& o, StringPiece piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - details
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: google::protobuf::StringPiece::LogFatalSizeTooBig
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StringPiece::LogFatalSizeTooBig(size_t size, const char* details)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:54,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - pos
    argTypes:
    - StringPiece
    - stringpiece_ssize_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: google::protobuf::StringPiece::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void StringPiece::StringPiece(StringPiece x, stringpiece_ssize_type
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:61,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:62,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:63,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x
    - pos
    - len
    argTypes:
    - StringPiece
    - stringpiece_ssize_type
    - stringpiece_ssize_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: google::protobuf::StringPiece::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LE
    - std::min
    linkageType: ''
    returnType: void
    signature: "void StringPiece::StringPiece(StringPiece x,\n                         stringpiece_ssize_type
      pos,\n                         stringpiece_ssize_type len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::StringPiece::CopyToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::string*::assign
    linkageType: ''
    returnType: void
    signature: void StringPiece::CopyToString(std::string* target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: google::protobuf::StringPiece::AppendToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void StringPiece::AppendToString(std::string* target) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: google::protobuf::StringPiece::Consume
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - starts_with
    linkageType: ''
    returnType: bool
    signature: bool StringPiece::Consume(StringPiece x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ends_with
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: google::protobuf::StringPiece::ConsumeFromEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - ends_with
    linkageType: ''
    returnType: bool
    signature: bool StringPiece::ConsumeFromEnd(StringPiece x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:95,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - n
    - pos
    argTypes:
    - char*
    - size_type
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: google::protobuf::StringPiece::copy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::min
    - memcpy
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::copy(char* buf,\n                                         size_type
      n,\n                                         size_type pos) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: google::protobuf::StringPiece::contains
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::StringPiece::find
    linkageType: ''
    returnType: bool
    signature: bool StringPiece::contains(StringPiece s) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:105,1
    - Dst: std::search
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: google::protobuf::StringPiece::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 3
    functionsReached:
    - std::search
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::find(StringPiece s, size_type pos)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:115,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:118,1
    - Dst: memchr
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: google::protobuf::StringPiece::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 3
    functionsReached:
    - memchr
    - static_cast<const char*>
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::find(char c, size_type pos) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:126,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:128,1
    - Dst: std::find_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: google::protobuf::StringPiece::rfind
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::find_end
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::rfind(StringPiece s, size_type
      pos) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:138,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: google::protobuf::StringPiece::rfind
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::min
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::rfind(char c, size_type pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:157,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:158,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - characters_wanted
    - table
    argTypes:
    - StringPiece
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: google::protobuf::BuildLookupTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - StringPiece::length
    - static_cast<unsigned char>
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: "void BuildLookupTable(StringPiece characters_wanted,\n                                    bool*
      table)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:170,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:173,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 180
    functionName: google::protobuf::StringPiece::find_first_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 3
    functionsReached:
    - BuildLookupTable
    - google::protobuf::StringPiece::find_first_of
    - static_cast<unsigned char>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_first_of(StringPiece s,\n
      \                                                 size_type pos) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find_first_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:187,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:190,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: google::protobuf::StringPiece::find_first_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::StringPiece::find_first_not_of
    - BuildLookupTable
    - static_cast<unsigned char>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_first_not_of(StringPiece
      s,\n                                                      size_type pos) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: google::protobuf::StringPiece::find_first_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 3
    functionsReached:
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_first_not_of(char c,\n                                                      size_type
      pos) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:215,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:218,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:220,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:220,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: google::protobuf::StringPiece::find_last_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 3
    functionsReached:
    - static_cast<unsigned char>
    - static_cast<size_type>
    - BuildLookupTable
    - std::min
    - google::protobuf::StringPiece::find_last_of
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_last_of(StringPiece s,\n
      \                                                size_type pos) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:232,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:232,1
    - Dst: google::protobuf::StringPiece::find_last_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:236,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:239,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: google::protobuf::StringPiece::find_last_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::StringPiece::find_last_not_of
    - static_cast<unsigned char>
    - static_cast<size_type>
    - BuildLookupTable
    - std::min
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_last_not_of(StringPiece s,\n
      \                                                    size_type pos) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:253,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: google::protobuf::StringPiece::find_last_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 3
    functionsReached:
    - std::min
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_last_not_of(char c,\n                                                     size_type
      pos) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pos
    - n
    argTypes:
    - size_type
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: google::protobuf::StringPiece::substr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::StringPiece::StringPiece
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece StringPiece::substr(size_type pos, size_type n) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:43,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:43,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' o'
    - piece
    argTypes:
    - std::ostream
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: '& operator<<(std::ostream& o, StringPiece piece)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - write
    - StringPiece::data
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& o, StringPiece piece)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - details
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: google::protobuf::StringPiece::LogFatalSizeTooBig
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StringPiece::LogFatalSizeTooBig(size_t size, const char* details)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:54,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - pos
    argTypes:
    - StringPiece
    - stringpiece_ssize_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: google::protobuf::StringPiece::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void StringPiece::StringPiece(StringPiece x, stringpiece_ssize_type
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:61,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:62,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:63,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - x
    - pos
    - len
    argTypes:
    - StringPiece
    - stringpiece_ssize_type
    - stringpiece_ssize_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: google::protobuf::StringPiece::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LE
    - std::min
    linkageType: ''
    returnType: void
    signature: "void StringPiece::StringPiece(StringPiece x,\n                         stringpiece_ssize_type
      pos,\n                         stringpiece_ssize_type len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::StringPiece::CopyToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::string*::assign
    linkageType: ''
    returnType: void
    signature: void StringPiece::CopyToString(std::string* target) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: google::protobuf::StringPiece::AppendToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: void StringPiece::AppendToString(std::string* target) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: starts_with
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: google::protobuf::StringPiece::Consume
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - starts_with
    linkageType: ''
    returnType: bool
    signature: bool StringPiece::Consume(StringPiece x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ends_with
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: google::protobuf::StringPiece::ConsumeFromEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - ends_with
    linkageType: ''
    returnType: bool
    signature: bool StringPiece::ConsumeFromEnd(StringPiece x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:95,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - n
    - pos
    argTypes:
    - char*
    - size_type
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: google::protobuf::StringPiece::copy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::min
    - memcpy
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::copy(char* buf,\n                                         size_type
      n,\n                                         size_type pos) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: google::protobuf::StringPiece::contains
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::StringPiece::find
    linkageType: ''
    returnType: bool
    signature: bool StringPiece::contains(StringPiece s) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:105,1
    - Dst: std::search
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: google::protobuf::StringPiece::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 4
    functionsReached:
    - std::search
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::find(StringPiece s, size_type pos)
      const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:115,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:118,1
    - Dst: memchr
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: google::protobuf::StringPiece::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 4
    functionsReached:
    - memchr
    - static_cast<const char*>
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::find(char c, size_type pos) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:126,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:128,1
    - Dst: std::find_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: google::protobuf::StringPiece::rfind
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::min
    - std::find_end
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::rfind(StringPiece s, size_type
      pos) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:138,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: google::protobuf::StringPiece::rfind
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - std::min
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type StringPiece::rfind(char c, size_type pos) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:157,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:158,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - characters_wanted
    - table
    argTypes:
    - StringPiece
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: google::protobuf::BuildLookupTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 0
    functionsReached:
    - StringPiece::length
    - static_cast<unsigned char>
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: "void BuildLookupTable(StringPiece characters_wanted,\n                                    bool*
      table)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find_first_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:170,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:173,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 180
    functionName: google::protobuf::StringPiece::find_first_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 4
    functionsReached:
    - BuildLookupTable
    - google::protobuf::StringPiece::find_first_of
    - static_cast<unsigned char>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_first_of(StringPiece s,\n
      \                                                 size_type pos) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find_first_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:187,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:190,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: google::protobuf::StringPiece::find_first_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::StringPiece::find_first_not_of
    - BuildLookupTable
    - static_cast<unsigned char>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_first_not_of(StringPiece
      s,\n                                                      size_type pos) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: google::protobuf::StringPiece::find_first_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 4
    functionsReached:
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_first_not_of(char c,\n                                                      size_type
      pos) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::find_last_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:215,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:218,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:220,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:220,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: google::protobuf::StringPiece::find_last_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 4
    functionsReached:
    - static_cast<unsigned char>
    - static_cast<size_type>
    - BuildLookupTable
    - std::min
    - google::protobuf::StringPiece::find_last_of
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_last_of(StringPiece s,\n
      \                                                size_type pos) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:232,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:232,1
    - Dst: google::protobuf::StringPiece::find_last_not_of
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:236,1
    - Dst: BuildLookupTable
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:239,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - StringPiece
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: google::protobuf::StringPiece::find_last_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::StringPiece::find_last_not_of
    - static_cast<unsigned char>
    - static_cast<size_type>
    - BuildLookupTable
    - std::min
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_last_not_of(StringPiece s,\n
      \                                                    size_type pos) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:253,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - c
    - pos
    argTypes:
    - char
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: google::protobuf::StringPiece::find_last_not_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 4
    functionsReached:
    - std::min
    - static_cast<size_type>
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: "stringpiece_ssize_type StringPiece::find_last_not_of(char c,\n                                                     size_type
      pos) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pos
    - n
    argTypes:
    - size_type
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: google::protobuf::StringPiece::substr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::StringPiece::StringPiece
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece StringPiece::substr(size_type pos, size_type n) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:76,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:77,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:79,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:87,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:89,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - headerVersion
    - minLibraryVersion
    - filename
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::VerifyVersion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VersionString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void VerifyVersion(int headerVersion,\n                   int minLibraryVersion,\n
      \                  const char* filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::VersionString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string VersionString(int version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:76,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:77,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:79,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:87,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:89,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - headerVersion
    - minLibraryVersion
    - filename
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::VerifyVersion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VersionString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void VerifyVersion(int headerVersion,\n                   int minLibraryVersion,\n
      \                  const char* filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::VersionString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 2
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string VersionString(int version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:147,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:150,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:151,1
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:154,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ::std::ostringstream::str
    - c_str
    - fprintf
    - __android_log_write
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                             const std::string& message)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:173,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:174,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - c_str
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                      const std::string& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::NullLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NullLogHandler(LogLevel /* level */, const char* /* filename
      */,\n                    int /* line */, const std::string& /* message */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '& LogMessage::operator<<(const std::string& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: '& LogMessage::operator<<(const char* value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: '& LogMessage::operator<<(const StringPiece& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const StringPiece& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - util::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '& LogMessage::operator<<(const util::Status& status)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const util::Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: '& LogMessage::operator<<(const uint128& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const uint128& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - FORMAT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: DECLARE_STREAM_OPERATOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_STREAM_OPERATOR(TYPE, FORMAT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:147,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:150,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:151,1
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:154,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ::std::ostringstream::str
    - c_str
    - fprintf
    - __android_log_write
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                             const std::string& message)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:173,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:174,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - c_str
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                      const std::string& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::NullLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NullLogHandler(LogLevel /* level */, const char* /* filename
      */,\n                    int /* line */, const std::string& /* message */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '& LogMessage::operator<<(const std::string& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: '& LogMessage::operator<<(const char* value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: '& LogMessage::operator<<(const StringPiece& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const StringPiece& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - util::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '& LogMessage::operator<<(const util::Status& status)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const util::Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: '& LogMessage::operator<<(const uint128& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const uint128& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - FORMAT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: DECLARE_STREAM_OPERATOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_STREAM_OPERATOR(TYPE, FORMAT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Finish
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LogMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 268
    functionName: google::protobuf::DECLARE_STREAM_OPERATOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - Finish
    linkageType: ''
    returnType: void
    signature: "void DECLARE_STREAM_OPERATOR(char         , \"%c\" )\nDECLARE_STREAM_OPERATOR(int
      \         , \"%d\" )\nDECLARE_STREAM_OPERATOR(unsigned int , \"%u\" )\nDECLARE_STREAM_OPERATOR(long
      \        , \"%ld\")\nDECLARE_STREAM_OPERATOR(unsigned long, \"%lu\")\nDECLARE_STREAM_OPERATOR(double
      \      , \"%g\" )\nDECLARE_STREAM_OPERATOR(void*        , \"%p\" )\nDECLARE_STREAM_OPERATOR(long
      long         , \"%\" PROTOBUF_LL_FORMAT \"d\")\nDECLARE_STREAM_OPERATOR(unsigned
      long long, \"%\" PROTOBUF_LL_FORMAT \"u\")\n#undef DECLARE_STREAM_OPERATOR\n\nLogMessage::LogMessage(LogLevel
      level, const char* filename, int line)\n  : level_(level), filename_(filename),
      line_(line) {}\nLogMessage::~LogMessage() {}\n\nvoid LogMessage::Finish() {\n
      \ bool suppress = false;\n\n  if (level_ != LOGLEVEL_FATAL) {\n    suppress
      = log_silencer_count_ > 0;\n  }\n\n  if (!suppress) {\n    log_handler_(level_,
      filename_, line_, message_);\n  }\n\n  if (level_ == LOGLEVEL_FATAL) {\n#if
      PROTOBUF_USE_EXCEPTIONS\n    throw FatalException(filename_, line_, message_);\n#else\n
      \   abort();\n#endif\n  }\n}\n\nvoid LogFinisher::operator=(LogMessage& other)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:76,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:77,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:79,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:87,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:89,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - headerVersion
    - minLibraryVersion
    - filename
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::VerifyVersion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VersionString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void VerifyVersion(int headerVersion,\n                   int minLibraryVersion,\n
      \                  const char* filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::VersionString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 3
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string VersionString(int version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:76,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:77,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:79,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:87,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:89,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - headerVersion
    - minLibraryVersion
    - filename
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::VerifyVersion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VersionString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void VerifyVersion(int headerVersion,\n                   int minLibraryVersion,\n
      \                  const char* filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::VersionString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 4
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string VersionString(int version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:147,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:150,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:151,1
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:154,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ::std::ostringstream::str
    - c_str
    - fprintf
    - __android_log_write
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                             const std::string& message)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:173,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:174,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - c_str
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                      const std::string& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::NullLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NullLogHandler(LogLevel /* level */, const char* /* filename
      */,\n                    int /* line */, const std::string& /* message */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '& LogMessage::operator<<(const std::string& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: '& LogMessage::operator<<(const char* value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: '& LogMessage::operator<<(const StringPiece& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const StringPiece& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - util::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '& LogMessage::operator<<(const util::Status& status)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const util::Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: '& LogMessage::operator<<(const uint128& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const uint128& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - FORMAT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: DECLARE_STREAM_OPERATOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_STREAM_OPERATOR(TYPE, FORMAT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:147,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:150,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:151,1
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:154,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ::std::ostringstream::str
    - c_str
    - fprintf
    - __android_log_write
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                             const std::string& message)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:173,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:174,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - c_str
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                      const std::string& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::NullLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NullLogHandler(LogLevel /* level */, const char* /* filename
      */,\n                    int /* line */, const std::string& /* message */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '& LogMessage::operator<<(const std::string& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: '& LogMessage::operator<<(const char* value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: '& LogMessage::operator<<(const StringPiece& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const StringPiece& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - util::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '& LogMessage::operator<<(const util::Status& status)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const util::Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: '& LogMessage::operator<<(const uint128& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const uint128& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - FORMAT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: DECLARE_STREAM_OPERATOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_STREAM_OPERATOR(TYPE, FORMAT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Finish
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LogMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 268
    functionName: google::protobuf::DECLARE_STREAM_OPERATOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - Finish
    linkageType: ''
    returnType: void
    signature: "void DECLARE_STREAM_OPERATOR(char         , \"%c\" )\nDECLARE_STREAM_OPERATOR(int
      \         , \"%d\" )\nDECLARE_STREAM_OPERATOR(unsigned int , \"%u\" )\nDECLARE_STREAM_OPERATOR(long
      \        , \"%ld\")\nDECLARE_STREAM_OPERATOR(unsigned long, \"%lu\")\nDECLARE_STREAM_OPERATOR(double
      \      , \"%g\" )\nDECLARE_STREAM_OPERATOR(void*        , \"%p\" )\nDECLARE_STREAM_OPERATOR(long
      long         , \"%\" PROTOBUF_LL_FORMAT \"d\")\nDECLARE_STREAM_OPERATOR(unsigned
      long long, \"%\" PROTOBUF_LL_FORMAT \"u\")\n#undef DECLARE_STREAM_OPERATOR\n\nLogMessage::LogMessage(LogLevel
      level, const char* filename, int line)\n  : level_(level), filename_(filename),
      line_(line) {}\nLogMessage::~LogMessage() {}\n\nvoid LogMessage::Finish() {\n
      \ bool suppress = false;\n\n  if (level_ != LOGLEVEL_FATAL) {\n    suppress
      = log_silencer_count_ > 0;\n  }\n\n  if (!suppress) {\n    log_handler_(level_,
      filename_, line_, message_);\n  }\n\n  if (level_ == LOGLEVEL_FATAL) {\n#if
      PROTOBUF_USE_EXCEPTIONS\n    throw FatalException(filename_, line_, message_);\n#else\n
      \   abort();\n#endif\n  }\n}\n\nvoid LogFinisher::operator=(LogMessage& other)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - new_func
    argTypes:
    - LogHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: google::SetLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogHandler
    signature: LogHandler * SetLogHandler(LogHandler* new_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: google::LogSilencer::LogSilencer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogSilencer::LogSilencer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: LogSilencer::~LogSilencer()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogSilencer::~LogSilencer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: Closure::~Closure()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Closure::~Closure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: FunctionClosure0::~FunctionClosure0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionClosure0::~FunctionClosure0()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: FunctionClosure0::~FunctionClosure0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionClosure0::~FunctionClosure0()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: google::DoNothing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoNothing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:313,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:314,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:315,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: google::ghtonl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint8>
    linkageType: ''
    returnType: uint32
    signature: uint32 ghtonl(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: FatalException::~FatalException() throw()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FatalException::~FatalException() throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: google::FatalException::what
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * FatalException::what() const throw()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:76,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:77,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:79,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:87,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:89,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - headerVersion
    - minLibraryVersion
    - filename
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::VerifyVersion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VersionString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void VerifyVersion(int headerVersion,\n                   int minLibraryVersion,\n
      \                  const char* filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::VersionString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 5
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string VersionString(int version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:76,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:77,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:79,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:87,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:89,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - headerVersion
    - minLibraryVersion
    - filename
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::VerifyVersion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VersionString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void VerifyVersion(int headerVersion,\n                   int minLibraryVersion,\n
      \                  const char* filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::VersionString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 6
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string VersionString(int version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:147,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:150,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:151,1
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:154,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ::std::ostringstream::str
    - c_str
    - fprintf
    - __android_log_write
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                             const std::string& message)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:173,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:174,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - c_str
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                      const std::string& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::NullLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NullLogHandler(LogLevel /* level */, const char* /* filename
      */,\n                    int /* line */, const std::string& /* message */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '& LogMessage::operator<<(const std::string& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: '& LogMessage::operator<<(const char* value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: '& LogMessage::operator<<(const StringPiece& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const StringPiece& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - util::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '& LogMessage::operator<<(const util::Status& status)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const util::Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: '& LogMessage::operator<<(const uint128& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const uint128& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - FORMAT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: DECLARE_STREAM_OPERATOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_STREAM_OPERATOR(TYPE, FORMAT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:147,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:150,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:151,1
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:154,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ::std::ostringstream::str
    - c_str
    - fprintf
    - __android_log_write
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                             const std::string& message)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:173,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:174,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - c_str
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                      const std::string& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::NullLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NullLogHandler(LogLevel /* level */, const char* /* filename
      */,\n                    int /* line */, const std::string& /* message */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '& LogMessage::operator<<(const std::string& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: '& LogMessage::operator<<(const char* value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: '& LogMessage::operator<<(const StringPiece& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const StringPiece& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - util::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '& LogMessage::operator<<(const util::Status& status)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const util::Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: '& LogMessage::operator<<(const uint128& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const uint128& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - FORMAT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: DECLARE_STREAM_OPERATOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_STREAM_OPERATOR(TYPE, FORMAT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Finish
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LogMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 268
    functionName: google::protobuf::DECLARE_STREAM_OPERATOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - Finish
    linkageType: ''
    returnType: void
    signature: "void DECLARE_STREAM_OPERATOR(char         , \"%c\" )\nDECLARE_STREAM_OPERATOR(int
      \         , \"%d\" )\nDECLARE_STREAM_OPERATOR(unsigned int , \"%u\" )\nDECLARE_STREAM_OPERATOR(long
      \        , \"%ld\")\nDECLARE_STREAM_OPERATOR(unsigned long, \"%lu\")\nDECLARE_STREAM_OPERATOR(double
      \      , \"%g\" )\nDECLARE_STREAM_OPERATOR(void*        , \"%p\" )\nDECLARE_STREAM_OPERATOR(long
      long         , \"%\" PROTOBUF_LL_FORMAT \"d\")\nDECLARE_STREAM_OPERATOR(unsigned
      long long, \"%\" PROTOBUF_LL_FORMAT \"u\")\n#undef DECLARE_STREAM_OPERATOR\n\nLogMessage::LogMessage(LogLevel
      level, const char* filename, int line)\n  : level_(level), filename_(filename),
      line_(line) {}\nLogMessage::~LogMessage() {}\n\nvoid LogMessage::Finish() {\n
      \ bool suppress = false;\n\n  if (level_ != LOGLEVEL_FATAL) {\n    suppress
      = log_silencer_count_ > 0;\n  }\n\n  if (!suppress) {\n    log_handler_(level_,
      filename_, line_, message_);\n  }\n\n  if (level_ == LOGLEVEL_FATAL) {\n#if
      PROTOBUF_USE_EXCEPTIONS\n    throw FatalException(filename_, line_, message_);\n#else\n
      \   abort();\n#endif\n  }\n}\n\nvoid LogFinisher::operator=(LogMessage& other)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:76,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:77,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:79,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:87,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:89,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - headerVersion
    - minLibraryVersion
    - filename
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::VerifyVersion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VersionString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void VerifyVersion(int headerVersion,\n                   int minLibraryVersion,\n
      \                  const char* filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::VersionString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 7
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string VersionString(int version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:76,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:77,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:79,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:87,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:89,1
    - Dst: google::protobuf::internal::VersionString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - headerVersion
    - minLibraryVersion
    - filename
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::VerifyVersion
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::VersionString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void VerifyVersion(int headerVersion,\n                   int minLibraryVersion,\n
      \                  const char* filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - version
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::VersionString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 8
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string VersionString(int version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:147,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:150,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:151,1
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:154,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ::std::ostringstream::str
    - c_str
    - fprintf
    - __android_log_write
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                             const std::string& message)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:173,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:174,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - c_str
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                      const std::string& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::NullLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NullLogHandler(LogLevel /* level */, const char* /* filename
      */,\n                    int /* line */, const std::string& /* message */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '& LogMessage::operator<<(const std::string& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: '& LogMessage::operator<<(const char* value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: '& LogMessage::operator<<(const StringPiece& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const StringPiece& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - util::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '& LogMessage::operator<<(const util::Status& status)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const util::Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: '& LogMessage::operator<<(const uint128& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const uint128& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - FORMAT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: DECLARE_STREAM_OPERATOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_STREAM_OPERATOR(TYPE, FORMAT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:147,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:150,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:151,1
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: ::std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:153,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:154,1
    - Dst: __android_log_write
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ::std::ostringstream::str
    - c_str
    - fprintf
    - __android_log_write
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                             const std::string& message)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:173,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:174,1
    - Dst: fflush
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - level
    - filename
    - line
    - ' message'
    argTypes:
    - LogLevel
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::DefaultLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - c_str
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: "void DefaultLogHandler(LogLevel level, const char* filename, int line,\n
      \                      const std::string& message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::NullLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void NullLogHandler(LogLevel /* level */, const char* /* filename
      */,\n                    int /* line */, const std::string& /* message */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: '& LogMessage::operator<<(const std::string& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: '& LogMessage::operator<<(const char* value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: '& LogMessage::operator<<(const StringPiece& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const StringPiece& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - util::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: '& LogMessage::operator<<(const util::Status& status)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const util::Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ostringstream::str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: '& LogMessage::operator<<(const uint128& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - std::ostringstream::str
    linkageType: ''
    returnType: LogMessage
    signature: LogMessage & LogMessage::operator<<(const uint128& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - FORMAT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: DECLARE_STREAM_OPERATOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_STREAM_OPERATOR(TYPE, FORMAT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Finish
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LogMessage
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 268
    functionName: google::protobuf::DECLARE_STREAM_OPERATOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - Finish
    linkageType: ''
    returnType: void
    signature: "void DECLARE_STREAM_OPERATOR(char         , \"%c\" )\nDECLARE_STREAM_OPERATOR(int
      \         , \"%d\" )\nDECLARE_STREAM_OPERATOR(unsigned int , \"%u\" )\nDECLARE_STREAM_OPERATOR(long
      \        , \"%ld\")\nDECLARE_STREAM_OPERATOR(unsigned long, \"%lu\")\nDECLARE_STREAM_OPERATOR(double
      \      , \"%g\" )\nDECLARE_STREAM_OPERATOR(void*        , \"%p\" )\nDECLARE_STREAM_OPERATOR(long
      long         , \"%\" PROTOBUF_LL_FORMAT \"d\")\nDECLARE_STREAM_OPERATOR(unsigned
      long long, \"%\" PROTOBUF_LL_FORMAT \"u\")\n#undef DECLARE_STREAM_OPERATOR\n\nLogMessage::LogMessage(LogLevel
      level, const char* filename, int line)\n  : level_(level), filename_(filename),
      line_(line) {}\nLogMessage::~LogMessage() {}\n\nvoid LogMessage::Finish() {\n
      \ bool suppress = false;\n\n  if (level_ != LOGLEVEL_FATAL) {\n    suppress
      = log_silencer_count_ > 0;\n  }\n\n  if (!suppress) {\n    log_handler_(level_,
      filename_, line_, message_);\n  }\n\n  if (level_ == LOGLEVEL_FATAL) {\n#if
      PROTOBUF_USE_EXCEPTIONS\n    throw FatalException(filename_, line_, message_);\n#else\n
      \   abort();\n#endif\n  }\n}\n\nvoid LogFinisher::operator=(LogMessage& other)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - new_func
    argTypes:
    - LogHandler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: google::SetLogHandler
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LogHandler
    signature: LogHandler * SetLogHandler(LogHandler* new_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: google::LogSilencer::LogSilencer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogSilencer::LogSilencer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: LogSilencer::~LogSilencer()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LogSilencer::~LogSilencer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: Closure::~Closure()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Closure::~Closure()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: FunctionClosure0::~FunctionClosure0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionClosure0::~FunctionClosure0()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: FunctionClosure0::~FunctionClosure0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionClosure0::~FunctionClosure0()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: google::DoNothing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DoNothing()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:313,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:314,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:315,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: google::ghtonl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint8>
    linkageType: ''
    returnType: uint32
    signature: uint32 ghtonl(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: FatalException::~FatalException() throw()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FatalException::~FatalException() throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/common.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: google::FatalException::what
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/common.cc
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * FatalException::what() const throw()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:61,1
    - Dst: internal::ThreadLocalStorage*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - internal::ThreadLocalStorage*::Get
    - internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LifecycleIdAtomic>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - static_cast<LifecycleIdAtomic>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:77,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - object
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::ArenaFree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ArenaFree(void* object, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ArenaMetricsCollector*::RecordAllocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:89,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:100,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:101,1
    - Dst: SerialArena::Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:108,1
    - Dst: auto::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: Options::Options
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:113,1
    - Dst: auto::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:122,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ArenaOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ArenaImpl::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - auto::set_pos
    - auto::Pointer
    - std::max
    - ArenaMetricsCollector*::RecordAllocs
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - auto::pos
    - Options::Options
    - reinterpret_cast<char*>
    - GOOGLE_DCHECK_EQ
    - SerialArena::Block::Block
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::ArenaImpl(const ArenaOptions& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:127,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:130,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:137,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:141,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:147,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:148,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - record_allocs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::ArenaImpl::Init
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 1
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - id::fetch_add
    - thread_cache
    - store
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::Init(bool record_allocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:156,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:157,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - block
    argTypes:
    - SerialArena::Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ArenaImpl::SetInitialBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 1
    functionsReached:
    - thread_cache
    - CacheSerialArena
    - store
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    - SerialArena::Block*::size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::SetInitialBlock(SerialArena::Block* block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:165,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:174,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: user_owned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:180,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:181,1
    - Dst: ArenaMetricsCollector*::OnDestroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: ArenaImpl::~ArenaImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ArenaMetricsCollector*::OnDestroy
    - user_owned
    - SpaceAllocated
    - Pointer
    - CleanupList
    - ASAN_UNPOISON_MEMORY_REGION
    - PerBlock
    - size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::~ArenaImpl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metrics_collector::OnReset
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:197,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:203,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:205,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: special
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:211,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:212,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:217,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: record_allocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::clear_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:227,1
    - Dst: SerialArena::Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:228,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 232
    functionName: google::protobuf::internal::ArenaImpl::Reset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - SerialArena::Block*::set_pos
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaImpl::CleanupList
    - special
    - Pointer
    - SerialArena::Block*::next
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - record_allocs
    - SerialArena::Block*::clear_next
    - google::protobuf::internal::ArenaImpl::SpaceAllocated
    - PerBlock
    - metrics_collector::OnReset
    - GOOGLE_DCHECK_EQ
    - size
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:240,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:246,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:248,1
    - Dst: fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - last_size
    - min_bytes
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: google::protobuf::internal::ArenaImpl::NewBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - std::max
    - std::min
    - std::numeric_limits<size_t>::max
    - fetch_add
    - GOOGLE_CHECK_LE
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> ArenaImpl::NewBuffer(size_t last_size,\n
      \                                             size_t min_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:257,1
    - Dst: ArenaImpl*::NewBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - last_block
    - min_bytes
    - arena
    argTypes:
    - SerialArena::Block*
    - size_t
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::SerialArena::NewBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - std::tie
    - ArenaImpl*::NewBuffer
    - Block::Block
    - SerialArena::Block*::size
    linkageType: ''
    returnType: SerialArena::Block
    signature: "SerialArena::Block * SerialArena::NewBlock(SerialArena::Block* last_block,\n
      \                                         size_t min_bytes, ArenaImpl* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:266,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: google::protobuf::SizeOf
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: reinterpret_cast<CleanupChunk*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::SerialArena::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SizeOf
    - AllocateAligned
    - AddCleanup
    - google::protobuf::internal::AlignUpTo8
    - reinterpret_cast<CleanupChunk*>
    - std::min
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE SerialArena::AddCleanupFallback(void* elem, void
      (*cleanup)(void*))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: SerialArena*::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:283,1
    - Dst: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - SerialArena*::AllocateAlignedAndAddCleanup
    - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    linkageType: ''
    returnType: void
    signature: "void * ArenaImpl::AllocateAlignedAndAddCleanup(size_t n,\n                                              void
      (*cleanup)(void*))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: SerialArena*::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:292,1
    - Dst: google::protobuf::internal::ArenaImpl::AddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::ArenaImpl::AddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::ArenaImpl::AddCleanupFallback
    - SerialArena*::AddCleanup
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::AddCleanup(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:306,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedAndAddCleanupFallback(size_t
      n,\n                                                      void (*cleanup)(void*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::ArenaImpl::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE ArenaImpl::AddCleanupFallback(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:320,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:325,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerialArena::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    - google::protobuf::internal::SerialArena::NewBlock
    - set_pos
    - Pointer
    - ASAN_POISON_MEMORY_REGION
    - pos
    - size
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * SerialArena::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: google::protobuf::internal::ArenaImpl::SpaceAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 1
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceAllocated() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:336,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:338,1
    - Dst: SerialArena*::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: google::protobuf::internal::ArenaImpl::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - SerialArena*::SpaceUsed
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:350,1
    - Dst: next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: google::protobuf::internal::SerialArena::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - Block*::next
    - Block*::pos
    - Pointer
    - next
    linkageType: ''
    returnType: uint64
    signature: uint64 SerialArena::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:363,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:365,1
    - Dst: SerialArena*::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: google::protobuf::internal::ArenaImpl::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 1
    functionsReached:
    - SerialArena*::CleanupList
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::CleanupListFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: google::protobuf::internal::SerialArena::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerialArena::CleanupListFallback
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: google::protobuf::internal::SerialArena::CleanupListFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 1
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupListFallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:397,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: reinterpret_cast<SerialArena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:400,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - b
    - owner
    - arena
    argTypes:
    - Block*
    - void*
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: google::protobuf::internal::SerialArena::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 1
    functionsReached:
    - Block*::pos
    - Block*::size
    - Block*::Pointer
    - reinterpret_cast<SerialArena*>
    - GOOGLE_DCHECK_LE
    - Block*::set_pos
    linkageType: ''
    returnType: SerialArena
    signature: SerialArena * SerialArena::New(Block* b, void* owner, ArenaImpl* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:415,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:416,1
    - Dst: SerialArena*::owner
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:417,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:425,1
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:426,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:428,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:430,1
    - Dst: compare_exchange_weak
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:431,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - me
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 437
    functionName: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 3
    functionsReached:
    - SerialArena*::next
    - google::protobuf::internal::SerialArena::NewBlock
    - compare_exchange_weak
    - CacheSerialArena
    - SerialArena*::owner
    - load
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::GetSerialArenaFallback(void* me)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: ArenaMetricsCollector::~ArenaMetricsCollector()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaMetricsCollector::~ArenaMetricsCollector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:61,1
    - Dst: internal::ThreadLocalStorage*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - internal::ThreadLocalStorage*::Get
    - internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LifecycleIdAtomic>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - static_cast<LifecycleIdAtomic>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:77,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - object
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::ArenaFree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ArenaFree(void* object, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ArenaMetricsCollector*::RecordAllocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:89,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:100,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:101,1
    - Dst: SerialArena::Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:108,1
    - Dst: auto::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: Options::Options
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:113,1
    - Dst: auto::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:122,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ArenaOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ArenaImpl::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - auto::set_pos
    - auto::Pointer
    - std::max
    - ArenaMetricsCollector*::RecordAllocs
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - auto::pos
    - Options::Options
    - reinterpret_cast<char*>
    - GOOGLE_DCHECK_EQ
    - SerialArena::Block::Block
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::ArenaImpl(const ArenaOptions& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:127,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:130,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:137,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:141,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:147,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:148,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - record_allocs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::ArenaImpl::Init
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 3
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - id::fetch_add
    - thread_cache
    - store
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::Init(bool record_allocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:156,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:157,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - block
    argTypes:
    - SerialArena::Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ArenaImpl::SetInitialBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 3
    functionsReached:
    - thread_cache
    - CacheSerialArena
    - store
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    - SerialArena::Block*::size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::SetInitialBlock(SerialArena::Block* block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:165,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:174,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: user_owned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:180,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:181,1
    - Dst: ArenaMetricsCollector*::OnDestroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: ArenaImpl::~ArenaImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ArenaMetricsCollector*::OnDestroy
    - user_owned
    - SpaceAllocated
    - Pointer
    - CleanupList
    - ASAN_UNPOISON_MEMORY_REGION
    - PerBlock
    - size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::~ArenaImpl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metrics_collector::OnReset
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:197,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:203,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:205,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: special
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:211,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:212,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:217,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: record_allocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::clear_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:227,1
    - Dst: SerialArena::Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:228,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 232
    functionName: google::protobuf::internal::ArenaImpl::Reset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - SerialArena::Block*::set_pos
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaImpl::CleanupList
    - special
    - Pointer
    - SerialArena::Block*::next
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - record_allocs
    - SerialArena::Block*::clear_next
    - google::protobuf::internal::ArenaImpl::SpaceAllocated
    - PerBlock
    - metrics_collector::OnReset
    - GOOGLE_DCHECK_EQ
    - size
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:240,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:246,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:248,1
    - Dst: fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - last_size
    - min_bytes
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: google::protobuf::internal::ArenaImpl::NewBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - std::max
    - std::min
    - std::numeric_limits<size_t>::max
    - fetch_add
    - GOOGLE_CHECK_LE
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> ArenaImpl::NewBuffer(size_t last_size,\n
      \                                             size_t min_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:257,1
    - Dst: ArenaImpl*::NewBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - last_block
    - min_bytes
    - arena
    argTypes:
    - SerialArena::Block*
    - size_t
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::SerialArena::NewBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 2
    functionsReached:
    - std::tie
    - ArenaImpl*::NewBuffer
    - Block::Block
    - SerialArena::Block*::size
    linkageType: ''
    returnType: SerialArena::Block
    signature: "SerialArena::Block * SerialArena::NewBlock(SerialArena::Block* last_block,\n
      \                                         size_t min_bytes, ArenaImpl* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:266,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: google::protobuf::SizeOf
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: reinterpret_cast<CleanupChunk*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::SerialArena::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SizeOf
    - AllocateAligned
    - AddCleanup
    - google::protobuf::internal::AlignUpTo8
    - reinterpret_cast<CleanupChunk*>
    - std::min
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE SerialArena::AddCleanupFallback(void* elem, void
      (*cleanup)(void*))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: SerialArena*::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:283,1
    - Dst: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - SerialArena*::AllocateAlignedAndAddCleanup
    - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    linkageType: ''
    returnType: void
    signature: "void * ArenaImpl::AllocateAlignedAndAddCleanup(size_t n,\n                                              void
      (*cleanup)(void*))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: SerialArena*::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:292,1
    - Dst: google::protobuf::internal::ArenaImpl::AddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::ArenaImpl::AddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::ArenaImpl::AddCleanupFallback
    - SerialArena*::AddCleanup
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::AddCleanup(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:306,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedAndAddCleanupFallback(size_t
      n,\n                                                      void (*cleanup)(void*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::ArenaImpl::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE ArenaImpl::AddCleanupFallback(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:320,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:325,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerialArena::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    - google::protobuf::internal::SerialArena::NewBlock
    - set_pos
    - Pointer
    - ASAN_POISON_MEMORY_REGION
    - pos
    - size
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * SerialArena::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: google::protobuf::internal::ArenaImpl::SpaceAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 2
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceAllocated() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:336,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:338,1
    - Dst: SerialArena*::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: google::protobuf::internal::ArenaImpl::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - SerialArena*::SpaceUsed
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:350,1
    - Dst: next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: google::protobuf::internal::SerialArena::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - Block*::next
    - Block*::pos
    - Pointer
    - next
    linkageType: ''
    returnType: uint64
    signature: uint64 SerialArena::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:363,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:365,1
    - Dst: SerialArena*::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: google::protobuf::internal::ArenaImpl::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 2
    functionsReached:
    - SerialArena*::CleanupList
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::CleanupListFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: google::protobuf::internal::SerialArena::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerialArena::CleanupListFallback
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: google::protobuf::internal::SerialArena::CleanupListFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 2
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupListFallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:397,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: reinterpret_cast<SerialArena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:400,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - b
    - owner
    - arena
    argTypes:
    - Block*
    - void*
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: google::protobuf::internal::SerialArena::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 3
    functionsReached:
    - Block*::pos
    - Block*::size
    - Block*::Pointer
    - reinterpret_cast<SerialArena*>
    - GOOGLE_DCHECK_LE
    - Block*::set_pos
    linkageType: ''
    returnType: SerialArena
    signature: SerialArena * SerialArena::New(Block* b, void* owner, ArenaImpl* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:415,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:416,1
    - Dst: SerialArena*::owner
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:417,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:425,1
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:426,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:428,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:430,1
    - Dst: compare_exchange_weak
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:431,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - me
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 437
    functionName: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 6
    functionsReached:
    - SerialArena*::next
    - google::protobuf::internal::SerialArena::NewBlock
    - compare_exchange_weak
    - CacheSerialArena
    - SerialArena*::owner
    - load
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::GetSerialArenaFallback(void* me)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: ArenaMetricsCollector::~ArenaMetricsCollector()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaMetricsCollector::~ArenaMetricsCollector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: google::protobuf::Arena::AllocateAlignedNoHook
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    linkageType: ''
    returnType: void
    signature: void * Arena::AllocateAlignedNoHook(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:61,1
    - Dst: internal::ThreadLocalStorage*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - internal::ThreadLocalStorage*::Get
    - internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LifecycleIdAtomic>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - static_cast<LifecycleIdAtomic>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:77,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - object
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::ArenaFree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ArenaFree(void* object, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ArenaMetricsCollector*::RecordAllocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:89,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:100,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:101,1
    - Dst: SerialArena::Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:108,1
    - Dst: auto::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: Options::Options
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:113,1
    - Dst: auto::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:122,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ArenaOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ArenaImpl::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - auto::set_pos
    - auto::Pointer
    - std::max
    - ArenaMetricsCollector*::RecordAllocs
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - auto::pos
    - Options::Options
    - reinterpret_cast<char*>
    - GOOGLE_DCHECK_EQ
    - SerialArena::Block::Block
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::ArenaImpl(const ArenaOptions& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:127,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:130,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:137,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:141,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:147,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:148,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - record_allocs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::ArenaImpl::Init
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 5
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - id::fetch_add
    - thread_cache
    - store
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::Init(bool record_allocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:156,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:157,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - block
    argTypes:
    - SerialArena::Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ArenaImpl::SetInitialBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 5
    functionsReached:
    - thread_cache
    - CacheSerialArena
    - store
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    - SerialArena::Block*::size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::SetInitialBlock(SerialArena::Block* block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:165,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:174,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: user_owned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:180,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:181,1
    - Dst: ArenaMetricsCollector*::OnDestroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: ArenaImpl::~ArenaImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ArenaMetricsCollector*::OnDestroy
    - user_owned
    - SpaceAllocated
    - Pointer
    - CleanupList
    - ASAN_UNPOISON_MEMORY_REGION
    - PerBlock
    - size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::~ArenaImpl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metrics_collector::OnReset
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:197,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:203,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:205,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: special
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:211,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:212,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:217,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: record_allocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::clear_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:227,1
    - Dst: SerialArena::Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:228,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 232
    functionName: google::protobuf::internal::ArenaImpl::Reset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - SerialArena::Block*::set_pos
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaImpl::CleanupList
    - special
    - Pointer
    - SerialArena::Block*::next
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - record_allocs
    - SerialArena::Block*::clear_next
    - google::protobuf::internal::ArenaImpl::SpaceAllocated
    - PerBlock
    - metrics_collector::OnReset
    - GOOGLE_DCHECK_EQ
    - size
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:240,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:246,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:248,1
    - Dst: fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - last_size
    - min_bytes
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: google::protobuf::internal::ArenaImpl::NewBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - std::max
    - std::min
    - std::numeric_limits<size_t>::max
    - fetch_add
    - GOOGLE_CHECK_LE
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> ArenaImpl::NewBuffer(size_t last_size,\n
      \                                             size_t min_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:257,1
    - Dst: ArenaImpl*::NewBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - last_block
    - min_bytes
    - arena
    argTypes:
    - SerialArena::Block*
    - size_t
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::SerialArena::NewBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 4
    functionsReached:
    - std::tie
    - ArenaImpl*::NewBuffer
    - Block::Block
    - SerialArena::Block*::size
    linkageType: ''
    returnType: SerialArena::Block
    signature: "SerialArena::Block * SerialArena::NewBlock(SerialArena::Block* last_block,\n
      \                                         size_t min_bytes, ArenaImpl* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:266,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: google::protobuf::SizeOf
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: reinterpret_cast<CleanupChunk*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::SerialArena::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SizeOf
    - AllocateAligned
    - AddCleanup
    - google::protobuf::internal::AlignUpTo8
    - reinterpret_cast<CleanupChunk*>
    - std::min
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE SerialArena::AddCleanupFallback(void* elem, void
      (*cleanup)(void*))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: SerialArena*::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:283,1
    - Dst: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - SerialArena*::AllocateAlignedAndAddCleanup
    - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    linkageType: ''
    returnType: void
    signature: "void * ArenaImpl::AllocateAlignedAndAddCleanup(size_t n,\n                                              void
      (*cleanup)(void*))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: SerialArena*::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:292,1
    - Dst: google::protobuf::internal::ArenaImpl::AddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::ArenaImpl::AddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::ArenaImpl::AddCleanupFallback
    - SerialArena*::AddCleanup
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::AddCleanup(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:306,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedAndAddCleanupFallback(size_t
      n,\n                                                      void (*cleanup)(void*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::ArenaImpl::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE ArenaImpl::AddCleanupFallback(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:320,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:325,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerialArena::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    - google::protobuf::internal::SerialArena::NewBlock
    - set_pos
    - Pointer
    - ASAN_POISON_MEMORY_REGION
    - pos
    - size
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * SerialArena::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: google::protobuf::internal::ArenaImpl::SpaceAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 3
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceAllocated() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:336,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:338,1
    - Dst: SerialArena*::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: google::protobuf::internal::ArenaImpl::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - SerialArena*::SpaceUsed
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:350,1
    - Dst: next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: google::protobuf::internal::SerialArena::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - Block*::next
    - Block*::pos
    - Pointer
    - next
    linkageType: ''
    returnType: uint64
    signature: uint64 SerialArena::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:363,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:365,1
    - Dst: SerialArena*::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: google::protobuf::internal::ArenaImpl::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 3
    functionsReached:
    - SerialArena*::CleanupList
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::CleanupListFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: google::protobuf::internal::SerialArena::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerialArena::CleanupListFallback
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: google::protobuf::internal::SerialArena::CleanupListFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 3
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupListFallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:397,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: reinterpret_cast<SerialArena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:400,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - b
    - owner
    - arena
    argTypes:
    - Block*
    - void*
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: google::protobuf::internal::SerialArena::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 5
    functionsReached:
    - Block*::pos
    - Block*::size
    - Block*::Pointer
    - reinterpret_cast<SerialArena*>
    - GOOGLE_DCHECK_LE
    - Block*::set_pos
    linkageType: ''
    returnType: SerialArena
    signature: SerialArena * SerialArena::New(Block* b, void* owner, ArenaImpl* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:415,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:416,1
    - Dst: SerialArena*::owner
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:417,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:425,1
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:426,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:428,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:430,1
    - Dst: compare_exchange_weak
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:431,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - me
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 437
    functionName: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 9
    functionsReached:
    - SerialArena*::next
    - google::protobuf::internal::SerialArena::NewBlock
    - compare_exchange_weak
    - CacheSerialArena
    - SerialArena*::owner
    - load
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::GetSerialArenaFallback(void* me)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: ArenaMetricsCollector::~ArenaMetricsCollector()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaMetricsCollector::~ArenaMetricsCollector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:61,1
    - Dst: internal::ThreadLocalStorage*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - internal::ThreadLocalStorage*::Get
    - internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LifecycleIdAtomic>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - static_cast<LifecycleIdAtomic>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:77,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - object
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::ArenaFree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ArenaFree(void* object, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ArenaMetricsCollector*::RecordAllocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:89,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:100,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:101,1
    - Dst: SerialArena::Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:108,1
    - Dst: auto::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: Options::Options
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:113,1
    - Dst: auto::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:122,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ArenaOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ArenaImpl::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - auto::set_pos
    - auto::Pointer
    - std::max
    - ArenaMetricsCollector*::RecordAllocs
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - auto::pos
    - Options::Options
    - reinterpret_cast<char*>
    - GOOGLE_DCHECK_EQ
    - SerialArena::Block::Block
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::ArenaImpl(const ArenaOptions& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:127,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:130,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:137,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:141,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:147,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:148,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - record_allocs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::ArenaImpl::Init
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 7
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - id::fetch_add
    - thread_cache
    - store
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::Init(bool record_allocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:156,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:157,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - block
    argTypes:
    - SerialArena::Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ArenaImpl::SetInitialBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 7
    functionsReached:
    - thread_cache
    - CacheSerialArena
    - store
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    - SerialArena::Block*::size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::SetInitialBlock(SerialArena::Block* block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:165,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:174,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: user_owned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:180,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:181,1
    - Dst: ArenaMetricsCollector*::OnDestroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: ArenaImpl::~ArenaImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ArenaMetricsCollector*::OnDestroy
    - user_owned
    - SpaceAllocated
    - Pointer
    - CleanupList
    - ASAN_UNPOISON_MEMORY_REGION
    - PerBlock
    - size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::~ArenaImpl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metrics_collector::OnReset
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:197,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:203,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:205,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: special
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:211,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:212,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:217,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: record_allocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::clear_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:227,1
    - Dst: SerialArena::Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:228,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 232
    functionName: google::protobuf::internal::ArenaImpl::Reset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - SerialArena::Block*::set_pos
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaImpl::CleanupList
    - special
    - Pointer
    - SerialArena::Block*::next
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - record_allocs
    - SerialArena::Block*::clear_next
    - google::protobuf::internal::ArenaImpl::SpaceAllocated
    - PerBlock
    - metrics_collector::OnReset
    - GOOGLE_DCHECK_EQ
    - size
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:240,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:246,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:248,1
    - Dst: fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - last_size
    - min_bytes
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: google::protobuf::internal::ArenaImpl::NewBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - std::max
    - std::min
    - std::numeric_limits<size_t>::max
    - fetch_add
    - GOOGLE_CHECK_LE
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> ArenaImpl::NewBuffer(size_t last_size,\n
      \                                             size_t min_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:257,1
    - Dst: ArenaImpl*::NewBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - last_block
    - min_bytes
    - arena
    argTypes:
    - SerialArena::Block*
    - size_t
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::SerialArena::NewBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 6
    functionsReached:
    - std::tie
    - ArenaImpl*::NewBuffer
    - Block::Block
    - SerialArena::Block*::size
    linkageType: ''
    returnType: SerialArena::Block
    signature: "SerialArena::Block * SerialArena::NewBlock(SerialArena::Block* last_block,\n
      \                                         size_t min_bytes, ArenaImpl* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:266,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: google::protobuf::SizeOf
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: reinterpret_cast<CleanupChunk*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::SerialArena::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SizeOf
    - AllocateAligned
    - AddCleanup
    - google::protobuf::internal::AlignUpTo8
    - reinterpret_cast<CleanupChunk*>
    - std::min
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE SerialArena::AddCleanupFallback(void* elem, void
      (*cleanup)(void*))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: SerialArena*::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:283,1
    - Dst: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - SerialArena*::AllocateAlignedAndAddCleanup
    - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    linkageType: ''
    returnType: void
    signature: "void * ArenaImpl::AllocateAlignedAndAddCleanup(size_t n,\n                                              void
      (*cleanup)(void*))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: SerialArena*::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:292,1
    - Dst: google::protobuf::internal::ArenaImpl::AddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::ArenaImpl::AddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::ArenaImpl::AddCleanupFallback
    - SerialArena*::AddCleanup
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::AddCleanup(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:306,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedAndAddCleanupFallback(size_t
      n,\n                                                      void (*cleanup)(void*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::ArenaImpl::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE ArenaImpl::AddCleanupFallback(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:320,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:325,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerialArena::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    - google::protobuf::internal::SerialArena::NewBlock
    - set_pos
    - Pointer
    - ASAN_POISON_MEMORY_REGION
    - pos
    - size
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * SerialArena::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: google::protobuf::internal::ArenaImpl::SpaceAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 4
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceAllocated() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:336,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:338,1
    - Dst: SerialArena*::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: google::protobuf::internal::ArenaImpl::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - SerialArena*::SpaceUsed
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:350,1
    - Dst: next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: google::protobuf::internal::SerialArena::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - Block*::next
    - Block*::pos
    - Pointer
    - next
    linkageType: ''
    returnType: uint64
    signature: uint64 SerialArena::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:363,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:365,1
    - Dst: SerialArena*::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: google::protobuf::internal::ArenaImpl::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 4
    functionsReached:
    - SerialArena*::CleanupList
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::CleanupListFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: google::protobuf::internal::SerialArena::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerialArena::CleanupListFallback
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: google::protobuf::internal::SerialArena::CleanupListFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 4
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupListFallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:397,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: reinterpret_cast<SerialArena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:400,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - b
    - owner
    - arena
    argTypes:
    - Block*
    - void*
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: google::protobuf::internal::SerialArena::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 7
    functionsReached:
    - Block*::pos
    - Block*::size
    - Block*::Pointer
    - reinterpret_cast<SerialArena*>
    - GOOGLE_DCHECK_LE
    - Block*::set_pos
    linkageType: ''
    returnType: SerialArena
    signature: SerialArena * SerialArena::New(Block* b, void* owner, ArenaImpl* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:415,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:416,1
    - Dst: SerialArena*::owner
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:417,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:425,1
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:426,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:428,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:430,1
    - Dst: compare_exchange_weak
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:431,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - me
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 437
    functionName: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 12
    functionsReached:
    - SerialArena*::next
    - google::protobuf::internal::SerialArena::NewBlock
    - compare_exchange_weak
    - CacheSerialArena
    - SerialArena*::owner
    - load
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::GetSerialArenaFallback(void* me)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: ArenaMetricsCollector::~ArenaMetricsCollector()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaMetricsCollector::~ArenaMetricsCollector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: google::protobuf::Arena::AllocateAlignedNoHook
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    linkageType: ''
    returnType: void
    signature: void * Arena::AllocateAlignedNoHook(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:61,1
    - Dst: internal::ThreadLocalStorage*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - internal::ThreadLocalStorage*::Get
    - internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LifecycleIdAtomic>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - static_cast<LifecycleIdAtomic>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:77,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - object
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::ArenaFree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ArenaFree(void* object, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ArenaMetricsCollector*::RecordAllocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:89,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:100,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:101,1
    - Dst: SerialArena::Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:108,1
    - Dst: auto::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: Options::Options
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:113,1
    - Dst: auto::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:122,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ArenaOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ArenaImpl::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - auto::set_pos
    - auto::Pointer
    - std::max
    - ArenaMetricsCollector*::RecordAllocs
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - auto::pos
    - Options::Options
    - reinterpret_cast<char*>
    - GOOGLE_DCHECK_EQ
    - SerialArena::Block::Block
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::ArenaImpl(const ArenaOptions& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:127,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:130,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:137,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:141,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:147,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:148,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - record_allocs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::ArenaImpl::Init
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 9
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - id::fetch_add
    - thread_cache
    - store
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::Init(bool record_allocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:156,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:157,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - block
    argTypes:
    - SerialArena::Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ArenaImpl::SetInitialBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 9
    functionsReached:
    - thread_cache
    - CacheSerialArena
    - store
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    - SerialArena::Block*::size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::SetInitialBlock(SerialArena::Block* block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:165,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:174,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: user_owned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:180,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:181,1
    - Dst: ArenaMetricsCollector*::OnDestroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: ArenaImpl::~ArenaImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ArenaMetricsCollector*::OnDestroy
    - user_owned
    - SpaceAllocated
    - Pointer
    - CleanupList
    - ASAN_UNPOISON_MEMORY_REGION
    - PerBlock
    - size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::~ArenaImpl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metrics_collector::OnReset
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:197,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:203,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:205,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: special
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:211,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:212,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:217,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: record_allocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::clear_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:227,1
    - Dst: SerialArena::Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:228,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 232
    functionName: google::protobuf::internal::ArenaImpl::Reset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - SerialArena::Block*::set_pos
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaImpl::CleanupList
    - special
    - Pointer
    - SerialArena::Block*::next
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - record_allocs
    - SerialArena::Block*::clear_next
    - google::protobuf::internal::ArenaImpl::SpaceAllocated
    - PerBlock
    - metrics_collector::OnReset
    - GOOGLE_DCHECK_EQ
    - size
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:240,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:246,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:248,1
    - Dst: fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - last_size
    - min_bytes
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: google::protobuf::internal::ArenaImpl::NewBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - std::max
    - std::min
    - std::numeric_limits<size_t>::max
    - fetch_add
    - GOOGLE_CHECK_LE
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> ArenaImpl::NewBuffer(size_t last_size,\n
      \                                             size_t min_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:257,1
    - Dst: ArenaImpl*::NewBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - last_block
    - min_bytes
    - arena
    argTypes:
    - SerialArena::Block*
    - size_t
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::SerialArena::NewBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 8
    functionsReached:
    - std::tie
    - ArenaImpl*::NewBuffer
    - Block::Block
    - SerialArena::Block*::size
    linkageType: ''
    returnType: SerialArena::Block
    signature: "SerialArena::Block * SerialArena::NewBlock(SerialArena::Block* last_block,\n
      \                                         size_t min_bytes, ArenaImpl* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:266,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: google::protobuf::SizeOf
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: reinterpret_cast<CleanupChunk*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::SerialArena::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SizeOf
    - AllocateAligned
    - AddCleanup
    - google::protobuf::internal::AlignUpTo8
    - reinterpret_cast<CleanupChunk*>
    - std::min
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE SerialArena::AddCleanupFallback(void* elem, void
      (*cleanup)(void*))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: SerialArena*::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:283,1
    - Dst: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - SerialArena*::AllocateAlignedAndAddCleanup
    - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    linkageType: ''
    returnType: void
    signature: "void * ArenaImpl::AllocateAlignedAndAddCleanup(size_t n,\n                                              void
      (*cleanup)(void*))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: SerialArena*::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:292,1
    - Dst: google::protobuf::internal::ArenaImpl::AddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::ArenaImpl::AddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::ArenaImpl::AddCleanupFallback
    - SerialArena*::AddCleanup
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::AddCleanup(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:306,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedAndAddCleanupFallback(size_t
      n,\n                                                      void (*cleanup)(void*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::ArenaImpl::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE ArenaImpl::AddCleanupFallback(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:320,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:325,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerialArena::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    - google::protobuf::internal::SerialArena::NewBlock
    - set_pos
    - Pointer
    - ASAN_POISON_MEMORY_REGION
    - pos
    - size
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * SerialArena::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: google::protobuf::internal::ArenaImpl::SpaceAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 5
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceAllocated() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:336,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:338,1
    - Dst: SerialArena*::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: google::protobuf::internal::ArenaImpl::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - SerialArena*::SpaceUsed
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:350,1
    - Dst: next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: google::protobuf::internal::SerialArena::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - Block*::next
    - Block*::pos
    - Pointer
    - next
    linkageType: ''
    returnType: uint64
    signature: uint64 SerialArena::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:363,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:365,1
    - Dst: SerialArena*::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: google::protobuf::internal::ArenaImpl::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 5
    functionsReached:
    - SerialArena*::CleanupList
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::CleanupListFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: google::protobuf::internal::SerialArena::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerialArena::CleanupListFallback
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: google::protobuf::internal::SerialArena::CleanupListFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 5
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupListFallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:397,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: reinterpret_cast<SerialArena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:400,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - b
    - owner
    - arena
    argTypes:
    - Block*
    - void*
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: google::protobuf::internal::SerialArena::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 9
    functionsReached:
    - Block*::pos
    - Block*::size
    - Block*::Pointer
    - reinterpret_cast<SerialArena*>
    - GOOGLE_DCHECK_LE
    - Block*::set_pos
    linkageType: ''
    returnType: SerialArena
    signature: SerialArena * SerialArena::New(Block* b, void* owner, ArenaImpl* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:415,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:416,1
    - Dst: SerialArena*::owner
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:417,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:425,1
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:426,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:428,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:430,1
    - Dst: compare_exchange_weak
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:431,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - me
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 437
    functionName: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 15
    functionsReached:
    - SerialArena*::next
    - google::protobuf::internal::SerialArena::NewBlock
    - compare_exchange_weak
    - CacheSerialArena
    - SerialArena*::owner
    - load
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::GetSerialArenaFallback(void* me)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: ArenaMetricsCollector::~ArenaMetricsCollector()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaMetricsCollector::~ArenaMetricsCollector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:61,1
    - Dst: internal::ThreadLocalStorage*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - internal::ThreadLocalStorage*::Get
    - internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LifecycleIdAtomic>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - static_cast<LifecycleIdAtomic>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:77,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - object
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::ArenaFree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ArenaFree(void* object, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ArenaMetricsCollector*::RecordAllocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:89,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:100,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:101,1
    - Dst: SerialArena::Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:108,1
    - Dst: auto::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: Options::Options
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:113,1
    - Dst: auto::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:122,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ArenaOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ArenaImpl::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - auto::set_pos
    - auto::Pointer
    - std::max
    - ArenaMetricsCollector*::RecordAllocs
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - auto::pos
    - Options::Options
    - reinterpret_cast<char*>
    - GOOGLE_DCHECK_EQ
    - SerialArena::Block::Block
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::ArenaImpl(const ArenaOptions& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:127,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:130,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:137,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:141,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:147,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:148,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - record_allocs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::ArenaImpl::Init
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 11
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - id::fetch_add
    - thread_cache
    - store
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::Init(bool record_allocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:156,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:157,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - block
    argTypes:
    - SerialArena::Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ArenaImpl::SetInitialBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 11
    functionsReached:
    - thread_cache
    - CacheSerialArena
    - store
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    - SerialArena::Block*::size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::SetInitialBlock(SerialArena::Block* block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:165,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:174,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: user_owned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:180,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:181,1
    - Dst: ArenaMetricsCollector*::OnDestroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: ArenaImpl::~ArenaImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ArenaMetricsCollector*::OnDestroy
    - user_owned
    - SpaceAllocated
    - Pointer
    - CleanupList
    - ASAN_UNPOISON_MEMORY_REGION
    - PerBlock
    - size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::~ArenaImpl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metrics_collector::OnReset
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:197,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:203,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:205,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: special
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:211,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:212,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:217,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: record_allocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::clear_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:227,1
    - Dst: SerialArena::Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:228,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 232
    functionName: google::protobuf::internal::ArenaImpl::Reset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - SerialArena::Block*::set_pos
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaImpl::CleanupList
    - special
    - Pointer
    - SerialArena::Block*::next
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - record_allocs
    - SerialArena::Block*::clear_next
    - google::protobuf::internal::ArenaImpl::SpaceAllocated
    - PerBlock
    - metrics_collector::OnReset
    - GOOGLE_DCHECK_EQ
    - size
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:240,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:246,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:248,1
    - Dst: fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - last_size
    - min_bytes
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: google::protobuf::internal::ArenaImpl::NewBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - std::max
    - std::min
    - std::numeric_limits<size_t>::max
    - fetch_add
    - GOOGLE_CHECK_LE
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> ArenaImpl::NewBuffer(size_t last_size,\n
      \                                             size_t min_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:257,1
    - Dst: ArenaImpl*::NewBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - last_block
    - min_bytes
    - arena
    argTypes:
    - SerialArena::Block*
    - size_t
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::SerialArena::NewBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 10
    functionsReached:
    - std::tie
    - ArenaImpl*::NewBuffer
    - Block::Block
    - SerialArena::Block*::size
    linkageType: ''
    returnType: SerialArena::Block
    signature: "SerialArena::Block * SerialArena::NewBlock(SerialArena::Block* last_block,\n
      \                                         size_t min_bytes, ArenaImpl* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:266,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: google::protobuf::SizeOf
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: reinterpret_cast<CleanupChunk*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::SerialArena::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SizeOf
    - AllocateAligned
    - AddCleanup
    - google::protobuf::internal::AlignUpTo8
    - reinterpret_cast<CleanupChunk*>
    - std::min
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE SerialArena::AddCleanupFallback(void* elem, void
      (*cleanup)(void*))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: SerialArena*::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:283,1
    - Dst: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - SerialArena*::AllocateAlignedAndAddCleanup
    - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    linkageType: ''
    returnType: void
    signature: "void * ArenaImpl::AllocateAlignedAndAddCleanup(size_t n,\n                                              void
      (*cleanup)(void*))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: SerialArena*::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:292,1
    - Dst: google::protobuf::internal::ArenaImpl::AddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::ArenaImpl::AddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::ArenaImpl::AddCleanupFallback
    - SerialArena*::AddCleanup
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::AddCleanup(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:306,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedAndAddCleanupFallback(size_t
      n,\n                                                      void (*cleanup)(void*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::ArenaImpl::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE ArenaImpl::AddCleanupFallback(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:320,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:325,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerialArena::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    - google::protobuf::internal::SerialArena::NewBlock
    - set_pos
    - Pointer
    - ASAN_POISON_MEMORY_REGION
    - pos
    - size
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * SerialArena::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: google::protobuf::internal::ArenaImpl::SpaceAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 6
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceAllocated() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:336,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:338,1
    - Dst: SerialArena*::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: google::protobuf::internal::ArenaImpl::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - SerialArena*::SpaceUsed
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:350,1
    - Dst: next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: google::protobuf::internal::SerialArena::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - Block*::next
    - Block*::pos
    - Pointer
    - next
    linkageType: ''
    returnType: uint64
    signature: uint64 SerialArena::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:363,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:365,1
    - Dst: SerialArena*::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: google::protobuf::internal::ArenaImpl::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 6
    functionsReached:
    - SerialArena*::CleanupList
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::CleanupListFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: google::protobuf::internal::SerialArena::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerialArena::CleanupListFallback
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: google::protobuf::internal::SerialArena::CleanupListFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 6
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupListFallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:397,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: reinterpret_cast<SerialArena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:400,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - b
    - owner
    - arena
    argTypes:
    - Block*
    - void*
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: google::protobuf::internal::SerialArena::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 11
    functionsReached:
    - Block*::pos
    - Block*::size
    - Block*::Pointer
    - reinterpret_cast<SerialArena*>
    - GOOGLE_DCHECK_LE
    - Block*::set_pos
    linkageType: ''
    returnType: SerialArena
    signature: SerialArena * SerialArena::New(Block* b, void* owner, ArenaImpl* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:415,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:416,1
    - Dst: SerialArena*::owner
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:417,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:425,1
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:426,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:428,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:430,1
    - Dst: compare_exchange_weak
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:431,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - me
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 437
    functionName: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 18
    functionsReached:
    - SerialArena*::next
    - google::protobuf::internal::SerialArena::NewBlock
    - compare_exchange_weak
    - CacheSerialArena
    - SerialArena*::owner
    - load
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::GetSerialArenaFallback(void* me)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: ArenaMetricsCollector::~ArenaMetricsCollector()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaMetricsCollector::~ArenaMetricsCollector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: google::protobuf::Arena::AllocateAlignedNoHook
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    linkageType: ''
    returnType: void
    signature: void * Arena::AllocateAlignedNoHook(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:61,1
    - Dst: internal::ThreadLocalStorage*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - internal::ThreadLocalStorage*::Get
    - internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LifecycleIdAtomic>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - static_cast<LifecycleIdAtomic>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:77,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - object
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::ArenaFree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ArenaFree(void* object, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ArenaMetricsCollector*::RecordAllocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:89,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:100,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:101,1
    - Dst: SerialArena::Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:108,1
    - Dst: auto::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: Options::Options
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:113,1
    - Dst: auto::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:122,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ArenaOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ArenaImpl::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - auto::set_pos
    - auto::Pointer
    - std::max
    - ArenaMetricsCollector*::RecordAllocs
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - auto::pos
    - Options::Options
    - reinterpret_cast<char*>
    - GOOGLE_DCHECK_EQ
    - SerialArena::Block::Block
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::ArenaImpl(const ArenaOptions& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:127,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:130,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:137,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:141,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:147,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:148,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - record_allocs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::ArenaImpl::Init
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 13
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - id::fetch_add
    - thread_cache
    - store
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::Init(bool record_allocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:156,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:157,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - block
    argTypes:
    - SerialArena::Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ArenaImpl::SetInitialBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 13
    functionsReached:
    - thread_cache
    - CacheSerialArena
    - store
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    - SerialArena::Block*::size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::SetInitialBlock(SerialArena::Block* block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:165,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:174,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: user_owned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:180,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:181,1
    - Dst: ArenaMetricsCollector*::OnDestroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: ArenaImpl::~ArenaImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ArenaMetricsCollector*::OnDestroy
    - user_owned
    - SpaceAllocated
    - Pointer
    - CleanupList
    - ASAN_UNPOISON_MEMORY_REGION
    - PerBlock
    - size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::~ArenaImpl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metrics_collector::OnReset
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:197,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:203,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:205,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: special
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:211,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:212,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:217,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: record_allocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::clear_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:227,1
    - Dst: SerialArena::Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:228,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 232
    functionName: google::protobuf::internal::ArenaImpl::Reset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - SerialArena::Block*::set_pos
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaImpl::CleanupList
    - special
    - Pointer
    - SerialArena::Block*::next
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - record_allocs
    - SerialArena::Block*::clear_next
    - google::protobuf::internal::ArenaImpl::SpaceAllocated
    - PerBlock
    - metrics_collector::OnReset
    - GOOGLE_DCHECK_EQ
    - size
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:240,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:246,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:248,1
    - Dst: fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - last_size
    - min_bytes
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: google::protobuf::internal::ArenaImpl::NewBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - std::max
    - std::min
    - std::numeric_limits<size_t>::max
    - fetch_add
    - GOOGLE_CHECK_LE
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> ArenaImpl::NewBuffer(size_t last_size,\n
      \                                             size_t min_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:257,1
    - Dst: ArenaImpl*::NewBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - last_block
    - min_bytes
    - arena
    argTypes:
    - SerialArena::Block*
    - size_t
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::SerialArena::NewBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 12
    functionsReached:
    - std::tie
    - ArenaImpl*::NewBuffer
    - Block::Block
    - SerialArena::Block*::size
    linkageType: ''
    returnType: SerialArena::Block
    signature: "SerialArena::Block * SerialArena::NewBlock(SerialArena::Block* last_block,\n
      \                                         size_t min_bytes, ArenaImpl* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:266,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: google::protobuf::SizeOf
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: reinterpret_cast<CleanupChunk*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::SerialArena::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SizeOf
    - AllocateAligned
    - AddCleanup
    - google::protobuf::internal::AlignUpTo8
    - reinterpret_cast<CleanupChunk*>
    - std::min
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE SerialArena::AddCleanupFallback(void* elem, void
      (*cleanup)(void*))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: SerialArena*::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:283,1
    - Dst: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - SerialArena*::AllocateAlignedAndAddCleanup
    - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    linkageType: ''
    returnType: void
    signature: "void * ArenaImpl::AllocateAlignedAndAddCleanup(size_t n,\n                                              void
      (*cleanup)(void*))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: SerialArena*::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:292,1
    - Dst: google::protobuf::internal::ArenaImpl::AddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::ArenaImpl::AddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::ArenaImpl::AddCleanupFallback
    - SerialArena*::AddCleanup
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::AddCleanup(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:306,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedAndAddCleanupFallback(size_t
      n,\n                                                      void (*cleanup)(void*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::ArenaImpl::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE ArenaImpl::AddCleanupFallback(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:320,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:325,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerialArena::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    - google::protobuf::internal::SerialArena::NewBlock
    - set_pos
    - Pointer
    - ASAN_POISON_MEMORY_REGION
    - pos
    - size
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * SerialArena::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: google::protobuf::internal::ArenaImpl::SpaceAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 7
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceAllocated() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:336,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:338,1
    - Dst: SerialArena*::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: google::protobuf::internal::ArenaImpl::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - SerialArena*::SpaceUsed
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:350,1
    - Dst: next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: google::protobuf::internal::SerialArena::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - Block*::next
    - Block*::pos
    - Pointer
    - next
    linkageType: ''
    returnType: uint64
    signature: uint64 SerialArena::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:363,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:365,1
    - Dst: SerialArena*::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: google::protobuf::internal::ArenaImpl::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 7
    functionsReached:
    - SerialArena*::CleanupList
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::CleanupListFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: google::protobuf::internal::SerialArena::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerialArena::CleanupListFallback
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: google::protobuf::internal::SerialArena::CleanupListFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 7
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupListFallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:397,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: reinterpret_cast<SerialArena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:400,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - b
    - owner
    - arena
    argTypes:
    - Block*
    - void*
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: google::protobuf::internal::SerialArena::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 13
    functionsReached:
    - Block*::pos
    - Block*::size
    - Block*::Pointer
    - reinterpret_cast<SerialArena*>
    - GOOGLE_DCHECK_LE
    - Block*::set_pos
    linkageType: ''
    returnType: SerialArena
    signature: SerialArena * SerialArena::New(Block* b, void* owner, ArenaImpl* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:415,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:416,1
    - Dst: SerialArena*::owner
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:417,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:425,1
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:426,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:428,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:430,1
    - Dst: compare_exchange_weak
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:431,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - me
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 437
    functionName: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 21
    functionsReached:
    - SerialArena*::next
    - google::protobuf::internal::SerialArena::NewBlock
    - compare_exchange_weak
    - CacheSerialArena
    - SerialArena*::owner
    - load
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::GetSerialArenaFallback(void* me)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: ArenaMetricsCollector::~ArenaMetricsCollector()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaMetricsCollector::~ArenaMetricsCollector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:61,1
    - Dst: internal::ThreadLocalStorage*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - internal::ThreadLocalStorage*::Get
    - internal::ThreadLocalStorage<ThreadCache>::ThreadLocalStorage<ThreadCache>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<LifecycleIdAtomic>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: '& ArenaImpl::thread_cache()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - static_cast<LifecycleIdAtomic>
    linkageType: ''
    returnType: ArenaImpl::ThreadCache
    signature: ArenaImpl::ThreadCache & ArenaImpl::thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:77,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - object
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::ArenaFree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void ArenaFree(void* object, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ArenaMetricsCollector*::RecordAllocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:89,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:97,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:100,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:101,1
    - Dst: SerialArena::Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:108,1
    - Dst: auto::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: Options::Options
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:111,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:113,1
    - Dst: auto::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: auto::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:120,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:122,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ArenaOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ArenaImpl::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - auto::set_pos
    - auto::Pointer
    - std::max
    - ArenaMetricsCollector*::RecordAllocs
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - auto::pos
    - Options::Options
    - reinterpret_cast<char*>
    - GOOGLE_DCHECK_EQ
    - SerialArena::Block::Block
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::ArenaImpl(const ArenaOptions& options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:127,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:130,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:137,1
    - Dst: id::fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:141,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:147,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:148,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - record_allocs
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: google::protobuf::internal::ArenaImpl::Init
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 15
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - id::fetch_add
    - thread_cache
    - store
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::Init(bool record_allocs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:155,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:156,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:157,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:158,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - block
    argTypes:
    - SerialArena::Block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ArenaImpl::SetInitialBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 15
    functionsReached:
    - thread_cache
    - CacheSerialArena
    - store
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    - SerialArena::Block*::size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::SetInitialBlock(SerialArena::Block* block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:165,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:174,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:178,1
    - Dst: user_owned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:180,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:181,1
    - Dst: ArenaMetricsCollector*::OnDestroy
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: ArenaImpl::~ArenaImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ArenaMetricsCollector*::OnDestroy
    - user_owned
    - SpaceAllocated
    - Pointer
    - CleanupList
    - ASAN_UNPOISON_MEMORY_REGION
    - PerBlock
    - size
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::~ArenaImpl()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metrics_collector::OnReset
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:192,1
    - Dst: google::protobuf::internal::ArenaImpl::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:197,1
    - Dst: PerBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:203,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:205,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:209,1
    - Dst: special
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:211,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:212,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:217,1
    - Dst: google::protobuf::internal::ArenaImpl::Init
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: record_allocs
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:222,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:226,1
    - Dst: SerialArena::Block*::clear_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:227,1
    - Dst: SerialArena::Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:228,1
    - Dst: google::protobuf::internal::ArenaImpl::SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 232
    functionName: google::protobuf::internal::ArenaImpl::Reset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::SetInitialBlock
    - SerialArena::Block*::set_pos
    - GOOGLE_DCHECK
    - google::protobuf::internal::ArenaImpl::CleanupList
    - special
    - Pointer
    - SerialArena::Block*::next
    - google::protobuf::internal::ArenaImpl::Init
    - ASAN_UNPOISON_MEMORY_REGION
    - record_allocs
    - SerialArena::Block*::clear_next
    - google::protobuf::internal::ArenaImpl::SpaceAllocated
    - PerBlock
    - metrics_collector::OnReset
    - GOOGLE_DCHECK_EQ
    - size
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::Reset()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:240,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:245,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:246,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:248,1
    - Dst: fetch_add
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - last_size
    - min_bytes
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: google::protobuf::internal::ArenaImpl::NewBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - std::max
    - std::min
    - std::numeric_limits<size_t>::max
    - fetch_add
    - GOOGLE_CHECK_LE
    linkageType: ''
    returnType: std::pair<void*, size_t>
    signature: "std::pair<void*, size_t> ArenaImpl::NewBuffer(size_t last_size,\n
      \                                             size_t min_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:257,1
    - Dst: ArenaImpl*::NewBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: SerialArena::Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:258,1
    - Dst: Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - last_block
    - min_bytes
    - arena
    argTypes:
    - SerialArena::Block*
    - size_t
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::SerialArena::NewBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 14
    functionsReached:
    - std::tie
    - ArenaImpl*::NewBuffer
    - Block::Block
    - SerialArena::Block*::size
    linkageType: ''
    returnType: SerialArena::Block
    signature: "SerialArena::Block * SerialArena::NewBlock(SerialArena::Block* last_block,\n
      \                                         size_t min_bytes, ArenaImpl* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:266,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: google::protobuf::SizeOf
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:267,1
    - Dst: reinterpret_cast<CleanupChunk*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:268,1
    - Dst: AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::SerialArena::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::SizeOf
    - AllocateAligned
    - AddCleanup
    - google::protobuf::internal::AlignUpTo8
    - reinterpret_cast<CleanupChunk*>
    - std::min
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE SerialArena::AddCleanupFallback(void* elem, void
      (*cleanup)(void*))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:282,1
    - Dst: SerialArena*::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:283,1
    - Dst: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - SerialArena*::AllocateAlignedAndAddCleanup
    - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    linkageType: ''
    returnType: void
    signature: "void * ArenaImpl::AllocateAlignedAndAddCleanup(size_t n,\n                                              void
      (*cleanup)(void*))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:291,1
    - Dst: SerialArena*::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:292,1
    - Dst: google::protobuf::internal::ArenaImpl::AddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::ArenaImpl::AddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - GetSerialArenaFast
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::ArenaImpl::AddCleanupFallback
    - SerialArena*::AddCleanup
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::AddCleanup(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:306,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE * ArenaImpl::AllocateAlignedAndAddCleanupFallback(size_t
      n,\n                                                      void (*cleanup)(void*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    - Dst: thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::ArenaImpl::AddCleanupFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    - thread_cache
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE ArenaImpl::AddCleanupFallback(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:318,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:320,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:321,1
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:322,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:325,1
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerialArena::AllocateAlignedFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    - google::protobuf::internal::SerialArena::NewBlock
    - set_pos
    - Pointer
    - ASAN_POISON_MEMORY_REGION
    - pos
    - size
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * SerialArena::AllocateAlignedFallback(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: google::protobuf::internal::ArenaImpl::SpaceAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 8
    functionsReached:
    - load
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceAllocated() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:336,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:338,1
    - Dst: SerialArena*::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: google::protobuf::internal::ArenaImpl::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - SerialArena*::SpaceUsed
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: uint64
    signature: uint64 ArenaImpl::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:350,1
    - Dst: next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:352,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: google::protobuf::internal::SerialArena::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - Block*::next
    - Block*::pos
    - Pointer
    - next
    linkageType: ''
    returnType: uint64
    signature: uint64 SerialArena::SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:363,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:365,1
    - Dst: SerialArena*::CleanupList
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: google::protobuf::internal::ArenaImpl::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 8
    functionsReached:
    - SerialArena*::CleanupList
    - load
    - SerialArena*::next
    linkageType: ''
    returnType: void
    signature: void ArenaImpl::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerialArena::CleanupListFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: google::protobuf::internal::SerialArena::CleanupList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerialArena::CleanupListFallback
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupList()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: google::protobuf::internal::SerialArena::CleanupListFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 8
    functionsReached:
    - cleanup
    linkageType: ''
    returnType: void
    signature: void SerialArena::CleanupListFallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:397,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:398,1
    - Dst: reinterpret_cast<SerialArena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:399,1
    - Dst: Block*::set_pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:400,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::pos
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:404,1
    - Dst: Block*::Pointer
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    - Dst: Block*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - b
    - owner
    - arena
    argTypes:
    - Block*
    - void*
    - ArenaImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: google::protobuf::internal::SerialArena::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 15
    functionsReached:
    - Block*::pos
    - Block*::size
    - Block*::Pointer
    - reinterpret_cast<SerialArena*>
    - GOOGLE_DCHECK_LE
    - Block*::set_pos
    linkageType: ''
    returnType: SerialArena
    signature: SerialArena * SerialArena::New(Block* b, void* owner, ArenaImpl* arena)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:415,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:416,1
    - Dst: SerialArena*::owner
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:417,1
    - Dst: google::protobuf::internal::SerialArena::NewBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:425,1
    - Dst: google::protobuf::internal::SerialArena::New
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:426,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:428,1
    - Dst: SerialArena*::set_next
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:430,1
    - Dst: compare_exchange_weak
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:431,1
    - Dst: CacheSerialArena
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - me
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 437
    functionName: google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 24
    functionsReached:
    - SerialArena*::next
    - google::protobuf::internal::SerialArena::NewBlock
    - compare_exchange_weak
    - CacheSerialArena
    - SerialArena*::owner
    - load
    - google::protobuf::internal::SerialArena::New
    - SerialArena*::set_next
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * ArenaImpl::GetSerialArenaFallback(void* me)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: ArenaMetricsCollector::~ArenaMetricsCollector()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaMetricsCollector::~ArenaMetricsCollector()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/arena.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: google::protobuf::Arena::AllocateAlignedNoHook
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/arena.cc
    functionUses: 0
    functionsReached:
    - AllocateAligned
    linkageType: ''
    returnType: void
    signature: void * Arena::AllocateAlignedNoHook(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::DestroyMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: void
    signature: void DestroyMessage(const void* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::DestroyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const std::string*>
    linkageType: ''
    returnType: void
    signature: void DestroyString(const void* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:78,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:82,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::InitProtobufDefaultsImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - std::string::string
    - store
    - OnShutdownDestroyString
    - static_cast<void*>
    linkageType: ''
    returnType: bool
    signature: bool InitProtobufDefaultsImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaultsImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::InitProtobufDefaultsSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InitProtobufDefaultsImpl
    linkageType: ''
    returnType: void
    signature: void InitProtobufDefaultsSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - capacity
    - google::protobuf::internal::data
    linkageType: ''
    returnType: size_t
    signature: size_t StringSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T & Get(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:243,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::size
    - google::protobuf::internal::data
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:248,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::SerializeTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void SerializeTo(const void* ptr, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::WriteTagTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteTagTo(uint32 tag, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - length
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::WriteLengthTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteLengthTo(uint32 length, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializeToArray
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageNoTable(const MessageLite* msg,\n                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:308,1
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:309,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::SetSerializationDeterministic
    - io::CodedOutputStream::ByteCount
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: void SerializeMessageNoTable(const MessageLite* msg, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:318,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size,\n                              io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:326,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size, ArrayOutput* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:337,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: MessageLite*::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:341,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:345,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:346,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:347,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 351
    functionName: google::protobuf::internal::SerializeMessageTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - google::protobuf::internal::SerializeMessageDispatch
    - MessageLite*::GetCachedSize
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageTo(const MessageLite* msg, const void* table_ptr,\n
      \                       O* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:358,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:361,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:365,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:366,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::SerializeGroupTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeMessageDispatch
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeGroupTo(const MessageLite* msg, const void* table_ptr,\n
      \                     O* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:376,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:385,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:399,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:401,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::SerializeGroupTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:410,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:421,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:422,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:423,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: google::protobuf::internal::AccessorHelper::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int Size(const RepeatedPtrFieldBase& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - idx
    argTypes:
    - RepeatedPtrFieldBase
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::AccessorHelper::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - raw_data
    linkageType: ''
    returnType: void
    signature: void * Get(const RepeatedPtrFieldBase& x, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:443,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:444,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:445,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:461,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:462,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:463,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:464,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:466,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    - google::protobuf::internal::SerializeGroupTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:477,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:478,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:479,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:480,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 5
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:493,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:494,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:495,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:498,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:499,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 502
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::size
    - static_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - empty
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: google::protobuf::internal::SerializeNotImplemented
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void SerializeNotImplemented(int field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - type_class
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: SERIALIZE_TABLE_OP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZE_TABLE_OP(type, type_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZE_TABLE_OP
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - type_class
    argTypes:
    - int
    - FieldMetadata::FieldTypeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: google::protobuf::internal::FieldMetadata::CalculateType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SERIALIZE_TABLE_OP
    linkageType: ''
    returnType: int
    signature: "int FieldMetadata::CalculateType(int type,\n                                 FieldMetadata::FieldTypeClass
      type_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const typename PrimitiveTypeHelper<type>::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const typename PrimitiveTypeHelper<type>::Type*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_STRING>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_BYTES>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_GROUP>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_MESSAGE>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 593
    functionName: SERIALIZERS_FOR_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZERS_FOR_TYPE(type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:602,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:603,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:604,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:605,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:606,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:607,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:608,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:609,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:610,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:611,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:612,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:613,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:614,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:615,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:616,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:617,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:618,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:619,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:623,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:624,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:625,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - output
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 633
    functionName: google::protobuf::internal::SerializeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::SerializeNotImplemented
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: void
    signature: "void SerializeInternal(const uint8* base,\n                       const
      FieldMetadata* field_metadata_table,\n                       int32 num_fields,
      io::CodedOutputStream* output)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:646,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:647,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:648,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:649,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:650,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:651,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:652,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:653,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:654,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:655,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:656,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:657,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:658,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:659,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:660,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:661,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:662,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:663,1
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:668,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:669,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:670,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:671,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:673,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 5
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - is_deterministic
    - buffer
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 681
    functionName: google::protobuf::internal::SerializeInternalToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 1
    functionsReached:
    - io::CodedOutputStream::ByteCount
    - google::protobuf::internal::SerializeNotImplemented
    - io::CodedOutputStream::SetSerializationDeterministic
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: uint8
    signature: "uint8 * SerializeInternalToArray(const uint8* base,\n                                const
      FieldMetadata* field_metadata_table,\n                                int32
      num_fields, bool is_deterministic,\n                                uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ExtensionSet*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: google::protobuf::internal::ExtensionSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ExtensionSet*>
    linkageType: ''
    returnType: void
    signature: "void ExtensionSerializer(const uint8* ptr, uint32 offset, uint32 tag,\n
      \                        uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:693,1
    - Dst: reinterpret_cast<const InternalMetadata*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::UnknownFieldSerializerLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const InternalMetadata*>
    - io::CodedOutputStream*::WriteString
    linkageType: ''
    returnType: void
    signature: "void UnknownFieldSerializerLite(const uint8* ptr, uint32 offset, uint32
      tag,\n                                uint32 has_offset,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:700,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - message
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 706
    functionName: google::protobuf::internal::DuplicateIfNonNullInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * DuplicateIfNonNullInternal(MessageLite* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:709,1
    - Dst: std::unique_ptr::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:710,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:711,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:712,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:713,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - MessageLite*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 715
    functionName: google::protobuf::internal::GenericSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 20
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    - MessageLite*::Clear
    - std::unique_ptr::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void GenericSwap(MessageLite* m1, MessageLite* m2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:723,1
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:725,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:728,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 732
    functionName: google::protobuf::internal::GetOwnedMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Arena*::Own
    - MessageLite*::GetArena
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GetOwnedMessageInternal(Arena* message_arena,\n                                     MessageLite*
      submessage,\n                                     Arena* submessage_arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 1
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::get_id
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:770,1
    - Dst: ::GetCurrentThreadId
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:776,1
    - Dst: std::atomic_llong::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:781,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:788,1
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:789,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:790,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:791,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:794,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:796,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::protobuf::internal::InitSCCImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SCCInfoBase*::visit_status::load
    - std::atomic_llong::load
    - ::GetCurrentThreadId
    - google::protobuf::internal::InitProtobufDefaults
    - google::protobuf::internal::InitSCC_DFS
    - std::atomic_llong::store
    - std::this_thread::get_id
    - GOOGLE_CHECK_EQ
    - WrappedMutex::Lock
    - WrappedMutex::Unlock
    linkageType: ''
    returnType: void
    signature: void InitSCCImpl(SCCInfoBase* scc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::DestroyMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: void
    signature: void DestroyMessage(const void* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::DestroyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const std::string*>
    linkageType: ''
    returnType: void
    signature: void DestroyString(const void* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:78,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:82,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::InitProtobufDefaultsImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - std::string::string
    - store
    - OnShutdownDestroyString
    - static_cast<void*>
    linkageType: ''
    returnType: bool
    signature: bool InitProtobufDefaultsImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaultsImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::InitProtobufDefaultsSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InitProtobufDefaultsImpl
    linkageType: ''
    returnType: void
    signature: void InitProtobufDefaultsSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - capacity
    - google::protobuf::internal::data
    linkageType: ''
    returnType: size_t
    signature: size_t StringSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 28
    functionsReached:
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T & Get(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:243,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::size
    - google::protobuf::internal::data
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:248,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::SerializeTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 7
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void SerializeTo(const void* ptr, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::WriteTagTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteTagTo(uint32 tag, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - length
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::WriteLengthTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteLengthTo(uint32 length, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializeToArray
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 2
    functionsReached:
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageNoTable(const MessageLite* msg,\n                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:308,1
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:309,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 2
    functionsReached:
    - io::CodedOutputStream::SetSerializationDeterministic
    - io::CodedOutputStream::ByteCount
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: void SerializeMessageNoTable(const MessageLite* msg, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:318,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size,\n                              io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:326,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size, ArrayOutput* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:337,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: MessageLite*::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:341,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:345,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:346,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:347,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 351
    functionName: google::protobuf::internal::SerializeMessageTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - google::protobuf::internal::SerializeMessageDispatch
    - MessageLite*::GetCachedSize
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageTo(const MessageLite* msg, const void* table_ptr,\n
      \                       O* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:358,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:361,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:365,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:366,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::SerializeGroupTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeMessageDispatch
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeGroupTo(const MessageLite* msg, const void* table_ptr,\n
      \                     O* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:376,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:385,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:399,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:401,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::SerializeGroupTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:410,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:421,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:422,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:423,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: google::protobuf::internal::AccessorHelper::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int Size(const RepeatedPtrFieldBase& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - idx
    argTypes:
    - RepeatedPtrFieldBase
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::AccessorHelper::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 3
    functionsReached:
    - raw_data
    linkageType: ''
    returnType: void
    signature: void * Get(const RepeatedPtrFieldBase& x, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:443,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:444,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:445,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:461,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:462,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:463,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:464,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:466,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    - google::protobuf::internal::SerializeGroupTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:477,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:478,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:479,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:480,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 5
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:493,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:494,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:495,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:498,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:499,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 502
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::size
    - static_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - empty
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: google::protobuf::internal::SerializeNotImplemented
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void SerializeNotImplemented(int field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - type_class
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: SERIALIZE_TABLE_OP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZE_TABLE_OP(type, type_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZE_TABLE_OP
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - type_class
    argTypes:
    - int
    - FieldMetadata::FieldTypeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: google::protobuf::internal::FieldMetadata::CalculateType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SERIALIZE_TABLE_OP
    linkageType: ''
    returnType: int
    signature: "int FieldMetadata::CalculateType(int type,\n                                 FieldMetadata::FieldTypeClass
      type_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const typename PrimitiveTypeHelper<type>::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const typename PrimitiveTypeHelper<type>::Type*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_STRING>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_BYTES>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_GROUP>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_MESSAGE>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 593
    functionName: SERIALIZERS_FOR_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZERS_FOR_TYPE(type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:602,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:603,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:604,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:605,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:606,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:607,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:608,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:609,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:610,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:611,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:612,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:613,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:614,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:615,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:616,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:617,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:618,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:619,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:623,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:624,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:625,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - output
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 633
    functionName: google::protobuf::internal::SerializeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::SerializeNotImplemented
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: void
    signature: "void SerializeInternal(const uint8* base,\n                       const
      FieldMetadata* field_metadata_table,\n                       int32 num_fields,
      io::CodedOutputStream* output)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:646,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:647,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:648,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:649,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:650,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:651,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:652,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:653,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:654,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:655,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:656,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:657,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:658,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:659,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:660,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:661,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:662,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:663,1
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:668,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:669,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:670,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:671,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:673,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 5
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - is_deterministic
    - buffer
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 681
    functionName: google::protobuf::internal::SerializeInternalToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 2
    functionsReached:
    - io::CodedOutputStream::ByteCount
    - google::protobuf::internal::SerializeNotImplemented
    - io::CodedOutputStream::SetSerializationDeterministic
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: uint8
    signature: "uint8 * SerializeInternalToArray(const uint8* base,\n                                const
      FieldMetadata* field_metadata_table,\n                                int32
      num_fields, bool is_deterministic,\n                                uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ExtensionSet*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: google::protobuf::internal::ExtensionSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ExtensionSet*>
    linkageType: ''
    returnType: void
    signature: "void ExtensionSerializer(const uint8* ptr, uint32 offset, uint32 tag,\n
      \                        uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:693,1
    - Dst: reinterpret_cast<const InternalMetadata*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::UnknownFieldSerializerLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const InternalMetadata*>
    - io::CodedOutputStream*::WriteString
    linkageType: ''
    returnType: void
    signature: "void UnknownFieldSerializerLite(const uint8* ptr, uint32 offset, uint32
      tag,\n                                uint32 has_offset,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:700,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - message
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 706
    functionName: google::protobuf::internal::DuplicateIfNonNullInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * DuplicateIfNonNullInternal(MessageLite* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:709,1
    - Dst: std::unique_ptr::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:710,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:711,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:712,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:713,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - MessageLite*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 715
    functionName: google::protobuf::internal::GenericSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 20
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    - MessageLite*::Clear
    - std::unique_ptr::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void GenericSwap(MessageLite* m1, MessageLite* m2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:723,1
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:725,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:728,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 732
    functionName: google::protobuf::internal::GetOwnedMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Arena*::Own
    - MessageLite*::GetArena
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GetOwnedMessageInternal(Arena* message_arena,\n                                     MessageLite*
      submessage,\n                                     Arena* submessage_arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 5
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::get_id
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:770,1
    - Dst: ::GetCurrentThreadId
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:776,1
    - Dst: std::atomic_llong::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:781,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:788,1
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:789,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:790,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:791,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:794,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:796,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::protobuf::internal::InitSCCImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SCCInfoBase*::visit_status::load
    - std::atomic_llong::load
    - ::GetCurrentThreadId
    - google::protobuf::internal::InitProtobufDefaults
    - google::protobuf::internal::InitSCC_DFS
    - std::atomic_llong::store
    - std::this_thread::get_id
    - GOOGLE_CHECK_EQ
    - WrappedMutex::Lock
    - WrappedMutex::Unlock
    linkageType: ''
    returnType: void
    signature: void InitSCCImpl(SCCInfoBase* scc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::DestroyMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: void
    signature: void DestroyMessage(const void* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::DestroyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const std::string*>
    linkageType: ''
    returnType: void
    signature: void DestroyString(const void* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:78,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:82,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::InitProtobufDefaultsImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - std::string::string
    - store
    - OnShutdownDestroyString
    - static_cast<void*>
    linkageType: ''
    returnType: bool
    signature: bool InitProtobufDefaultsImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaultsImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::InitProtobufDefaultsSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InitProtobufDefaultsImpl
    linkageType: ''
    returnType: void
    signature: void InitProtobufDefaultsSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - capacity
    - google::protobuf::internal::data
    linkageType: ''
    returnType: size_t
    signature: size_t StringSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 56
    functionsReached:
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T & Get(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:243,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::size
    - google::protobuf::internal::data
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:248,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::SerializeTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 14
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void SerializeTo(const void* ptr, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::WriteTagTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteTagTo(uint32 tag, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - length
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::WriteLengthTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteLengthTo(uint32 length, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializeToArray
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 4
    functionsReached:
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageNoTable(const MessageLite* msg,\n                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:308,1
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:309,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 4
    functionsReached:
    - io::CodedOutputStream::SetSerializationDeterministic
    - io::CodedOutputStream::ByteCount
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: void SerializeMessageNoTable(const MessageLite* msg, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:318,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size,\n                              io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:326,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size, ArrayOutput* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:337,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: MessageLite*::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:341,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:345,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:346,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:347,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 351
    functionName: google::protobuf::internal::SerializeMessageTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - google::protobuf::internal::SerializeMessageDispatch
    - MessageLite*::GetCachedSize
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageTo(const MessageLite* msg, const void* table_ptr,\n
      \                       O* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:358,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:361,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:365,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:366,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::SerializeGroupTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 4
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeMessageDispatch
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeGroupTo(const MessageLite* msg, const void* table_ptr,\n
      \                     O* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:376,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:385,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:399,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:401,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::SerializeGroupTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:410,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:421,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:422,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:423,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: google::protobuf::internal::AccessorHelper::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int Size(const RepeatedPtrFieldBase& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - idx
    argTypes:
    - RepeatedPtrFieldBase
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::AccessorHelper::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached:
    - raw_data
    linkageType: ''
    returnType: void
    signature: void * Get(const RepeatedPtrFieldBase& x, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:443,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:444,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:445,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:461,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:462,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:463,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:464,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:466,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    - google::protobuf::internal::SerializeGroupTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:477,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:478,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:479,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:480,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 5
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:493,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:494,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:495,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:498,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:499,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 502
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::size
    - static_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - empty
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: google::protobuf::internal::SerializeNotImplemented
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 4
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void SerializeNotImplemented(int field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - type_class
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: SERIALIZE_TABLE_OP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZE_TABLE_OP(type, type_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZE_TABLE_OP
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - type_class
    argTypes:
    - int
    - FieldMetadata::FieldTypeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: google::protobuf::internal::FieldMetadata::CalculateType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SERIALIZE_TABLE_OP
    linkageType: ''
    returnType: int
    signature: "int FieldMetadata::CalculateType(int type,\n                                 FieldMetadata::FieldTypeClass
      type_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const typename PrimitiveTypeHelper<type>::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const typename PrimitiveTypeHelper<type>::Type*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_STRING>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_BYTES>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_GROUP>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_MESSAGE>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 593
    functionName: SERIALIZERS_FOR_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZERS_FOR_TYPE(type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:602,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:603,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:604,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:605,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:606,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:607,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:608,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:609,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:610,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:611,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:612,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:613,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:614,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:615,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:616,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:617,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:618,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:619,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:623,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:624,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:625,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - output
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 633
    functionName: google::protobuf::internal::SerializeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::SerializeNotImplemented
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: void
    signature: "void SerializeInternal(const uint8* base,\n                       const
      FieldMetadata* field_metadata_table,\n                       int32 num_fields,
      io::CodedOutputStream* output)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:646,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:647,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:648,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:649,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:650,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:651,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:652,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:653,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:654,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:655,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:656,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:657,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:658,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:659,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:660,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:661,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:662,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:663,1
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:668,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:669,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:670,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:671,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:673,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 5
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - is_deterministic
    - buffer
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 681
    functionName: google::protobuf::internal::SerializeInternalToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 3
    functionsReached:
    - io::CodedOutputStream::ByteCount
    - google::protobuf::internal::SerializeNotImplemented
    - io::CodedOutputStream::SetSerializationDeterministic
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: uint8
    signature: "uint8 * SerializeInternalToArray(const uint8* base,\n                                const
      FieldMetadata* field_metadata_table,\n                                int32
      num_fields, bool is_deterministic,\n                                uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ExtensionSet*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: google::protobuf::internal::ExtensionSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ExtensionSet*>
    linkageType: ''
    returnType: void
    signature: "void ExtensionSerializer(const uint8* ptr, uint32 offset, uint32 tag,\n
      \                        uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:693,1
    - Dst: reinterpret_cast<const InternalMetadata*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::UnknownFieldSerializerLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const InternalMetadata*>
    - io::CodedOutputStream*::WriteString
    linkageType: ''
    returnType: void
    signature: "void UnknownFieldSerializerLite(const uint8* ptr, uint32 offset, uint32
      tag,\n                                uint32 has_offset,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:700,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - message
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 706
    functionName: google::protobuf::internal::DuplicateIfNonNullInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * DuplicateIfNonNullInternal(MessageLite* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:709,1
    - Dst: std::unique_ptr::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:710,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:711,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:712,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:713,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - MessageLite*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 715
    functionName: google::protobuf::internal::GenericSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 20
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    - MessageLite*::Clear
    - std::unique_ptr::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void GenericSwap(MessageLite* m1, MessageLite* m2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:723,1
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:725,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:728,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 732
    functionName: google::protobuf::internal::GetOwnedMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Arena*::Own
    - MessageLite*::GetArena
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GetOwnedMessageInternal(Arena* message_arena,\n                                     MessageLite*
      submessage,\n                                     Arena* submessage_arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 7
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 8
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::get_id
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:770,1
    - Dst: ::GetCurrentThreadId
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:776,1
    - Dst: std::atomic_llong::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:781,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:788,1
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:789,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:790,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:791,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:794,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:796,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::protobuf::internal::InitSCCImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SCCInfoBase*::visit_status::load
    - std::atomic_llong::load
    - ::GetCurrentThreadId
    - google::protobuf::internal::InitProtobufDefaults
    - google::protobuf::internal::InitSCC_DFS
    - std::atomic_llong::store
    - std::this_thread::get_id
    - GOOGLE_CHECK_EQ
    - WrappedMutex::Lock
    - WrappedMutex::Unlock
    linkageType: ''
    returnType: void
    signature: void InitSCCImpl(SCCInfoBase* scc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::DestroyMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: void
    signature: void DestroyMessage(const void* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::DestroyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const std::string*>
    linkageType: ''
    returnType: void
    signature: void DestroyString(const void* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:78,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:82,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::InitProtobufDefaultsImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - std::string::string
    - store
    - OnShutdownDestroyString
    - static_cast<void*>
    linkageType: ''
    returnType: bool
    signature: bool InitProtobufDefaultsImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaultsImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::InitProtobufDefaultsSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InitProtobufDefaultsImpl
    linkageType: ''
    returnType: void
    signature: void InitProtobufDefaultsSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - capacity
    - google::protobuf::internal::data
    linkageType: ''
    returnType: size_t
    signature: size_t StringSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 84
    functionsReached:
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T & Get(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:243,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::size
    - google::protobuf::internal::data
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:248,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::SerializeTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 21
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void SerializeTo(const void* ptr, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::WriteTagTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 27
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteTagTo(uint32 tag, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - length
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::WriteLengthTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteLengthTo(uint32 length, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializeToArray
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached:
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageNoTable(const MessageLite* msg,\n                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:308,1
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:309,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached:
    - io::CodedOutputStream::SetSerializationDeterministic
    - io::CodedOutputStream::ByteCount
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: void SerializeMessageNoTable(const MessageLite* msg, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:318,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size,\n                              io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:326,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size, ArrayOutput* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:337,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: MessageLite*::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:341,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:345,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:346,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:347,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 351
    functionName: google::protobuf::internal::SerializeMessageTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - google::protobuf::internal::SerializeMessageDispatch
    - MessageLite*::GetCachedSize
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageTo(const MessageLite* msg, const void* table_ptr,\n
      \                       O* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:358,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:361,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:365,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:366,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::SerializeGroupTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeMessageDispatch
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeGroupTo(const MessageLite* msg, const void* table_ptr,\n
      \                     O* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:376,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:385,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:399,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:401,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::SerializeGroupTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:410,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:421,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:422,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:423,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: google::protobuf::internal::AccessorHelper::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 9
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int Size(const RepeatedPtrFieldBase& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - idx
    argTypes:
    - RepeatedPtrFieldBase
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::AccessorHelper::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 9
    functionsReached:
    - raw_data
    linkageType: ''
    returnType: void
    signature: void * Get(const RepeatedPtrFieldBase& x, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:443,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:444,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:445,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:461,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:462,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:463,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:464,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:466,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    - google::protobuf::internal::SerializeGroupTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:477,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:478,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:479,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:480,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 5
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:493,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:494,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:495,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:498,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:499,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 502
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::size
    - static_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - empty
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: google::protobuf::internal::SerializeNotImplemented
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void SerializeNotImplemented(int field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - type_class
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: SERIALIZE_TABLE_OP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZE_TABLE_OP(type, type_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZE_TABLE_OP
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - type_class
    argTypes:
    - int
    - FieldMetadata::FieldTypeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: google::protobuf::internal::FieldMetadata::CalculateType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SERIALIZE_TABLE_OP
    linkageType: ''
    returnType: int
    signature: "int FieldMetadata::CalculateType(int type,\n                                 FieldMetadata::FieldTypeClass
      type_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const typename PrimitiveTypeHelper<type>::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const typename PrimitiveTypeHelper<type>::Type*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_STRING>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_BYTES>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_GROUP>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_MESSAGE>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 593
    functionName: SERIALIZERS_FOR_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZERS_FOR_TYPE(type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:602,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:603,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:604,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:605,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:606,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:607,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:608,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:609,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:610,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:611,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:612,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:613,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:614,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:615,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:616,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:617,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:618,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:619,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:623,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:624,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:625,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - output
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 633
    functionName: google::protobuf::internal::SerializeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::SerializeNotImplemented
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: void
    signature: "void SerializeInternal(const uint8* base,\n                       const
      FieldMetadata* field_metadata_table,\n                       int32 num_fields,
      io::CodedOutputStream* output)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:646,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:647,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:648,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:649,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:650,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:651,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:652,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:653,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:654,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:655,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:656,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:657,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:658,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:659,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:660,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:661,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:662,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:663,1
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:668,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:669,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:670,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:671,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:673,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 5
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - is_deterministic
    - buffer
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 681
    functionName: google::protobuf::internal::SerializeInternalToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 4
    functionsReached:
    - io::CodedOutputStream::ByteCount
    - google::protobuf::internal::SerializeNotImplemented
    - io::CodedOutputStream::SetSerializationDeterministic
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: uint8
    signature: "uint8 * SerializeInternalToArray(const uint8* base,\n                                const
      FieldMetadata* field_metadata_table,\n                                int32
      num_fields, bool is_deterministic,\n                                uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ExtensionSet*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: google::protobuf::internal::ExtensionSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ExtensionSet*>
    linkageType: ''
    returnType: void
    signature: "void ExtensionSerializer(const uint8* ptr, uint32 offset, uint32 tag,\n
      \                        uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:693,1
    - Dst: reinterpret_cast<const InternalMetadata*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::UnknownFieldSerializerLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const InternalMetadata*>
    - io::CodedOutputStream*::WriteString
    linkageType: ''
    returnType: void
    signature: "void UnknownFieldSerializerLite(const uint8* ptr, uint32 offset, uint32
      tag,\n                                uint32 has_offset,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:700,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - message
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 706
    functionName: google::protobuf::internal::DuplicateIfNonNullInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * DuplicateIfNonNullInternal(MessageLite* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:709,1
    - Dst: std::unique_ptr::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:710,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:711,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:712,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:713,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - MessageLite*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 715
    functionName: google::protobuf::internal::GenericSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 20
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    - MessageLite*::Clear
    - std::unique_ptr::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void GenericSwap(MessageLite* m1, MessageLite* m2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:723,1
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:725,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:728,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 732
    functionName: google::protobuf::internal::GetOwnedMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Arena*::Own
    - MessageLite*::GetArena
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GetOwnedMessageInternal(Arena* message_arena,\n                                     MessageLite*
      submessage,\n                                     Arena* submessage_arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 10
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 11
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::get_id
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:770,1
    - Dst: ::GetCurrentThreadId
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:776,1
    - Dst: std::atomic_llong::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:781,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:788,1
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:789,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:790,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:791,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:794,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:796,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::protobuf::internal::InitSCCImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SCCInfoBase*::visit_status::load
    - std::atomic_llong::load
    - ::GetCurrentThreadId
    - google::protobuf::internal::InitProtobufDefaults
    - google::protobuf::internal::InitSCC_DFS
    - std::atomic_llong::store
    - std::this_thread::get_id
    - GOOGLE_CHECK_EQ
    - WrappedMutex::Lock
    - WrappedMutex::Unlock
    linkageType: ''
    returnType: void
    signature: void InitSCCImpl(SCCInfoBase* scc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::DestroyMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: void
    signature: void DestroyMessage(const void* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::DestroyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const std::string*>
    linkageType: ''
    returnType: void
    signature: void DestroyString(const void* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:78,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:82,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::InitProtobufDefaultsImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - std::string::string
    - store
    - OnShutdownDestroyString
    - static_cast<void*>
    linkageType: ''
    returnType: bool
    signature: bool InitProtobufDefaultsImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaultsImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::InitProtobufDefaultsSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InitProtobufDefaultsImpl
    linkageType: ''
    returnType: void
    signature: void InitProtobufDefaultsSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - capacity
    - google::protobuf::internal::data
    linkageType: ''
    returnType: size_t
    signature: size_t StringSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 112
    functionsReached:
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T & Get(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:243,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::size
    - google::protobuf::internal::data
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:248,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::SerializeTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 28
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void SerializeTo(const void* ptr, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::WriteTagTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 36
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteTagTo(uint32 tag, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - length
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::WriteLengthTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteLengthTo(uint32 length, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializeToArray
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 8
    functionsReached:
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageNoTable(const MessageLite* msg,\n                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:308,1
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:309,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 8
    functionsReached:
    - io::CodedOutputStream::SetSerializationDeterministic
    - io::CodedOutputStream::ByteCount
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: void SerializeMessageNoTable(const MessageLite* msg, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:318,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size,\n                              io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:326,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size, ArrayOutput* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:337,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: MessageLite*::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:341,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:345,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:346,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:347,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 351
    functionName: google::protobuf::internal::SerializeMessageTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - google::protobuf::internal::SerializeMessageDispatch
    - MessageLite*::GetCachedSize
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageTo(const MessageLite* msg, const void* table_ptr,\n
      \                       O* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:358,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:361,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:365,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:366,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::SerializeGroupTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 8
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeMessageDispatch
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeGroupTo(const MessageLite* msg, const void* table_ptr,\n
      \                     O* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:376,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:385,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:399,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:401,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::SerializeGroupTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:410,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:421,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:422,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:423,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: google::protobuf::internal::AccessorHelper::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 12
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int Size(const RepeatedPtrFieldBase& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - idx
    argTypes:
    - RepeatedPtrFieldBase
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::AccessorHelper::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 12
    functionsReached:
    - raw_data
    linkageType: ''
    returnType: void
    signature: void * Get(const RepeatedPtrFieldBase& x, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:443,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:444,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:445,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:461,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:462,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:463,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:464,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:466,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    - google::protobuf::internal::SerializeGroupTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:477,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:478,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:479,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:480,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 5
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:493,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:494,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:495,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:498,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:499,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 502
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::size
    - static_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - empty
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: google::protobuf::internal::SerializeNotImplemented
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 8
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void SerializeNotImplemented(int field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - type_class
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: SERIALIZE_TABLE_OP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZE_TABLE_OP(type, type_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZE_TABLE_OP
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - type_class
    argTypes:
    - int
    - FieldMetadata::FieldTypeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: google::protobuf::internal::FieldMetadata::CalculateType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SERIALIZE_TABLE_OP
    linkageType: ''
    returnType: int
    signature: "int FieldMetadata::CalculateType(int type,\n                                 FieldMetadata::FieldTypeClass
      type_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const typename PrimitiveTypeHelper<type>::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const typename PrimitiveTypeHelper<type>::Type*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_STRING>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_BYTES>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_GROUP>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_MESSAGE>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 593
    functionName: SERIALIZERS_FOR_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZERS_FOR_TYPE(type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:602,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:603,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:604,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:605,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:606,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:607,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:608,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:609,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:610,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:611,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:612,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:613,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:614,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:615,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:616,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:617,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:618,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:619,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:623,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:624,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:625,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - output
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 633
    functionName: google::protobuf::internal::SerializeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::SerializeNotImplemented
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: void
    signature: "void SerializeInternal(const uint8* base,\n                       const
      FieldMetadata* field_metadata_table,\n                       int32 num_fields,
      io::CodedOutputStream* output)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:646,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:647,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:648,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:649,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:650,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:651,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:652,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:653,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:654,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:655,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:656,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:657,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:658,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:659,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:660,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:661,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:662,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:663,1
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:668,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:669,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:670,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:671,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:673,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 5
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - is_deterministic
    - buffer
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 681
    functionName: google::protobuf::internal::SerializeInternalToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 5
    functionsReached:
    - io::CodedOutputStream::ByteCount
    - google::protobuf::internal::SerializeNotImplemented
    - io::CodedOutputStream::SetSerializationDeterministic
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: uint8
    signature: "uint8 * SerializeInternalToArray(const uint8* base,\n                                const
      FieldMetadata* field_metadata_table,\n                                int32
      num_fields, bool is_deterministic,\n                                uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ExtensionSet*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: google::protobuf::internal::ExtensionSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ExtensionSet*>
    linkageType: ''
    returnType: void
    signature: "void ExtensionSerializer(const uint8* ptr, uint32 offset, uint32 tag,\n
      \                        uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:693,1
    - Dst: reinterpret_cast<const InternalMetadata*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::UnknownFieldSerializerLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const InternalMetadata*>
    - io::CodedOutputStream*::WriteString
    linkageType: ''
    returnType: void
    signature: "void UnknownFieldSerializerLite(const uint8* ptr, uint32 offset, uint32
      tag,\n                                uint32 has_offset,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:700,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - message
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 706
    functionName: google::protobuf::internal::DuplicateIfNonNullInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * DuplicateIfNonNullInternal(MessageLite* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:709,1
    - Dst: std::unique_ptr::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:710,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:711,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:712,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:713,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - MessageLite*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 715
    functionName: google::protobuf::internal::GenericSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 20
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    - MessageLite*::Clear
    - std::unique_ptr::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void GenericSwap(MessageLite* m1, MessageLite* m2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:723,1
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:725,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:728,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 732
    functionName: google::protobuf::internal::GetOwnedMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Arena*::Own
    - MessageLite*::GetArena
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GetOwnedMessageInternal(Arena* message_arena,\n                                     MessageLite*
      submessage,\n                                     Arena* submessage_arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 13
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 14
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::get_id
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:770,1
    - Dst: ::GetCurrentThreadId
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:776,1
    - Dst: std::atomic_llong::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:781,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:788,1
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:789,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:790,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:791,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:794,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:796,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::protobuf::internal::InitSCCImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SCCInfoBase*::visit_status::load
    - std::atomic_llong::load
    - ::GetCurrentThreadId
    - google::protobuf::internal::InitProtobufDefaults
    - google::protobuf::internal::InitSCC_DFS
    - std::atomic_llong::store
    - std::this_thread::get_id
    - GOOGLE_CHECK_EQ
    - WrappedMutex::Lock
    - WrappedMutex::Unlock
    linkageType: ''
    returnType: void
    signature: void InitSCCImpl(SCCInfoBase* scc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::DestroyMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: void
    signature: void DestroyMessage(const void* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::DestroyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const std::string*>
    linkageType: ''
    returnType: void
    signature: void DestroyString(const void* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:78,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:82,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::InitProtobufDefaultsImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - std::string::string
    - store
    - OnShutdownDestroyString
    - static_cast<void*>
    linkageType: ''
    returnType: bool
    signature: bool InitProtobufDefaultsImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaultsImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::InitProtobufDefaultsSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InitProtobufDefaultsImpl
    linkageType: ''
    returnType: void
    signature: void InitProtobufDefaultsSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - capacity
    - google::protobuf::internal::data
    linkageType: ''
    returnType: size_t
    signature: size_t StringSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 140
    functionsReached:
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T & Get(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:243,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::size
    - google::protobuf::internal::data
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:248,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::SerializeTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 35
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void SerializeTo(const void* ptr, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::WriteTagTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 45
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteTagTo(uint32 tag, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - length
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::WriteLengthTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteLengthTo(uint32 length, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializeToArray
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 10
    functionsReached:
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageNoTable(const MessageLite* msg,\n                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:308,1
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:309,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 10
    functionsReached:
    - io::CodedOutputStream::SetSerializationDeterministic
    - io::CodedOutputStream::ByteCount
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: void SerializeMessageNoTable(const MessageLite* msg, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:318,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size,\n                              io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:326,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 10
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size, ArrayOutput* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:337,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: MessageLite*::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:341,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:345,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:346,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:347,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 351
    functionName: google::protobuf::internal::SerializeMessageTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 10
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - google::protobuf::internal::SerializeMessageDispatch
    - MessageLite*::GetCachedSize
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageTo(const MessageLite* msg, const void* table_ptr,\n
      \                       O* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:358,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:361,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:365,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:366,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::SerializeGroupTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 10
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeMessageDispatch
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeGroupTo(const MessageLite* msg, const void* table_ptr,\n
      \                     O* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:376,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:385,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:399,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:401,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::SerializeGroupTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:410,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:421,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:422,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:423,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: google::protobuf::internal::AccessorHelper::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 15
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int Size(const RepeatedPtrFieldBase& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - idx
    argTypes:
    - RepeatedPtrFieldBase
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::AccessorHelper::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 15
    functionsReached:
    - raw_data
    linkageType: ''
    returnType: void
    signature: void * Get(const RepeatedPtrFieldBase& x, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:443,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:444,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:445,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:461,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:462,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:463,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:464,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:466,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    - google::protobuf::internal::SerializeGroupTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:477,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:478,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:479,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:480,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 5
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:493,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:494,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:495,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:498,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:499,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 502
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::size
    - static_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - empty
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: google::protobuf::internal::SerializeNotImplemented
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 10
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void SerializeNotImplemented(int field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - type_class
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: SERIALIZE_TABLE_OP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZE_TABLE_OP(type, type_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZE_TABLE_OP
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - type_class
    argTypes:
    - int
    - FieldMetadata::FieldTypeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: google::protobuf::internal::FieldMetadata::CalculateType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SERIALIZE_TABLE_OP
    linkageType: ''
    returnType: int
    signature: "int FieldMetadata::CalculateType(int type,\n                                 FieldMetadata::FieldTypeClass
      type_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const typename PrimitiveTypeHelper<type>::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const typename PrimitiveTypeHelper<type>::Type*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_STRING>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_BYTES>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_GROUP>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_MESSAGE>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 593
    functionName: SERIALIZERS_FOR_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZERS_FOR_TYPE(type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:602,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:603,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:604,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:605,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:606,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:607,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:608,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:609,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:610,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:611,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:612,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:613,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:614,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:615,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:616,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:617,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:618,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:619,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:623,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:624,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:625,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - output
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 633
    functionName: google::protobuf::internal::SerializeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::SerializeNotImplemented
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: void
    signature: "void SerializeInternal(const uint8* base,\n                       const
      FieldMetadata* field_metadata_table,\n                       int32 num_fields,
      io::CodedOutputStream* output)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:646,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:647,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:648,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:649,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:650,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:651,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:652,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:653,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:654,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:655,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:656,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:657,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:658,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:659,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:660,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:661,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:662,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:663,1
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:668,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:669,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:670,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:671,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:673,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 5
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - is_deterministic
    - buffer
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 681
    functionName: google::protobuf::internal::SerializeInternalToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached:
    - io::CodedOutputStream::ByteCount
    - google::protobuf::internal::SerializeNotImplemented
    - io::CodedOutputStream::SetSerializationDeterministic
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: uint8
    signature: "uint8 * SerializeInternalToArray(const uint8* base,\n                                const
      FieldMetadata* field_metadata_table,\n                                int32
      num_fields, bool is_deterministic,\n                                uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ExtensionSet*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: google::protobuf::internal::ExtensionSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ExtensionSet*>
    linkageType: ''
    returnType: void
    signature: "void ExtensionSerializer(const uint8* ptr, uint32 offset, uint32 tag,\n
      \                        uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:693,1
    - Dst: reinterpret_cast<const InternalMetadata*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::UnknownFieldSerializerLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const InternalMetadata*>
    - io::CodedOutputStream*::WriteString
    linkageType: ''
    returnType: void
    signature: "void UnknownFieldSerializerLite(const uint8* ptr, uint32 offset, uint32
      tag,\n                                uint32 has_offset,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:700,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - message
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 706
    functionName: google::protobuf::internal::DuplicateIfNonNullInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * DuplicateIfNonNullInternal(MessageLite* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:709,1
    - Dst: std::unique_ptr::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:710,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:711,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:712,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:713,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - MessageLite*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 715
    functionName: google::protobuf::internal::GenericSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 20
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    - MessageLite*::Clear
    - std::unique_ptr::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void GenericSwap(MessageLite* m1, MessageLite* m2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:723,1
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:725,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:728,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 732
    functionName: google::protobuf::internal::GetOwnedMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Arena*::Own
    - MessageLite*::GetArena
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GetOwnedMessageInternal(Arena* message_arena,\n                                     MessageLite*
      submessage,\n                                     Arena* submessage_arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 16
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 17
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::get_id
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:770,1
    - Dst: ::GetCurrentThreadId
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:776,1
    - Dst: std::atomic_llong::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:781,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:788,1
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:789,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:790,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:791,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:794,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:796,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::protobuf::internal::InitSCCImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SCCInfoBase*::visit_status::load
    - std::atomic_llong::load
    - ::GetCurrentThreadId
    - google::protobuf::internal::InitProtobufDefaults
    - google::protobuf::internal::InitSCC_DFS
    - std::atomic_llong::store
    - std::this_thread::get_id
    - GOOGLE_CHECK_EQ
    - WrappedMutex::Lock
    - WrappedMutex::Unlock
    linkageType: ''
    returnType: void
    signature: void InitSCCImpl(SCCInfoBase* scc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::DestroyMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: void
    signature: void DestroyMessage(const void* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::DestroyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const std::string*>
    linkageType: ''
    returnType: void
    signature: void DestroyString(const void* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:78,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:82,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::InitProtobufDefaultsImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - std::string::string
    - store
    - OnShutdownDestroyString
    - static_cast<void*>
    linkageType: ''
    returnType: bool
    signature: bool InitProtobufDefaultsImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaultsImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::InitProtobufDefaultsSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InitProtobufDefaultsImpl
    linkageType: ''
    returnType: void
    signature: void InitProtobufDefaultsSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - capacity
    - google::protobuf::internal::data
    linkageType: ''
    returnType: size_t
    signature: size_t StringSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 168
    functionsReached:
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T & Get(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:243,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::size
    - google::protobuf::internal::data
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:248,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::SerializeTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 42
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void SerializeTo(const void* ptr, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::WriteTagTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 54
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteTagTo(uint32 tag, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - length
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::WriteLengthTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteLengthTo(uint32 length, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializeToArray
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 12
    functionsReached:
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageNoTable(const MessageLite* msg,\n                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:308,1
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:309,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 12
    functionsReached:
    - io::CodedOutputStream::SetSerializationDeterministic
    - io::CodedOutputStream::ByteCount
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: void SerializeMessageNoTable(const MessageLite* msg, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:318,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size,\n                              io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:326,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 12
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size, ArrayOutput* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:337,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: MessageLite*::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:341,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:345,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:346,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:347,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 351
    functionName: google::protobuf::internal::SerializeMessageTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 12
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - google::protobuf::internal::SerializeMessageDispatch
    - MessageLite*::GetCachedSize
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageTo(const MessageLite* msg, const void* table_ptr,\n
      \                       O* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:358,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:361,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:365,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:366,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::SerializeGroupTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 12
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeMessageDispatch
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeGroupTo(const MessageLite* msg, const void* table_ptr,\n
      \                     O* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:376,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:385,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:399,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:401,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::SerializeGroupTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:410,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:421,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:422,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:423,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: google::protobuf::internal::AccessorHelper::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 18
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int Size(const RepeatedPtrFieldBase& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - idx
    argTypes:
    - RepeatedPtrFieldBase
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::AccessorHelper::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 18
    functionsReached:
    - raw_data
    linkageType: ''
    returnType: void
    signature: void * Get(const RepeatedPtrFieldBase& x, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:443,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:444,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:445,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:461,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:462,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:463,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:464,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:466,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    - google::protobuf::internal::SerializeGroupTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:477,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:478,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:479,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:480,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 5
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:493,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:494,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:495,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:498,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:499,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 502
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::size
    - static_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - empty
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: google::protobuf::internal::SerializeNotImplemented
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 12
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void SerializeNotImplemented(int field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - type_class
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: SERIALIZE_TABLE_OP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZE_TABLE_OP(type, type_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZE_TABLE_OP
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - type_class
    argTypes:
    - int
    - FieldMetadata::FieldTypeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: google::protobuf::internal::FieldMetadata::CalculateType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SERIALIZE_TABLE_OP
    linkageType: ''
    returnType: int
    signature: "int FieldMetadata::CalculateType(int type,\n                                 FieldMetadata::FieldTypeClass
      type_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const typename PrimitiveTypeHelper<type>::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const typename PrimitiveTypeHelper<type>::Type*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_STRING>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_BYTES>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_GROUP>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_MESSAGE>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 593
    functionName: SERIALIZERS_FOR_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZERS_FOR_TYPE(type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:602,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:603,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:604,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:605,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:606,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:607,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:608,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:609,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:610,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:611,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:612,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:613,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:614,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:615,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:616,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:617,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:618,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:619,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:623,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:624,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:625,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - output
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 633
    functionName: google::protobuf::internal::SerializeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::SerializeNotImplemented
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: void
    signature: "void SerializeInternal(const uint8* base,\n                       const
      FieldMetadata* field_metadata_table,\n                       int32 num_fields,
      io::CodedOutputStream* output)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:646,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:647,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:648,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:649,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:650,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:651,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:652,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:653,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:654,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:655,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:656,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:657,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:658,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:659,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:660,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:661,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:662,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:663,1
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:668,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:669,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:670,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:671,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:673,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 5
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - is_deterministic
    - buffer
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 681
    functionName: google::protobuf::internal::SerializeInternalToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 7
    functionsReached:
    - io::CodedOutputStream::ByteCount
    - google::protobuf::internal::SerializeNotImplemented
    - io::CodedOutputStream::SetSerializationDeterministic
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: uint8
    signature: "uint8 * SerializeInternalToArray(const uint8* base,\n                                const
      FieldMetadata* field_metadata_table,\n                                int32
      num_fields, bool is_deterministic,\n                                uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ExtensionSet*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: google::protobuf::internal::ExtensionSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ExtensionSet*>
    linkageType: ''
    returnType: void
    signature: "void ExtensionSerializer(const uint8* ptr, uint32 offset, uint32 tag,\n
      \                        uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:693,1
    - Dst: reinterpret_cast<const InternalMetadata*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::UnknownFieldSerializerLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const InternalMetadata*>
    - io::CodedOutputStream*::WriteString
    linkageType: ''
    returnType: void
    signature: "void UnknownFieldSerializerLite(const uint8* ptr, uint32 offset, uint32
      tag,\n                                uint32 has_offset,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:700,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - message
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 706
    functionName: google::protobuf::internal::DuplicateIfNonNullInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * DuplicateIfNonNullInternal(MessageLite* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:709,1
    - Dst: std::unique_ptr::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:710,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:711,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:712,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:713,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - MessageLite*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 715
    functionName: google::protobuf::internal::GenericSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 20
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    - MessageLite*::Clear
    - std::unique_ptr::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void GenericSwap(MessageLite* m1, MessageLite* m2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:723,1
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:725,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:728,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 732
    functionName: google::protobuf::internal::GetOwnedMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Arena*::Own
    - MessageLite*::GetArena
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GetOwnedMessageInternal(Arena* message_arena,\n                                     MessageLite*
      submessage,\n                                     Arena* submessage_arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 19
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 20
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::get_id
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:770,1
    - Dst: ::GetCurrentThreadId
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:776,1
    - Dst: std::atomic_llong::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:781,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:788,1
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:789,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:790,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:791,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:794,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:796,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::protobuf::internal::InitSCCImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SCCInfoBase*::visit_status::load
    - std::atomic_llong::load
    - ::GetCurrentThreadId
    - google::protobuf::internal::InitProtobufDefaults
    - google::protobuf::internal::InitSCC_DFS
    - std::atomic_llong::store
    - std::this_thread::get_id
    - GOOGLE_CHECK_EQ
    - WrappedMutex::Lock
    - WrappedMutex::Unlock
    linkageType: ''
    returnType: void
    signature: void InitSCCImpl(SCCInfoBase* scc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::DestroyMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: void
    signature: void DestroyMessage(const void* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::DestroyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const std::string*>
    linkageType: ''
    returnType: void
    signature: void DestroyString(const void* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:77,1
    - Dst: OnShutdownDestroyString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:78,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:82,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::InitProtobufDefaultsImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - std::string::string
    - store
    - OnShutdownDestroyString
    - static_cast<void*>
    linkageType: ''
    returnType: bool
    signature: bool InitProtobufDefaultsImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaultsImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::InitProtobufDefaultsSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InitProtobufDefaultsImpl
    linkageType: ''
    returnType: void
    signature: void InitProtobufDefaultsSlow()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:97,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - capacity
    - google::protobuf::internal::data
    linkageType: ''
    returnType: size_t
    signature: size_t StringSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 196
    functionsReached:
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T & Get(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:243,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:244,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::size
    - google::protobuf::internal::data
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:248,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - buffer
    argTypes:
    - void*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: google::protobuf::internal::SerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const Type*>
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * SerializeToArray(const void* ptr, uint8* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::SerializeTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 49
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void SerializeTo(const void* ptr, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tag
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::WriteTagTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 63
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteTagTo(uint32 tag, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - length
    - output
    argTypes:
    - uint32
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: google::protobuf::internal::WriteLengthTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::SerializeTo
    linkageType: ''
    returnType: void
    signature: void WriteLengthTo(uint32 length, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageLite::SerializeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - output
    argTypes:
    - void*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageLite::SerializeToArray
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* ptr, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 14
    functionsReached:
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageNoTable(const MessageLite* msg,\n                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:308,1
    - Dst: MessageLite*::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:309,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - MessageLite*
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::SerializeMessageNoTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 14
    functionsReached:
    - io::CodedOutputStream::SetSerializationDeterministic
    - io::CodedOutputStream::ByteCount
    - MessageLite*::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: void SerializeMessageNoTable(const MessageLite* msg, ArrayOutput* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:318,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size,\n                              io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:326,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ' msg'
    - field_table
    - num_fields
    - cached_size
    - output
    argTypes:
    - MessageLite
    - FieldMetadata*
    - int
    - int32
    - ArrayOutput*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::SerializeMessageDispatch
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 14
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageDispatch(const MessageLite& msg,\n                              const
      FieldMetadata* field_table, int num_fields,\n                              int32
      cached_size, ArrayOutput* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:337,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: MessageLite*::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:340,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:341,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:345,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:346,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:347,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 351
    functionName: google::protobuf::internal::SerializeMessageTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 14
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - google::protobuf::internal::SerializeMessageDispatch
    - MessageLite*::GetCachedSize
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeMessageTo(const MessageLite* msg, const void* table_ptr,\n
      \                       O* output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:358,1
    - Dst: google::protobuf::internal::SerializeMessageNoTable
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:361,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:365,1
    - Dst: reinterpret_cast<const int32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:366,1
    - Dst: google::protobuf::internal::SerializeMessageDispatch
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - table_ptr
    - output
    argTypes:
    - MessageLite*
    - void*
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::SerializeGroupTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 14
    functionsReached:
    - reinterpret_cast<const int32*>
    - static_cast<const SerializationTable*>
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeMessageDispatch
    - google::protobuf::internal::SerializeMessageNoTable
    linkageType: ''
    returnType: void
    signature: "void SerializeGroupTo(const MessageLite* msg, const void* table_ptr,\n
      \                     O* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:376,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 4
    functionLinenumber: 375
    functionLinenumberEnd: 378
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:385,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:399,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:400,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:401,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::SerializeGroupTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:410,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:411,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:421,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:422,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:423,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: google::protobuf::internal::AccessorHelper::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 21
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int Size(const RepeatedPtrFieldBase& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' x'
    - idx
    argTypes:
    - RepeatedPtrFieldBase
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::AccessorHelper::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 21
    functionsReached:
    - raw_data
    linkageType: ''
    returnType: void
    signature: void * Get(const RepeatedPtrFieldBase& x, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:443,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:444,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:445,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:461,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:462,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:463,1
    - Dst: google::protobuf::internal::SerializeGroupTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:464,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:465,1
    - Dst: static_cast<const SerializationTable*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:466,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 469
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - static_cast<const SerializationTable*>
    - google::protobuf::internal::WriteTagTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    - google::protobuf::internal::SerializeGroupTo
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:477,1
    - Dst: google::protobuf::internal::AccessorHelper::Size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:478,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:479,1
    - Dst: google::protobuf::internal::SerializeMessageTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:480,1
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    - Dst: google::protobuf::internal::AccessorHelper::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 5
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AccessorHelper::Get
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::SerializeMessageTo
    - static_cast<const MessageLite*>
    - google::protobuf::internal::Get
    - google::protobuf::internal::AccessorHelper::Size
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:493,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:494,1
    - Dst: google::protobuf::internal::WriteTagTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:495,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:497,1
    - Dst: google::protobuf::internal::WriteLengthTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:498,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:499,1
    - Dst: google::protobuf::internal::SerializeTo
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 502
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeTo
    - google::protobuf::internal::WriteTagTo
    - google::protobuf::internal::size
    - static_cast<const uint8*>
    - google::protobuf::internal::WriteLengthTo
    - empty
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::TrainerInterface::Serialize
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field
    - ' md'
    - output
    argTypes:
    - void*
    - FieldMetadata
    - O*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: google::protobuf::internal::Serialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - sentencepiece::TrainerInterface::Serialize
    linkageType: ''
    returnType: void
    signature: void Serialize(const void* field, const FieldMetadata& md, O* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - field
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: google::protobuf::internal::SerializeNotImplemented
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 14
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void SerializeNotImplemented(int field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - type_class
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: SERIALIZE_TABLE_OP
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZE_TABLE_OP(type, type_class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZE_TABLE_OP
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - type_class
    argTypes:
    - int
    - FieldMetadata::FieldTypeClass
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: google::protobuf::internal::FieldMetadata::CalculateType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SERIALIZE_TABLE_OP
    linkageType: ''
    returnType: int
    signature: "int FieldMetadata::CalculateType(int type,\n                                 FieldMetadata::FieldTypeClass
      type_class)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const typename PrimitiveTypeHelper<type>::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const typename PrimitiveTypeHelper<type>::Type*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_STRING>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const ArenaStringPtr*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - static_cast<const ArenaStringPtr*>
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_BYTES>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_GROUP>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: google::protobuf::internal::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool IsNull<WireFormatLite::TYPE_MESSAGE>(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 593
    functionName: SERIALIZERS_FOR_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SERIALIZERS_FOR_TYPE(type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:602,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:603,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:604,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:605,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:606,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:607,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:608,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:609,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:610,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:611,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:612,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:613,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:614,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:615,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:616,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:617,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:618,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:619,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:623,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:624,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:625,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - output
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 633
    functionName: google::protobuf::internal::SerializeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::SerializeNotImplemented
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: void
    signature: "void SerializeInternal(const uint8* base,\n                       const
      FieldMetadata* field_metadata_table,\n                       int32 num_fields,
      io::CodedOutputStream* output)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:646,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:647,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:648,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:649,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:650,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:651,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:652,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:653,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:654,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:655,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:656,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:657,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:658,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:659,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:660,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:661,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:662,1
    - Dst: SERIALIZERS_FOR_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:663,1
    - Dst: io::CodedOutputStream::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:668,1
    - Dst: reinterpret_cast<SpecialSerializer>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:669,1
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:670,1
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:671,1
    - Dst: io::CodedOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:673,1
    - Dst: google::protobuf::internal::SerializeNotImplemented
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 5
    argNames:
    - base
    - field_metadata_table
    - num_fields
    - is_deterministic
    - buffer
    argTypes:
    - uint8*
    - FieldMetadata*
    - int32
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 681
    functionName: google::protobuf::internal::SerializeInternalToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 8
    functionsReached:
    - io::CodedOutputStream::ByteCount
    - google::protobuf::internal::SerializeNotImplemented
    - io::CodedOutputStream::SetSerializationDeterministic
    - const_cast<void*>
    - SERIALIZERS_FOR_TYPE
    - func
    - reinterpret_cast<SpecialSerializer>
    linkageType: ''
    returnType: uint8
    signature: "uint8 * SerializeInternalToArray(const uint8* base,\n                                const
      FieldMetadata* field_metadata_table,\n                                int32
      num_fields, bool is_deterministic,\n                                uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const ExtensionSet*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: google::protobuf::internal::ExtensionSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const ExtensionSet*>
    linkageType: ''
    returnType: void
    signature: "void ExtensionSerializer(const uint8* ptr, uint32 offset, uint32 tag,\n
      \                        uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:693,1
    - Dst: reinterpret_cast<const InternalMetadata*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ptr
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::UnknownFieldSerializerLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const InternalMetadata*>
    - io::CodedOutputStream*::WriteString
    linkageType: ''
    returnType: void
    signature: "void UnknownFieldSerializerLite(const uint8* ptr, uint32 offset, uint32
      tag,\n                                uint32 has_offset,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:700,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - message
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 706
    functionName: google::protobuf::internal::DuplicateIfNonNullInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * DuplicateIfNonNullInternal(MessageLite* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:709,1
    - Dst: std::unique_ptr::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:710,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:711,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:712,1
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:713,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - MessageLite*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 715
    functionName: google::protobuf::internal::GenericSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 20
    functionsReached:
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    - MessageLite*::Clear
    - std::unique_ptr::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void GenericSwap(MessageLite* m1, MessageLite* m2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:722,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:723,1
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:725,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:728,1
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 732
    functionName: google::protobuf::internal::GetOwnedMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - Arena*::Own
    - MessageLite*::GetArena
    - MessageLite*::New
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * GetOwnedMessageInternal(Arena* message_arena,\n                                     MessageLite*
      submessage,\n                                     Arena* submessage_arena)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 22
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:737,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:740,1
    - Dst: reinterpret_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:743,1
    - Dst: reinterpret_cast<SCCInfoBase* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:744,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:746,1
    - Dst: reinterpret_cast<SCCInfoBase** const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:749,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:752,1
    - Dst: SCCInfoBase*::init_func
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:755,1
    - Dst: SCCInfoBase*::visit_status::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 760
    functionName: google::protobuf::internal::InitSCC_DFS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 23
    functionsReached:
    - reinterpret_cast<SCCInfoBase** const*>
    - SCCInfoBase*::visit_status::load
    - SCCInfoBase*::visit_status::store
    - google::protobuf::internal::InitSCC_DFS
    - reinterpret_cast<void**>
    - SCCInfoBase*::init_func
    - reinterpret_cast<SCCInfoBase* const*>
    linkageType: ''
    returnType: void
    signature: void InitSCC_DFS(SCCInfoBase* scc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::this_thread::get_id
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:770,1
    - Dst: ::GetCurrentThreadId
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:776,1
    - Dst: std::atomic_llong::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:781,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:784,1
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:788,1
    - Dst: WrappedMutex::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:789,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:790,1
    - Dst: google::protobuf::internal::InitSCC_DFS
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:791,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:794,1
    - Dst: std::atomic_llong::store
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:796,1
    - Dst: WrappedMutex::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::protobuf::internal::InitSCCImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    functionUses: 0
    functionsReached:
    - SCCInfoBase*::visit_status::load
    - std::atomic_llong::load
    - ::GetCurrentThreadId
    - google::protobuf::internal::InitProtobufDefaults
    - google::protobuf::internal::InitSCC_DFS
    - std::atomic_llong::store
    - std::this_thread::get_id
    - GOOGLE_CHECK_EQ
    - WrappedMutex::Lock
    - WrappedMutex::Unlock
    linkageType: ''
    returnType: void
    signature: void InitSCCImpl(SCCInfoBase* scc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::ImplicitWeakMessage::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - ParseContext*::AppendString
    linkageType: ''
    returnType: char
    signature: "char * ImplicitWeakMessage::_InternalParse(const char* ptr,\n                                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - DefaultConstruct
    linkageType: ''
    returnType: void
    signature: void InitImplicitWeakMessageDefaultInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:58,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::ImplicitWeakMessage::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - get
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: ImplicitWeakMessage
    signature: ImplicitWeakMessage * ImplicitWeakMessage::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::ImplicitWeakMessage::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - ParseContext*::AppendString
    linkageType: ''
    returnType: char
    signature: "char * ImplicitWeakMessage::_InternalParse(const char* ptr,\n                                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - DefaultConstruct
    linkageType: ''
    returnType: void
    signature: void InitImplicitWeakMessageDefaultInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:58,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::ImplicitWeakMessage::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - get
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: ImplicitWeakMessage
    signature: ImplicitWeakMessage * ImplicitWeakMessage::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::ImplicitWeakMessage::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - ParseContext*::AppendString
    linkageType: ''
    returnType: char
    signature: "char * ImplicitWeakMessage::_InternalParse(const char* ptr,\n                                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - DefaultConstruct
    linkageType: ''
    returnType: void
    signature: void InitImplicitWeakMessageDefaultInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:58,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::ImplicitWeakMessage::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - get
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: ImplicitWeakMessage
    signature: ImplicitWeakMessage * ImplicitWeakMessage::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::ImplicitWeakMessage::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - ParseContext*::AppendString
    linkageType: ''
    returnType: char
    signature: "char * ImplicitWeakMessage::_InternalParse(const char* ptr,\n                                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - DefaultConstruct
    linkageType: ''
    returnType: void
    signature: void InitImplicitWeakMessageDefaultInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:58,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::ImplicitWeakMessage::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - get
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: ImplicitWeakMessage
    signature: ImplicitWeakMessage * ImplicitWeakMessage::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::ImplicitWeakMessage::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - ParseContext*::AppendString
    linkageType: ''
    returnType: char
    signature: "char * ImplicitWeakMessage::_InternalParse(const char* ptr,\n                                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - DefaultConstruct
    linkageType: ''
    returnType: void
    signature: void InitImplicitWeakMessageDefaultInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:58,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::ImplicitWeakMessage::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - get
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: ImplicitWeakMessage
    signature: ImplicitWeakMessage * ImplicitWeakMessage::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::ImplicitWeakMessage::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - ParseContext*::AppendString
    linkageType: ''
    returnType: char
    signature: "char * ImplicitWeakMessage::_InternalParse(const char* ptr,\n                                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - DefaultConstruct
    linkageType: ''
    returnType: void
    signature: void InitImplicitWeakMessageDefaultInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:58,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::ImplicitWeakMessage::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - get
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: ImplicitWeakMessage
    signature: ImplicitWeakMessage * ImplicitWeakMessage::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::ImplicitWeakMessage::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - ParseContext*::AppendString
    linkageType: ''
    returnType: char
    signature: "char * ImplicitWeakMessage::_InternalParse(const char* ptr,\n                                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - DefaultConstruct
    linkageType: ''
    returnType: void
    signature: void InitImplicitWeakMessageDefaultInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:58,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::ImplicitWeakMessage::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - get
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: ImplicitWeakMessage
    signature: ImplicitWeakMessage * ImplicitWeakMessage::default_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::AppendString
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::ImplicitWeakMessage::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - ParseContext*::AppendString
    linkageType: ''
    returnType: char
    signature: "char * ImplicitWeakMessage::_InternalParse(const char* ptr,\n                                                ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - DefaultConstruct
    linkageType: ''
    returnType: void
    signature: void InitImplicitWeakMessageDefaultInstance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:58,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::ImplicitWeakMessage::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
    functionUses: 0
    functionsReached:
    - get
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: ImplicitWeakMessage
    signature: ImplicitWeakMessage * ImplicitWeakMessage::default_instance()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:44,1
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:45,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:46,1
    - Dst: std::min<std::size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: ByteSink*::Append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: google::protobuf::strings::ByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - StringPiece::empty
    - ByteSink*::Append
    - GOOGLE_LOG
    - StringPiece::data
    - std::min<std::size_t>
    - StringPiece::size
    - Peek
    - Skip
    linkageType: ''
    returnType: void
    signature: void ByteSource::CopyTo(ByteSink* sink, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::protobuf::strings::ByteSink::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteSink::Flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:61,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: google::protobuf::strings::UncheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UncheckedArrayByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - outbuf
    - capacity
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::CheckedArrayByteSink(char* outbuf, size_t
      capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:80,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: google::protobuf::strings::CheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - estimated_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::GrowingArrayByteSink(size_t estimated_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: GrowingArrayByteSink::~GrowingArrayByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::~GrowingArrayByteSink()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:102,1
    - Dst: google::protobuf::strings::GrowingArrayByteSink::Expand
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:106,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: google::protobuf::strings::GrowingArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    - google::protobuf::strings::GrowingArrayByteSink::Expand
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - nbytes
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: google::protobuf::strings::GrowingArrayByteSink::GetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    linkageType: ''
    returnType: char
    signature: char * GrowingArrayByteSink::GetBuffer(size_t* nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:124,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: google::protobuf::strings::GrowingArrayByteSink::Expand
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 1
    functionsReached:
    - char::char
    - std::max
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Expand(size_t amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:136,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 1
    functionsReached:
    - char::char
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::ShrinkToFit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::StringByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void StringByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: google::protobuf::strings::ArrayByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t ArrayByteSource::Available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::strings::ArrayByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece ArrayByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: remove_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: google::protobuf::strings::ArrayByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LE
    - remove_prefix
    - size
    linkageType: ''
    returnType: void
    signature: void ArrayByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - source
    - limit
    argTypes:
    - ByteSource*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: google::protobuf::strings::LimitByteSource::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::LimitByteSource(ByteSource *source, size_t limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Available
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: google::protobuf::strings::LimitByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::strings::LimitByteSource::Available
    linkageType: ''
    returnType: size_t
    signature: size_t LimitByteSource::Available() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:176,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:177,1
    - Dst: StringPiece::set
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::strings::LimitByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 1
    functionsReached:
    - StringPiece::set
    - StringPiece::size
    - google::protobuf::strings::LimitByteSource::Peek
    - StringPiece::data
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece LimitByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:185,1
    - Dst: google::protobuf::strings::LimitByteSource::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::strings::LimitByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_LE
    - google::protobuf::strings::LimitByteSource::Skip
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:191,1
    - Dst: google::protobuf::strings::LimitByteSource::CopyTo
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::strings::LimitByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::strings::LimitByteSource::CopyTo
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::CopyTo(ByteSink *sink, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:44,1
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:45,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:46,1
    - Dst: std::min<std::size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: ByteSink*::Append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: google::protobuf::strings::ByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - StringPiece::empty
    - ByteSink*::Append
    - GOOGLE_LOG
    - StringPiece::data
    - std::min<std::size_t>
    - StringPiece::size
    - Peek
    - Skip
    linkageType: ''
    returnType: void
    signature: void ByteSource::CopyTo(ByteSink* sink, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::protobuf::strings::ByteSink::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteSink::Flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:61,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: google::protobuf::strings::UncheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UncheckedArrayByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - outbuf
    - capacity
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::CheckedArrayByteSink(char* outbuf, size_t
      capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:80,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: google::protobuf::strings::CheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - estimated_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::GrowingArrayByteSink(size_t estimated_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: GrowingArrayByteSink::~GrowingArrayByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::~GrowingArrayByteSink()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:102,1
    - Dst: google::protobuf::strings::GrowingArrayByteSink::Expand
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:106,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: google::protobuf::strings::GrowingArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    - google::protobuf::strings::GrowingArrayByteSink::Expand
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - nbytes
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: google::protobuf::strings::GrowingArrayByteSink::GetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    linkageType: ''
    returnType: char
    signature: char * GrowingArrayByteSink::GetBuffer(size_t* nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:124,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: google::protobuf::strings::GrowingArrayByteSink::Expand
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 2
    functionsReached:
    - char::char
    - std::max
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Expand(size_t amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:136,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 2
    functionsReached:
    - char::char
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::ShrinkToFit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::StringByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void StringByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: google::protobuf::strings::ArrayByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t ArrayByteSource::Available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::strings::ArrayByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece ArrayByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: remove_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: google::protobuf::strings::ArrayByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LE
    - remove_prefix
    - size
    linkageType: ''
    returnType: void
    signature: void ArrayByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - source
    - limit
    argTypes:
    - ByteSource*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: google::protobuf::strings::LimitByteSource::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::LimitByteSource(ByteSource *source, size_t limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Available
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: google::protobuf::strings::LimitByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::strings::LimitByteSource::Available
    linkageType: ''
    returnType: size_t
    signature: size_t LimitByteSource::Available() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:176,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:177,1
    - Dst: StringPiece::set
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::strings::LimitByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 2
    functionsReached:
    - StringPiece::set
    - StringPiece::size
    - google::protobuf::strings::LimitByteSource::Peek
    - StringPiece::data
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece LimitByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:185,1
    - Dst: google::protobuf::strings::LimitByteSource::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::strings::LimitByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_LE
    - google::protobuf::strings::LimitByteSource::Skip
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:191,1
    - Dst: google::protobuf::strings::LimitByteSource::CopyTo
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::strings::LimitByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::strings::LimitByteSource::CopyTo
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::CopyTo(ByteSink *sink, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:44,1
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:45,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:46,1
    - Dst: std::min<std::size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: ByteSink*::Append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: google::protobuf::strings::ByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - StringPiece::empty
    - ByteSink*::Append
    - GOOGLE_LOG
    - StringPiece::data
    - std::min<std::size_t>
    - StringPiece::size
    - Peek
    - Skip
    linkageType: ''
    returnType: void
    signature: void ByteSource::CopyTo(ByteSink* sink, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::protobuf::strings::ByteSink::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteSink::Flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:61,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: google::protobuf::strings::UncheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UncheckedArrayByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - outbuf
    - capacity
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::CheckedArrayByteSink(char* outbuf, size_t
      capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:80,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: google::protobuf::strings::CheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - estimated_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::GrowingArrayByteSink(size_t estimated_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: GrowingArrayByteSink::~GrowingArrayByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::~GrowingArrayByteSink()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:102,1
    - Dst: google::protobuf::strings::GrowingArrayByteSink::Expand
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:106,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: google::protobuf::strings::GrowingArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    - google::protobuf::strings::GrowingArrayByteSink::Expand
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - nbytes
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: google::protobuf::strings::GrowingArrayByteSink::GetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    linkageType: ''
    returnType: char
    signature: char * GrowingArrayByteSink::GetBuffer(size_t* nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:124,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: google::protobuf::strings::GrowingArrayByteSink::Expand
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 3
    functionsReached:
    - char::char
    - std::max
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Expand(size_t amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:136,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 3
    functionsReached:
    - char::char
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::ShrinkToFit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::StringByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void StringByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: google::protobuf::strings::ArrayByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t ArrayByteSource::Available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::strings::ArrayByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece ArrayByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: remove_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: google::protobuf::strings::ArrayByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LE
    - remove_prefix
    - size
    linkageType: ''
    returnType: void
    signature: void ArrayByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - source
    - limit
    argTypes:
    - ByteSource*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: google::protobuf::strings::LimitByteSource::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::LimitByteSource(ByteSource *source, size_t limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Available
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: google::protobuf::strings::LimitByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::strings::LimitByteSource::Available
    linkageType: ''
    returnType: size_t
    signature: size_t LimitByteSource::Available() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:176,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:177,1
    - Dst: StringPiece::set
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::strings::LimitByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 3
    functionsReached:
    - StringPiece::set
    - StringPiece::size
    - google::protobuf::strings::LimitByteSource::Peek
    - StringPiece::data
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece LimitByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:185,1
    - Dst: google::protobuf::strings::LimitByteSource::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::strings::LimitByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_LE
    - google::protobuf::strings::LimitByteSource::Skip
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:191,1
    - Dst: google::protobuf::strings::LimitByteSource::CopyTo
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::strings::LimitByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::strings::LimitByteSource::CopyTo
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::CopyTo(ByteSink *sink, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:44,1
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:45,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:46,1
    - Dst: std::min<std::size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: ByteSink*::Append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: google::protobuf::strings::ByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - StringPiece::empty
    - ByteSink*::Append
    - GOOGLE_LOG
    - StringPiece::data
    - std::min<std::size_t>
    - StringPiece::size
    - Peek
    - Skip
    linkageType: ''
    returnType: void
    signature: void ByteSource::CopyTo(ByteSink* sink, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::protobuf::strings::ByteSink::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteSink::Flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:61,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: google::protobuf::strings::UncheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UncheckedArrayByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - outbuf
    - capacity
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::CheckedArrayByteSink(char* outbuf, size_t
      capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:80,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: google::protobuf::strings::CheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - estimated_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::GrowingArrayByteSink(size_t estimated_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: GrowingArrayByteSink::~GrowingArrayByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::~GrowingArrayByteSink()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:102,1
    - Dst: google::protobuf::strings::GrowingArrayByteSink::Expand
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:106,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: google::protobuf::strings::GrowingArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    - google::protobuf::strings::GrowingArrayByteSink::Expand
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - nbytes
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: google::protobuf::strings::GrowingArrayByteSink::GetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    linkageType: ''
    returnType: char
    signature: char * GrowingArrayByteSink::GetBuffer(size_t* nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:124,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: google::protobuf::strings::GrowingArrayByteSink::Expand
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 4
    functionsReached:
    - char::char
    - std::max
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Expand(size_t amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:136,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 4
    functionsReached:
    - char::char
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::ShrinkToFit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::StringByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void StringByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: google::protobuf::strings::ArrayByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t ArrayByteSource::Available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::strings::ArrayByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece ArrayByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: remove_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: google::protobuf::strings::ArrayByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LE
    - remove_prefix
    - size
    linkageType: ''
    returnType: void
    signature: void ArrayByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - source
    - limit
    argTypes:
    - ByteSource*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: google::protobuf::strings::LimitByteSource::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::LimitByteSource(ByteSource *source, size_t limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Available
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: google::protobuf::strings::LimitByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::strings::LimitByteSource::Available
    linkageType: ''
    returnType: size_t
    signature: size_t LimitByteSource::Available() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:176,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:177,1
    - Dst: StringPiece::set
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::strings::LimitByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 4
    functionsReached:
    - StringPiece::set
    - StringPiece::size
    - google::protobuf::strings::LimitByteSource::Peek
    - StringPiece::data
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece LimitByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:185,1
    - Dst: google::protobuf::strings::LimitByteSource::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::strings::LimitByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK_LE
    - google::protobuf::strings::LimitByteSource::Skip
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:191,1
    - Dst: google::protobuf::strings::LimitByteSource::CopyTo
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::strings::LimitByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::strings::LimitByteSource::CopyTo
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::CopyTo(ByteSink *sink, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:44,1
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:45,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:46,1
    - Dst: std::min<std::size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: ByteSink*::Append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: google::protobuf::strings::ByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - StringPiece::empty
    - ByteSink*::Append
    - GOOGLE_LOG
    - StringPiece::data
    - std::min<std::size_t>
    - StringPiece::size
    - Peek
    - Skip
    linkageType: ''
    returnType: void
    signature: void ByteSource::CopyTo(ByteSink* sink, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::protobuf::strings::ByteSink::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteSink::Flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:61,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: google::protobuf::strings::UncheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UncheckedArrayByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - outbuf
    - capacity
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::CheckedArrayByteSink(char* outbuf, size_t
      capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:80,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: google::protobuf::strings::CheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - estimated_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::GrowingArrayByteSink(size_t estimated_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: GrowingArrayByteSink::~GrowingArrayByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::~GrowingArrayByteSink()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:102,1
    - Dst: google::protobuf::strings::GrowingArrayByteSink::Expand
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:106,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: google::protobuf::strings::GrowingArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    - google::protobuf::strings::GrowingArrayByteSink::Expand
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - nbytes
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: google::protobuf::strings::GrowingArrayByteSink::GetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    linkageType: ''
    returnType: char
    signature: char * GrowingArrayByteSink::GetBuffer(size_t* nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:124,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: google::protobuf::strings::GrowingArrayByteSink::Expand
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 5
    functionsReached:
    - char::char
    - std::max
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Expand(size_t amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:136,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 5
    functionsReached:
    - char::char
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::ShrinkToFit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::StringByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void StringByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: google::protobuf::strings::ArrayByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t ArrayByteSource::Available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::strings::ArrayByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece ArrayByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: remove_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: google::protobuf::strings::ArrayByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LE
    - remove_prefix
    - size
    linkageType: ''
    returnType: void
    signature: void ArrayByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - source
    - limit
    argTypes:
    - ByteSource*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: google::protobuf::strings::LimitByteSource::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::LimitByteSource(ByteSource *source, size_t limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Available
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: google::protobuf::strings::LimitByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::strings::LimitByteSource::Available
    linkageType: ''
    returnType: size_t
    signature: size_t LimitByteSource::Available() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:176,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:177,1
    - Dst: StringPiece::set
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::strings::LimitByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 5
    functionsReached:
    - StringPiece::set
    - StringPiece::size
    - google::protobuf::strings::LimitByteSource::Peek
    - StringPiece::data
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece LimitByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:185,1
    - Dst: google::protobuf::strings::LimitByteSource::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::strings::LimitByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 5
    functionsReached:
    - GOOGLE_DCHECK_LE
    - google::protobuf::strings::LimitByteSource::Skip
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:191,1
    - Dst: google::protobuf::strings::LimitByteSource::CopyTo
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::strings::LimitByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::strings::LimitByteSource::CopyTo
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::CopyTo(ByteSink *sink, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:44,1
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:45,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:46,1
    - Dst: std::min<std::size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: ByteSink*::Append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: google::protobuf::strings::ByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - StringPiece::empty
    - ByteSink*::Append
    - GOOGLE_LOG
    - StringPiece::data
    - std::min<std::size_t>
    - StringPiece::size
    - Peek
    - Skip
    linkageType: ''
    returnType: void
    signature: void ByteSource::CopyTo(ByteSink* sink, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::protobuf::strings::ByteSink::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteSink::Flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:61,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: google::protobuf::strings::UncheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UncheckedArrayByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - outbuf
    - capacity
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::CheckedArrayByteSink(char* outbuf, size_t
      capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:80,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: google::protobuf::strings::CheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - estimated_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::GrowingArrayByteSink(size_t estimated_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: GrowingArrayByteSink::~GrowingArrayByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::~GrowingArrayByteSink()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:102,1
    - Dst: google::protobuf::strings::GrowingArrayByteSink::Expand
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:106,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: google::protobuf::strings::GrowingArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    - google::protobuf::strings::GrowingArrayByteSink::Expand
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - nbytes
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: google::protobuf::strings::GrowingArrayByteSink::GetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    linkageType: ''
    returnType: char
    signature: char * GrowingArrayByteSink::GetBuffer(size_t* nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:124,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: google::protobuf::strings::GrowingArrayByteSink::Expand
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 6
    functionsReached:
    - char::char
    - std::max
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Expand(size_t amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:136,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 6
    functionsReached:
    - char::char
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::ShrinkToFit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::StringByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void StringByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: google::protobuf::strings::ArrayByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t ArrayByteSource::Available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::strings::ArrayByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece ArrayByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: remove_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: google::protobuf::strings::ArrayByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LE
    - remove_prefix
    - size
    linkageType: ''
    returnType: void
    signature: void ArrayByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - source
    - limit
    argTypes:
    - ByteSource*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: google::protobuf::strings::LimitByteSource::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::LimitByteSource(ByteSource *source, size_t limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Available
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: google::protobuf::strings::LimitByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::strings::LimitByteSource::Available
    linkageType: ''
    returnType: size_t
    signature: size_t LimitByteSource::Available() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:176,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:177,1
    - Dst: StringPiece::set
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::strings::LimitByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 6
    functionsReached:
    - StringPiece::set
    - StringPiece::size
    - google::protobuf::strings::LimitByteSource::Peek
    - StringPiece::data
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece LimitByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:185,1
    - Dst: google::protobuf::strings::LimitByteSource::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::strings::LimitByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 6
    functionsReached:
    - GOOGLE_DCHECK_LE
    - google::protobuf::strings::LimitByteSource::Skip
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:191,1
    - Dst: google::protobuf::strings::LimitByteSource::CopyTo
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::strings::LimitByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::strings::LimitByteSource::CopyTo
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::CopyTo(ByteSink *sink, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:44,1
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:45,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:46,1
    - Dst: std::min<std::size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: ByteSink*::Append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: google::protobuf::strings::ByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - StringPiece::empty
    - ByteSink*::Append
    - GOOGLE_LOG
    - StringPiece::data
    - std::min<std::size_t>
    - StringPiece::size
    - Peek
    - Skip
    linkageType: ''
    returnType: void
    signature: void ByteSource::CopyTo(ByteSink* sink, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::protobuf::strings::ByteSink::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteSink::Flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:61,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: google::protobuf::strings::UncheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UncheckedArrayByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - outbuf
    - capacity
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::CheckedArrayByteSink(char* outbuf, size_t
      capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:80,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: google::protobuf::strings::CheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - estimated_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::GrowingArrayByteSink(size_t estimated_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: GrowingArrayByteSink::~GrowingArrayByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::~GrowingArrayByteSink()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:102,1
    - Dst: google::protobuf::strings::GrowingArrayByteSink::Expand
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:106,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: google::protobuf::strings::GrowingArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    - google::protobuf::strings::GrowingArrayByteSink::Expand
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - nbytes
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: google::protobuf::strings::GrowingArrayByteSink::GetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    linkageType: ''
    returnType: char
    signature: char * GrowingArrayByteSink::GetBuffer(size_t* nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:124,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: google::protobuf::strings::GrowingArrayByteSink::Expand
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 7
    functionsReached:
    - char::char
    - std::max
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Expand(size_t amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:136,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 7
    functionsReached:
    - char::char
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::ShrinkToFit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::StringByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void StringByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: google::protobuf::strings::ArrayByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t ArrayByteSource::Available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::strings::ArrayByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece ArrayByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: remove_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: google::protobuf::strings::ArrayByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LE
    - remove_prefix
    - size
    linkageType: ''
    returnType: void
    signature: void ArrayByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - source
    - limit
    argTypes:
    - ByteSource*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: google::protobuf::strings::LimitByteSource::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::LimitByteSource(ByteSource *source, size_t limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Available
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: google::protobuf::strings::LimitByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::strings::LimitByteSource::Available
    linkageType: ''
    returnType: size_t
    signature: size_t LimitByteSource::Available() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:176,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:177,1
    - Dst: StringPiece::set
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::strings::LimitByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 7
    functionsReached:
    - StringPiece::set
    - StringPiece::size
    - google::protobuf::strings::LimitByteSource::Peek
    - StringPiece::data
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece LimitByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:185,1
    - Dst: google::protobuf::strings::LimitByteSource::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::strings::LimitByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 7
    functionsReached:
    - GOOGLE_DCHECK_LE
    - google::protobuf::strings::LimitByteSource::Skip
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:191,1
    - Dst: google::protobuf::strings::LimitByteSource::CopyTo
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::strings::LimitByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::strings::LimitByteSource::CopyTo
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::CopyTo(ByteSink *sink, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:44,1
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:45,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:46,1
    - Dst: std::min<std::size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:49,1
    - Dst: ByteSink*::Append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:50,1
    - Dst: Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: google::protobuf::strings::ByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - StringPiece::empty
    - ByteSink*::Append
    - GOOGLE_LOG
    - StringPiece::data
    - std::min<std::size_t>
    - StringPiece::size
    - Peek
    - Skip
    linkageType: ''
    returnType: void
    signature: void ByteSource::CopyTo(ByteSink* sink, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::protobuf::strings::ByteSink::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ByteSink::Flush()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:61,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: google::protobuf::strings::UncheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void UncheckedArrayByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - outbuf
    - capacity
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::CheckedArrayByteSink(char* outbuf, size_t
      capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:80,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: google::protobuf::strings::CheckedArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    linkageType: ''
    returnType: void
    signature: void CheckedArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - estimated_size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - char::char
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::GrowingArrayByteSink(size_t estimated_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: GrowingArrayByteSink::~GrowingArrayByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::~GrowingArrayByteSink()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:102,1
    - Dst: google::protobuf::strings::GrowingArrayByteSink::Expand
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:106,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - bytes
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: google::protobuf::strings::GrowingArrayByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - memcpy
    - google::protobuf::strings::GrowingArrayByteSink::Expand
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Append(const char* bytes, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - nbytes
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: google::protobuf::strings::GrowingArrayByteSink::GetBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    linkageType: ''
    returnType: char
    signature: char * GrowingArrayByteSink::GetBuffer(size_t* nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:124,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - amount
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: google::protobuf::strings::GrowingArrayByteSink::Expand
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 8
    functionsReached:
    - char::char
    - std::max
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::Expand(size_t amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:136,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 8
    functionsReached:
    - char::char
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GrowingArrayByteSink::ShrinkToFit()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::StringByteSink::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - append
    linkageType: ''
    returnType: void
    signature: void StringByteSink::Append(const char* data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: google::protobuf::strings::ArrayByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t ArrayByteSource::Available() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::strings::ArrayByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece ArrayByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:157,1
    - Dst: remove_prefix
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: google::protobuf::strings::ArrayByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LE
    - remove_prefix
    - size
    linkageType: ''
    returnType: void
    signature: void ArrayByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - source
    - limit
    argTypes:
    - ByteSource*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: google::protobuf::strings::LimitByteSource::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::LimitByteSource(ByteSource *source, size_t limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Available
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: google::protobuf::strings::LimitByteSource::Available
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::strings::LimitByteSource::Available
    linkageType: ''
    returnType: size_t
    signature: size_t LimitByteSource::Available() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource::Peek
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:176,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:177,1
    - Dst: StringPiece::set
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::strings::LimitByteSource::Peek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 8
    functionsReached:
    - StringPiece::set
    - StringPiece::size
    - google::protobuf::strings::LimitByteSource::Peek
    - StringPiece::data
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece LimitByteSource::Peek()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:185,1
    - Dst: google::protobuf::strings::LimitByteSource::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::strings::LimitByteSource::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 8
    functionsReached:
    - GOOGLE_DCHECK_LE
    - google::protobuf::strings::LimitByteSource::Skip
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::Skip(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:191,1
    - Dst: google::protobuf::strings::LimitByteSource::CopyTo
      Src: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sink
    - n
    argTypes:
    - ByteSink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::strings::LimitByteSource::CopyTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::strings::LimitByteSource::CopyTo
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void LimitByteSource::CopyTo(ByteSink *sink, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: google::protobuf::io::ArrayInputStream::ArrayInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::ArrayInputStream(const void* data, int size,
      int block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: google::protobuf::io::ArrayInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:80,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:82,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::ArrayInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::ArrayInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::io::ArrayInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::ArrayOutputStream::ArrayOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::ArrayOutputStream(void* data, int size, int
      block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: google::protobuf::io::ArrayOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:127,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:129,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::ArrayOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::ArrayOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: google::protobuf::io::StringOutputStream::StringOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::StringOutputStream(std::string* target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:142,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:143,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:147,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:150,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:158,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:160,1
    - Dst: mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:163,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 166
    functionName: google::protobuf::io::StringOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - capacity
    - std::max
    - std::min
    - GOOGLE_CHECK
    - STLStringResizeUninitialized
    - mutable_string_data
    - std::numeric_limits<int>::max
    - size
    linkageType: ''
    returnType: bool
    signature: bool StringOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:169,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:170,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: google::protobuf::io::StringOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - resize
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:176,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: google::protobuf::io::StringOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t StringOutputStream::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: implicit_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: google::protobuf::io::CopyingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - implicit_cast<int>
    - std::min
    - Read
    linkageType: ''
    returnType: int
    signature: int CopyingInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingInputStreamAdaptor::CopyingInputStreamAdaptor(\n    CopyingInputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:219,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:223,1
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:237,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    - get
    - Read
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:250,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::BackUp(int count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:259,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 1
    functionsReached:
    - GOOGLE_CHECK_GE
    - google::protobuf::io::CopyingInputStreamAdaptor::Skip
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingInputStreamAdaptor::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:286,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 1
    functionsReached:
    - reset
    - uint8::uint8
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:292,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 1
    functionsReached:
    - reset
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingOutputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor(\n    CopyingOutputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - WriteBuffer
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Flush()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:319,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:322,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    - get
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:331,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:332,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingOutputStreamAdaptor::ByteCount() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:350,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:358,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:363,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:364,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:368,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 373
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - Write
    - std::memcpy
    - static_cast<const char*>
    - google::protobuf::io::CopyingOutputStreamAdaptor::Next
    - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteAliasedRaw(const void* data,
      int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 2
    functionsReached:
    - Write
    - get
    - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 1
    functionsReached:
    - reset
    - uint8::uint8
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 1
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - limit
    argTypes:
    - ZeroCopyInputStream*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::LimitingInputStream::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: void
    signature: "void LimitingInputStream::LimitingInputStream(ZeroCopyInputStream*
      input,\n                                         int64 limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: LimitingInputStream::~LimitingInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::~LimitingInputStream()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: google::protobuf::io::LimitingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:433,1
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 439
    functionName: google::protobuf::io::LimitingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::LimitingInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::BackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:444,1
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: google::protobuf::io::LimitingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:456,1
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: google::protobuf::io::LimitingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t LimitingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: google::protobuf::io::ArrayInputStream::ArrayInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::ArrayInputStream(const void* data, int size,
      int block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: google::protobuf::io::ArrayInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:80,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:82,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::ArrayInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::ArrayInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::io::ArrayInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::ArrayOutputStream::ArrayOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::ArrayOutputStream(void* data, int size, int
      block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: google::protobuf::io::ArrayOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:127,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:129,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::ArrayOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::ArrayOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: google::protobuf::io::StringOutputStream::StringOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::StringOutputStream(std::string* target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:142,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:143,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:147,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:150,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:158,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:160,1
    - Dst: mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:163,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 166
    functionName: google::protobuf::io::StringOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - capacity
    - std::max
    - std::min
    - GOOGLE_CHECK
    - STLStringResizeUninitialized
    - mutable_string_data
    - std::numeric_limits<int>::max
    - size
    linkageType: ''
    returnType: bool
    signature: bool StringOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:169,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:170,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: google::protobuf::io::StringOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - resize
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:176,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: google::protobuf::io::StringOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t StringOutputStream::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: implicit_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: google::protobuf::io::CopyingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - implicit_cast<int>
    - std::min
    - Read
    linkageType: ''
    returnType: int
    signature: int CopyingInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingInputStreamAdaptor::CopyingInputStreamAdaptor(\n    CopyingInputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:219,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:223,1
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:237,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    - get
    - Read
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:250,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::BackUp(int count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:259,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_CHECK_GE
    - google::protobuf::io::CopyingInputStreamAdaptor::Skip
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingInputStreamAdaptor::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:286,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 2
    functionsReached:
    - reset
    - uint8::uint8
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:292,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 2
    functionsReached:
    - reset
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingOutputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor(\n    CopyingOutputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - WriteBuffer
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Flush()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:319,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:322,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    - get
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:331,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:332,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 1
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingOutputStreamAdaptor::ByteCount() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:350,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:358,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:363,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:364,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:368,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 373
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - Write
    - std::memcpy
    - static_cast<const char*>
    - google::protobuf::io::CopyingOutputStreamAdaptor::Next
    - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteAliasedRaw(const void* data,
      int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 4
    functionsReached:
    - Write
    - get
    - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 2
    functionsReached:
    - reset
    - uint8::uint8
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 2
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - limit
    argTypes:
    - ZeroCopyInputStream*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::LimitingInputStream::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: void
    signature: "void LimitingInputStream::LimitingInputStream(ZeroCopyInputStream*
      input,\n                                         int64 limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: LimitingInputStream::~LimitingInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::~LimitingInputStream()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: google::protobuf::io::LimitingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:433,1
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 439
    functionName: google::protobuf::io::LimitingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::LimitingInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::BackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:444,1
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: google::protobuf::io::LimitingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:456,1
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: google::protobuf::io::LimitingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t LimitingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: google::protobuf::io::ArrayInputStream::ArrayInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::ArrayInputStream(const void* data, int size,
      int block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: google::protobuf::io::ArrayInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:80,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:82,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::ArrayInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::ArrayInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::io::ArrayInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::ArrayOutputStream::ArrayOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::ArrayOutputStream(void* data, int size, int
      block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: google::protobuf::io::ArrayOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:127,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:129,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::ArrayOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::ArrayOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: google::protobuf::io::StringOutputStream::StringOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::StringOutputStream(std::string* target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:142,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:143,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:147,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:150,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:158,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:160,1
    - Dst: mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:163,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 166
    functionName: google::protobuf::io::StringOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - capacity
    - std::max
    - std::min
    - GOOGLE_CHECK
    - STLStringResizeUninitialized
    - mutable_string_data
    - std::numeric_limits<int>::max
    - size
    linkageType: ''
    returnType: bool
    signature: bool StringOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:169,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:170,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: google::protobuf::io::StringOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - resize
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:176,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: google::protobuf::io::StringOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t StringOutputStream::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: implicit_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: google::protobuf::io::CopyingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - implicit_cast<int>
    - std::min
    - Read
    linkageType: ''
    returnType: int
    signature: int CopyingInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingInputStreamAdaptor::CopyingInputStreamAdaptor(\n    CopyingInputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:219,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:223,1
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:237,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    - get
    - Read
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:250,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::BackUp(int count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:259,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_CHECK_GE
    - google::protobuf::io::CopyingInputStreamAdaptor::Skip
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingInputStreamAdaptor::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:286,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 3
    functionsReached:
    - reset
    - uint8::uint8
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:292,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 3
    functionsReached:
    - reset
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingOutputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor(\n    CopyingOutputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - WriteBuffer
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Flush()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:319,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:322,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    - get
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:331,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:332,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingOutputStreamAdaptor::ByteCount() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:350,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:358,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:363,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:364,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:368,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 373
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - Write
    - std::memcpy
    - static_cast<const char*>
    - google::protobuf::io::CopyingOutputStreamAdaptor::Next
    - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteAliasedRaw(const void* data,
      int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 6
    functionsReached:
    - Write
    - get
    - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 3
    functionsReached:
    - reset
    - uint8::uint8
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 3
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - limit
    argTypes:
    - ZeroCopyInputStream*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::LimitingInputStream::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: void
    signature: "void LimitingInputStream::LimitingInputStream(ZeroCopyInputStream*
      input,\n                                         int64 limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: LimitingInputStream::~LimitingInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::~LimitingInputStream()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: google::protobuf::io::LimitingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:433,1
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 439
    functionName: google::protobuf::io::LimitingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::LimitingInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::BackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:444,1
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: google::protobuf::io::LimitingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:456,1
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: google::protobuf::io::LimitingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t LimitingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: google::protobuf::io::ArrayInputStream::ArrayInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::ArrayInputStream(const void* data, int size,
      int block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: google::protobuf::io::ArrayInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:80,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:82,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::ArrayInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::ArrayInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::io::ArrayInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::ArrayOutputStream::ArrayOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::ArrayOutputStream(void* data, int size, int
      block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: google::protobuf::io::ArrayOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:127,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:129,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::ArrayOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::ArrayOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: google::protobuf::io::StringOutputStream::StringOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::StringOutputStream(std::string* target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:142,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:143,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:147,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:150,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:158,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:160,1
    - Dst: mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:163,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 166
    functionName: google::protobuf::io::StringOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - capacity
    - std::max
    - std::min
    - GOOGLE_CHECK
    - STLStringResizeUninitialized
    - mutable_string_data
    - std::numeric_limits<int>::max
    - size
    linkageType: ''
    returnType: bool
    signature: bool StringOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:169,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:170,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: google::protobuf::io::StringOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - resize
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:176,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: google::protobuf::io::StringOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t StringOutputStream::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: implicit_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: google::protobuf::io::CopyingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - implicit_cast<int>
    - std::min
    - Read
    linkageType: ''
    returnType: int
    signature: int CopyingInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingInputStreamAdaptor::CopyingInputStreamAdaptor(\n    CopyingInputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:219,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:223,1
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:237,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    - get
    - Read
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:250,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::BackUp(int count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:259,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 4
    functionsReached:
    - GOOGLE_CHECK_GE
    - google::protobuf::io::CopyingInputStreamAdaptor::Skip
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingInputStreamAdaptor::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:286,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 4
    functionsReached:
    - reset
    - uint8::uint8
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:292,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 4
    functionsReached:
    - reset
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingOutputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor(\n    CopyingOutputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - WriteBuffer
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Flush()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:319,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:322,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    - get
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:331,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:332,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingOutputStreamAdaptor::ByteCount() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:350,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:358,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:363,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:364,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:368,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 373
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - Write
    - std::memcpy
    - static_cast<const char*>
    - google::protobuf::io::CopyingOutputStreamAdaptor::Next
    - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteAliasedRaw(const void* data,
      int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 8
    functionsReached:
    - Write
    - get
    - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 4
    functionsReached:
    - reset
    - uint8::uint8
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 4
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - limit
    argTypes:
    - ZeroCopyInputStream*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::LimitingInputStream::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: void
    signature: "void LimitingInputStream::LimitingInputStream(ZeroCopyInputStream*
      input,\n                                         int64 limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: LimitingInputStream::~LimitingInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::~LimitingInputStream()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: google::protobuf::io::LimitingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:433,1
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 439
    functionName: google::protobuf::io::LimitingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::LimitingInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::BackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:444,1
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: google::protobuf::io::LimitingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:456,1
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: google::protobuf::io::LimitingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t LimitingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: google::protobuf::io::ArrayInputStream::ArrayInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::ArrayInputStream(const void* data, int size,
      int block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: google::protobuf::io::ArrayInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:80,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:82,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::ArrayInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::ArrayInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::io::ArrayInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::ArrayOutputStream::ArrayOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::ArrayOutputStream(void* data, int size, int
      block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: google::protobuf::io::ArrayOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:127,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:129,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::ArrayOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::ArrayOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: google::protobuf::io::StringOutputStream::StringOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::StringOutputStream(std::string* target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:142,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:143,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:147,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:150,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:158,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:160,1
    - Dst: mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:163,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 166
    functionName: google::protobuf::io::StringOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - capacity
    - std::max
    - std::min
    - GOOGLE_CHECK
    - STLStringResizeUninitialized
    - mutable_string_data
    - std::numeric_limits<int>::max
    - size
    linkageType: ''
    returnType: bool
    signature: bool StringOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:169,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:170,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: google::protobuf::io::StringOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - resize
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:176,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: google::protobuf::io::StringOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t StringOutputStream::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: implicit_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: google::protobuf::io::CopyingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - implicit_cast<int>
    - std::min
    - Read
    linkageType: ''
    returnType: int
    signature: int CopyingInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingInputStreamAdaptor::CopyingInputStreamAdaptor(\n    CopyingInputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:219,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:223,1
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:237,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    - get
    - Read
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:250,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::BackUp(int count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:259,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 5
    functionsReached:
    - GOOGLE_CHECK_GE
    - google::protobuf::io::CopyingInputStreamAdaptor::Skip
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingInputStreamAdaptor::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:286,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 5
    functionsReached:
    - reset
    - uint8::uint8
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:292,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 5
    functionsReached:
    - reset
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingOutputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor(\n    CopyingOutputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - WriteBuffer
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Flush()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:319,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:322,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    - get
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:331,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:332,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 4
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingOutputStreamAdaptor::ByteCount() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:350,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:358,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:363,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:364,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:368,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 373
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - Write
    - std::memcpy
    - static_cast<const char*>
    - google::protobuf::io::CopyingOutputStreamAdaptor::Next
    - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteAliasedRaw(const void* data,
      int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 10
    functionsReached:
    - Write
    - get
    - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 5
    functionsReached:
    - reset
    - uint8::uint8
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 5
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - limit
    argTypes:
    - ZeroCopyInputStream*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::LimitingInputStream::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: void
    signature: "void LimitingInputStream::LimitingInputStream(ZeroCopyInputStream*
      input,\n                                         int64 limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: LimitingInputStream::~LimitingInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::~LimitingInputStream()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: google::protobuf::io::LimitingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:433,1
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 439
    functionName: google::protobuf::io::LimitingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::LimitingInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::BackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:444,1
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: google::protobuf::io::LimitingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:456,1
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: google::protobuf::io::LimitingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t LimitingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: google::protobuf::io::ArrayInputStream::ArrayInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::ArrayInputStream(const void* data, int size,
      int block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: google::protobuf::io::ArrayInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:80,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:82,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::ArrayInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::ArrayInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::io::ArrayInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::ArrayOutputStream::ArrayOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::ArrayOutputStream(void* data, int size, int
      block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: google::protobuf::io::ArrayOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:127,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:129,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::ArrayOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::ArrayOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: google::protobuf::io::StringOutputStream::StringOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::StringOutputStream(std::string* target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:142,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:143,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:147,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:150,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:158,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:160,1
    - Dst: mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:163,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 166
    functionName: google::protobuf::io::StringOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - capacity
    - std::max
    - std::min
    - GOOGLE_CHECK
    - STLStringResizeUninitialized
    - mutable_string_data
    - std::numeric_limits<int>::max
    - size
    linkageType: ''
    returnType: bool
    signature: bool StringOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:169,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:170,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: google::protobuf::io::StringOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - resize
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:176,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: google::protobuf::io::StringOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t StringOutputStream::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: implicit_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: google::protobuf::io::CopyingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - implicit_cast<int>
    - std::min
    - Read
    linkageType: ''
    returnType: int
    signature: int CopyingInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingInputStreamAdaptor::CopyingInputStreamAdaptor(\n    CopyingInputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:219,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:223,1
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:237,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    - get
    - Read
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:250,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::BackUp(int count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:259,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 6
    functionsReached:
    - GOOGLE_CHECK_GE
    - google::protobuf::io::CopyingInputStreamAdaptor::Skip
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingInputStreamAdaptor::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:286,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 6
    functionsReached:
    - reset
    - uint8::uint8
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:292,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 6
    functionsReached:
    - reset
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingOutputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor(\n    CopyingOutputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - WriteBuffer
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Flush()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:319,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:322,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    - get
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:331,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:332,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 5
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingOutputStreamAdaptor::ByteCount() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:350,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:358,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:363,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:364,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:368,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 373
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - Write
    - std::memcpy
    - static_cast<const char*>
    - google::protobuf::io::CopyingOutputStreamAdaptor::Next
    - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteAliasedRaw(const void* data,
      int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 12
    functionsReached:
    - Write
    - get
    - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 6
    functionsReached:
    - reset
    - uint8::uint8
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 6
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - limit
    argTypes:
    - ZeroCopyInputStream*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::LimitingInputStream::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: void
    signature: "void LimitingInputStream::LimitingInputStream(ZeroCopyInputStream*
      input,\n                                         int64 limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: LimitingInputStream::~LimitingInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::~LimitingInputStream()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: google::protobuf::io::LimitingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:433,1
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 439
    functionName: google::protobuf::io::LimitingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::LimitingInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::BackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:444,1
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: google::protobuf::io::LimitingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:456,1
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: google::protobuf::io::LimitingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t LimitingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: google::protobuf::io::ArrayInputStream::ArrayInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::ArrayInputStream(const void* data, int size,
      int block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: google::protobuf::io::ArrayInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:80,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:82,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::ArrayInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::ArrayInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::io::ArrayInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::ArrayOutputStream::ArrayOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::ArrayOutputStream(void* data, int size, int
      block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: google::protobuf::io::ArrayOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:127,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:129,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::ArrayOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::ArrayOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: google::protobuf::io::StringOutputStream::StringOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::StringOutputStream(std::string* target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:142,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:143,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:147,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:150,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:158,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:160,1
    - Dst: mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:163,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 166
    functionName: google::protobuf::io::StringOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - capacity
    - std::max
    - std::min
    - GOOGLE_CHECK
    - STLStringResizeUninitialized
    - mutable_string_data
    - std::numeric_limits<int>::max
    - size
    linkageType: ''
    returnType: bool
    signature: bool StringOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:169,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:170,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: google::protobuf::io::StringOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - resize
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:176,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: google::protobuf::io::StringOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t StringOutputStream::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: implicit_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: google::protobuf::io::CopyingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - implicit_cast<int>
    - std::min
    - Read
    linkageType: ''
    returnType: int
    signature: int CopyingInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingInputStreamAdaptor::CopyingInputStreamAdaptor(\n    CopyingInputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:219,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:223,1
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:237,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    - get
    - Read
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:250,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::BackUp(int count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:259,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 7
    functionsReached:
    - GOOGLE_CHECK_GE
    - google::protobuf::io::CopyingInputStreamAdaptor::Skip
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingInputStreamAdaptor::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:286,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 7
    functionsReached:
    - reset
    - uint8::uint8
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:292,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 7
    functionsReached:
    - reset
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingOutputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor(\n    CopyingOutputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - WriteBuffer
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Flush()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:319,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:322,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    - get
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:331,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:332,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 6
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingOutputStreamAdaptor::ByteCount() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:350,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:358,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:363,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:364,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:368,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 373
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - Write
    - std::memcpy
    - static_cast<const char*>
    - google::protobuf::io::CopyingOutputStreamAdaptor::Next
    - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteAliasedRaw(const void* data,
      int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 14
    functionsReached:
    - Write
    - get
    - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 7
    functionsReached:
    - reset
    - uint8::uint8
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 7
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - limit
    argTypes:
    - ZeroCopyInputStream*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::LimitingInputStream::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: void
    signature: "void LimitingInputStream::LimitingInputStream(ZeroCopyInputStream*
      input,\n                                         int64 limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: LimitingInputStream::~LimitingInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::~LimitingInputStream()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: google::protobuf::io::LimitingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:433,1
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 439
    functionName: google::protobuf::io::LimitingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::LimitingInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::BackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:444,1
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: google::protobuf::io::LimitingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:456,1
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: google::protobuf::io::LimitingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t LimitingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: google::protobuf::io::ArrayInputStream::ArrayInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::ArrayInputStream(const void* data, int size,
      int block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: google::protobuf::io::ArrayInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:80,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:82,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::ArrayInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::ArrayInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    linkageType: ''
    returnType: bool
    signature: bool ArrayInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::io::ArrayInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - block_size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: google::protobuf::io::ArrayOutputStream::ArrayOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::ArrayOutputStream(void* data, int size, int
      block_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: google::protobuf::io::ArrayOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: bool
    signature: bool ArrayOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:127,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:129,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: google::protobuf::io::ArrayOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_GT
    linkageType: ''
    returnType: void
    signature: void ArrayOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::io::ArrayOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t ArrayOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - target
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: google::protobuf::io::StringOutputStream::StringOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::StringOutputStream(std::string* target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:142,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:143,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:147,1
    - Dst: capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:150,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:156,1
    - Dst: STLStringResizeUninitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:158,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:160,1
    - Dst: mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:163,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 166
    functionName: google::protobuf::io::StringOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - capacity
    - std::max
    - std::min
    - GOOGLE_CHECK
    - STLStringResizeUninitialized
    - mutable_string_data
    - std::numeric_limits<int>::max
    - size
    linkageType: ''
    returnType: bool
    signature: bool StringOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:169,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:170,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:171,1
    - Dst: resize
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: google::protobuf::io::StringOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - resize
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: void StringOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:176,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: google::protobuf::io::StringOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t StringOutputStream::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:186,1
    - Dst: implicit_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: google::protobuf::io::CopyingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - implicit_cast<int>
    - std::min
    - Read
    linkageType: ''
    returnType: int
    signature: int CopyingInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingInputStreamAdaptor::CopyingInputStreamAdaptor(\n    CopyingInputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:219,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:223,1
    - Dst: Read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:230,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:237,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    - get
    - Read
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:248,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:250,1
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::BackUp(int count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:259,1
    - Dst: google::protobuf::io::CopyingInputStreamAdaptor::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 8
    functionsReached:
    - GOOGLE_CHECK_GE
    - google::protobuf::io::CopyingInputStreamAdaptor::Skip
    linkageType: ''
    returnType: bool
    signature: bool CopyingInputStreamAdaptor::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingInputStreamAdaptor::ByteCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:286,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 8
    functionsReached:
    - reset
    - uint8::uint8
    - get
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:292,1
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 8
    functionsReached:
    - reset
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingInputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - copying_stream
    - block_size
    argTypes:
    - CopyingOutputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor(\n    CopyingOutputStream*
      copying_stream, int block_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - WriteBuffer
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Flush()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:319,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:322,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    - get
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:331,1
    - Dst: GOOGLE_CHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:332,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 7
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LE
    - GOOGLE_CHECK_EQ
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CopyingOutputStreamAdaptor::ByteCount() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:347,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:350,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:358,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:363,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:364,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:368,1
    - Dst: static_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 373
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - Write
    - std::memcpy
    - static_cast<const char*>
    - google::protobuf::io::CopyingOutputStreamAdaptor::Next
    - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
    - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteAliasedRaw(const void* data,
      int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: get
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:384,1
    - Dst: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 393
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 16
    functionsReached:
    - Write
    - get
    - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    linkageType: ''
    returnType: bool
    signature: bool CopyingOutputStreamAdaptor::WriteBuffer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    - Dst: uint8::uint8
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 8
    functionsReached:
    - reset
    - uint8::uint8
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::AllocateBufferIfNeeded()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 8
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void CopyingOutputStreamAdaptor::FreeBuffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - limit
    argTypes:
    - ZeroCopyInputStream*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: google::protobuf::io::LimitingInputStream::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: void
    signature: "void LimitingInputStream::LimitingInputStream(ZeroCopyInputStream*
      input,\n                                         int64 limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: LimitingInputStream::~LimitingInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 0
    functionsReached:
    - BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::~LimitingInputStream()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: google::protobuf::io::LimitingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:433,1
    - Dst: google::protobuf::io::LimitingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 439
    functionName: google::protobuf::io::LimitingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::LimitingInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void LimitingInputStream::BackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:444,1
    - Dst: google::protobuf::io::LimitingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: google::protobuf::io::LimitingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::LimitingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool LimitingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:456,1
    - Dst: google::protobuf::io::LimitingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: google::protobuf::io::LimitingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::io::LimitingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t LimitingInputStream::ByteCount() const
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:58,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:59,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:60,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: Arena::CreateArray<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:75,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached:
    - ::operator new
    - Arena::CreateArray<char>
    - ::operator delete
    - std::max
    - reinterpret_cast<Rep*>
    - memcpy
    - std::numeric_limits<size_t>::max
    - GetArena
    - GOOGLE_CHECK_LE
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::InternalExtend(int extend_amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Reserve(int new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - start
    - num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CloseGap(int start, int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:110,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:113,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:117,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - reinterpret_cast<MessageLite*>
    - MessageLite*::New
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * RepeatedPtrFieldBase::AddWeak(const MessageLite* prototype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:58,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:59,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:60,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: Arena::CreateArray<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:75,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 1
    functionsReached:
    - ::operator new
    - Arena::CreateArray<char>
    - ::operator delete
    - std::max
    - reinterpret_cast<Rep*>
    - memcpy
    - std::numeric_limits<size_t>::max
    - GetArena
    - GOOGLE_CHECK_LE
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::InternalExtend(int extend_amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Reserve(int new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - start
    - num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CloseGap(int start, int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:110,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:113,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:117,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - reinterpret_cast<MessageLite*>
    - MessageLite*::New
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * RepeatedPtrFieldBase::AddWeak(const MessageLite* prototype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:58,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:59,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:60,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: Arena::CreateArray<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:75,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 2
    functionsReached:
    - ::operator new
    - Arena::CreateArray<char>
    - ::operator delete
    - std::max
    - reinterpret_cast<Rep*>
    - memcpy
    - std::numeric_limits<size_t>::max
    - GetArena
    - GOOGLE_CHECK_LE
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::InternalExtend(int extend_amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Reserve(int new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - start
    - num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CloseGap(int start, int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:110,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:113,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:117,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - reinterpret_cast<MessageLite*>
    - MessageLite*::New
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * RepeatedPtrFieldBase::AddWeak(const MessageLite* prototype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:58,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:59,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:60,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: Arena::CreateArray<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:75,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 3
    functionsReached:
    - ::operator new
    - Arena::CreateArray<char>
    - ::operator delete
    - std::max
    - reinterpret_cast<Rep*>
    - memcpy
    - std::numeric_limits<size_t>::max
    - GetArena
    - GOOGLE_CHECK_LE
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::InternalExtend(int extend_amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Reserve(int new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - start
    - num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CloseGap(int start, int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:110,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:113,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:117,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - reinterpret_cast<MessageLite*>
    - MessageLite*::New
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * RepeatedPtrFieldBase::AddWeak(const MessageLite* prototype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:58,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:59,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:60,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: Arena::CreateArray<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:75,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 4
    functionsReached:
    - ::operator new
    - Arena::CreateArray<char>
    - ::operator delete
    - std::max
    - reinterpret_cast<Rep*>
    - memcpy
    - std::numeric_limits<size_t>::max
    - GetArena
    - GOOGLE_CHECK_LE
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::InternalExtend(int extend_amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Reserve(int new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - start
    - num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CloseGap(int start, int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:110,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:113,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:117,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - reinterpret_cast<MessageLite*>
    - MessageLite*::New
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * RepeatedPtrFieldBase::AddWeak(const MessageLite* prototype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:58,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:59,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:60,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: Arena::CreateArray<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:75,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 5
    functionsReached:
    - ::operator new
    - Arena::CreateArray<char>
    - ::operator delete
    - std::max
    - reinterpret_cast<Rep*>
    - memcpy
    - std::numeric_limits<size_t>::max
    - GetArena
    - GOOGLE_CHECK_LE
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::InternalExtend(int extend_amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Reserve(int new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - start
    - num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CloseGap(int start, int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:110,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:113,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:117,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - reinterpret_cast<MessageLite*>
    - MessageLite*::New
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * RepeatedPtrFieldBase::AddWeak(const MessageLite* prototype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:58,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:59,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:60,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: Arena::CreateArray<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:75,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 6
    functionsReached:
    - ::operator new
    - Arena::CreateArray<char>
    - ::operator delete
    - std::max
    - reinterpret_cast<Rep*>
    - memcpy
    - std::numeric_limits<size_t>::max
    - GetArena
    - GOOGLE_CHECK_LE
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::InternalExtend(int extend_amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Reserve(int new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - start
    - num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CloseGap(int start, int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:110,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:113,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:117,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - reinterpret_cast<MessageLite*>
    - MessageLite*::New
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * RepeatedPtrFieldBase::AddWeak(const MessageLite* prototype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:58,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:59,1
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:60,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:61,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:66,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: Arena::CreateArray<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:68,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:75,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:85,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 7
    functionsReached:
    - ::operator new
    - Arena::CreateArray<char>
    - ::operator delete
    - std::max
    - reinterpret_cast<Rep*>
    - memcpy
    - std::numeric_limits<size_t>::max
    - GetArena
    - GOOGLE_CHECK_LE
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::InternalExtend(int extend_amount)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Reserve(int new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - start
    - num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CloseGap(int start, int num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:110,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:113,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:117,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - reinterpret_cast<MessageLite*>
    - MessageLite*::New
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * RepeatedPtrFieldBase::AddWeak(const MessageLite* prototype)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:125,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:126,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:129,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:134,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:139,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:140,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:144,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:145,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:146,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:148,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 167
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedInputStream*::ReadVarint64
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:172,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:173,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:176,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:177,1
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:178,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:183,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:184,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:185,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:190,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:191,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:192,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:195,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:196,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:200,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:201,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:202,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:203,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:205,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:217,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:218,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 3
    argNames:
    - input
    - tag
    - output
    argTypes:
    - io::CodedInputStream*
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedOutputStream*::WriteVarint64
    - io::CodedInputStream*::ReadVarint64
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::LastTagWas
    - io::CodedOutputStream*::WriteLittleEndian32
    - io::CodedOutputStream*::WriteString
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - io::CodedInputStream*::ReadString
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedOutputStream*::WriteLittleEndian64
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag,\n                               io::CodedOutputStream* output)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:230,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:236,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipMessage(io::CodedInputStream* input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:250,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:256,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:259,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - io::CodedInputStream*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipMessage(io::CodedInputStream* input,\n                                 io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::FieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipField(io::CodedInputStream* input, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: google::protobuf::internal::FieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipMessage(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: google::protobuf::internal::FieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldSkipper::SkipUnknownEnum(int /* field_number */, int /* value
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool CodedOutputStreamFieldSkipper::SkipField(io::CodedInputStream*
      input,\n                                              uint32 tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool CodedOutputStreamFieldSkipper::SkipMessage(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:291,1
    - Dst: WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - field_number
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32
    - WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStreamFieldSkipper::SkipUnknownEnum(int field_number,\n
      \                                                   int value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:299,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:300,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:301,1
    - Dst: ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:303,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:306,1
    - Dst: RepeatedField<int>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:307,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:311,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:312,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - input
    - field_number
    - unknown_fields_stream
    - values
    argTypes:
    - io::CodedInputStream*
    - int
    - io::CodedOutputStream*
    - RepeatedField<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::PopLimit
    - ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - google::protobuf::internal::WireFormatLite::MakeTag
    - is_valid
    - io::CodedInputStream*::PushLimit
    - RepeatedField<int>*::Add
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedEnumPreserveUnknowns(\n    io::CodedInputStream*
      input, int field_number, bool (*is_valid)(int),\n    io::CodedOutputStream*
      unknown_fields_stream, RepeatedField<int>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:361,1
    - Dst: google::protobuf::internal::EncodeFixedSizeValue
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:364,1
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - CType*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::WriteArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - io::CodedOutputStream*::WriteRaw
    - google::protobuf::internal::EncodeFixedSizeValue
    - std::min
    linkageType: ''
    returnType: void
    signature: void WriteArray(const CType* a, int n, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - float*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<float>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatArray(const float* a, int n,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - double*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<double>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleArray(const double* a, int n,\n                                      io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32Array(const uint32* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64Array(const uint64* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32Array(const int32* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64Array(const int64* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - bool*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<bool>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolArray(const bool* a, int n,\n                                    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:409,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32(int field_number, int32 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:414,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64(int field_number, int64 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:419,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32(int field_number, uint32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:424,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64(int field_number, uint64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:429,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32(int field_number, int32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:434,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64(int field_number, int64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:439,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32(int field_number, uint32 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:444,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64(int field_number, uint64 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:449,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32(int field_number, int32 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:454,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64(int field_number, int64 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:459,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: google::protobuf::internal::WireFormatLite::WriteFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloat(int field_number, float value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:464,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::WireFormatLite::WriteDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDouble(int field_number, double value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:469,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: google::protobuf::internal::WireFormatLite::WriteBool
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBool(int field_number, bool value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:474,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: google::protobuf::internal::WireFormatLite::WriteEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnum(int field_number, int value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:481,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::WireFormatLite::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteString(int field_number, const std::string&
      value,\n                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:490,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteStringMaybeAliased(int field_number,\n                                             const
      std::string& value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:497,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::WireFormatLite::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytes(int field_number, const std::string&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:505,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytesMaybeAliased(int field_number,\n                                            const
      std::string& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:514,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:515,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::protobuf::internal::WireFormatLite::WriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroup(int field_number, const MessageLite&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:521,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:522,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:523,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::WireFormatLite::WriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - GetCachedSize
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessage(int field_number, const MessageLite&
      value,\n                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - _InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSubMessageMaybeToArray(\n    int size, const
      MessageLite& value, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:535,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:536,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:537,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupMaybeToArray(int field_number,\n                                            const
      MessageLite& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:544,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:545,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:546,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageMaybeToArray(int field_number,\n
      \                                             const MessageLite& value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::ReadBytesToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool ReadBytesToString(io::CodedInputStream* input,\n                                     std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadBytes(io::CodedInputStream* input,\n                               std::string*
      value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:564,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:565,1
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    - GetEmptyStringAlreadyInited
    - std::string::string
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::ReadBytes(io::CodedInputStream* input, std::string**
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:575,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field_name
    - operation_str
    - emit_stacktrace
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 581
    functionName: google::protobuf::internal::PrintUTF8ErrorLog
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - StringPrintf
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void PrintUTF8ErrorLog(const char* field_name, const char* operation_str,\n
      \                      bool emit_stacktrace)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:585,1
    - Dst: PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - size
    - op
    - field_name
    argTypes:
    - char*
    - int
    - Operation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 600
    functionName: google::protobuf::internal::WireFormatLite::VerifyUtf8String
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - IsStructurallyValidUTF8
    - PrintUTF8ErrorLog
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::VerifyUtf8String(const char* data, int size,
      Operation op,\n                                      const char* field_name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 637
    functionName: google::protobuf::internal::VarintSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize(const T* data, const int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:649,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 663
    functionName: google::protobuf::internal::VarintSize64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize64(const T* data, const int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 676
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - VarintSize<false, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<true, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 680
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - VarintSize<true, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:691,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:700,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 705
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:709,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 714
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:718,1
    - Dst: google::protobuf::internal::WireFormatLite::EnumSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 723
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EnumSize
    - Get
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 743
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - VarintSize64<true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:749,1
    - Dst: google::protobuf::internal::WireFormatLite::Int64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:758,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:767,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:125,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:126,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:129,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:134,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:139,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:140,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:144,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:145,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:146,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:148,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 167
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedInputStream*::ReadVarint64
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:172,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:173,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:176,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:177,1
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:178,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:183,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:184,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:185,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:190,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:191,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:192,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:195,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:196,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:200,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:201,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:202,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:203,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:205,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:217,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:218,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 3
    argNames:
    - input
    - tag
    - output
    argTypes:
    - io::CodedInputStream*
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedOutputStream*::WriteVarint64
    - io::CodedInputStream*::ReadVarint64
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::LastTagWas
    - io::CodedOutputStream*::WriteLittleEndian32
    - io::CodedOutputStream*::WriteString
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - io::CodedInputStream*::ReadString
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedOutputStream*::WriteLittleEndian64
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag,\n                               io::CodedOutputStream* output)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:230,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:236,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipMessage(io::CodedInputStream* input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:250,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:256,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:259,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - io::CodedInputStream*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipMessage(io::CodedInputStream* input,\n                                 io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::FieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipField(io::CodedInputStream* input, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: google::protobuf::internal::FieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipMessage(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: google::protobuf::internal::FieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldSkipper::SkipUnknownEnum(int /* field_number */, int /* value
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool CodedOutputStreamFieldSkipper::SkipField(io::CodedInputStream*
      input,\n                                              uint32 tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool CodedOutputStreamFieldSkipper::SkipMessage(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:291,1
    - Dst: WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - field_number
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32
    - WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStreamFieldSkipper::SkipUnknownEnum(int field_number,\n
      \                                                   int value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:299,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:300,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:301,1
    - Dst: ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:303,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:306,1
    - Dst: RepeatedField<int>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:307,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:311,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:312,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - input
    - field_number
    - unknown_fields_stream
    - values
    argTypes:
    - io::CodedInputStream*
    - int
    - io::CodedOutputStream*
    - RepeatedField<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::PopLimit
    - ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - google::protobuf::internal::WireFormatLite::MakeTag
    - is_valid
    - io::CodedInputStream*::PushLimit
    - RepeatedField<int>*::Add
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedEnumPreserveUnknowns(\n    io::CodedInputStream*
      input, int field_number, bool (*is_valid)(int),\n    io::CodedOutputStream*
      unknown_fields_stream, RepeatedField<int>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:361,1
    - Dst: google::protobuf::internal::EncodeFixedSizeValue
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:364,1
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - CType*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::WriteArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - io::CodedOutputStream*::WriteRaw
    - google::protobuf::internal::EncodeFixedSizeValue
    - std::min
    linkageType: ''
    returnType: void
    signature: void WriteArray(const CType* a, int n, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - float*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<float>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatArray(const float* a, int n,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - double*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<double>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleArray(const double* a, int n,\n                                      io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32Array(const uint32* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64Array(const uint64* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32Array(const int32* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64Array(const int64* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - bool*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<bool>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolArray(const bool* a, int n,\n                                    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:409,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32(int field_number, int32 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:414,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64(int field_number, int64 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:419,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32(int field_number, uint32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:424,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64(int field_number, uint64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:429,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32(int field_number, int32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:434,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64(int field_number, int64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:439,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32(int field_number, uint32 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:444,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64(int field_number, uint64 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:449,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32(int field_number, int32 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:454,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64(int field_number, int64 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:459,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: google::protobuf::internal::WireFormatLite::WriteFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloat(int field_number, float value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:464,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::WireFormatLite::WriteDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDouble(int field_number, double value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:469,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: google::protobuf::internal::WireFormatLite::WriteBool
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBool(int field_number, bool value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:474,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: google::protobuf::internal::WireFormatLite::WriteEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnum(int field_number, int value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:481,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::WireFormatLite::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteString(int field_number, const std::string&
      value,\n                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:490,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteStringMaybeAliased(int field_number,\n                                             const
      std::string& value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:497,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::WireFormatLite::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytes(int field_number, const std::string&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:505,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytesMaybeAliased(int field_number,\n                                            const
      std::string& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:514,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:515,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::protobuf::internal::WireFormatLite::WriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroup(int field_number, const MessageLite&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:521,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:522,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:523,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::WireFormatLite::WriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - GetCachedSize
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessage(int field_number, const MessageLite&
      value,\n                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - io::CodedOutputStream*::Cur
    - _InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSubMessageMaybeToArray(\n    int size, const
      MessageLite& value, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:535,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:536,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:537,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupMaybeToArray(int field_number,\n                                            const
      MessageLite& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:544,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:545,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:546,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageMaybeToArray(int field_number,\n
      \                                             const MessageLite& value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::ReadBytesToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool ReadBytesToString(io::CodedInputStream* input,\n                                     std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadBytes(io::CodedInputStream* input,\n                               std::string*
      value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:564,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:565,1
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    - GetEmptyStringAlreadyInited
    - std::string::string
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::ReadBytes(io::CodedInputStream* input, std::string**
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:575,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field_name
    - operation_str
    - emit_stacktrace
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 581
    functionName: google::protobuf::internal::PrintUTF8ErrorLog
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - StringPrintf
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void PrintUTF8ErrorLog(const char* field_name, const char* operation_str,\n
      \                      bool emit_stacktrace)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:585,1
    - Dst: PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - size
    - op
    - field_name
    argTypes:
    - char*
    - int
    - Operation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 600
    functionName: google::protobuf::internal::WireFormatLite::VerifyUtf8String
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - IsStructurallyValidUTF8
    - PrintUTF8ErrorLog
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::VerifyUtf8String(const char* data, int size,
      Operation op,\n                                      const char* field_name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 637
    functionName: google::protobuf::internal::VarintSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize(const T* data, const int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:649,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 663
    functionName: google::protobuf::internal::VarintSize64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize64(const T* data, const int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 676
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - VarintSize<false, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<true, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 680
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - VarintSize<true, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:691,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:700,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 705
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:709,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 714
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:718,1
    - Dst: google::protobuf::internal::WireFormatLite::EnumSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 723
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EnumSize
    - Get
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 743
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 1
    functionsReached:
    - VarintSize64<true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:749,1
    - Dst: google::protobuf::internal::WireFormatLite::Int64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:758,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:767,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:125,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:126,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:129,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:134,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:139,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:140,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:144,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:145,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:146,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:148,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 167
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedInputStream*::ReadVarint64
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:172,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:173,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:176,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:177,1
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:178,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:183,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:184,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:185,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:190,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:191,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:192,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:195,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:196,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:200,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:201,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:202,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:203,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:205,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:217,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:218,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 3
    argNames:
    - input
    - tag
    - output
    argTypes:
    - io::CodedInputStream*
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedOutputStream*::WriteVarint64
    - io::CodedInputStream*::ReadVarint64
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::LastTagWas
    - io::CodedOutputStream*::WriteLittleEndian32
    - io::CodedOutputStream*::WriteString
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - io::CodedInputStream*::ReadString
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedOutputStream*::WriteLittleEndian64
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag,\n                               io::CodedOutputStream* output)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:230,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:236,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipMessage(io::CodedInputStream* input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:250,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:256,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:259,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - io::CodedInputStream*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipMessage(io::CodedInputStream* input,\n                                 io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::FieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipField(io::CodedInputStream* input, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: google::protobuf::internal::FieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipMessage(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: google::protobuf::internal::FieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldSkipper::SkipUnknownEnum(int /* field_number */, int /* value
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool CodedOutputStreamFieldSkipper::SkipField(io::CodedInputStream*
      input,\n                                              uint32 tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool CodedOutputStreamFieldSkipper::SkipMessage(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:291,1
    - Dst: WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - field_number
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32
    - WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStreamFieldSkipper::SkipUnknownEnum(int field_number,\n
      \                                                   int value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:299,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:300,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:301,1
    - Dst: ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:303,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:306,1
    - Dst: RepeatedField<int>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:307,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:311,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:312,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - input
    - field_number
    - unknown_fields_stream
    - values
    argTypes:
    - io::CodedInputStream*
    - int
    - io::CodedOutputStream*
    - RepeatedField<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::PopLimit
    - ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - google::protobuf::internal::WireFormatLite::MakeTag
    - is_valid
    - io::CodedInputStream*::PushLimit
    - RepeatedField<int>*::Add
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedEnumPreserveUnknowns(\n    io::CodedInputStream*
      input, int field_number, bool (*is_valid)(int),\n    io::CodedOutputStream*
      unknown_fields_stream, RepeatedField<int>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:361,1
    - Dst: google::protobuf::internal::EncodeFixedSizeValue
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:364,1
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - CType*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::WriteArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - io::CodedOutputStream*::WriteRaw
    - google::protobuf::internal::EncodeFixedSizeValue
    - std::min
    linkageType: ''
    returnType: void
    signature: void WriteArray(const CType* a, int n, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - float*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<float>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatArray(const float* a, int n,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - double*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<double>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleArray(const double* a, int n,\n                                      io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32Array(const uint32* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64Array(const uint64* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32Array(const int32* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64Array(const int64* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - bool*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<bool>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolArray(const bool* a, int n,\n                                    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:409,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32(int field_number, int32 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:414,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64(int field_number, int64 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:419,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32(int field_number, uint32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:424,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64(int field_number, uint64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:429,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32(int field_number, int32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:434,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64(int field_number, int64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:439,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32(int field_number, uint32 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:444,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64(int field_number, uint64 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:449,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32(int field_number, int32 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:454,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64(int field_number, int64 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:459,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: google::protobuf::internal::WireFormatLite::WriteFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloat(int field_number, float value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:464,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::WireFormatLite::WriteDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDouble(int field_number, double value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:469,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: google::protobuf::internal::WireFormatLite::WriteBool
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBool(int field_number, bool value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:474,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: google::protobuf::internal::WireFormatLite::WriteEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnum(int field_number, int value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:481,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::WireFormatLite::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteString(int field_number, const std::string&
      value,\n                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:490,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteStringMaybeAliased(int field_number,\n                                             const
      std::string& value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:497,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::WireFormatLite::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytes(int field_number, const std::string&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:505,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytesMaybeAliased(int field_number,\n                                            const
      std::string& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:514,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:515,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::protobuf::internal::WireFormatLite::WriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroup(int field_number, const MessageLite&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:521,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:522,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:523,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::WireFormatLite::WriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - GetCachedSize
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessage(int field_number, const MessageLite&
      value,\n                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - io::CodedOutputStream*::Cur
    - _InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSubMessageMaybeToArray(\n    int size, const
      MessageLite& value, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:535,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:536,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:537,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupMaybeToArray(int field_number,\n                                            const
      MessageLite& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:544,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:545,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:546,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageMaybeToArray(int field_number,\n
      \                                             const MessageLite& value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::ReadBytesToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool ReadBytesToString(io::CodedInputStream* input,\n                                     std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadBytes(io::CodedInputStream* input,\n                               std::string*
      value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:564,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:565,1
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    - GetEmptyStringAlreadyInited
    - std::string::string
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::ReadBytes(io::CodedInputStream* input, std::string**
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:575,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field_name
    - operation_str
    - emit_stacktrace
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 581
    functionName: google::protobuf::internal::PrintUTF8ErrorLog
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - StringPrintf
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void PrintUTF8ErrorLog(const char* field_name, const char* operation_str,\n
      \                      bool emit_stacktrace)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:585,1
    - Dst: PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - size
    - op
    - field_name
    argTypes:
    - char*
    - int
    - Operation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 600
    functionName: google::protobuf::internal::WireFormatLite::VerifyUtf8String
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - IsStructurallyValidUTF8
    - PrintUTF8ErrorLog
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::VerifyUtf8String(const char* data, int size,
      Operation op,\n                                      const char* field_name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 637
    functionName: google::protobuf::internal::VarintSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize(const T* data, const int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:649,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 663
    functionName: google::protobuf::internal::VarintSize64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize64(const T* data, const int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 676
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - VarintSize<false, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<true, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 680
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - VarintSize<true, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:691,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:700,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 705
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:709,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 714
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:718,1
    - Dst: google::protobuf::internal::WireFormatLite::EnumSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 723
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EnumSize
    - Get
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 743
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 2
    functionsReached:
    - VarintSize64<true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:749,1
    - Dst: google::protobuf::internal::WireFormatLite::Int64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:758,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:767,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:125,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:126,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:129,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:134,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:139,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:140,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:144,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:145,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:146,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:148,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 167
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 12
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedInputStream*::ReadVarint64
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:172,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:173,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:176,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:177,1
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:178,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:183,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:184,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:185,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:190,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:191,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:192,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:195,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:196,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:200,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:201,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:202,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:203,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:205,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:217,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:218,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 3
    argNames:
    - input
    - tag
    - output
    argTypes:
    - io::CodedInputStream*
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedOutputStream*::WriteVarint64
    - io::CodedInputStream*::ReadVarint64
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::LastTagWas
    - io::CodedOutputStream*::WriteLittleEndian32
    - io::CodedOutputStream*::WriteString
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - io::CodedInputStream*::ReadString
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedOutputStream*::WriteLittleEndian64
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag,\n                               io::CodedOutputStream* output)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:230,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:236,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipMessage(io::CodedInputStream* input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:250,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:256,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:259,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - io::CodedInputStream*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipMessage(io::CodedInputStream* input,\n                                 io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::FieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipField(io::CodedInputStream* input, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: google::protobuf::internal::FieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipMessage(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: google::protobuf::internal::FieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldSkipper::SkipUnknownEnum(int /* field_number */, int /* value
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool CodedOutputStreamFieldSkipper::SkipField(io::CodedInputStream*
      input,\n                                              uint32 tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool CodedOutputStreamFieldSkipper::SkipMessage(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:291,1
    - Dst: WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - field_number
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32
    - WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStreamFieldSkipper::SkipUnknownEnum(int field_number,\n
      \                                                   int value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:299,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:300,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:301,1
    - Dst: ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:303,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:306,1
    - Dst: RepeatedField<int>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:307,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:311,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:312,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - input
    - field_number
    - unknown_fields_stream
    - values
    argTypes:
    - io::CodedInputStream*
    - int
    - io::CodedOutputStream*
    - RepeatedField<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::PopLimit
    - ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - google::protobuf::internal::WireFormatLite::MakeTag
    - is_valid
    - io::CodedInputStream*::PushLimit
    - RepeatedField<int>*::Add
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedEnumPreserveUnknowns(\n    io::CodedInputStream*
      input, int field_number, bool (*is_valid)(int),\n    io::CodedOutputStream*
      unknown_fields_stream, RepeatedField<int>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:361,1
    - Dst: google::protobuf::internal::EncodeFixedSizeValue
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:364,1
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - CType*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::WriteArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - io::CodedOutputStream*::WriteRaw
    - google::protobuf::internal::EncodeFixedSizeValue
    - std::min
    linkageType: ''
    returnType: void
    signature: void WriteArray(const CType* a, int n, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - float*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<float>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatArray(const float* a, int n,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - double*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<double>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleArray(const double* a, int n,\n                                      io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32Array(const uint32* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64Array(const uint64* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32Array(const int32* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64Array(const int64* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - bool*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<bool>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolArray(const bool* a, int n,\n                                    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:409,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32(int field_number, int32 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:414,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64(int field_number, int64 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:419,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32(int field_number, uint32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:424,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64(int field_number, uint64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:429,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32(int field_number, int32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:434,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64(int field_number, int64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:439,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32(int field_number, uint32 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:444,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64(int field_number, uint64 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:449,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32(int field_number, int32 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:454,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64(int field_number, int64 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:459,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: google::protobuf::internal::WireFormatLite::WriteFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloat(int field_number, float value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:464,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::WireFormatLite::WriteDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDouble(int field_number, double value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:469,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: google::protobuf::internal::WireFormatLite::WriteBool
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBool(int field_number, bool value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:474,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: google::protobuf::internal::WireFormatLite::WriteEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnum(int field_number, int value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:481,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::WireFormatLite::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteString(int field_number, const std::string&
      value,\n                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:490,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteStringMaybeAliased(int field_number,\n                                             const
      std::string& value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:497,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::WireFormatLite::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytes(int field_number, const std::string&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:505,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytesMaybeAliased(int field_number,\n                                            const
      std::string& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:514,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:515,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::protobuf::internal::WireFormatLite::WriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroup(int field_number, const MessageLite&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:521,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:522,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:523,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::WireFormatLite::WriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - GetCachedSize
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessage(int field_number, const MessageLite&
      value,\n                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - io::CodedOutputStream*::Cur
    - _InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSubMessageMaybeToArray(\n    int size, const
      MessageLite& value, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:535,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:536,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:537,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupMaybeToArray(int field_number,\n                                            const
      MessageLite& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:544,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:545,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:546,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageMaybeToArray(int field_number,\n
      \                                             const MessageLite& value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::ReadBytesToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool ReadBytesToString(io::CodedInputStream* input,\n                                     std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadBytes(io::CodedInputStream* input,\n                               std::string*
      value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:564,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:565,1
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    - GetEmptyStringAlreadyInited
    - std::string::string
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::ReadBytes(io::CodedInputStream* input, std::string**
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:575,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field_name
    - operation_str
    - emit_stacktrace
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 581
    functionName: google::protobuf::internal::PrintUTF8ErrorLog
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - StringPrintf
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void PrintUTF8ErrorLog(const char* field_name, const char* operation_str,\n
      \                      bool emit_stacktrace)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:585,1
    - Dst: PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - size
    - op
    - field_name
    argTypes:
    - char*
    - int
    - Operation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 600
    functionName: google::protobuf::internal::WireFormatLite::VerifyUtf8String
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - IsStructurallyValidUTF8
    - PrintUTF8ErrorLog
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::VerifyUtf8String(const char* data, int size,
      Operation op,\n                                      const char* field_name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 637
    functionName: google::protobuf::internal::VarintSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize(const T* data, const int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:649,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 663
    functionName: google::protobuf::internal::VarintSize64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize64(const T* data, const int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 676
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - VarintSize<false, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<true, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 680
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - VarintSize<true, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:691,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:700,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 705
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:709,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 714
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:718,1
    - Dst: google::protobuf::internal::WireFormatLite::EnumSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 723
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EnumSize
    - Get
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 743
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 3
    functionsReached:
    - VarintSize64<true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:749,1
    - Dst: google::protobuf::internal::WireFormatLite::Int64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:758,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:767,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:125,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:126,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:129,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:134,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:139,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:140,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:144,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:145,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:146,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:148,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 167
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 16
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedInputStream*::ReadVarint64
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:172,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:173,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:176,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:177,1
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:178,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:183,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:184,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:185,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:190,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:191,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:192,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:195,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:196,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:200,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:201,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:202,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:203,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:205,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:217,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:218,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 3
    argNames:
    - input
    - tag
    - output
    argTypes:
    - io::CodedInputStream*
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedOutputStream*::WriteVarint64
    - io::CodedInputStream*::ReadVarint64
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::LastTagWas
    - io::CodedOutputStream*::WriteLittleEndian32
    - io::CodedOutputStream*::WriteString
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - io::CodedInputStream*::ReadString
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedOutputStream*::WriteLittleEndian64
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag,\n                               io::CodedOutputStream* output)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:230,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:236,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipMessage(io::CodedInputStream* input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:250,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:256,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:259,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - io::CodedInputStream*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipMessage(io::CodedInputStream* input,\n                                 io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::FieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipField(io::CodedInputStream* input, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: google::protobuf::internal::FieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipMessage(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: google::protobuf::internal::FieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldSkipper::SkipUnknownEnum(int /* field_number */, int /* value
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool CodedOutputStreamFieldSkipper::SkipField(io::CodedInputStream*
      input,\n                                              uint32 tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool CodedOutputStreamFieldSkipper::SkipMessage(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:291,1
    - Dst: WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - field_number
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32
    - WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStreamFieldSkipper::SkipUnknownEnum(int field_number,\n
      \                                                   int value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:299,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:300,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:301,1
    - Dst: ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:303,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:306,1
    - Dst: RepeatedField<int>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:307,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:311,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:312,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - input
    - field_number
    - unknown_fields_stream
    - values
    argTypes:
    - io::CodedInputStream*
    - int
    - io::CodedOutputStream*
    - RepeatedField<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::PopLimit
    - ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - google::protobuf::internal::WireFormatLite::MakeTag
    - is_valid
    - io::CodedInputStream*::PushLimit
    - RepeatedField<int>*::Add
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedEnumPreserveUnknowns(\n    io::CodedInputStream*
      input, int field_number, bool (*is_valid)(int),\n    io::CodedOutputStream*
      unknown_fields_stream, RepeatedField<int>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:361,1
    - Dst: google::protobuf::internal::EncodeFixedSizeValue
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:364,1
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - CType*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::WriteArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - io::CodedOutputStream*::WriteRaw
    - google::protobuf::internal::EncodeFixedSizeValue
    - std::min
    linkageType: ''
    returnType: void
    signature: void WriteArray(const CType* a, int n, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - float*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<float>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatArray(const float* a, int n,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - double*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<double>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleArray(const double* a, int n,\n                                      io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32Array(const uint32* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64Array(const uint64* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32Array(const int32* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64Array(const int64* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - bool*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<bool>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolArray(const bool* a, int n,\n                                    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:409,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32(int field_number, int32 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:414,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64(int field_number, int64 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:419,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32(int field_number, uint32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:424,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64(int field_number, uint64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:429,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32(int field_number, int32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:434,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64(int field_number, int64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:439,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32(int field_number, uint32 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:444,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64(int field_number, uint64 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:449,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32(int field_number, int32 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:454,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64(int field_number, int64 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:459,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: google::protobuf::internal::WireFormatLite::WriteFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloat(int field_number, float value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:464,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::WireFormatLite::WriteDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDouble(int field_number, double value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:469,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: google::protobuf::internal::WireFormatLite::WriteBool
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBool(int field_number, bool value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:474,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: google::protobuf::internal::WireFormatLite::WriteEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnum(int field_number, int value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:481,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::WireFormatLite::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteString(int field_number, const std::string&
      value,\n                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:490,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteStringMaybeAliased(int field_number,\n                                             const
      std::string& value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:497,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::WireFormatLite::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytes(int field_number, const std::string&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:505,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytesMaybeAliased(int field_number,\n                                            const
      std::string& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:514,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:515,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::protobuf::internal::WireFormatLite::WriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroup(int field_number, const MessageLite&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:521,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:522,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:523,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::WireFormatLite::WriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - GetCachedSize
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessage(int field_number, const MessageLite&
      value,\n                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - io::CodedOutputStream*::Cur
    - _InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSubMessageMaybeToArray(\n    int size, const
      MessageLite& value, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:535,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:536,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:537,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupMaybeToArray(int field_number,\n                                            const
      MessageLite& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:544,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:545,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:546,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageMaybeToArray(int field_number,\n
      \                                             const MessageLite& value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::ReadBytesToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool ReadBytesToString(io::CodedInputStream* input,\n                                     std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadBytes(io::CodedInputStream* input,\n                               std::string*
      value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:564,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:565,1
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    - GetEmptyStringAlreadyInited
    - std::string::string
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::ReadBytes(io::CodedInputStream* input, std::string**
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:575,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field_name
    - operation_str
    - emit_stacktrace
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 581
    functionName: google::protobuf::internal::PrintUTF8ErrorLog
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - StringPrintf
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void PrintUTF8ErrorLog(const char* field_name, const char* operation_str,\n
      \                      bool emit_stacktrace)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:585,1
    - Dst: PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - size
    - op
    - field_name
    argTypes:
    - char*
    - int
    - Operation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 600
    functionName: google::protobuf::internal::WireFormatLite::VerifyUtf8String
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - IsStructurallyValidUTF8
    - PrintUTF8ErrorLog
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::VerifyUtf8String(const char* data, int size,
      Operation op,\n                                      const char* field_name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 637
    functionName: google::protobuf::internal::VarintSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize(const T* data, const int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:649,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 663
    functionName: google::protobuf::internal::VarintSize64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize64(const T* data, const int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 676
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - VarintSize<false, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<true, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 680
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - VarintSize<true, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:691,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:700,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 705
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:709,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 714
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:718,1
    - Dst: google::protobuf::internal::WireFormatLite::EnumSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 723
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EnumSize
    - Get
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 743
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 4
    functionsReached:
    - VarintSize64<true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:749,1
    - Dst: google::protobuf::internal::WireFormatLite::Int64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:758,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:767,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:125,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:126,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:129,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:134,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:139,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:140,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:144,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:145,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:146,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:148,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 167
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 20
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedInputStream*::ReadVarint64
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:172,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:173,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:176,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:177,1
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:178,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:183,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:184,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:185,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:190,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:191,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:192,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:195,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:196,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:200,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:201,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:202,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:203,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:205,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:217,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:218,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 3
    argNames:
    - input
    - tag
    - output
    argTypes:
    - io::CodedInputStream*
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 20
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedOutputStream*::WriteVarint64
    - io::CodedInputStream*::ReadVarint64
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::LastTagWas
    - io::CodedOutputStream*::WriteLittleEndian32
    - io::CodedOutputStream*::WriteString
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - io::CodedInputStream*::ReadString
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedOutputStream*::WriteLittleEndian64
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag,\n                               io::CodedOutputStream* output)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:230,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:236,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 22
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipMessage(io::CodedInputStream* input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:250,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:256,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:259,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - io::CodedInputStream*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 22
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipMessage(io::CodedInputStream* input,\n                                 io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::FieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipField(io::CodedInputStream* input, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: google::protobuf::internal::FieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipMessage(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: google::protobuf::internal::FieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldSkipper::SkipUnknownEnum(int /* field_number */, int /* value
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool CodedOutputStreamFieldSkipper::SkipField(io::CodedInputStream*
      input,\n                                              uint32 tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool CodedOutputStreamFieldSkipper::SkipMessage(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:291,1
    - Dst: WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - field_number
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32
    - WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStreamFieldSkipper::SkipUnknownEnum(int field_number,\n
      \                                                   int value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:299,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:300,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:301,1
    - Dst: ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:303,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:306,1
    - Dst: RepeatedField<int>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:307,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:311,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:312,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - input
    - field_number
    - unknown_fields_stream
    - values
    argTypes:
    - io::CodedInputStream*
    - int
    - io::CodedOutputStream*
    - RepeatedField<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::PopLimit
    - ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - google::protobuf::internal::WireFormatLite::MakeTag
    - is_valid
    - io::CodedInputStream*::PushLimit
    - RepeatedField<int>*::Add
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedEnumPreserveUnknowns(\n    io::CodedInputStream*
      input, int field_number, bool (*is_valid)(int),\n    io::CodedOutputStream*
      unknown_fields_stream, RepeatedField<int>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:361,1
    - Dst: google::protobuf::internal::EncodeFixedSizeValue
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:364,1
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - CType*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::WriteArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - io::CodedOutputStream*::WriteRaw
    - google::protobuf::internal::EncodeFixedSizeValue
    - std::min
    linkageType: ''
    returnType: void
    signature: void WriteArray(const CType* a, int n, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - float*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<float>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatArray(const float* a, int n,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - double*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<double>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleArray(const double* a, int n,\n                                      io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32Array(const uint32* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64Array(const uint64* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32Array(const int32* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64Array(const int64* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - bool*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<bool>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolArray(const bool* a, int n,\n                                    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:409,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32(int field_number, int32 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:414,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64(int field_number, int64 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:419,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32(int field_number, uint32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:424,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64(int field_number, uint64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:429,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32(int field_number, int32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:434,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64(int field_number, int64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:439,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32(int field_number, uint32 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:444,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64(int field_number, uint64 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:449,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32(int field_number, int32 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:454,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64(int field_number, int64 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:459,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: google::protobuf::internal::WireFormatLite::WriteFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloat(int field_number, float value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:464,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::WireFormatLite::WriteDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDouble(int field_number, double value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:469,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: google::protobuf::internal::WireFormatLite::WriteBool
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBool(int field_number, bool value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:474,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: google::protobuf::internal::WireFormatLite::WriteEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnum(int field_number, int value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:481,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::WireFormatLite::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteString(int field_number, const std::string&
      value,\n                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:490,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteStringMaybeAliased(int field_number,\n                                             const
      std::string& value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:497,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::WireFormatLite::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytes(int field_number, const std::string&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:505,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytesMaybeAliased(int field_number,\n                                            const
      std::string& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:514,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:515,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::protobuf::internal::WireFormatLite::WriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroup(int field_number, const MessageLite&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:521,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:522,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:523,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::WireFormatLite::WriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - GetCachedSize
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessage(int field_number, const MessageLite&
      value,\n                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 10
    functionsReached:
    - io::CodedOutputStream*::Cur
    - _InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSubMessageMaybeToArray(\n    int size, const
      MessageLite& value, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:535,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:536,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:537,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupMaybeToArray(int field_number,\n                                            const
      MessageLite& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:544,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:545,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:546,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageMaybeToArray(int field_number,\n
      \                                             const MessageLite& value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::ReadBytesToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool ReadBytesToString(io::CodedInputStream* input,\n                                     std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadBytes(io::CodedInputStream* input,\n                               std::string*
      value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:564,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:565,1
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    - GetEmptyStringAlreadyInited
    - std::string::string
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::ReadBytes(io::CodedInputStream* input, std::string**
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:575,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field_name
    - operation_str
    - emit_stacktrace
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 581
    functionName: google::protobuf::internal::PrintUTF8ErrorLog
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - StringPrintf
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void PrintUTF8ErrorLog(const char* field_name, const char* operation_str,\n
      \                      bool emit_stacktrace)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:585,1
    - Dst: PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - size
    - op
    - field_name
    argTypes:
    - char*
    - int
    - Operation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 600
    functionName: google::protobuf::internal::WireFormatLite::VerifyUtf8String
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - IsStructurallyValidUTF8
    - PrintUTF8ErrorLog
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::VerifyUtf8String(const char* data, int size,
      Operation op,\n                                      const char* field_name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 637
    functionName: google::protobuf::internal::VarintSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize(const T* data, const int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:649,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 663
    functionName: google::protobuf::internal::VarintSize64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize64(const T* data, const int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 676
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - VarintSize<false, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<true, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 680
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - VarintSize<true, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 9
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:691,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:700,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 705
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:709,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 714
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:718,1
    - Dst: google::protobuf::internal::WireFormatLite::EnumSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 723
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EnumSize
    - Get
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 743
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 5
    functionsReached:
    - VarintSize64<true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:749,1
    - Dst: google::protobuf::internal::WireFormatLite::Int64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:758,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:767,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:125,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:126,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:129,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:134,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:139,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:140,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:144,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:145,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:146,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:148,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 167
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 24
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedInputStream*::ReadVarint64
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:172,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:173,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:176,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:177,1
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:178,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:183,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:184,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:185,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:190,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:191,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:192,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:195,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:196,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:200,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:201,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:202,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:203,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:205,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:217,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:218,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 3
    argNames:
    - input
    - tag
    - output
    argTypes:
    - io::CodedInputStream*
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedOutputStream*::WriteVarint64
    - io::CodedInputStream*::ReadVarint64
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::LastTagWas
    - io::CodedOutputStream*::WriteLittleEndian32
    - io::CodedOutputStream*::WriteString
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - io::CodedInputStream*::ReadString
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedOutputStream*::WriteLittleEndian64
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag,\n                               io::CodedOutputStream* output)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:230,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:236,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 26
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipMessage(io::CodedInputStream* input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:250,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:256,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:259,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - io::CodedInputStream*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 26
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipMessage(io::CodedInputStream* input,\n                                 io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::FieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipField(io::CodedInputStream* input, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: google::protobuf::internal::FieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipMessage(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: google::protobuf::internal::FieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldSkipper::SkipUnknownEnum(int /* field_number */, int /* value
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool CodedOutputStreamFieldSkipper::SkipField(io::CodedInputStream*
      input,\n                                              uint32 tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool CodedOutputStreamFieldSkipper::SkipMessage(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:291,1
    - Dst: WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - field_number
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32
    - WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStreamFieldSkipper::SkipUnknownEnum(int field_number,\n
      \                                                   int value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:299,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:300,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:301,1
    - Dst: ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:303,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:306,1
    - Dst: RepeatedField<int>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:307,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:311,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:312,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - input
    - field_number
    - unknown_fields_stream
    - values
    argTypes:
    - io::CodedInputStream*
    - int
    - io::CodedOutputStream*
    - RepeatedField<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::PopLimit
    - ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - google::protobuf::internal::WireFormatLite::MakeTag
    - is_valid
    - io::CodedInputStream*::PushLimit
    - RepeatedField<int>*::Add
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedEnumPreserveUnknowns(\n    io::CodedInputStream*
      input, int field_number, bool (*is_valid)(int),\n    io::CodedOutputStream*
      unknown_fields_stream, RepeatedField<int>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:361,1
    - Dst: google::protobuf::internal::EncodeFixedSizeValue
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:364,1
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - CType*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::WriteArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - io::CodedOutputStream*::WriteRaw
    - google::protobuf::internal::EncodeFixedSizeValue
    - std::min
    linkageType: ''
    returnType: void
    signature: void WriteArray(const CType* a, int n, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - float*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<float>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatArray(const float* a, int n,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - double*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<double>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleArray(const double* a, int n,\n                                      io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32Array(const uint32* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64Array(const uint64* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32Array(const int32* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64Array(const int64* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - bool*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<bool>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolArray(const bool* a, int n,\n                                    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:409,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32(int field_number, int32 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:414,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64(int field_number, int64 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:419,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32(int field_number, uint32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:424,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64(int field_number, uint64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:429,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32(int field_number, int32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:434,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64(int field_number, int64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:439,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32(int field_number, uint32 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:444,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64(int field_number, uint64 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:449,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32(int field_number, int32 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:454,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64(int field_number, int64 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:459,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: google::protobuf::internal::WireFormatLite::WriteFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloat(int field_number, float value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:464,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::WireFormatLite::WriteDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDouble(int field_number, double value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:469,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: google::protobuf::internal::WireFormatLite::WriteBool
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBool(int field_number, bool value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:474,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: google::protobuf::internal::WireFormatLite::WriteEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnum(int field_number, int value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:481,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::WireFormatLite::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteString(int field_number, const std::string&
      value,\n                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:490,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteStringMaybeAliased(int field_number,\n                                             const
      std::string& value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:497,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::WireFormatLite::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytes(int field_number, const std::string&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:505,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytesMaybeAliased(int field_number,\n                                            const
      std::string& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:514,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:515,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::protobuf::internal::WireFormatLite::WriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroup(int field_number, const MessageLite&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:521,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:522,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:523,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::WireFormatLite::WriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - GetCachedSize
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessage(int field_number, const MessageLite&
      value,\n                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 12
    functionsReached:
    - io::CodedOutputStream*::Cur
    - _InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSubMessageMaybeToArray(\n    int size, const
      MessageLite& value, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:535,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:536,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:537,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupMaybeToArray(int field_number,\n                                            const
      MessageLite& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:544,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:545,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:546,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageMaybeToArray(int field_number,\n
      \                                             const MessageLite& value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::ReadBytesToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool ReadBytesToString(io::CodedInputStream* input,\n                                     std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadBytes(io::CodedInputStream* input,\n                               std::string*
      value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:564,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:565,1
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    - GetEmptyStringAlreadyInited
    - std::string::string
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::ReadBytes(io::CodedInputStream* input, std::string**
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:575,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field_name
    - operation_str
    - emit_stacktrace
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 581
    functionName: google::protobuf::internal::PrintUTF8ErrorLog
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - StringPrintf
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void PrintUTF8ErrorLog(const char* field_name, const char* operation_str,\n
      \                      bool emit_stacktrace)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:585,1
    - Dst: PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - size
    - op
    - field_name
    argTypes:
    - char*
    - int
    - Operation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 600
    functionName: google::protobuf::internal::WireFormatLite::VerifyUtf8String
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - IsStructurallyValidUTF8
    - PrintUTF8ErrorLog
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::VerifyUtf8String(const char* data, int size,
      Operation op,\n                                      const char* field_name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 637
    functionName: google::protobuf::internal::VarintSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize(const T* data, const int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:649,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 663
    functionName: google::protobuf::internal::VarintSize64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize64(const T* data, const int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 676
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - VarintSize<false, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<true, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 680
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - VarintSize<true, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 10
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:691,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 9
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:700,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 705
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 9
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:709,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 714
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:718,1
    - Dst: google::protobuf::internal::WireFormatLite::EnumSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 723
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 11
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EnumSize
    - Get
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 743
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 6
    functionsReached:
    - VarintSize64<true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:749,1
    - Dst: google::protobuf::internal::WireFormatLite::Int64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:758,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 9
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:767,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:125,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:126,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:129,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:134,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:139,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:140,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:144,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:145,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:146,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:148,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:149,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 167
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 28
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedInputStream*::ReadVarint64
    - io::CodedInputStream*::ReadVarint32
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:172,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:173,1
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:176,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:177,1
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:178,1
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:183,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:184,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:185,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:190,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:191,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:192,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:195,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:196,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:200,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:201,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:202,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:203,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:205,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:206,1
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:217,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:218,1
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 3
    argNames:
    - input
    - tag
    - output
    argTypes:
    - io::CodedInputStream*
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 226
    functionName: google::protobuf::internal::WireFormatLite::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 28
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - io::CodedOutputStream*::WriteVarint64
    - io::CodedInputStream*::ReadVarint64
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::LastTagWas
    - io::CodedOutputStream*::WriteLittleEndian32
    - io::CodedOutputStream*::WriteString
    - io::CodedInputStream*::ReadLittleEndian32
    - io::CodedInputStream*::ReadLittleEndian64
    - io::CodedInputStream*::ReadString
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::IncrementRecursionDepth
    - io::CodedOutputStream*::WriteLittleEndian64
    - io::CodedInputStream*::DecrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipField(io::CodedInputStream* input, uint32
      tag,\n                               io::CodedOutputStream* output)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:230,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:236,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 30
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::SkipMessage(io::CodedInputStream* input)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:250,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:256,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:259,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - io::CodedInputStream*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 266
    functionName: google::protobuf::internal::WireFormatLite::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 30
    functionsReached:
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::WireFormatLite::SkipField
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::ReadTag
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::SkipMessage(io::CodedInputStream* input,\n                                 io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::FieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipField(io::CodedInputStream* input, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: google::protobuf::internal::FieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool FieldSkipper::SkipMessage(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: google::protobuf::internal::FieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldSkipper::SkipUnknownEnum(int /* field_number */, int /* value
      */)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - io::CodedInputStream*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool CodedOutputStreamFieldSkipper::SkipField(io::CodedInputStream*
      input,\n                                              uint32 tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::SkipMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::SkipMessage
    linkageType: ''
    returnType: bool
    signature: bool CodedOutputStreamFieldSkipper::SkipMessage(io::CodedInputStream*
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:291,1
    - Dst: WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - field_number
    - value
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteVarint32
    - WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStreamFieldSkipper::SkipUnknownEnum(int field_number,\n
      \                                                   int value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:299,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:300,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:301,1
    - Dst: ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:303,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:306,1
    - Dst: RepeatedField<int>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:307,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:311,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:312,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - input
    - field_number
    - unknown_fields_stream
    - values
    argTypes:
    - io::CodedInputStream*
    - int
    - io::CodedOutputStream*
    - RepeatedField<int>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedInputStream*::PopLimit
    - ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    - google::protobuf::internal::WireFormatLite::MakeTag
    - is_valid
    - io::CodedInputStream*::PushLimit
    - RepeatedField<int>*::Add
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedEnumPreserveUnknowns(\n    io::CodedInputStream*
      input, int field_number, bool (*is_valid)(int),\n    io::CodedOutputStream*
      unknown_fields_stream, RepeatedField<int>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(float v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(double v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(uint64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int32 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(int64 v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - dest
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: google::protobuf::internal::EncodeFixedSizeValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    linkageType: ''
    returnType: void
    signature: void EncodeFixedSizeValue(bool v, uint8* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:356,1
    - Dst: std::min
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:361,1
    - Dst: google::protobuf::internal::EncodeFixedSizeValue
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:364,1
    - Dst: io::CodedOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - CType*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::WriteArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - io::CodedOutputStream*::WriteRaw
    - google::protobuf::internal::EncodeFixedSizeValue
    - std::min
    linkageType: ''
    returnType: void
    signature: void WriteArray(const CType* a, int n, io::CodedOutputStream* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - float*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<float>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatArray(const float* a, int n,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - double*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<double>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleArray(const double* a, int n,\n                                      io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32Array(const uint32* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - uint64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<uint64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64Array(const uint64* a, int n,\n                                       io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int32*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int32>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32Array(const int32* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - int64*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64Array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<int64>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64Array(const int64* a, int n,\n                                        io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteArray<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - n
    - output
    argTypes:
    - bool*
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - WriteArray<bool>
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolArray(const bool* a, int n,\n                                    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:409,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32(int field_number, int32 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:414,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    - google::protobuf::internal::WireFormatLite::WriteTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64(int field_number, int64 value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:419,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32(int field_number, uint32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:424,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64(int field_number, uint64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:429,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32(int field_number, int32 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:434,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64(int field_number, int64 value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:439,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32(int field_number, uint32 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:444,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64(int field_number, uint64 value,\n
      \                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:449,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32(int field_number, int32 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:454,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64(int field_number, int64 value,\n
      \                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:459,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: google::protobuf::internal::WireFormatLite::WriteFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloat(int field_number, float value,\n                                io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:464,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::WireFormatLite::WriteDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDouble(int field_number, double value,\n
      \                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:469,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: google::protobuf::internal::WireFormatLite::WriteBool
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBool(int field_number, bool value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:474,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: google::protobuf::internal::WireFormatLite::WriteEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnum(int field_number, int value,\n                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:481,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:482,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:483,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: google::protobuf::internal::WireFormatLite::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteString(int field_number, const std::string&
      value,\n                                 io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:490,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:491,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:492,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteStringMaybeAliased(int field_number,\n                                             const
      std::string& value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:497,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:498,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:499,1
    - Dst: io::CodedOutputStream*::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: google::protobuf::internal::WireFormatLite::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - io::CodedOutputStream*::WriteString
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytes(int field_number, const std::string&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:505,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:506,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:507,1
    - Dst: io::CodedOutputStream*::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - std::string
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::WriteRawMaybeAliased
    - io::CodedOutputStream*::WriteVarint32
    - data
    - google::protobuf::internal::WireFormatLite::WriteTag
    - GOOGLE_CHECK_LE
    - size
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBytesMaybeAliased(int field_number,\n                                            const
      std::string& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:514,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:515,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::protobuf::internal::WireFormatLite::WriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroup(int field_number, const MessageLite&
      value,\n                                io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:521,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:522,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:523,1
    - Dst: SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::WireFormatLite::WriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - GetCachedSize
    - SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessage(int field_number, const MessageLite&
      value,\n                                  io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 14
    functionsReached:
    - io::CodedOutputStream*::Cur
    - _InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSubMessageMaybeToArray(\n    int size, const
      MessageLite& value, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:535,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:536,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:537,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupMaybeToArray(int field_number,\n                                            const
      MessageLite& value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:544,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:545,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:546,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageLite
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
    - GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageMaybeToArray(int field_number,\n
      \                                             const MessageLite& value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    - Dst: io::CodedInputStream*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::ReadBytesToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - io::CodedInputStream*::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool ReadBytesToString(io::CodedInputStream* input,\n                                     std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadBytes(io::CodedInputStream* input,\n                               std::string*
      value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:564,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:565,1
    - Dst: ReadBytesToString
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: google::protobuf::internal::WireFormatLite::ReadBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - ReadBytesToString
    - GetEmptyStringAlreadyInited
    - std::string::string
    linkageType: ''
    returnType: bool
    signature: bool WireFormatLite::ReadBytes(io::CodedInputStream* input, std::string**
      p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:575,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - field_name
    - operation_str
    - emit_stacktrace
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 581
    functionName: google::protobuf::internal::PrintUTF8ErrorLog
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - StringPrintf
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: "void PrintUTF8ErrorLog(const char* field_name, const char* operation_str,\n
      \                      bool emit_stacktrace)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:585,1
    - Dst: PrintUTF8ErrorLog
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - data
    - size
    - op
    - field_name
    argTypes:
    - char*
    - int
    - Operation
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 600
    functionName: google::protobuf::internal::WireFormatLite::VerifyUtf8String
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - IsStructurallyValidUTF8
    - PrintUTF8ErrorLog
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::VerifyUtf8String(const char* data, int size,
      Operation op,\n                                      const char* field_name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 637
    functionName: google::protobuf::internal::VarintSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize(const T* data, const int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:649,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - data
    - n
    argTypes:
    - T*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 663
    functionName: google::protobuf::internal::VarintSize64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    linkageType: ''
    returnType: size_t
    signature: size_t VarintSize64(const T* data, const int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 672
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 9
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 676
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 9
    functionsReached:
    - VarintSize<false, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<true, false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 680
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - VarintSize<true, false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize<false, true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 11
    functionsReached:
    - VarintSize<false, true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:691,1
    - Dst: google::protobuf::internal::WireFormatLite::Int32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 696
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 10
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:700,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 705
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 10
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(const RepeatedField<uint32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:709,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int32>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 714
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt32Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(const RepeatedField<int32>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:718,1
    - Dst: google::protobuf::internal::WireFormatLite::EnumSize
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 723
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EnumSize
    - Get
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(const RepeatedField<int>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 735
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<false>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 9
    functionsReached:
    - VarintSize64<false>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintSize64<true>
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 743
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 7
    functionsReached:
    - VarintSize64<true>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:749,1
    - Dst: google::protobuf::internal::WireFormatLite::Int64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::Int64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:758,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<uint64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 10
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::UInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(const RepeatedField<uint64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:767,1
    - Dst: google::protobuf::internal::WireFormatLite::SInt64Size
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - RepeatedField<int64>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
    functionUses: 8
    functionsReached:
    - Get
    - google::protobuf::internal::WireFormatLite::SInt64Size
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(const RepeatedField<int64>& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:41,1
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/statusor.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: google::protobuf::util::internal::StatusOrHelper::Crash
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
    functionUses: 0
    functionsReached:
    - ToString
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void StatusOrHelper::Crash(const Status& status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: lseek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lseek(fd, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::FileInputStream::FileInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileInputStream::FileInputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::protobuf::io::FileInputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::FileInputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::io::FileInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::FileInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: google::protobuf::io::FileInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::FileInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void FileInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::FileInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::FileInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::FileInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::FileInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t FileInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:110,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:117,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: FileInputStream::CopyingFileInputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::CopyingFileInputStream::Close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:132,1
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - read
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:148,1
    - Dst: lseek
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:150,1
    - Dst: google::protobuf::io::CopyingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: FileInputStream::CopyingFileInputStream::Skip(int count)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::io::CopyingInputStream::Skip
    - lseek
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: google::protobuf::io::FileOutputStream::FileOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::FileOutputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:172,1
    - Dst: google::protobuf::io::FileOutputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: google::protobuf::io::FileOutputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - Flush
    - google::protobuf::io::FileOutputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: FileOutputStream::~FileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::~FileOutputStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:187,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:194,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: FileOutputStream::CopyingFileOutputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::CopyingFileOutputStream::Close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:210,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:213,1
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 241
    functionName: "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n
      \                                                     int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - write
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: bool
    signature: "bool FileOutputStream::CopyingFileOutputStream::Write(const void*
      buffer,\n                                                      int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - input
    - block_size
    argTypes:
    - std::istream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: google::protobuf::io::IstreamInputStream::IstreamInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::IstreamInputStream(std::istream* input, int
      block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: google::protobuf::io::IstreamInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::IstreamInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::IstreamInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: google::protobuf::io::IstreamInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::IstreamInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::IstreamInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t IstreamInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: gcount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:267,1
    - Dst: fail
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    - Dst: eof
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - gcount
    - fail
    - read
    - reinterpret_cast<char*>
    - eof
    linkageType: ''
    returnType: int
    signature: "int IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - output
    - block_size
    argTypes:
    - std::ostream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: google::protobuf::io::OstreamOutputStream::OstreamOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::OstreamOutputStream(std::ostream* output,
      int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: OstreamOutputStream::~OstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::~OstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::OstreamOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool OstreamOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: google::protobuf::io::OstreamOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: google::protobuf::io::OstreamOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t OstreamOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: good
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void*
      buffer,\n                                                            int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - write
    - good
    linkageType: ''
    returnType: bool
    signature: "bool OstreamOutputStream::CopyingOstreamOutputStream::Write(const
      void* buffer,\n                                                            int
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - streams
    - count
    argTypes:
    - ZeroCopyInputStream*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ConcatenatingInputStream::ConcatenatingInputStream(\n    ZeroCopyInputStream*
      const streams[], int count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:311,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: google::protobuf::io::ConcatenatingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::Next
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:325,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::io::ConcatenatingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::BackUp
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void ConcatenatingInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:335,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:336,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:340,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::ConcatenatingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    - google::protobuf::io::ConcatenatingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::ConcatenatingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t ConcatenatingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: lseek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lseek(fd, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::FileInputStream::FileInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileInputStream::FileInputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::protobuf::io::FileInputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::FileInputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::io::FileInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::FileInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: google::protobuf::io::FileInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::FileInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void FileInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::FileInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::FileInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::FileInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::FileInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t FileInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:110,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:117,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: FileInputStream::CopyingFileInputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::CopyingFileInputStream::Close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:132,1
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - read
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:148,1
    - Dst: lseek
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:150,1
    - Dst: google::protobuf::io::CopyingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: FileInputStream::CopyingFileInputStream::Skip(int count)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::io::CopyingInputStream::Skip
    - lseek
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: google::protobuf::io::FileOutputStream::FileOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::FileOutputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:172,1
    - Dst: google::protobuf::io::FileOutputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: google::protobuf::io::FileOutputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - Flush
    - google::protobuf::io::FileOutputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: FileOutputStream::~FileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::~FileOutputStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:187,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:194,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: FileOutputStream::CopyingFileOutputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::CopyingFileOutputStream::Close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:210,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:213,1
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 241
    functionName: "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n
      \                                                     int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - write
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: bool
    signature: "bool FileOutputStream::CopyingFileOutputStream::Write(const void*
      buffer,\n                                                      int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - input
    - block_size
    argTypes:
    - std::istream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: google::protobuf::io::IstreamInputStream::IstreamInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::IstreamInputStream(std::istream* input, int
      block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: google::protobuf::io::IstreamInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::IstreamInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::IstreamInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: google::protobuf::io::IstreamInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::IstreamInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::IstreamInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t IstreamInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: gcount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:267,1
    - Dst: fail
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    - Dst: eof
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - gcount
    - fail
    - read
    - reinterpret_cast<char*>
    - eof
    linkageType: ''
    returnType: int
    signature: "int IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - output
    - block_size
    argTypes:
    - std::ostream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: google::protobuf::io::OstreamOutputStream::OstreamOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::OstreamOutputStream(std::ostream* output,
      int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: OstreamOutputStream::~OstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::~OstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::OstreamOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool OstreamOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: google::protobuf::io::OstreamOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: google::protobuf::io::OstreamOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t OstreamOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: good
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void*
      buffer,\n                                                            int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - write
    - good
    linkageType: ''
    returnType: bool
    signature: "bool OstreamOutputStream::CopyingOstreamOutputStream::Write(const
      void* buffer,\n                                                            int
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - streams
    - count
    argTypes:
    - ZeroCopyInputStream*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ConcatenatingInputStream::ConcatenatingInputStream(\n    ZeroCopyInputStream*
      const streams[], int count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:311,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: google::protobuf::io::ConcatenatingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::Next
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:325,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::io::ConcatenatingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::BackUp
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void ConcatenatingInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:335,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:336,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:340,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::ConcatenatingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    - google::protobuf::io::ConcatenatingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::ConcatenatingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t ConcatenatingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: lseek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lseek(fd, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::FileInputStream::FileInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileInputStream::FileInputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::protobuf::io::FileInputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::FileInputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::io::FileInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::FileInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: google::protobuf::io::FileInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::FileInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void FileInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::FileInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::FileInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::FileInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::FileInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t FileInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:110,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:117,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: FileInputStream::CopyingFileInputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::CopyingFileInputStream::Close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:132,1
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - read
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:148,1
    - Dst: lseek
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:150,1
    - Dst: google::protobuf::io::CopyingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: FileInputStream::CopyingFileInputStream::Skip(int count)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::io::CopyingInputStream::Skip
    - lseek
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: google::protobuf::io::FileOutputStream::FileOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::FileOutputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:172,1
    - Dst: google::protobuf::io::FileOutputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: google::protobuf::io::FileOutputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - Flush
    - google::protobuf::io::FileOutputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: FileOutputStream::~FileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::~FileOutputStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:187,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:194,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: FileOutputStream::CopyingFileOutputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::CopyingFileOutputStream::Close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:210,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:213,1
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 241
    functionName: "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n
      \                                                     int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - write
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: bool
    signature: "bool FileOutputStream::CopyingFileOutputStream::Write(const void*
      buffer,\n                                                      int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - input
    - block_size
    argTypes:
    - std::istream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: google::protobuf::io::IstreamInputStream::IstreamInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::IstreamInputStream(std::istream* input, int
      block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: google::protobuf::io::IstreamInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::IstreamInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::IstreamInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: google::protobuf::io::IstreamInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::IstreamInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::IstreamInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t IstreamInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: gcount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:267,1
    - Dst: fail
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    - Dst: eof
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - gcount
    - fail
    - read
    - reinterpret_cast<char*>
    - eof
    linkageType: ''
    returnType: int
    signature: "int IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - output
    - block_size
    argTypes:
    - std::ostream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: google::protobuf::io::OstreamOutputStream::OstreamOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::OstreamOutputStream(std::ostream* output,
      int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: OstreamOutputStream::~OstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::~OstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::OstreamOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool OstreamOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: google::protobuf::io::OstreamOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: google::protobuf::io::OstreamOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t OstreamOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: good
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void*
      buffer,\n                                                            int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - write
    - good
    linkageType: ''
    returnType: bool
    signature: "bool OstreamOutputStream::CopyingOstreamOutputStream::Write(const
      void* buffer,\n                                                            int
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - streams
    - count
    argTypes:
    - ZeroCopyInputStream*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ConcatenatingInputStream::ConcatenatingInputStream(\n    ZeroCopyInputStream*
      const streams[], int count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:311,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: google::protobuf::io::ConcatenatingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::Next
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:325,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::io::ConcatenatingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::BackUp
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void ConcatenatingInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:335,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:336,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:340,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::ConcatenatingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    - google::protobuf::io::ConcatenatingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::ConcatenatingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t ConcatenatingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: lseek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lseek(fd, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::FileInputStream::FileInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileInputStream::FileInputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::protobuf::io::FileInputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::FileInputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::io::FileInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::FileInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: google::protobuf::io::FileInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::FileInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void FileInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::FileInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::FileInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::FileInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::FileInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t FileInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:110,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:117,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: FileInputStream::CopyingFileInputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::CopyingFileInputStream::Close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:132,1
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - read
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:148,1
    - Dst: lseek
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:150,1
    - Dst: google::protobuf::io::CopyingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: FileInputStream::CopyingFileInputStream::Skip(int count)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::io::CopyingInputStream::Skip
    - lseek
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: google::protobuf::io::FileOutputStream::FileOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::FileOutputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:172,1
    - Dst: google::protobuf::io::FileOutputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: google::protobuf::io::FileOutputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - Flush
    - google::protobuf::io::FileOutputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: FileOutputStream::~FileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::~FileOutputStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:187,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:194,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: FileOutputStream::CopyingFileOutputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::CopyingFileOutputStream::Close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:210,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:213,1
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 241
    functionName: "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n
      \                                                     int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - write
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: bool
    signature: "bool FileOutputStream::CopyingFileOutputStream::Write(const void*
      buffer,\n                                                      int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - input
    - block_size
    argTypes:
    - std::istream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: google::protobuf::io::IstreamInputStream::IstreamInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::IstreamInputStream(std::istream* input, int
      block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: google::protobuf::io::IstreamInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::IstreamInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::IstreamInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: google::protobuf::io::IstreamInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::IstreamInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::IstreamInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t IstreamInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: gcount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:267,1
    - Dst: fail
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    - Dst: eof
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - gcount
    - fail
    - read
    - reinterpret_cast<char*>
    - eof
    linkageType: ''
    returnType: int
    signature: "int IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - output
    - block_size
    argTypes:
    - std::ostream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: google::protobuf::io::OstreamOutputStream::OstreamOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::OstreamOutputStream(std::ostream* output,
      int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: OstreamOutputStream::~OstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::~OstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::OstreamOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool OstreamOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: google::protobuf::io::OstreamOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: google::protobuf::io::OstreamOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t OstreamOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: good
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void*
      buffer,\n                                                            int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - write
    - good
    linkageType: ''
    returnType: bool
    signature: "bool OstreamOutputStream::CopyingOstreamOutputStream::Write(const
      void* buffer,\n                                                            int
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - streams
    - count
    argTypes:
    - ZeroCopyInputStream*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ConcatenatingInputStream::ConcatenatingInputStream(\n    ZeroCopyInputStream*
      const streams[], int count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:311,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: google::protobuf::io::ConcatenatingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::Next
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:325,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::io::ConcatenatingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::BackUp
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void ConcatenatingInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:335,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:336,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:340,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::ConcatenatingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    - google::protobuf::io::ConcatenatingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::ConcatenatingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t ConcatenatingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: lseek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lseek(fd, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::FileInputStream::FileInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileInputStream::FileInputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::protobuf::io::FileInputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::FileInputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::io::FileInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::FileInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: google::protobuf::io::FileInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::FileInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void FileInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::FileInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::FileInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::FileInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::FileInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t FileInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:110,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:117,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: FileInputStream::CopyingFileInputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::CopyingFileInputStream::Close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:132,1
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - read
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:148,1
    - Dst: lseek
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:150,1
    - Dst: google::protobuf::io::CopyingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: FileInputStream::CopyingFileInputStream::Skip(int count)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::io::CopyingInputStream::Skip
    - lseek
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: google::protobuf::io::FileOutputStream::FileOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::FileOutputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:172,1
    - Dst: google::protobuf::io::FileOutputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: google::protobuf::io::FileOutputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - Flush
    - google::protobuf::io::FileOutputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: FileOutputStream::~FileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::~FileOutputStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:187,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:194,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: FileOutputStream::CopyingFileOutputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::CopyingFileOutputStream::Close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:210,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:213,1
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 241
    functionName: "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n
      \                                                     int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - write
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: bool
    signature: "bool FileOutputStream::CopyingFileOutputStream::Write(const void*
      buffer,\n                                                      int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - input
    - block_size
    argTypes:
    - std::istream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: google::protobuf::io::IstreamInputStream::IstreamInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::IstreamInputStream(std::istream* input, int
      block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: google::protobuf::io::IstreamInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::IstreamInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::IstreamInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: google::protobuf::io::IstreamInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::IstreamInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::IstreamInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t IstreamInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: gcount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:267,1
    - Dst: fail
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    - Dst: eof
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - gcount
    - fail
    - read
    - reinterpret_cast<char*>
    - eof
    linkageType: ''
    returnType: int
    signature: "int IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - output
    - block_size
    argTypes:
    - std::ostream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: google::protobuf::io::OstreamOutputStream::OstreamOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::OstreamOutputStream(std::ostream* output,
      int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: OstreamOutputStream::~OstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::~OstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::OstreamOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool OstreamOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: google::protobuf::io::OstreamOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: google::protobuf::io::OstreamOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t OstreamOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: good
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void*
      buffer,\n                                                            int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - write
    - good
    linkageType: ''
    returnType: bool
    signature: "bool OstreamOutputStream::CopyingOstreamOutputStream::Write(const
      void* buffer,\n                                                            int
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - streams
    - count
    argTypes:
    - ZeroCopyInputStream*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ConcatenatingInputStream::ConcatenatingInputStream(\n    ZeroCopyInputStream*
      const streams[], int count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:311,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: google::protobuf::io::ConcatenatingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::Next
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:325,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::io::ConcatenatingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::BackUp
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void ConcatenatingInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:335,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:336,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:340,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::ConcatenatingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached:
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    - google::protobuf::io::ConcatenatingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::ConcatenatingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t ConcatenatingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: lseek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lseek(fd, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::FileInputStream::FileInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileInputStream::FileInputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::protobuf::io::FileInputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::FileInputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::io::FileInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::FileInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: google::protobuf::io::FileInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::FileInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void FileInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::FileInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::FileInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::FileInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::FileInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t FileInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:110,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:117,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: FileInputStream::CopyingFileInputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::CopyingFileInputStream::Close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:132,1
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - read
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:148,1
    - Dst: lseek
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:150,1
    - Dst: google::protobuf::io::CopyingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: FileInputStream::CopyingFileInputStream::Skip(int count)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::io::CopyingInputStream::Skip
    - lseek
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: google::protobuf::io::FileOutputStream::FileOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::FileOutputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:172,1
    - Dst: google::protobuf::io::FileOutputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: google::protobuf::io::FileOutputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - Flush
    - google::protobuf::io::FileOutputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: FileOutputStream::~FileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::~FileOutputStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:187,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:194,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: FileOutputStream::CopyingFileOutputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::CopyingFileOutputStream::Close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:210,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:213,1
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 241
    functionName: "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n
      \                                                     int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - write
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: bool
    signature: "bool FileOutputStream::CopyingFileOutputStream::Write(const void*
      buffer,\n                                                      int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - input
    - block_size
    argTypes:
    - std::istream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: google::protobuf::io::IstreamInputStream::IstreamInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::IstreamInputStream(std::istream* input, int
      block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: google::protobuf::io::IstreamInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::IstreamInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::IstreamInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: google::protobuf::io::IstreamInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::IstreamInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::IstreamInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t IstreamInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: gcount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:267,1
    - Dst: fail
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    - Dst: eof
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - gcount
    - fail
    - read
    - reinterpret_cast<char*>
    - eof
    linkageType: ''
    returnType: int
    signature: "int IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - output
    - block_size
    argTypes:
    - std::ostream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: google::protobuf::io::OstreamOutputStream::OstreamOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::OstreamOutputStream(std::ostream* output,
      int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: OstreamOutputStream::~OstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::~OstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::OstreamOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool OstreamOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: google::protobuf::io::OstreamOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: google::protobuf::io::OstreamOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t OstreamOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: good
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void*
      buffer,\n                                                            int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - write
    - good
    linkageType: ''
    returnType: bool
    signature: "bool OstreamOutputStream::CopyingOstreamOutputStream::Write(const
      void* buffer,\n                                                            int
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - streams
    - count
    argTypes:
    - ZeroCopyInputStream*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ConcatenatingInputStream::ConcatenatingInputStream(\n    ZeroCopyInputStream*
      const streams[], int count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:311,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: google::protobuf::io::ConcatenatingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::Next
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:325,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::io::ConcatenatingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::BackUp
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void ConcatenatingInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:335,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:336,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:340,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::ConcatenatingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached:
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    - google::protobuf::io::ConcatenatingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::ConcatenatingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t ConcatenatingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: lseek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lseek(fd, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::FileInputStream::FileInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileInputStream::FileInputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::protobuf::io::FileInputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::FileInputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::io::FileInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::FileInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: google::protobuf::io::FileInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::FileInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void FileInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::FileInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::FileInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::FileInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::FileInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t FileInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:110,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:117,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: FileInputStream::CopyingFileInputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::CopyingFileInputStream::Close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:132,1
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - read
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:148,1
    - Dst: lseek
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:150,1
    - Dst: google::protobuf::io::CopyingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: FileInputStream::CopyingFileInputStream::Skip(int count)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::io::CopyingInputStream::Skip
    - lseek
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: google::protobuf::io::FileOutputStream::FileOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::FileOutputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:172,1
    - Dst: google::protobuf::io::FileOutputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: google::protobuf::io::FileOutputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - Flush
    - google::protobuf::io::FileOutputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: FileOutputStream::~FileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::~FileOutputStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:187,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:194,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: FileOutputStream::CopyingFileOutputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::CopyingFileOutputStream::Close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:210,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:213,1
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 241
    functionName: "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n
      \                                                     int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - write
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: bool
    signature: "bool FileOutputStream::CopyingFileOutputStream::Write(const void*
      buffer,\n                                                      int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - input
    - block_size
    argTypes:
    - std::istream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: google::protobuf::io::IstreamInputStream::IstreamInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::IstreamInputStream(std::istream* input, int
      block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: google::protobuf::io::IstreamInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::IstreamInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::IstreamInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: google::protobuf::io::IstreamInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::IstreamInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::IstreamInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t IstreamInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: gcount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:267,1
    - Dst: fail
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    - Dst: eof
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - gcount
    - fail
    - read
    - reinterpret_cast<char*>
    - eof
    linkageType: ''
    returnType: int
    signature: "int IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - output
    - block_size
    argTypes:
    - std::ostream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: google::protobuf::io::OstreamOutputStream::OstreamOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::OstreamOutputStream(std::ostream* output,
      int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: OstreamOutputStream::~OstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::~OstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::OstreamOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool OstreamOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: google::protobuf::io::OstreamOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: google::protobuf::io::OstreamOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t OstreamOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: good
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void*
      buffer,\n                                                            int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - write
    - good
    linkageType: ''
    returnType: bool
    signature: "bool OstreamOutputStream::CopyingOstreamOutputStream::Write(const
      void* buffer,\n                                                            int
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - streams
    - count
    argTypes:
    - ZeroCopyInputStream*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ConcatenatingInputStream::ConcatenatingInputStream(\n    ZeroCopyInputStream*
      const streams[], int count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:311,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: google::protobuf::io::ConcatenatingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::Next
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:325,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::io::ConcatenatingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::BackUp
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void ConcatenatingInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:335,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:336,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:340,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::ConcatenatingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached:
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    - google::protobuf::io::ConcatenatingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::ConcatenatingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 21
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t ConcatenatingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: lseek
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lseek(fd, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::io::close_no_eintr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_no_eintr(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: google::protobuf::io::FileInputStream::FileInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileInputStream::FileInputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::protobuf::io::FileInputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::FileInputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::io::FileInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::FileInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: google::protobuf::io::FileInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::FileInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void FileInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::FileInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::FileInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::FileInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::io::FileInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::FileInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t FileInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n
      \   int file_descriptor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:110,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:117,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: FileInputStream::CopyingFileInputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileInputStream::CopyingFileInputStream::Close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:132,1
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - read
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Read(void* buffer, int
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:148,1
    - Dst: lseek
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:150,1
    - Dst: google::protobuf::io::CopyingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: FileInputStream::CopyingFileInputStream::Skip(int count)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::io::CopyingInputStream::Skip
    - lseek
    linkageType: ''
    returnType: int
    signature: int FileInputStream::CopyingFileInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - block_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: google::protobuf::io::FileOutputStream::FileOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::FileOutputStream(int file_descriptor, int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:172,1
    - Dst: google::protobuf::io::FileOutputStream::Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: google::protobuf::io::FileOutputStream::Close
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - Flush
    - google::protobuf::io::FileOutputStream::Close
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::Close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n
      \   int file_descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: FileOutputStream::~FileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::~FileOutputStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:187,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    - Dst: strerror
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - strerror
    - GOOGLE_LOG
    - Close
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:194,1
    - Dst: close_no_eintr
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: FileOutputStream::CopyingFileOutputStream::Close()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - close_no_eintr
    linkageType: ''
    returnType: bool
    signature: bool FileOutputStream::CopyingFileOutputStream::Close()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:210,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:213,1
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 241
    functionName: "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n
      \                                                     int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - write
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: bool
    signature: "bool FileOutputStream::CopyingFileOutputStream::Write(const void*
      buffer,\n                                                      int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - input
    - block_size
    argTypes:
    - std::istream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: google::protobuf::io::IstreamInputStream::IstreamInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::IstreamInputStream(std::istream* input, int
      block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: google::protobuf::io::IstreamInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Next(const void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: google::protobuf::io::IstreamInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::IstreamInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 254
    functionName: google::protobuf::io::IstreamInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::IstreamInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool IstreamInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::IstreamInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::IstreamInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::IstreamInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t IstreamInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n
      \   std::istream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:266,1
    - Dst: gcount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:267,1
    - Dst: fail
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    - Dst: eof
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - gcount
    - fail
    - read
    - reinterpret_cast<char*>
    - eof
    linkageType: ''
    returnType: int
    signature: "int IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n
      \                                                       int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - output
    - block_size
    argTypes:
    - std::ostream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: google::protobuf::io::OstreamOutputStream::OstreamOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::OstreamOutputStream(std::ostream* output,
      int block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Flush
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 279
    functionName: OstreamOutputStream::~OstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - Flush
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::~OstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: google::protobuf::io::OstreamOutputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::Next
    linkageType: ''
    returnType: bool
    signature: bool OstreamOutputStream::Next(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: google::protobuf::io::OstreamOutputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::BackUp(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::OstreamOutputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: google::protobuf::io::OstreamOutputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::OstreamOutputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t OstreamOutputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - output
    argTypes:
    - std::ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
      \   std::ostream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:298,1
    - Dst: good
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void*
      buffer,\n                                                            int size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    - write
    - good
    linkageType: ''
    returnType: bool
    signature: "bool OstreamOutputStream::CopyingOstreamOutputStream::Write(const
      void* buffer,\n                                                            int
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - streams
    - count
    argTypes:
    - ZeroCopyInputStream*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ConcatenatingInputStream::ConcatenatingInputStream(\n    ZeroCopyInputStream*
      const streams[], int count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::Next
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:311,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: google::protobuf::io::ConcatenatingInputStream::Next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::Next
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Next(const void** data, int* size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:325,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: google::protobuf::io::ConcatenatingInputStream::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::BackUp
    - GOOGLE_LOG
    linkageType: ''
    returnType: void
    signature: void ConcatenatingInputStream::BackUp(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:335,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:336,1
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:340,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: google::protobuf::io::ConcatenatingInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 8
    functionsReached:
    - GOOGLE_DCHECK_LT
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    - google::protobuf::io::ConcatenatingInputStream::Skip
    linkageType: ''
    returnType: bool
    signature: bool ConcatenatingInputStream::Skip(int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ConcatenatingInputStream::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: google::protobuf::io::ConcatenatingInputStream::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::io::ConcatenatingInputStream::ByteCount
    linkageType: ''
    returnType: int64_t
    signature: int64_t ConcatenatingInputStream::ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: va_copy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: va_copy(dest, src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:66,1
    - Dst: vsnprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:67,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:68,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:73,1
    - Dst: va_copy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:80,1
    - Dst: vsnprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:81,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:82,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:94,1
    - Dst: va_copy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:97,1
    - Dst: vsnprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:98,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:99,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - dst
    - format
    - ap
    argTypes:
    - std::string*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 106
    functionName: google::protobuf::StringAppendV
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached:
    - char::char
    - vsnprintf
    - va_copy
    - std::string*::append
    - va_end
    linkageType: ''
    returnType: void
    signature: void StringAppendV(std::string* dst, const char* format, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:110,1
    - Dst: google::protobuf::StringAppendV
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:112,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: google::protobuf::StringPrintf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached:
    - va_end
    - google::protobuf::StringAppendV
    - va_start
    linkageType: ''
    returnType: std::string
    signature: std::string StringPrintf(const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:119,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:120,1
    - Dst: google::protobuf::StringAppendV
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:121,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - format
    argTypes:
    - std::string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: google::protobuf::SStringPrintf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - va_end
    - google::protobuf::StringAppendV
    - va_start
    linkageType: ''
    returnType: std::string
    signature: std::string & SStringPrintf(std::string* dst, const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:128,1
    - Dst: google::protobuf::StringAppendV
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:129,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - format
    argTypes:
    - std::string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: google::protobuf::StringAppendF
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached:
    - va_end
    - google::protobuf::StringAppendV
    - va_start
    linkageType: ''
    returnType: void
    signature: void StringAppendF(std::string* dst, const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:143,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:143,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:153,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:154,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:156,1
    - Dst: GOOGLE_ARRAYSIZE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:156,1
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:165,1
    - Dst: google::protobuf::StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - format
    - ' v'
    argTypes:
    - char*
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 174
    functionName: google::protobuf::StringPrintfVector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached:
    - c_str
    - GOOGLE_COMPILE_ASSERT
    - google::protobuf::StringPrintf
    - google::protobuf::size
    - GOOGLE_CHECK_LE
    - GOOGLE_ARRAYSIZE
    linkageType: ''
    returnType: std::string
    signature: "std::string StringPrintfVector(const char* format,\n                               const
      std::vector<std::string>& v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: va_copy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: va_copy(dest, src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:66,1
    - Dst: vsnprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:67,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:68,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:73,1
    - Dst: va_copy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:80,1
    - Dst: vsnprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:81,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:82,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:94,1
    - Dst: va_copy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:97,1
    - Dst: vsnprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:98,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:99,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - dst
    - format
    - ap
    argTypes:
    - std::string*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 106
    functionName: google::protobuf::StringAppendV
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 3
    functionsReached:
    - char::char
    - vsnprintf
    - va_copy
    - std::string*::append
    - va_end
    linkageType: ''
    returnType: void
    signature: void StringAppendV(std::string* dst, const char* format, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:110,1
    - Dst: google::protobuf::StringAppendV
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:112,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: google::protobuf::StringPrintf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 1
    functionsReached:
    - va_end
    - google::protobuf::StringAppendV
    - va_start
    linkageType: ''
    returnType: std::string
    signature: std::string StringPrintf(const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:119,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:120,1
    - Dst: google::protobuf::StringAppendV
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:121,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - format
    argTypes:
    - std::string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: google::protobuf::SStringPrintf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - va_end
    - google::protobuf::StringAppendV
    - va_start
    linkageType: ''
    returnType: std::string
    signature: std::string & SStringPrintf(std::string* dst, const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:128,1
    - Dst: google::protobuf::StringAppendV
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:129,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - format
    argTypes:
    - std::string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: google::protobuf::StringAppendF
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached:
    - va_end
    - google::protobuf::StringAppendV
    - va_start
    linkageType: ''
    returnType: void
    signature: void StringAppendF(std::string* dst, const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:143,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:143,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:153,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:154,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:156,1
    - Dst: GOOGLE_ARRAYSIZE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:156,1
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:165,1
    - Dst: google::protobuf::StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - format
    - ' v'
    argTypes:
    - char*
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 174
    functionName: google::protobuf::StringPrintfVector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached:
    - c_str
    - GOOGLE_COMPILE_ASSERT
    - google::protobuf::StringPrintf
    - google::protobuf::size
    - GOOGLE_CHECK_LE
    - GOOGLE_ARRAYSIZE
    linkageType: ''
    returnType: std::string
    signature: "std::string StringPrintfVector(const char* format,\n                               const
      std::vector<std::string>& v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: va_copy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: va_copy(dest, src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:66,1
    - Dst: vsnprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:67,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:68,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:73,1
    - Dst: va_copy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:80,1
    - Dst: vsnprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:81,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:82,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:94,1
    - Dst: va_copy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:97,1
    - Dst: vsnprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:98,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:99,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - dst
    - format
    - ap
    argTypes:
    - std::string*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 106
    functionName: google::protobuf::StringAppendV
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 6
    functionsReached:
    - char::char
    - vsnprintf
    - va_copy
    - std::string*::append
    - va_end
    linkageType: ''
    returnType: void
    signature: void StringAppendV(std::string* dst, const char* format, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:110,1
    - Dst: google::protobuf::StringAppendV
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:112,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: google::protobuf::StringPrintf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 2
    functionsReached:
    - va_end
    - google::protobuf::StringAppendV
    - va_start
    linkageType: ''
    returnType: std::string
    signature: std::string StringPrintf(const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:119,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:120,1
    - Dst: google::protobuf::StringAppendV
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:121,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - format
    argTypes:
    - std::string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: google::protobuf::SStringPrintf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - va_end
    - google::protobuf::StringAppendV
    - va_start
    linkageType: ''
    returnType: std::string
    signature: std::string & SStringPrintf(std::string* dst, const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:128,1
    - Dst: google::protobuf::StringAppendV
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:129,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - format
    argTypes:
    - std::string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: google::protobuf::StringAppendF
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached:
    - va_end
    - google::protobuf::StringAppendV
    - va_start
    linkageType: ''
    returnType: void
    signature: void StringAppendF(std::string* dst, const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:143,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:143,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:153,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:154,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:156,1
    - Dst: GOOGLE_ARRAYSIZE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:156,1
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:165,1
    - Dst: google::protobuf::StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - format
    - ' v'
    argTypes:
    - char*
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 174
    functionName: google::protobuf::StringPrintfVector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached:
    - c_str
    - GOOGLE_COMPILE_ASSERT
    - google::protobuf::StringPrintf
    - google::protobuf::size
    - GOOGLE_CHECK_LE
    - GOOGLE_ARRAYSIZE
    linkageType: ''
    returnType: std::string
    signature: "std::string StringPrintfVector(const char* format,\n                               const
      std::vector<std::string>& v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: va_copy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: va_copy(dest, src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:66,1
    - Dst: vsnprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:67,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:68,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:73,1
    - Dst: va_copy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:80,1
    - Dst: vsnprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:81,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:82,1
    - Dst: char::char
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:94,1
    - Dst: va_copy
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:97,1
    - Dst: vsnprintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:98,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:99,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - dst
    - format
    - ap
    argTypes:
    - std::string*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 106
    functionName: google::protobuf::StringAppendV
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 9
    functionsReached:
    - char::char
    - vsnprintf
    - va_copy
    - std::string*::append
    - va_end
    linkageType: ''
    returnType: void
    signature: void StringAppendV(std::string* dst, const char* format, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:110,1
    - Dst: google::protobuf::StringAppendV
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:112,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: google::protobuf::StringPrintf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 3
    functionsReached:
    - va_end
    - google::protobuf::StringAppendV
    - va_start
    linkageType: ''
    returnType: std::string
    signature: std::string StringPrintf(const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:119,1
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:120,1
    - Dst: google::protobuf::StringAppendV
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:121,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - format
    argTypes:
    - std::string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: google::protobuf::SStringPrintf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached:
    - std::string*::clear
    - va_end
    - google::protobuf::StringAppendV
    - va_start
    linkageType: ''
    returnType: std::string
    signature: std::string & SStringPrintf(std::string* dst, const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:128,1
    - Dst: google::protobuf::StringAppendV
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:129,1
    - Dst: va_end
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - format
    argTypes:
    - std::string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: google::protobuf::StringAppendF
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached:
    - va_end
    - google::protobuf::StringAppendV
    - va_start
    linkageType: ''
    returnType: void
    signature: void StringAppendF(std::string* dst, const char* format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:143,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:143,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:153,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:154,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:156,1
    - Dst: GOOGLE_ARRAYSIZE
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:156,1
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:165,1
    - Dst: google::protobuf::StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - format
    - ' v'
    argTypes:
    - char*
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 174
    functionName: google::protobuf::StringPrintfVector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
    functionUses: 0
    functionsReached:
    - c_str
    - GOOGLE_COMPILE_ASSERT
    - google::protobuf::StringPrintf
    - google::protobuf::size
    - GOOGLE_CHECK_LE
    - GOOGLE_ARRAYSIZE
    linkageType: ''
    returnType: std::string
    signature: "std::string StringPrintfVector(const char* format,\n                               const
      std::vector<std::string>& v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::MergePartialFromCodedStreamLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamImpl
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamLite(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::MergePartialFromCodedStreamLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamImpl
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamLite(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::MergePartialFromCodedStreamLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamImpl
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamLite(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::MergePartialFromCodedStreamLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamImpl
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamLite(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 27
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::MergePartialFromCodedStreamLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamImpl
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamLite(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 30
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 33
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::MergePartialFromCodedStreamLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamImpl
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamLite(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 36
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 39
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::MergePartialFromCodedStreamLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamImpl
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamLite(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 42
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - arena_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: google::protobuf::internal::MutableUnknownFields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 45
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: std::string
    signature: std::string * MutableUnknownFields(MessageLite* msg, int64 arena_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::IsLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:58,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:60,1
    - Dst: google::protobuf::internal::WireFormatLite::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::WireFormatLite::SkipField
    linkageType: ''
    returnType: bool
    signature: "bool Skip(MessageLite* msg, const ParseTable& table,\n                   io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:69,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:72,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:74,1
    - Dst: io::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - msg
    - ' table'
    - tag
    - value
    argTypes:
    - MessageLite*
    - ParseTable
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::Varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream::WriteVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::MutableUnknownFields
    linkageType: ''
    returnType: void
    signature: "void Varint(MessageLite* msg, const ParseTable& table, int tag,\n
      \                    int value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:80,1
    - Dst: google::protobuf::internal::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:85,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:87,1
    - Dst: google::protobuf::internal::MutableUnknownFields
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:89,1
    - Dst: ExtensionSet*::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - msg
    - ' table'
    - input
    - tag
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::internal::ParseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ParseField
    - GOOGLE_DCHECK
    - google::protobuf::internal::default_instance
    - google::protobuf::internal::MutableUnknownFields
    - google::protobuf::internal::GetExtensionSet
    linkageType: ''
    returnType: bool
    signature: "bool ParseExtension(MessageLite* msg, const ParseTable& table,\n                             io::CodedInputStream*
      input, int tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::MergePartialFromCodedStreamLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamImpl
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamLite(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:223,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:224,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:227,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:228,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:231,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:232,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:235,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:237,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:238,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - seconds
    - time
    argTypes:
    - int64
    - DateTime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::SecondsToDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - static_cast<int>
    - google::protobuf::internal::SecondsPerMonth
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: bool
    signature: bool SecondsToDateTime(int64 seconds, DateTime* time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ValidateDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:257,1
    - Dst: google::protobuf::internal::SecondsSinceCommonEra
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' time'
    - seconds
    argTypes:
    - DateTime
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::DateTimeToSeconds
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ValidateDateTime
    - google::protobuf::internal::SecondsSinceCommonEra
    linkageType: ''
    returnType: bool
    signature: bool DateTimeToSeconds(const DateTime& time, int64* seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::GetCurrentTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void GetCurrentTime(int64* seconds, int32* nanos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsToDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:273,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:277,1
    - Dst: google::protobuf::internal::FormatNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::FormatTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FormatNanos
    - StringPrintf
    - google::protobuf::internal::SecondsToDateTime
    linkageType: ''
    returnType: std::string
    signature: std::string FormatTime(int64 seconds, int32 nanos)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:287,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:293,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:299,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:305,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:311,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:317,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:323,1
    - Dst: google::protobuf::internal::DateTimeToSeconds
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:326,1
    - Dst: google::protobuf::internal::ParseNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:333,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:345,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:352,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 3
    argNames:
    - ' value'
    - seconds
    - nanos
    argTypes:
    - std::string
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::ParseTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - c_str
    - google::protobuf::internal::ParseNanos
    - google::protobuf::internal::ParseInt
    - google::protobuf::internal::ParseTimezoneOffset
    - google::protobuf::internal::DateTimeToSeconds
    linkageType: ''
    returnType: bool
    signature: bool ParseTime(const std::string& value, int64* seconds, int32* nanos)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:223,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:224,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:227,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:228,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:231,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:232,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:235,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:237,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:238,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - seconds
    - time
    argTypes:
    - int64
    - DateTime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::SecondsToDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - static_cast<int>
    - google::protobuf::internal::SecondsPerMonth
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: bool
    signature: bool SecondsToDateTime(int64 seconds, DateTime* time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ValidateDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:257,1
    - Dst: google::protobuf::internal::SecondsSinceCommonEra
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' time'
    - seconds
    argTypes:
    - DateTime
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::DateTimeToSeconds
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ValidateDateTime
    - google::protobuf::internal::SecondsSinceCommonEra
    linkageType: ''
    returnType: bool
    signature: bool DateTimeToSeconds(const DateTime& time, int64* seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::GetCurrentTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void GetCurrentTime(int64* seconds, int32* nanos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsToDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:273,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:277,1
    - Dst: google::protobuf::internal::FormatNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::FormatTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FormatNanos
    - StringPrintf
    - google::protobuf::internal::SecondsToDateTime
    linkageType: ''
    returnType: std::string
    signature: std::string FormatTime(int64 seconds, int32 nanos)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:287,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:293,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:299,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:305,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:311,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:317,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:323,1
    - Dst: google::protobuf::internal::DateTimeToSeconds
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:326,1
    - Dst: google::protobuf::internal::ParseNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:333,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:345,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:352,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 3
    argNames:
    - ' value'
    - seconds
    - nanos
    argTypes:
    - std::string
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::ParseTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - c_str
    - google::protobuf::internal::ParseNanos
    - google::protobuf::internal::ParseInt
    - google::protobuf::internal::ParseTimezoneOffset
    - google::protobuf::internal::DateTimeToSeconds
    linkageType: ''
    returnType: bool
    signature: bool ParseTime(const std::string& value, int64* seconds, int32* nanos)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 2
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 2
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 2
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 2
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:223,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:224,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:227,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:228,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:231,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:232,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:235,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:237,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:238,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - seconds
    - time
    argTypes:
    - int64
    - DateTime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::SecondsToDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - static_cast<int>
    - google::protobuf::internal::SecondsPerMonth
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: bool
    signature: bool SecondsToDateTime(int64 seconds, DateTime* time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ValidateDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:257,1
    - Dst: google::protobuf::internal::SecondsSinceCommonEra
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' time'
    - seconds
    argTypes:
    - DateTime
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::DateTimeToSeconds
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ValidateDateTime
    - google::protobuf::internal::SecondsSinceCommonEra
    linkageType: ''
    returnType: bool
    signature: bool DateTimeToSeconds(const DateTime& time, int64* seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::GetCurrentTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void GetCurrentTime(int64* seconds, int32* nanos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsToDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:273,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:277,1
    - Dst: google::protobuf::internal::FormatNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::FormatTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FormatNanos
    - StringPrintf
    - google::protobuf::internal::SecondsToDateTime
    linkageType: ''
    returnType: std::string
    signature: std::string FormatTime(int64 seconds, int32 nanos)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:287,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:293,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:299,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:305,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:311,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:317,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:323,1
    - Dst: google::protobuf::internal::DateTimeToSeconds
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:326,1
    - Dst: google::protobuf::internal::ParseNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:333,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:345,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:352,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 3
    argNames:
    - ' value'
    - seconds
    - nanos
    argTypes:
    - std::string
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::ParseTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - c_str
    - google::protobuf::internal::ParseNanos
    - google::protobuf::internal::ParseInt
    - google::protobuf::internal::ParseTimezoneOffset
    - google::protobuf::internal::DateTimeToSeconds
    linkageType: ''
    returnType: bool
    signature: bool ParseTime(const std::string& value, int64* seconds, int32* nanos)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 9
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 10
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:223,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:224,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:227,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:228,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:231,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:232,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:235,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:237,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:238,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - seconds
    - time
    argTypes:
    - int64
    - DateTime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::SecondsToDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - static_cast<int>
    - google::protobuf::internal::SecondsPerMonth
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: bool
    signature: bool SecondsToDateTime(int64 seconds, DateTime* time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ValidateDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:257,1
    - Dst: google::protobuf::internal::SecondsSinceCommonEra
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' time'
    - seconds
    argTypes:
    - DateTime
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::DateTimeToSeconds
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ValidateDateTime
    - google::protobuf::internal::SecondsSinceCommonEra
    linkageType: ''
    returnType: bool
    signature: bool DateTimeToSeconds(const DateTime& time, int64* seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::GetCurrentTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void GetCurrentTime(int64* seconds, int32* nanos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsToDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:273,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:277,1
    - Dst: google::protobuf::internal::FormatNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::FormatTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FormatNanos
    - StringPrintf
    - google::protobuf::internal::SecondsToDateTime
    linkageType: ''
    returnType: std::string
    signature: std::string FormatTime(int64 seconds, int32 nanos)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:287,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:293,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:299,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:305,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:311,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:317,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:323,1
    - Dst: google::protobuf::internal::DateTimeToSeconds
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:326,1
    - Dst: google::protobuf::internal::ParseNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:333,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:345,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:352,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 3
    argNames:
    - ' value'
    - seconds
    - nanos
    argTypes:
    - std::string
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::ParseTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - c_str
    - google::protobuf::internal::ParseNanos
    - google::protobuf::internal::ParseInt
    - google::protobuf::internal::ParseTimezoneOffset
    - google::protobuf::internal::DateTimeToSeconds
    linkageType: ''
    returnType: bool
    signature: bool ParseTime(const std::string& value, int64* seconds, int32* nanos)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 12
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 13
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 13
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:223,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:224,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:227,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:228,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:231,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:232,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:235,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:237,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:238,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - seconds
    - time
    argTypes:
    - int64
    - DateTime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::SecondsToDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - static_cast<int>
    - google::protobuf::internal::SecondsPerMonth
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: bool
    signature: bool SecondsToDateTime(int64 seconds, DateTime* time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ValidateDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:257,1
    - Dst: google::protobuf::internal::SecondsSinceCommonEra
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' time'
    - seconds
    argTypes:
    - DateTime
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::DateTimeToSeconds
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ValidateDateTime
    - google::protobuf::internal::SecondsSinceCommonEra
    linkageType: ''
    returnType: bool
    signature: bool DateTimeToSeconds(const DateTime& time, int64* seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::GetCurrentTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void GetCurrentTime(int64* seconds, int32* nanos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsToDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:273,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:277,1
    - Dst: google::protobuf::internal::FormatNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::FormatTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FormatNanos
    - StringPrintf
    - google::protobuf::internal::SecondsToDateTime
    linkageType: ''
    returnType: std::string
    signature: std::string FormatTime(int64 seconds, int32 nanos)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:287,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:293,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:299,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:305,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:311,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:317,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:323,1
    - Dst: google::protobuf::internal::DateTimeToSeconds
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:326,1
    - Dst: google::protobuf::internal::ParseNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:333,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:345,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:352,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 3
    argNames:
    - ' value'
    - seconds
    - nanos
    argTypes:
    - std::string
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::ParseTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - c_str
    - google::protobuf::internal::ParseNanos
    - google::protobuf::internal::ParseInt
    - google::protobuf::internal::ParseTimezoneOffset
    - google::protobuf::internal::DateTimeToSeconds
    linkageType: ''
    returnType: bool
    signature: bool ParseTime(const std::string& value, int64* seconds, int32* nanos)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 5
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 15
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 5
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 5
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 16
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 5
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:223,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:224,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:227,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:228,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:231,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:232,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:235,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:237,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:238,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - seconds
    - time
    argTypes:
    - int64
    - DateTime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::SecondsToDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - static_cast<int>
    - google::protobuf::internal::SecondsPerMonth
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: bool
    signature: bool SecondsToDateTime(int64 seconds, DateTime* time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ValidateDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:257,1
    - Dst: google::protobuf::internal::SecondsSinceCommonEra
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' time'
    - seconds
    argTypes:
    - DateTime
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::DateTimeToSeconds
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ValidateDateTime
    - google::protobuf::internal::SecondsSinceCommonEra
    linkageType: ''
    returnType: bool
    signature: bool DateTimeToSeconds(const DateTime& time, int64* seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::GetCurrentTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void GetCurrentTime(int64* seconds, int32* nanos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsToDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:273,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:277,1
    - Dst: google::protobuf::internal::FormatNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::FormatTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FormatNanos
    - StringPrintf
    - google::protobuf::internal::SecondsToDateTime
    linkageType: ''
    returnType: std::string
    signature: std::string FormatTime(int64 seconds, int32 nanos)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:287,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:293,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:299,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:305,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:311,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:317,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:323,1
    - Dst: google::protobuf::internal::DateTimeToSeconds
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:326,1
    - Dst: google::protobuf::internal::ParseNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:333,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:345,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:352,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 3
    argNames:
    - ' value'
    - seconds
    - nanos
    argTypes:
    - std::string
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::ParseTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - c_str
    - google::protobuf::internal::ParseNanos
    - google::protobuf::internal::ParseInt
    - google::protobuf::internal::ParseTimezoneOffset
    - google::protobuf::internal::DateTimeToSeconds
    linkageType: ''
    returnType: bool
    signature: bool ParseTime(const std::string& value, int64* seconds, int32* nanos)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 18
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 19
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 19
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:223,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:224,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:227,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:228,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:231,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:232,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:235,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:237,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:238,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - seconds
    - time
    argTypes:
    - int64
    - DateTime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::SecondsToDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - static_cast<int>
    - google::protobuf::internal::SecondsPerMonth
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: bool
    signature: bool SecondsToDateTime(int64 seconds, DateTime* time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ValidateDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:257,1
    - Dst: google::protobuf::internal::SecondsSinceCommonEra
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' time'
    - seconds
    argTypes:
    - DateTime
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::DateTimeToSeconds
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ValidateDateTime
    - google::protobuf::internal::SecondsSinceCommonEra
    linkageType: ''
    returnType: bool
    signature: bool DateTimeToSeconds(const DateTime& time, int64* seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::GetCurrentTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void GetCurrentTime(int64* seconds, int32* nanos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsToDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:273,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:277,1
    - Dst: google::protobuf::internal::FormatNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::FormatTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FormatNanos
    - StringPrintf
    - google::protobuf::internal::SecondsToDateTime
    linkageType: ''
    returnType: std::string
    signature: std::string FormatTime(int64 seconds, int32 nanos)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:287,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:293,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:299,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:305,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:311,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:317,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:323,1
    - Dst: google::protobuf::internal::DateTimeToSeconds
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:326,1
    - Dst: google::protobuf::internal::ParseNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:333,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:345,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:352,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 3
    argNames:
    - ' value'
    - seconds
    - nanos
    argTypes:
    - std::string
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::ParseTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - c_str
    - google::protobuf::internal::ParseNanos
    - google::protobuf::internal::ParseInt
    - google::protobuf::internal::ParseTimezoneOffset
    - google::protobuf::internal::DateTimeToSeconds
    linkageType: ''
    returnType: bool
    signature: bool ParseTime(const std::string& value, int64* seconds, int32* nanos)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 21
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: google::protobuf::internal::SecondsPer100Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer100Years(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: google::protobuf::internal::SecondsPer4Years
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPer4Years(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: google::protobuf::internal::IsLeapYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLeapYear(int year)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - year
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: google::protobuf::internal::SecondsPerYear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 22
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerYear(int year)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - month
    - leap
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: google::protobuf::internal::SecondsPerMonth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int64
    signature: int64 SecondsPerMonth(int month, bool leap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:82,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::ValidateDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::IsLeapYear
    linkageType: ''
    returnType: bool
    signature: bool ValidateDateTime(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:94,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:102,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:106,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:110,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:114,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:117,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:120,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ' time'
    argTypes:
    - DateTime
    assertStmts:
    - condition: (time.year >= 1 && time.year <= 9999)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: (time.month >= 1 && time.month <= 12)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    - condition: "(time.day >= 1 &&\n         time.day <= (month == 2 && IsLeapYear(year)\n
        \                         ? kDaysInMonth[month] + 1\n                          :
        kDaysInMonth[month]))"
      pos:
        line_end: 122
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
    constantsTouched: []
    func_position:
      end: 129
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::SecondsSinceCommonEra
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - assert
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: int64
    signature: int64 SecondsSinceCommonEra(const DateTime& time)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:135,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:137,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - nanos
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: google::protobuf::internal::FormatNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached:
    - StringPrintf
    linkageType: ''
    returnType: std::string
    signature: std::string FormatNanos(int32 nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:149,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - data
    - width
    - min_value
    - max_value
    - result
    argTypes:
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 166
    functionName: google::protobuf::internal::ParseInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 22
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: "char * ParseInt(const char* data, int width, int min_value,\n                     int
      max_value, int* result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:171,1
    - Dst: ascii_isdigit
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - data
    - nanos
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::ParseNanos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached:
    - ascii_isdigit
    linkageType: ''
    returnType: char
    signature: char * ParseNanos(const char* data, int32* nanos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:196,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: google::protobuf::internal::ParseTimezoneOffset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ParseInt
    linkageType: ''
    returnType: char
    signature: char * ParseTimezoneOffset(const char* data, int64* offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:223,1
    - Dst: google::protobuf::internal::SecondsPer100Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:224,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:227,1
    - Dst: google::protobuf::internal::SecondsPer4Years
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:228,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:231,1
    - Dst: google::protobuf::internal::SecondsPerYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:232,1
    - Dst: google::protobuf::internal::IsLeapYear
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:235,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:237,1
    - Dst: google::protobuf::internal::SecondsPerMonth
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:238,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - seconds
    - time
    argTypes:
    - int64
    - DateTime*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::SecondsToDateTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::SecondsPerYear
    - static_cast<int>
    - google::protobuf::internal::SecondsPerMonth
    - google::protobuf::internal::IsLeapYear
    - google::protobuf::internal::SecondsPer100Years
    - google::protobuf::internal::SecondsPer4Years
    linkageType: ''
    returnType: bool
    signature: bool SecondsToDateTime(int64 seconds, DateTime* time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ValidateDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:257,1
    - Dst: google::protobuf::internal::SecondsSinceCommonEra
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' time'
    - seconds
    argTypes:
    - DateTime
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::DateTimeToSeconds
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ValidateDateTime
    - google::protobuf::internal::SecondsSinceCommonEra
    linkageType: ''
    returnType: bool
    signature: bool DateTimeToSeconds(const DateTime& time, int64* seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::GetCurrentTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void GetCurrentTime(int64* seconds, int32* nanos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SecondsToDateTime
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:273,1
    - Dst: StringPrintf
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:277,1
    - Dst: google::protobuf::internal::FormatNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - seconds
    - nanos
    argTypes:
    - int64
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: google::protobuf::internal::FormatTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::FormatNanos
    - StringPrintf
    - google::protobuf::internal::SecondsToDateTime
    linkageType: ''
    returnType: std::string
    signature: std::string FormatTime(int64 seconds, int32 nanos)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:287,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:293,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:299,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:305,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:311,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:317,1
    - Dst: google::protobuf::internal::ParseInt
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:323,1
    - Dst: google::protobuf::internal::DateTimeToSeconds
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:326,1
    - Dst: google::protobuf::internal::ParseNanos
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:333,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:345,1
    - Dst: google::protobuf::internal::ParseTimezoneOffset
      Src: /src/sentencepiece/third_party/protobuf-lite/time.cc:352,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 3
    argNames:
    - ' value'
    - seconds
    - nanos
    argTypes:
    - std::string
    - int64*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::ParseTime
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/time.cc
    functionUses: 0
    functionsReached:
    - c_str
    - google::protobuf::internal::ParseNanos
    - google::protobuf::internal::ParseInt
    - google::protobuf::internal::ParseTimezoneOffset
    - google::protobuf::internal::DateTimeToSeconds
    linkageType: ''
    returnType: bool
    signature: bool ParseTime(const std::string& value, int64* seconds, int32* nanos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: "bool ZeroCopyOutputStream::WriteAliasedRaw(const void* /* data */,\n
      \                                          int /* size */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: "bool ZeroCopyOutputStream::WriteAliasedRaw(const void* /* data */,\n
      \                                          int /* size */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: "bool ZeroCopyOutputStream::WriteAliasedRaw(const void* /* data */,\n
      \                                          int /* size */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: "bool ZeroCopyOutputStream::WriteAliasedRaw(const void* /* data */,\n
      \                                          int /* size */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: "bool ZeroCopyOutputStream::WriteAliasedRaw(const void* /* data */,\n
      \                                          int /* size */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: "bool ZeroCopyOutputStream::WriteAliasedRaw(const void* /* data */,\n
      \                                          int /* size */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: "bool ZeroCopyOutputStream::WriteAliasedRaw(const void* /* data */,\n
      \                                          int /* size */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: bool
    signature: "bool ZeroCopyOutputStream::WriteAliasedRaw(const void* /* data */,\n
      \                                          int /* size */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: google::protobuf::internal::ConstantInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstantInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::ToCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 18
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToCachedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: google::protobuf::internal::FromIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 2
    functionsReached:
    - static_cast<unsigned int>
    linkageType: ''
    returnType: size_t
    signature: size_t FromIntSize(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::ToIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LE
    - static_cast<size_t>
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToIntSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: void
    signature: void DefaultConstruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::ExplicitlyConstructed::Construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void Construct(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExplicitlyConstructed::Destruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::get_mutable
    linkageType: ''
    returnType: void
    signature: void Destruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: '& get() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T&>
    linkageType: ''
    returnType: T
    signature: T & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: google::protobuf::internal::ExplicitlyConstructed::get_mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * get_mutable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_DISABLE_MSVC_UNION_WARNING
    signature: PROTOBUF_DISABLE_MSVC_UNION_WARNING EmptyString
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: ~EmptyString()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::GetEmptyStringAlreadyInited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyStringAlreadyInited()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: google::protobuf::internal::ConstantInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstantInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::ToCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 18
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToCachedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: google::protobuf::internal::FromIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 2
    functionsReached:
    - static_cast<unsigned int>
    linkageType: ''
    returnType: size_t
    signature: size_t FromIntSize(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::ToIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LE
    - static_cast<size_t>
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToIntSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: void
    signature: void DefaultConstruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::ExplicitlyConstructed::Construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void Construct(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExplicitlyConstructed::Destruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::get_mutable
    linkageType: ''
    returnType: void
    signature: void Destruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: '& get() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T&>
    linkageType: ''
    returnType: T
    signature: T & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: google::protobuf::internal::ExplicitlyConstructed::get_mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * get_mutable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_DISABLE_MSVC_UNION_WARNING
    signature: PROTOBUF_DISABLE_MSVC_UNION_WARNING EmptyString
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: ~EmptyString()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::GetEmptyStringAlreadyInited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyStringAlreadyInited()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:230,1
    - Dst: raw_arena_ptr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:242,1
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:274,1
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:277,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:437,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: google::protobuf::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:480,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:509,1
    - Dst: LogInitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:510,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 527
    functionName: google::protobuf::MessageLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - DebugString
    - _InternalSerialize
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - raw_arena_ptr
    - ByteSizeLong
    - arena
    - google::protobuf::EpsCopy
    - PROTOBUF_DEPRECATED_MSG
    - LogInitializationErrorMessage
    - google::protobuf::SetCur
    - google::protobuf::Cur
    - IsInitialized
    - Arena::CreateMaybeMessage<T>
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MessageLite
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: ~MessageLite()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MessageLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: google::protobuf::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 5
    functionsReached:
    - arena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_arena_ptr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: google::protobuf::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - raw_arena_ptr
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: google::protobuf::ShortDebugString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - DebugString
    linkageType: ''
    returnType: std::string
    signature: std::string ShortDebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: google::protobuf::Utf8DebugString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - DebugString
    linkageType: ''
    returnType: std::string
    signature: std::string Utf8DebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: google::protobuf::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - ByteSizeLong
    linkageType: ''
    returnType: int
    signature: int ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: google::protobuf::SerializeWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - _InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeWithCachedSizes(io::CodedOutputStream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: google::protobuf::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * _InternalParse(const char* /*ptr*/,\n                                     internal::ParseContext*
      /*ctx*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: google::protobuf::CreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMaybeMessage<T>
    linkageType: ''
    returnType: "protected:\n  template <typename T>"
    signature: "protected:\n  template <typename T> * CreateMaybeMessage(Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 483
    functionName: google::protobuf::MessageLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MessageLite(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:509,1
    - Dst: LogInitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: google::protobuf::IsInitializedWithErrors
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 8
    functionsReached:
    - LogInitializationErrorMessage
    - IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool IsInitializedWithErrors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template MergeInto<alias>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' input'
    - msg
    - parse_flags
    argTypes:
    - SourceWrapper<T>
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - template MergeInto<alias>
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(const SourceWrapper<T>& input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template MergeInto<alias>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' input'
    - msg
    - parse_flags
    argTypes:
    - SourceWrapper<T>
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - template MergeInto<alias>
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(const SourceWrapper<T>& input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:577,1
    - Dst: internal::MergeFromImpl<alias>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: google::protobuf::MessageLite::ParseFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 44
    functionsReached:
    - internal::MergeFromImpl<alias>
    - Clear
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFrom(const T& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: google::protobuf::internal::OnShutdownDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::OnShutdownRun
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * OnShutdownDelete(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: google::protobuf::internal::OnShutdownDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::OnShutdownRun
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * OnShutdownDelete(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: google::protobuf::internal::ConstantInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstantInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::ToCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 18
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToCachedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: google::protobuf::internal::FromIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 2
    functionsReached:
    - static_cast<unsigned int>
    linkageType: ''
    returnType: size_t
    signature: size_t FromIntSize(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::ToIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_LE
    - static_cast<size_t>
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToIntSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: void
    signature: void DefaultConstruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::ExplicitlyConstructed::Construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void Construct(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExplicitlyConstructed::Destruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::get_mutable
    linkageType: ''
    returnType: void
    signature: void Destruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: '& get() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T&>
    linkageType: ''
    returnType: T
    signature: T & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: google::protobuf::internal::ExplicitlyConstructed::get_mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * get_mutable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_DISABLE_MSVC_UNION_WARNING
    signature: PROTOBUF_DISABLE_MSVC_UNION_WARNING EmptyString
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: ~EmptyString()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::GetEmptyStringAlreadyInited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyStringAlreadyInited()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: google::protobuf::internal::ConstantInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstantInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::ToCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 18
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToCachedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: google::protobuf::internal::FromIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 2
    functionsReached:
    - static_cast<unsigned int>
    linkageType: ''
    returnType: size_t
    signature: size_t FromIntSize(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::ToIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_LE
    - static_cast<size_t>
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToIntSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: void
    signature: void DefaultConstruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::ExplicitlyConstructed::Construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void Construct(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExplicitlyConstructed::Destruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::get_mutable
    linkageType: ''
    returnType: void
    signature: void Destruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: '& get() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T&>
    linkageType: ''
    returnType: T
    signature: T & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: google::protobuf::internal::ExplicitlyConstructed::get_mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * get_mutable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_DISABLE_MSVC_UNION_WARNING
    signature: PROTOBUF_DISABLE_MSVC_UNION_WARNING EmptyString
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: ~EmptyString()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::GetEmptyStringAlreadyInited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyStringAlreadyInited()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:230,1
    - Dst: raw_arena_ptr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:242,1
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:274,1
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:277,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:437,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: google::protobuf::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:480,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:509,1
    - Dst: LogInitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:510,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 527
    functionName: google::protobuf::MessageLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - DebugString
    - _InternalSerialize
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - raw_arena_ptr
    - ByteSizeLong
    - arena
    - google::protobuf::EpsCopy
    - PROTOBUF_DEPRECATED_MSG
    - LogInitializationErrorMessage
    - google::protobuf::SetCur
    - google::protobuf::Cur
    - IsInitialized
    - Arena::CreateMaybeMessage<T>
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MessageLite
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: ~MessageLite()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MessageLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: google::protobuf::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 5
    functionsReached:
    - arena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_arena_ptr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: google::protobuf::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - raw_arena_ptr
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: google::protobuf::ShortDebugString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - DebugString
    linkageType: ''
    returnType: std::string
    signature: std::string ShortDebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: google::protobuf::Utf8DebugString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - DebugString
    linkageType: ''
    returnType: std::string
    signature: std::string Utf8DebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: google::protobuf::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - ByteSizeLong
    linkageType: ''
    returnType: int
    signature: int ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: google::protobuf::SerializeWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - _InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeWithCachedSizes(io::CodedOutputStream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: google::protobuf::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * _InternalParse(const char* /*ptr*/,\n                                     internal::ParseContext*
      /*ctx*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: google::protobuf::CreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMaybeMessage<T>
    linkageType: ''
    returnType: "protected:\n  template <typename T>"
    signature: "protected:\n  template <typename T> * CreateMaybeMessage(Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 483
    functionName: google::protobuf::MessageLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MessageLite(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:509,1
    - Dst: LogInitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: google::protobuf::IsInitializedWithErrors
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 8
    functionsReached:
    - LogInitializationErrorMessage
    - IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool IsInitializedWithErrors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template MergeInto<alias>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' input'
    - msg
    - parse_flags
    argTypes:
    - SourceWrapper<T>
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - template MergeInto<alias>
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(const SourceWrapper<T>& input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template MergeInto<alias>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' input'
    - msg
    - parse_flags
    argTypes:
    - SourceWrapper<T>
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - template MergeInto<alias>
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(const SourceWrapper<T>& input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:577,1
    - Dst: internal::MergeFromImpl<alias>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: google::protobuf::MessageLite::ParseFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 44
    functionsReached:
    - internal::MergeFromImpl<alias>
    - Clear
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFrom(const T& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: google::protobuf::internal::OnShutdownDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::OnShutdownRun
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * OnShutdownDelete(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: google::protobuf::internal::OnShutdownDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::OnShutdownRun
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * OnShutdownDelete(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: google::protobuf::internal::ConstantInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstantInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::ToCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 18
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToCachedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: google::protobuf::internal::FromIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 2
    functionsReached:
    - static_cast<unsigned int>
    linkageType: ''
    returnType: size_t
    signature: size_t FromIntSize(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::ToIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK_LE
    - static_cast<size_t>
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToIntSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: void
    signature: void DefaultConstruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::ExplicitlyConstructed::Construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void Construct(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExplicitlyConstructed::Destruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::get_mutable
    linkageType: ''
    returnType: void
    signature: void Destruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: '& get() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T&>
    linkageType: ''
    returnType: T
    signature: T & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: google::protobuf::internal::ExplicitlyConstructed::get_mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * get_mutable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_DISABLE_MSVC_UNION_WARNING
    signature: PROTOBUF_DISABLE_MSVC_UNION_WARNING EmptyString
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: ~EmptyString()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::GetEmptyStringAlreadyInited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyStringAlreadyInited()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: google::protobuf::internal::ConstantInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstantInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::ToCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 18
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToCachedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: google::protobuf::internal::FromIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 2
    functionsReached:
    - static_cast<unsigned int>
    linkageType: ''
    returnType: size_t
    signature: size_t FromIntSize(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::ToIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK_LE
    - static_cast<size_t>
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToIntSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: void
    signature: void DefaultConstruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::ExplicitlyConstructed::Construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void Construct(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExplicitlyConstructed::Destruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::get_mutable
    linkageType: ''
    returnType: void
    signature: void Destruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: '& get() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T&>
    linkageType: ''
    returnType: T
    signature: T & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: google::protobuf::internal::ExplicitlyConstructed::get_mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * get_mutable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_DISABLE_MSVC_UNION_WARNING
    signature: PROTOBUF_DISABLE_MSVC_UNION_WARNING EmptyString
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: ~EmptyString()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::GetEmptyStringAlreadyInited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyStringAlreadyInited()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:230,1
    - Dst: raw_arena_ptr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:242,1
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:274,1
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:277,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:437,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: google::protobuf::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:480,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:509,1
    - Dst: LogInitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:510,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 527
    functionName: google::protobuf::MessageLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - DebugString
    - _InternalSerialize
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - raw_arena_ptr
    - ByteSizeLong
    - arena
    - google::protobuf::EpsCopy
    - PROTOBUF_DEPRECATED_MSG
    - LogInitializationErrorMessage
    - google::protobuf::SetCur
    - google::protobuf::Cur
    - IsInitialized
    - Arena::CreateMaybeMessage<T>
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MessageLite
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: ~MessageLite()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MessageLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: google::protobuf::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 5
    functionsReached:
    - arena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_arena_ptr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: google::protobuf::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - raw_arena_ptr
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: google::protobuf::ShortDebugString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - DebugString
    linkageType: ''
    returnType: std::string
    signature: std::string ShortDebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: google::protobuf::Utf8DebugString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - DebugString
    linkageType: ''
    returnType: std::string
    signature: std::string Utf8DebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: google::protobuf::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - ByteSizeLong
    linkageType: ''
    returnType: int
    signature: int ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: google::protobuf::SerializeWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - _InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeWithCachedSizes(io::CodedOutputStream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: google::protobuf::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * _InternalParse(const char* /*ptr*/,\n                                     internal::ParseContext*
      /*ctx*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: google::protobuf::CreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMaybeMessage<T>
    linkageType: ''
    returnType: "protected:\n  template <typename T>"
    signature: "protected:\n  template <typename T> * CreateMaybeMessage(Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 483
    functionName: google::protobuf::MessageLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MessageLite(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:509,1
    - Dst: LogInitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: google::protobuf::IsInitializedWithErrors
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 8
    functionsReached:
    - LogInitializationErrorMessage
    - IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool IsInitializedWithErrors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template MergeInto<alias>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' input'
    - msg
    - parse_flags
    argTypes:
    - SourceWrapper<T>
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - template MergeInto<alias>
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(const SourceWrapper<T>& input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template MergeInto<alias>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' input'
    - msg
    - parse_flags
    argTypes:
    - SourceWrapper<T>
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - template MergeInto<alias>
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(const SourceWrapper<T>& input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:577,1
    - Dst: internal::MergeFromImpl<alias>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: google::protobuf::MessageLite::ParseFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 44
    functionsReached:
    - internal::MergeFromImpl<alias>
    - Clear
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFrom(const T& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: google::protobuf::internal::OnShutdownDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::OnShutdownRun
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * OnShutdownDelete(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: google::protobuf::internal::OnShutdownDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::OnShutdownRun
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * OnShutdownDelete(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: google::protobuf::internal::ConstantInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstantInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::ToCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 18
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToCachedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: google::protobuf::internal::FromIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 2
    functionsReached:
    - static_cast<unsigned int>
    linkageType: ''
    returnType: size_t
    signature: size_t FromIntSize(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::ToIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 6
    functionsReached:
    - GOOGLE_DCHECK_LE
    - static_cast<size_t>
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToIntSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: void
    signature: void DefaultConstruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::ExplicitlyConstructed::Construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void Construct(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExplicitlyConstructed::Destruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::get_mutable
    linkageType: ''
    returnType: void
    signature: void Destruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: '& get() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T&>
    linkageType: ''
    returnType: T
    signature: T & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: google::protobuf::internal::ExplicitlyConstructed::get_mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 7
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * get_mutable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_DISABLE_MSVC_UNION_WARNING
    signature: PROTOBUF_DISABLE_MSVC_UNION_WARNING EmptyString
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: ~EmptyString()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::GetEmptyStringAlreadyInited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyStringAlreadyInited()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: google::protobuf::internal::ConstantInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConstantInitialized()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::ToCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 18
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToCachedSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: google::protobuf::internal::FromIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 2
    functionsReached:
    - static_cast<unsigned int>
    linkageType: ''
    returnType: size_t
    signature: size_t FromIntSize(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:113,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::ToIntSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 6
    functionsReached:
    - GOOGLE_DCHECK_LE
    - static_cast<size_t>
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ToIntSize(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    linkageType: ''
    returnType: void
    signature: void DefaultConstruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::ExplicitlyConstructed::Construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: void Construct(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::get_mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExplicitlyConstructed::Destruct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::get_mutable
    linkageType: ''
    returnType: void
    signature: void Destruct()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const T&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: '& get() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const T&>
    linkageType: ''
    returnType: T
    signature: T & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: google::protobuf::internal::ExplicitlyConstructed::get_mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * get_mutable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_DISABLE_MSVC_UNION_WARNING
    signature: PROTOBUF_DISABLE_MSVC_UNION_WARNING EmptyString
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: google::protobuf::internal::EmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: ~EmptyString()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EmptyString()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::GetEmptyStringAlreadyInited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyStringAlreadyInited()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:230,1
    - Dst: raw_arena_ptr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:242,1
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:274,1
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:277,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:437,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: google::protobuf::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:480,1
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:509,1
    - Dst: LogInitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:510,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 527
    functionName: google::protobuf::MessageLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - DebugString
    - _InternalSerialize
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - raw_arena_ptr
    - ByteSizeLong
    - arena
    - google::protobuf::EpsCopy
    - PROTOBUF_DEPRECATED_MSG
    - LogInitializationErrorMessage
    - google::protobuf::SetCur
    - google::protobuf::Cur
    - IsInitialized
    - Arena::CreateMaybeMessage<T>
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MessageLite
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: ~MessageLite()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MessageLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 230
    functionName: google::protobuf::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 5
    functionsReached:
    - arena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raw_arena_ptr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: google::protobuf::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - raw_arena_ptr
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 274
    functionName: google::protobuf::ShortDebugString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - DebugString
    linkageType: ''
    returnType: std::string
    signature: std::string ShortDebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DebugString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: google::protobuf::Utf8DebugString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - DebugString
    linkageType: ''
    returnType: std::string
    signature: std::string Utf8DebugString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: google::protobuf::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - ByteSizeLong
    linkageType: ''
    returnType: int
    signature: int ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: google::protobuf::SerializeWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - _InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeWithCachedSizes(io::CodedOutputStream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: google::protobuf::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * _InternalParse(const char* /*ptr*/,\n                                     internal::ParseContext*
      /*ctx*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: google::protobuf::CreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMaybeMessage<T>
    linkageType: ''
    returnType: "protected:\n  template <typename T>"
    signature: "protected:\n  template <typename T> * CreateMaybeMessage(Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 483
    functionName: google::protobuf::MessageLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MessageLite(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:509,1
    - Dst: LogInitializationErrorMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: google::protobuf::IsInitializedWithErrors
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 8
    functionsReached:
    - LogInitializationErrorMessage
    - IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool IsInitializedWithErrors() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template MergeInto<alias>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' input'
    - msg
    - parse_flags
    argTypes:
    - SourceWrapper<T>
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - template MergeInto<alias>
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(const SourceWrapper<T>& input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template MergeInto<alias>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' input'
    - msg
    - parse_flags
    argTypes:
    - SourceWrapper<T>
    - MessageLite*
    - MessageLite::ParseFlags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: google::protobuf::internal::MergeFromImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 0
    functionsReached:
    - template MergeInto<alias>
    linkageType: ''
    returnType: bool
    signature: "bool MergeFromImpl(const SourceWrapper<T>& input, MessageLite* msg,\n
      \                  MessageLite::ParseFlags parse_flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:577,1
    - Dst: internal::MergeFromImpl<alias>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: google::protobuf::MessageLite::ParseFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 44
    functionsReached:
    - internal::MergeFromImpl<alias>
    - Clear
    linkageType: ''
    returnType: bool
    signature: bool MessageLite::ParseFrom(const T& input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: google::protobuf::internal::OnShutdownDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::OnShutdownRun
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * OnShutdownDelete(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 613
    functionName: google::protobuf::internal::OnShutdownDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::OnShutdownRun
    - static_cast<const T*>
    linkageType: ''
    returnType: T
    signature: T * OnShutdownDelete(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From* f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From& f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:94,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:95,1
    - Dst: google::protobuf::internal::InitProtobufDefaultsSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::InitProtobufDefaults
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 8
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - load
    - google::protobuf::internal::InitProtobufDefaultsSlow
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT InitProtobufDefaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:102,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::GetEmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::internal::InitProtobufDefaults
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:114,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<Msg>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitialized(const RepeatedPtrField<Msg>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:125,1
    - Dst: reinterpret_cast<const RepeatedPtrFieldBase&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::AllAreInitializedWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - reinterpret_cast<const RepeatedPtrFieldBase&>
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitializedWeak(const RepeatedPtrField<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - hasbit
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::IsPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsPresent(const void* base, uint32 hasbit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - base
    - offset
    - tag
    argTypes:
    - void*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::IsOneofPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - reinterpret_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsOneofPresent(const void* base, uint32 offset, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:170,1
    - Dst: google::protobuf::internal::DuplicateIfNonNullInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: google::protobuf::internal::DuplicateIfNonNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - reinterpret_cast<T*>
    - google::protobuf::internal::DuplicateIfNonNullInternal
    linkageType: ''
    returnType: T
    signature: T * DuplicateIfNonNull(T* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: google::protobuf::internal::GetOwnedMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::GetOwnedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::GetOwnedMessageInternal
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: "T * GetOwnedMessage(Arena* message_arena, T* submessage,\n                   Arena*
      submessage_arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::CachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CachedSize
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Set(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From* f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From& f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:94,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:95,1
    - Dst: google::protobuf::internal::InitProtobufDefaultsSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::InitProtobufDefaults
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 9
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - load
    - google::protobuf::internal::InitProtobufDefaultsSlow
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT InitProtobufDefaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:102,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::GetEmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::internal::InitProtobufDefaults
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:114,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<Msg>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitialized(const RepeatedPtrField<Msg>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:125,1
    - Dst: reinterpret_cast<const RepeatedPtrFieldBase&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::AllAreInitializedWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - reinterpret_cast<const RepeatedPtrFieldBase&>
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitializedWeak(const RepeatedPtrField<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - hasbit
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::IsPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsPresent(const void* base, uint32 hasbit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - base
    - offset
    - tag
    argTypes:
    - void*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::IsOneofPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - reinterpret_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsOneofPresent(const void* base, uint32 offset, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:170,1
    - Dst: google::protobuf::internal::DuplicateIfNonNullInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: google::protobuf::internal::DuplicateIfNonNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - reinterpret_cast<T*>
    - google::protobuf::internal::DuplicateIfNonNullInternal
    linkageType: ''
    returnType: T
    signature: T * DuplicateIfNonNull(T* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: google::protobuf::internal::GetOwnedMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::GetOwnedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::GetOwnedMessageInternal
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: "T * GetOwnedMessage(Arena* message_arena, T* submessage,\n                   Arena*
      submessage_arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::CachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CachedSize
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Set(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: google::protobuf::SCCInfoBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT SCCInfoBase
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: PROTOBUF_ARRAY_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_ARRAY_SIZE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: PROTOBUF_ARRAY_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_ARRAY_SIZE(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:248,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:249,1
    - Dst: InitSCCImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: google::protobuf::InitSCC
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 36
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - SCCInfoBase*::visit_status::load
    - InitSCCImpl
    linkageType: ''
    returnType: void
    signature: void InitSCC(SCCInfoBase* scc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: google::protobuf::OnShutdownDestroyMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 9
    functionsReached:
    - OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdownDestroyMessage(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: google::protobuf::OnShutdownDestroyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 8
    functionsReached:
    - OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdownDestroyString(const std::string* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From* f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From& f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:94,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:95,1
    - Dst: google::protobuf::internal::InitProtobufDefaultsSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::InitProtobufDefaults
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 10
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - load
    - google::protobuf::internal::InitProtobufDefaultsSlow
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT InitProtobufDefaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:102,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::GetEmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::internal::InitProtobufDefaults
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:114,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<Msg>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitialized(const RepeatedPtrField<Msg>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:125,1
    - Dst: reinterpret_cast<const RepeatedPtrFieldBase&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::AllAreInitializedWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - reinterpret_cast<const RepeatedPtrFieldBase&>
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitializedWeak(const RepeatedPtrField<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - hasbit
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::IsPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsPresent(const void* base, uint32 hasbit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - base
    - offset
    - tag
    argTypes:
    - void*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::IsOneofPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - reinterpret_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsOneofPresent(const void* base, uint32 offset, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:170,1
    - Dst: google::protobuf::internal::DuplicateIfNonNullInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: google::protobuf::internal::DuplicateIfNonNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - reinterpret_cast<T*>
    - google::protobuf::internal::DuplicateIfNonNullInternal
    linkageType: ''
    returnType: T
    signature: T * DuplicateIfNonNull(T* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: google::protobuf::internal::GetOwnedMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::GetOwnedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::GetOwnedMessageInternal
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: "T * GetOwnedMessage(Arena* message_arena, T* submessage,\n                   Arena*
      submessage_arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::CachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CachedSize
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Set(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From* f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From& f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:94,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:95,1
    - Dst: google::protobuf::internal::InitProtobufDefaultsSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::InitProtobufDefaults
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 11
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - load
    - google::protobuf::internal::InitProtobufDefaultsSlow
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT InitProtobufDefaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:102,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::GetEmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::internal::InitProtobufDefaults
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:114,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<Msg>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitialized(const RepeatedPtrField<Msg>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:125,1
    - Dst: reinterpret_cast<const RepeatedPtrFieldBase&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::AllAreInitializedWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - reinterpret_cast<const RepeatedPtrFieldBase&>
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitializedWeak(const RepeatedPtrField<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - hasbit
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::IsPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsPresent(const void* base, uint32 hasbit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - base
    - offset
    - tag
    argTypes:
    - void*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::IsOneofPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - reinterpret_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsOneofPresent(const void* base, uint32 offset, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:170,1
    - Dst: google::protobuf::internal::DuplicateIfNonNullInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: google::protobuf::internal::DuplicateIfNonNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - reinterpret_cast<T*>
    - google::protobuf::internal::DuplicateIfNonNullInternal
    linkageType: ''
    returnType: T
    signature: T * DuplicateIfNonNull(T* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: google::protobuf::internal::GetOwnedMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::GetOwnedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::GetOwnedMessageInternal
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: "T * GetOwnedMessage(Arena* message_arena, T* submessage,\n                   Arena*
      submessage_arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::CachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CachedSize
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Set(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: google::protobuf::SCCInfoBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT SCCInfoBase
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: PROTOBUF_ARRAY_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_ARRAY_SIZE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: PROTOBUF_ARRAY_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_ARRAY_SIZE(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:248,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:249,1
    - Dst: InitSCCImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: google::protobuf::InitSCC
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 36
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - SCCInfoBase*::visit_status::load
    - InitSCCImpl
    linkageType: ''
    returnType: void
    signature: void InitSCC(SCCInfoBase* scc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: google::protobuf::OnShutdownDestroyMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 9
    functionsReached:
    - OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdownDestroyMessage(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: google::protobuf::OnShutdownDestroyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 8
    functionsReached:
    - OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdownDestroyString(const std::string* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From* f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From& f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:94,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:95,1
    - Dst: google::protobuf::internal::InitProtobufDefaultsSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::InitProtobufDefaults
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 12
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - load
    - google::protobuf::internal::InitProtobufDefaultsSlow
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT InitProtobufDefaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:102,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::GetEmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::internal::InitProtobufDefaults
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:114,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<Msg>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitialized(const RepeatedPtrField<Msg>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:125,1
    - Dst: reinterpret_cast<const RepeatedPtrFieldBase&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::AllAreInitializedWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - reinterpret_cast<const RepeatedPtrFieldBase&>
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitializedWeak(const RepeatedPtrField<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - hasbit
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::IsPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsPresent(const void* base, uint32 hasbit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - base
    - offset
    - tag
    argTypes:
    - void*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::IsOneofPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - reinterpret_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsOneofPresent(const void* base, uint32 offset, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:170,1
    - Dst: google::protobuf::internal::DuplicateIfNonNullInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: google::protobuf::internal::DuplicateIfNonNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - reinterpret_cast<T*>
    - google::protobuf::internal::DuplicateIfNonNullInternal
    linkageType: ''
    returnType: T
    signature: T * DuplicateIfNonNull(T* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: google::protobuf::internal::GetOwnedMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::GetOwnedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::GetOwnedMessageInternal
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: "T * GetOwnedMessage(Arena* message_arena, T* submessage,\n                   Arena*
      submessage_arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::CachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CachedSize
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Set(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From* f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From& f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:94,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:95,1
    - Dst: google::protobuf::internal::InitProtobufDefaultsSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::InitProtobufDefaults
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 13
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - load
    - google::protobuf::internal::InitProtobufDefaultsSlow
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT InitProtobufDefaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:102,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::GetEmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::internal::InitProtobufDefaults
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:114,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<Msg>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitialized(const RepeatedPtrField<Msg>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:125,1
    - Dst: reinterpret_cast<const RepeatedPtrFieldBase&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::AllAreInitializedWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - reinterpret_cast<const RepeatedPtrFieldBase&>
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitializedWeak(const RepeatedPtrField<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - hasbit
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::IsPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsPresent(const void* base, uint32 hasbit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - base
    - offset
    - tag
    argTypes:
    - void*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::IsOneofPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - reinterpret_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsOneofPresent(const void* base, uint32 offset, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:170,1
    - Dst: google::protobuf::internal::DuplicateIfNonNullInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: google::protobuf::internal::DuplicateIfNonNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - reinterpret_cast<T*>
    - google::protobuf::internal::DuplicateIfNonNullInternal
    linkageType: ''
    returnType: T
    signature: T * DuplicateIfNonNull(T* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: google::protobuf::internal::GetOwnedMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::GetOwnedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::GetOwnedMessageInternal
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: "T * GetOwnedMessage(Arena* message_arena, T* submessage,\n                   Arena*
      submessage_arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::CachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CachedSize
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Set(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: google::protobuf::SCCInfoBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT SCCInfoBase
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: PROTOBUF_ARRAY_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_ARRAY_SIZE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: PROTOBUF_ARRAY_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_ARRAY_SIZE(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:248,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:249,1
    - Dst: InitSCCImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: google::protobuf::InitSCC
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 36
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - SCCInfoBase*::visit_status::load
    - InitSCCImpl
    linkageType: ''
    returnType: void
    signature: void InitSCC(SCCInfoBase* scc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: google::protobuf::OnShutdownDestroyMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 9
    functionsReached:
    - OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdownDestroyMessage(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: google::protobuf::OnShutdownDestroyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 8
    functionsReached:
    - OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdownDestroyString(const std::string* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From* f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From& f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:94,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:95,1
    - Dst: google::protobuf::internal::InitProtobufDefaultsSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::InitProtobufDefaults
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 14
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - load
    - google::protobuf::internal::InitProtobufDefaultsSlow
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT InitProtobufDefaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:102,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::GetEmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::internal::InitProtobufDefaults
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:114,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<Msg>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitialized(const RepeatedPtrField<Msg>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:125,1
    - Dst: reinterpret_cast<const RepeatedPtrFieldBase&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::AllAreInitializedWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - reinterpret_cast<const RepeatedPtrFieldBase&>
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitializedWeak(const RepeatedPtrField<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - hasbit
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::IsPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsPresent(const void* base, uint32 hasbit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - base
    - offset
    - tag
    argTypes:
    - void*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::IsOneofPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - reinterpret_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsOneofPresent(const void* base, uint32 offset, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:170,1
    - Dst: google::protobuf::internal::DuplicateIfNonNullInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: google::protobuf::internal::DuplicateIfNonNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - reinterpret_cast<T*>
    - google::protobuf::internal::DuplicateIfNonNullInternal
    linkageType: ''
    returnType: T
    signature: T * DuplicateIfNonNull(T* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: google::protobuf::internal::GetOwnedMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::GetOwnedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::GetOwnedMessageInternal
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: "T * GetOwnedMessage(Arena* message_arena, T* submessage,\n                   Arena*
      submessage_arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::CachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CachedSize
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Set(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From* f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::DownCast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_NAMESPACE_ID::internal::down_cast<To>
    linkageType: ''
    returnType: To
    signature: To DownCast(From& f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:94,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:95,1
    - Dst: google::protobuf::internal::InitProtobufDefaultsSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::InitProtobufDefaults
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 15
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - load
    - google::protobuf::internal::InitProtobufDefaultsSlow
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT InitProtobufDefaults()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitProtobufDefaults
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:102,1
    - Dst: google::protobuf::internal::GetEmptyStringAlreadyInited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::GetEmptyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::GetEmptyStringAlreadyInited
    - google::protobuf::internal::InitProtobufDefaults
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT & GetEmptyString()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:114,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<Msg>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::size
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitialized(const RepeatedPtrField<Msg>& t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:125,1
    - Dst: reinterpret_cast<const RepeatedPtrFieldBase&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - RepeatedPtrField<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::AllAreInitializedWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    - reinterpret_cast<const RepeatedPtrFieldBase&>
    linkageType: ''
    returnType: bool
    signature: bool AllAreInitializedWeak(const RepeatedPtrField<T>& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - base
    - hasbit
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: google::protobuf::internal::IsPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsPresent(const void* base, uint32 hasbit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - base
    - offset
    - tag
    argTypes:
    - void*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::IsOneofPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    - reinterpret_cast<const uint32*>
    linkageType: ''
    returnType: bool
    signature: bool IsOneofPresent(const void* base, uint32 offset, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:170,1
    - Dst: google::protobuf::internal::DuplicateIfNonNullInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: google::protobuf::internal::DuplicateIfNonNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - reinterpret_cast<T*>
    - google::protobuf::internal::DuplicateIfNonNullInternal
    linkageType: ''
    returnType: T
    signature: T * DuplicateIfNonNull(T* message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: google::protobuf::internal::GetOwnedMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:179,1
    - Dst: reinterpret_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - message_arena
    - submessage
    - submessage_arena
    argTypes:
    - Arena*
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: google::protobuf::internal::GetOwnedMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<MessageLite*>
    - google::protobuf::internal::GetOwnedMessageInternal
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: T
    signature: "T * GetOwnedMessage(Arena* message_arena, T* submessage,\n                   Arena*
      submessage_arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::CachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CachedSize
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void Set(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: google::protobuf::SCCInfoBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT SCCInfoBase
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: PROTOBUF_ARRAY_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_ARRAY_SIZE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: PROTOBUF_ARRAY_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_ARRAY_SIZE(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCCInfoBase*::visit_status::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:248,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:249,1
    - Dst: InitSCCImpl
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - scc
    argTypes:
    - SCCInfoBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: google::protobuf::InitSCC
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 36
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - SCCInfoBase*::visit_status::load
    - InitSCCImpl
    linkageType: ''
    returnType: void
    signature: void InitSCC(SCCInfoBase* scc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: google::protobuf::OnShutdownDestroyMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 9
    functionsReached:
    - OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdownDestroyMessage(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownRun
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: google::protobuf::OnShutdownDestroyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    functionUses: 8
    functionsReached:
    - OnShutdownRun
    linkageType: ''
    returnType: void
    signature: void OnShutdownDestroyString(const std::string* ptr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:54,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:55,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:56,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:57,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:58,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:59,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:60,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:61,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:62,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:63,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:64,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:65,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:66,1
    - Dst: internal::PackedEnumParserArg<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:70,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:71,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:79,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:98,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:99,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:100,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:101,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:102,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:119,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:120,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:135,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:136,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:137,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:138,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:145,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:146,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:149,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:153,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:156,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:166,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:168,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:170,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:171,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:172,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:178,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:181,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:185,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:191,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:194,1
    - Dst: internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 67
    argCount: 6
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - metadata
    - ptr
    - ctx
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - InternalMetadata*
    - char*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 16
    functionsReached:
    - WriteVarint
    - HANDLE_SVARINT_TYPE
    - VarintParse
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - internal::PackedEnumParserArg<T>
    - HANDLE_TYPE
    - GOOGLE_LOG
    - HANDLE_VARINT_TYPE
    - internal::ParseContext*::ParseGroup
    - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    - google::protobuf::internal::ExtensionSet::AddMessage
    - HANDLE_FIXED_TYPE
    - internal::ParseContext*::ParseMessage
    - InternalMetadata*::mutable_unknown_fields
    - internal::ParseContext*::ReadString
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseFieldWithExtensionInfo(\n    int number,
      bool was_packed_on_wire, const ExtensionInfo& extension,\n    InternalMetadata*
      metadata, const char* ptr, internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: HANDLE_VARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_VARINT_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - SIZE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: HANDLE_SVARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_SVARINT_TYPE(UPPERCASE, CPP_CAMELCASE, SIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: HANDLE_FIXED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_FIXED_TYPE(UPPERCASE, CPP_CAMELCASE, CPPTYPE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:211,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:212,1
    - Dst: ParseBigVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:215,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:216,1
    - Dst: FindExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:221,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:223,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:224,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:228,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:231,1
    - Dst: internal::ParseContext*::depth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:238,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:242,1
    - Dst: ParseFieldMaybeLazily
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:250,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:253,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:254,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:255,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:256,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:260,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:262,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:265,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - ReadTag
    - internal::ParseContext*::data
    - ParseContext::EndedAtLimit
    - ParseContext::data
    - internal::InternalMetadata*::mutable_unknown_fields
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::ParseField
    - internal::ParseContext*::SetLastTag
    - ParseBigVarint
    - internal::ParseContext*::depth
    - static_cast<uint8>
    - WriteLengthDelimited
    - MessageLite*::_InternalParse
    - google::protobuf::internal::ExtensionSet::AddMessage
    - internal::ParseContext*::Done
    - ParseFieldMaybeLazily
    - FindExtension
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - internal::ParseContext*::ReadString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItemTmpl(\n    const char* ptr,
      const Msg* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:54,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:55,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:56,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:57,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:58,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:59,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:60,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:61,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:62,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:63,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:64,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:65,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:66,1
    - Dst: internal::PackedEnumParserArg<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:70,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:71,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:79,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:98,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:99,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:100,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:101,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:102,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:119,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:120,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:135,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:136,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:137,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:138,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:145,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:146,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:149,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:153,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:156,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:166,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:168,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:170,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:171,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:172,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:178,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:181,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:185,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:191,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:194,1
    - Dst: internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 67
    argCount: 6
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - metadata
    - ptr
    - ctx
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - InternalMetadata*
    - char*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 16
    functionsReached:
    - WriteVarint
    - HANDLE_SVARINT_TYPE
    - VarintParse
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - internal::PackedEnumParserArg<T>
    - HANDLE_TYPE
    - GOOGLE_LOG
    - HANDLE_VARINT_TYPE
    - internal::ParseContext*::ParseGroup
    - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    - google::protobuf::internal::ExtensionSet::AddMessage
    - HANDLE_FIXED_TYPE
    - internal::ParseContext*::ParseMessage
    - InternalMetadata*::mutable_unknown_fields
    - internal::ParseContext*::ReadString
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseFieldWithExtensionInfo(\n    int number,
      bool was_packed_on_wire, const ExtensionInfo& extension,\n    InternalMetadata*
      metadata, const char* ptr, internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: HANDLE_VARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_VARINT_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - SIZE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: HANDLE_SVARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_SVARINT_TYPE(UPPERCASE, CPP_CAMELCASE, SIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: HANDLE_FIXED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_FIXED_TYPE(UPPERCASE, CPP_CAMELCASE, CPPTYPE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:211,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:212,1
    - Dst: ParseBigVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:215,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:216,1
    - Dst: FindExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:221,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:223,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:224,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:228,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:231,1
    - Dst: internal::ParseContext*::depth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:238,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:242,1
    - Dst: ParseFieldMaybeLazily
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:250,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:253,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:254,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:255,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:256,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:260,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:262,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:265,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - ReadTag
    - internal::ParseContext*::data
    - ParseContext::EndedAtLimit
    - ParseContext::data
    - internal::InternalMetadata*::mutable_unknown_fields
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::ParseField
    - internal::ParseContext*::SetLastTag
    - ParseBigVarint
    - internal::ParseContext*::depth
    - static_cast<uint8>
    - WriteLengthDelimited
    - MessageLite*::_InternalParse
    - google::protobuf::internal::ExtensionSet::AddMessage
    - internal::ParseContext*::Done
    - ParseFieldMaybeLazily
    - FindExtension
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - internal::ParseContext*::ReadString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItemTmpl(\n    const char* ptr,
      const Msg* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:54,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:55,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:56,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:57,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:58,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:59,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:60,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:61,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:62,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:63,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:64,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:65,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:66,1
    - Dst: internal::PackedEnumParserArg<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:70,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:71,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:79,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:98,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:99,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:100,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:101,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:102,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:119,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:120,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:135,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:136,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:137,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:138,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:145,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:146,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:149,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:153,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:156,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:166,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:168,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:170,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:171,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:172,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:178,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:181,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:185,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:191,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:194,1
    - Dst: internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 67
    argCount: 6
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - metadata
    - ptr
    - ctx
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - InternalMetadata*
    - char*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 16
    functionsReached:
    - WriteVarint
    - HANDLE_SVARINT_TYPE
    - VarintParse
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - internal::PackedEnumParserArg<T>
    - HANDLE_TYPE
    - GOOGLE_LOG
    - HANDLE_VARINT_TYPE
    - internal::ParseContext*::ParseGroup
    - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    - google::protobuf::internal::ExtensionSet::AddMessage
    - HANDLE_FIXED_TYPE
    - internal::ParseContext*::ParseMessage
    - InternalMetadata*::mutable_unknown_fields
    - internal::ParseContext*::ReadString
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseFieldWithExtensionInfo(\n    int number,
      bool was_packed_on_wire, const ExtensionInfo& extension,\n    InternalMetadata*
      metadata, const char* ptr, internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: HANDLE_VARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_VARINT_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - SIZE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: HANDLE_SVARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_SVARINT_TYPE(UPPERCASE, CPP_CAMELCASE, SIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: HANDLE_FIXED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_FIXED_TYPE(UPPERCASE, CPP_CAMELCASE, CPPTYPE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:211,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:212,1
    - Dst: ParseBigVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:215,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:216,1
    - Dst: FindExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:221,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:223,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:224,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:228,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:231,1
    - Dst: internal::ParseContext*::depth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:238,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:242,1
    - Dst: ParseFieldMaybeLazily
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:250,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:253,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:254,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:255,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:256,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:260,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:262,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:265,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - ReadTag
    - internal::ParseContext*::data
    - ParseContext::EndedAtLimit
    - ParseContext::data
    - internal::InternalMetadata*::mutable_unknown_fields
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::ParseField
    - internal::ParseContext*::SetLastTag
    - ParseBigVarint
    - internal::ParseContext*::depth
    - static_cast<uint8>
    - WriteLengthDelimited
    - MessageLite*::_InternalParse
    - google::protobuf::internal::ExtensionSet::AddMessage
    - internal::ParseContext*::Done
    - ParseFieldMaybeLazily
    - FindExtension
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - internal::ParseContext*::ReadString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItemTmpl(\n    const char* ptr,
      const Msg* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:54,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:55,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:56,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:57,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:58,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:59,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:60,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:61,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:62,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:63,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:64,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:65,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:66,1
    - Dst: internal::PackedEnumParserArg<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:70,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:71,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:79,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:98,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:99,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:100,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:101,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:102,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:119,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:120,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:135,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:136,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:137,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:138,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:145,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:146,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:149,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:153,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:156,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:166,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:168,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:170,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:171,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:172,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:178,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:181,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:185,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:191,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:194,1
    - Dst: internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 67
    argCount: 6
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - metadata
    - ptr
    - ctx
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - InternalMetadata*
    - char*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 16
    functionsReached:
    - WriteVarint
    - HANDLE_SVARINT_TYPE
    - VarintParse
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - internal::PackedEnumParserArg<T>
    - HANDLE_TYPE
    - GOOGLE_LOG
    - HANDLE_VARINT_TYPE
    - internal::ParseContext*::ParseGroup
    - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    - google::protobuf::internal::ExtensionSet::AddMessage
    - HANDLE_FIXED_TYPE
    - internal::ParseContext*::ParseMessage
    - InternalMetadata*::mutable_unknown_fields
    - internal::ParseContext*::ReadString
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseFieldWithExtensionInfo(\n    int number,
      bool was_packed_on_wire, const ExtensionInfo& extension,\n    InternalMetadata*
      metadata, const char* ptr, internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: HANDLE_VARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_VARINT_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - SIZE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: HANDLE_SVARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_SVARINT_TYPE(UPPERCASE, CPP_CAMELCASE, SIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: HANDLE_FIXED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_FIXED_TYPE(UPPERCASE, CPP_CAMELCASE, CPPTYPE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:211,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:212,1
    - Dst: ParseBigVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:215,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:216,1
    - Dst: FindExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:221,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:223,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:224,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:228,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:231,1
    - Dst: internal::ParseContext*::depth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:238,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:242,1
    - Dst: ParseFieldMaybeLazily
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:250,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:253,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:254,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:255,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:256,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:260,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:262,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:265,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - ReadTag
    - internal::ParseContext*::data
    - ParseContext::EndedAtLimit
    - ParseContext::data
    - internal::InternalMetadata*::mutable_unknown_fields
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::ParseField
    - internal::ParseContext*::SetLastTag
    - ParseBigVarint
    - internal::ParseContext*::depth
    - static_cast<uint8>
    - WriteLengthDelimited
    - MessageLite*::_InternalParse
    - google::protobuf::internal::ExtensionSet::AddMessage
    - internal::ParseContext*::Done
    - ParseFieldMaybeLazily
    - FindExtension
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - internal::ParseContext*::ReadString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItemTmpl(\n    const char* ptr,
      const Msg* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:54,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:55,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:56,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:57,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:58,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:59,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:60,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:61,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:62,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:63,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:64,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:65,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:66,1
    - Dst: internal::PackedEnumParserArg<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:70,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:71,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:79,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:98,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:99,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:100,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:101,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:102,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:119,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:120,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:135,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:136,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:137,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:138,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:145,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:146,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:149,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:153,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:156,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:166,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:168,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:170,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:171,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:172,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:178,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:181,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:185,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:191,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:194,1
    - Dst: internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 67
    argCount: 6
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - metadata
    - ptr
    - ctx
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - InternalMetadata*
    - char*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 16
    functionsReached:
    - WriteVarint
    - HANDLE_SVARINT_TYPE
    - VarintParse
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - internal::PackedEnumParserArg<T>
    - HANDLE_TYPE
    - GOOGLE_LOG
    - HANDLE_VARINT_TYPE
    - internal::ParseContext*::ParseGroup
    - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    - google::protobuf::internal::ExtensionSet::AddMessage
    - HANDLE_FIXED_TYPE
    - internal::ParseContext*::ParseMessage
    - InternalMetadata*::mutable_unknown_fields
    - internal::ParseContext*::ReadString
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseFieldWithExtensionInfo(\n    int number,
      bool was_packed_on_wire, const ExtensionInfo& extension,\n    InternalMetadata*
      metadata, const char* ptr, internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: HANDLE_VARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_VARINT_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - SIZE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: HANDLE_SVARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_SVARINT_TYPE(UPPERCASE, CPP_CAMELCASE, SIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: HANDLE_FIXED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_FIXED_TYPE(UPPERCASE, CPP_CAMELCASE, CPPTYPE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:211,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:212,1
    - Dst: ParseBigVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:215,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:216,1
    - Dst: FindExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:221,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:223,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:224,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:228,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:231,1
    - Dst: internal::ParseContext*::depth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:238,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:242,1
    - Dst: ParseFieldMaybeLazily
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:250,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:253,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:254,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:255,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:256,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:260,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:262,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:265,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - ReadTag
    - internal::ParseContext*::data
    - ParseContext::EndedAtLimit
    - ParseContext::data
    - internal::InternalMetadata*::mutable_unknown_fields
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::ParseField
    - internal::ParseContext*::SetLastTag
    - ParseBigVarint
    - internal::ParseContext*::depth
    - static_cast<uint8>
    - WriteLengthDelimited
    - MessageLite*::_InternalParse
    - google::protobuf::internal::ExtensionSet::AddMessage
    - internal::ParseContext*::Done
    - ParseFieldMaybeLazily
    - FindExtension
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - internal::ParseContext*::ReadString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItemTmpl(\n    const char* ptr,
      const Msg* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:54,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:55,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:56,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:57,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:58,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:59,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:60,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:61,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:62,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:63,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:64,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:65,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:66,1
    - Dst: internal::PackedEnumParserArg<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:70,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:71,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:79,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:98,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:99,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:100,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:101,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:102,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:119,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:120,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:135,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:136,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:137,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:138,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:145,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:146,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:149,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:153,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:156,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:166,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:168,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:170,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:171,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:172,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:178,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:181,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:185,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:191,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:194,1
    - Dst: internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 67
    argCount: 6
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - metadata
    - ptr
    - ctx
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - InternalMetadata*
    - char*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 16
    functionsReached:
    - WriteVarint
    - HANDLE_SVARINT_TYPE
    - VarintParse
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - internal::PackedEnumParserArg<T>
    - HANDLE_TYPE
    - GOOGLE_LOG
    - HANDLE_VARINT_TYPE
    - internal::ParseContext*::ParseGroup
    - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    - google::protobuf::internal::ExtensionSet::AddMessage
    - HANDLE_FIXED_TYPE
    - internal::ParseContext*::ParseMessage
    - InternalMetadata*::mutable_unknown_fields
    - internal::ParseContext*::ReadString
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseFieldWithExtensionInfo(\n    int number,
      bool was_packed_on_wire, const ExtensionInfo& extension,\n    InternalMetadata*
      metadata, const char* ptr, internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: HANDLE_VARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_VARINT_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - SIZE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: HANDLE_SVARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_SVARINT_TYPE(UPPERCASE, CPP_CAMELCASE, SIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: HANDLE_FIXED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_FIXED_TYPE(UPPERCASE, CPP_CAMELCASE, CPPTYPE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:211,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:212,1
    - Dst: ParseBigVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:215,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:216,1
    - Dst: FindExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:221,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:223,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:224,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:228,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:231,1
    - Dst: internal::ParseContext*::depth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:238,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:242,1
    - Dst: ParseFieldMaybeLazily
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:250,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:253,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:254,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:255,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:256,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:260,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:262,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:265,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - ReadTag
    - internal::ParseContext*::data
    - ParseContext::EndedAtLimit
    - ParseContext::data
    - internal::InternalMetadata*::mutable_unknown_fields
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::ParseField
    - internal::ParseContext*::SetLastTag
    - ParseBigVarint
    - internal::ParseContext*::depth
    - static_cast<uint8>
    - WriteLengthDelimited
    - MessageLite*::_InternalParse
    - google::protobuf::internal::ExtensionSet::AddMessage
    - internal::ParseContext*::Done
    - ParseFieldMaybeLazily
    - FindExtension
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - internal::ParseContext*::ReadString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItemTmpl(\n    const char* ptr,
      const Msg* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:54,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:55,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:56,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:57,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:58,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:59,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:60,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:61,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:62,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:63,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:64,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:65,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:66,1
    - Dst: internal::PackedEnumParserArg<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:70,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:71,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:79,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:98,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:99,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:100,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:101,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:102,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:119,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:120,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:135,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:136,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:137,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:138,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:145,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:146,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:149,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:153,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:156,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:166,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:168,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:170,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:171,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:172,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:178,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:181,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:185,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:191,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:194,1
    - Dst: internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 67
    argCount: 6
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - metadata
    - ptr
    - ctx
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - InternalMetadata*
    - char*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 16
    functionsReached:
    - WriteVarint
    - HANDLE_SVARINT_TYPE
    - VarintParse
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - internal::PackedEnumParserArg<T>
    - HANDLE_TYPE
    - GOOGLE_LOG
    - HANDLE_VARINT_TYPE
    - internal::ParseContext*::ParseGroup
    - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    - google::protobuf::internal::ExtensionSet::AddMessage
    - HANDLE_FIXED_TYPE
    - internal::ParseContext*::ParseMessage
    - InternalMetadata*::mutable_unknown_fields
    - internal::ParseContext*::ReadString
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseFieldWithExtensionInfo(\n    int number,
      bool was_packed_on_wire, const ExtensionInfo& extension,\n    InternalMetadata*
      metadata, const char* ptr, internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: HANDLE_VARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_VARINT_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - SIZE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: HANDLE_SVARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_SVARINT_TYPE(UPPERCASE, CPP_CAMELCASE, SIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: HANDLE_FIXED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_FIXED_TYPE(UPPERCASE, CPP_CAMELCASE, CPPTYPE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:211,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:212,1
    - Dst: ParseBigVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:215,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:216,1
    - Dst: FindExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:221,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:223,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:224,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:228,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:231,1
    - Dst: internal::ParseContext*::depth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:238,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:242,1
    - Dst: ParseFieldMaybeLazily
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:250,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:253,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:254,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:255,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:256,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:260,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:262,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:265,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - ReadTag
    - internal::ParseContext*::data
    - ParseContext::EndedAtLimit
    - ParseContext::data
    - internal::InternalMetadata*::mutable_unknown_fields
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::ParseField
    - internal::ParseContext*::SetLastTag
    - ParseBigVarint
    - internal::ParseContext*::depth
    - static_cast<uint8>
    - WriteLengthDelimited
    - MessageLite*::_InternalParse
    - google::protobuf::internal::ExtensionSet::AddMessage
    - internal::ParseContext*::Done
    - ParseFieldMaybeLazily
    - FindExtension
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - internal::ParseContext*::ReadString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItemTmpl(\n    const char* ptr,
      const Msg* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:54,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:55,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:56,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:57,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:58,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:59,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:60,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:61,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:62,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:63,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:64,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:65,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:66,1
    - Dst: internal::PackedEnumParserArg<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:70,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:71,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:79,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:98,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:99,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:100,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:101,1
    - Dst: HANDLE_VARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:102,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:119,1
    - Dst: HANDLE_SVARINT_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:120,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:135,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:136,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:137,1
    - Dst: HANDLE_FIXED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:138,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:145,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:146,1
    - Dst: enum_validity_check::func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:149,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:151,1
    - Dst: google::protobuf::internal::ExtensionSet::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:153,1
    - Dst: google::protobuf::internal::ExtensionSet::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:156,1
    - Dst: google::protobuf::internal::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:166,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:168,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:170,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:171,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:172,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:178,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:181,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:185,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:191,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:194,1
    - Dst: internal::ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 67
    argCount: 6
    argNames:
    - number
    - was_packed_on_wire
    - ' extension'
    - metadata
    - ptr
    - ctx
    argTypes:
    - int
    - bool
    - ExtensionInfo
    - InternalMetadata*
    - char*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 16
    functionsReached:
    - WriteVarint
    - HANDLE_SVARINT_TYPE
    - VarintParse
    - google::protobuf::internal::ExtensionSet::AddString
    - google::protobuf::internal::ExtensionSet::AddEnum
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::MutableString
    - google::protobuf::internal::ExtensionSet::SetEnum
    - internal::PackedEnumParserArg<T>
    - HANDLE_TYPE
    - GOOGLE_LOG
    - HANDLE_VARINT_TYPE
    - internal::ParseContext*::ParseGroup
    - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
    - google::protobuf::internal::ExtensionSet::AddMessage
    - HANDLE_FIXED_TYPE
    - internal::ParseContext*::ParseMessage
    - InternalMetadata*::mutable_unknown_fields
    - internal::ParseContext*::ReadString
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - enum_validity_check::func
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseFieldWithExtensionInfo(\n    int number,
      bool was_packed_on_wire, const ExtensionInfo& extension,\n    InternalMetadata*
      metadata, const char* ptr, internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: HANDLE_VARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_VARINT_TYPE(UPPERCASE, CPP_CAMELCASE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - SIZE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: HANDLE_SVARINT_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_SVARINT_TYPE(UPPERCASE, CPP_CAMELCASE, SIZE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UPPERCASE
    - ','
    - CPP_CAMELCASE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: HANDLE_FIXED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_FIXED_TYPE(UPPERCASE, CPP_CAMELCASE, CPPTYPE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:211,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:212,1
    - Dst: ParseBigVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:215,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:216,1
    - Dst: FindExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:221,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:223,1
    - Dst: internal::InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:224,1
    - Dst: google::protobuf::internal::ExtensionSet::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:228,1
    - Dst: google::protobuf::internal::ExtensionSet::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:231,1
    - Dst: internal::ParseContext*::depth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:238,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:239,1
    - Dst: ParseContext::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: internal::ParseContext*::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:240,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: MessageLite*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:241,1
    - Dst: ParseContext::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:242,1
    - Dst: ParseFieldMaybeLazily
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:248,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:250,1
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:253,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:254,1
    - Dst: internal::ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:255,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:256,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:260,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:262,1
    - Dst: google::protobuf::internal::ExtensionSet::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:265,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h:266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - ReadTag
    - internal::ParseContext*::data
    - ParseContext::EndedAtLimit
    - ParseContext::data
    - internal::InternalMetadata*::mutable_unknown_fields
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - google::protobuf::internal::ExtensionSet::ParseField
    - internal::ParseContext*::SetLastTag
    - ParseBigVarint
    - internal::ParseContext*::depth
    - static_cast<uint8>
    - WriteLengthDelimited
    - MessageLite*::_InternalParse
    - google::protobuf::internal::ExtensionSet::AddMessage
    - internal::ParseContext*::Done
    - ParseFieldMaybeLazily
    - FindExtension
    - google::protobuf::internal::ExtensionSet::MutableMessage
    - internal::ParseContext*::ReadString
    - ReadSize
    linkageType: ''
    returnType: char
    signature: "char * ExtensionSet::ParseMessageSetItemTmpl(\n    const char* ptr,
      const Msg* containing_type,\n    internal::InternalMetadata* metadata, internal::ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: google::protobuf::DebugStringOptions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DebugStringOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::LazyDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 232
    functionsReached:
    - Once
    linkageType: ''
    returnType: Descriptor
    signature: Descriptor * Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::LazyDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 232
    functionsReached:
    - Once
    linkageType: ''
    returnType: Descriptor
    signature: Descriptor * Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: google::protobuf::DebugStringOptions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DebugStringOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::LazyDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 232
    functionsReached:
    - Once
    linkageType: ''
    returnType: Descriptor
    signature: Descriptor * Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::LazyDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 232
    functionsReached:
    - Once
    linkageType: ''
    returnType: Descriptor
    signature: Descriptor * Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 574
    functionName: google::Descriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT Descriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: google::Descriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Descriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 929
    functionName: google::FieldDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FieldDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 923
    functionName: google::FieldDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 1007
    functionName: google::OneofDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT OneofDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1003
    functionName: google::OneofDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OneofDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1162
    functionName: google::EnumDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EnumDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1153
    functionName: google::EnumDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnumDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1243
    functionName: google::EnumValueDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EnumValueDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1236
    functionName: google::EnumValueDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnumValueDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1322
    functionName: google::ServiceDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ServiceDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1317
    functionName: google::ServiceDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1329
    functionDepth: 1
    functionLinenumber: 1329
    functionLinenumberEnd: 1409
    functionName: google::MethodDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MethodDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1405
    functionName: google::MethodDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1605
    functionName: google::FileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FileDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1593
    functionName: google::FileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::DescriptorPool
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1637,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1770,1
    - Dst: InternalDontEnforceDependencies
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1872,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1977
    functionName: google::DescriptorPool
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 1
    functionsReached:
    - InternalDontEnforceDependencies
    - google::DescriptorPool
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT DescriptorPool
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1725
    functionDepth: 1
    functionLinenumber: 1725
    functionLinenumberEnd: 1771
    functionName: google::ErrorCollector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ErrorCollector
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1767
    functionName: google::AddWarning
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AddWarning(\n        const std::string& /*filename*/,      //
      File name in which the error\n                                              //
      occurred.\n        const std::string& /*element_name*/,  // Full name of the
      erroneous\n                                              // element.\n        const
      Message* /*descriptor*/,  // Descriptor of the erroneous element.\n        ErrorLocation
      /*location*/,     // One of the location constants, above.\n        const std::string&
      /*message*/  // Human-readable error message.\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1799
    functionName: google::AllowUnknownDependencies
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllowUnknownDependencies()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enforce
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1805
    functionName: google::EnforceWeakDependencies
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnforceWeakDependencies(bool enforce)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1841
    functionName: google::DisallowEnforceUtf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DisallowEnforceUtf8()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalDontEnforceDependencies
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1873
    functionName: google::InternalSetLazilyBuildDependencies
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - InternalDontEnforceDependencies
    linkageType: ''
    returnType: void
    signature: void InternalSetLazilyBuildDependencies()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - underlay
    argTypes:
    - DescriptorPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1878
    functionName: google::internal_set_underlay
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void internal_set_underlay(const DescriptorPool* underlay)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - CLASS
    - ','
    - FIELD
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1985
    functionName: PROTOBUF_DEFINE_ACCESSOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_DEFINE_ACCESSOR(CLASS, FIELD, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CLASS
    - ','
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 1989
    functionName: PROTOBUF_DEFINE_STRING_ACCESSOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_DEFINE_STRING_ACCESSOR(CLASS, FIELD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - CLASS
    - ','
    - FIELD
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 1993
    functionName: PROTOBUF_DEFINE_ARRAY_ACCESSOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_DEFINE_ARRAY_ACCESSOR(CLASS, FIELD, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CLASS
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 1996
    functionName: PROTOBUF_DEFINE_OPTIONS_ACCESSOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_DEFINE_OPTIONS_ACCESSOR(CLASS, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Descriptor::WellKnownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2122
    functionName: google::Descriptor::well_known_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<Descriptor::WellKnownType>
    linkageType: ''
    returnType: Descriptor::WellKnownType
    signature: Descriptor::WellKnownType Descriptor::well_known_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindExtensionRangeContainingNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2126
    functionName: google::Descriptor::IsExtensionNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - FindExtensionRangeContainingNumber
    linkageType: ''
    returnType: bool
    signature: bool Descriptor::IsExtensionNumber(int number) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindReservedRangeContainingNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2130
    functionName: google::Descriptor::IsReservedNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - FindReservedRangeContainingNumber
    linkageType: ''
    returnType: bool
    signature: bool Descriptor::IsReservedNumber(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserved_name_count
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2133,1
    - Dst: static_cast<ConstStringParam>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2134,1
    - Dst: reserved_name
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2139
    functionName: google::Descriptor::IsReservedName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - reserved_name_count
    - static_cast<ConstStringParam>
    - reserved_name
    linkageType: ''
    returnType: bool
    signature: bool Descriptor::IsReservedName(ConstStringParam name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2145
    functionName: '& Descriptor::reserved_name(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Descriptor::reserved_name(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindReservedRangeContainingNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2149
    functionName: google::EnumDescriptor::IsReservedNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - FindReservedRangeContainingNumber
    linkageType: ''
    returnType: bool
    signature: bool EnumDescriptor::IsReservedNumber(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserved_name_count
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2152,1
    - Dst: static_cast<ConstStringParam>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2153,1
    - Dst: reserved_name
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2158
    functionName: google::EnumDescriptor::IsReservedName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - reserved_name_count
    - static_cast<ConstStringParam>
    - reserved_name
    linkageType: ''
    returnType: bool
    signature: bool EnumDescriptor::IsReservedName(ConstStringParam name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2164
    functionName: '& EnumDescriptor::reserved_name(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & EnumDescriptor::reserved_name(int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2166
    functionDepth: 1
    functionLinenumber: 2166
    functionLinenumberEnd: 2171
    functionName: google::FieldDescriptor::type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: FieldDescriptor::Type
    signature: FieldDescriptor::Type FieldDescriptor::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: label
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2173
    functionDepth: 0
    functionLinenumber: 2173
    functionLinenumberEnd: 2175
    functionName: google::FieldDescriptor::is_required
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - label
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::is_required() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: label
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2177
    functionDepth: 0
    functionLinenumber: 2177
    functionLinenumberEnd: 2179
    functionName: google::FieldDescriptor::is_optional
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - label
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::is_optional() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: label
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2183
    functionName: google::FieldDescriptor::is_repeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - label
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::is_repeated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::FieldDescriptor::is_repeated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2186,1
    - Dst: google::FieldDescriptor::IsTypePackable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2186,1
    - Dst: google::FieldDescriptor::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2187
      start: 2185
    functionDepth: 2
    functionLinenumber: 2185
    functionLinenumberEnd: 2187
    functionName: google::FieldDescriptor::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - google::FieldDescriptor::type
    - google::FieldDescriptor::IsTypePackable
    - google::FieldDescriptor::is_repeated
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::is_packable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::FieldDescriptor::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2190,1
    - Dst: is_map_message_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2189
    functionDepth: 2
    functionLinenumber: 2189
    functionLinenumberEnd: 2191
    functionName: google::FieldDescriptor::is_map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - is_map_message_type
    - google::FieldDescriptor::type
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::is_map() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2195,1
    - Dst: google::FieldDescriptor::is_optional
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2195,1
    - Dst: containing_oneof
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2197
    functionName: google::FieldDescriptor::has_optional_keyword
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - containing_oneof
    - google::FieldDescriptor::is_optional
    - file
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::has_optional_keyword() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_synthetic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2203
    functionName: google::FieldDescriptor::real_containing_oneof
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - is_synthetic
    linkageType: ''
    returnType: OneofDescriptor
    signature: OneofDescriptor * FieldDescriptor::real_containing_oneof() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::FieldDescriptor::is_repeated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2206,1
    - Dst: google::FieldDescriptor::cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2207,1
    - Dst: containing_oneof
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2207,1
    - Dst: file
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2205
    functionDepth: 1
    functionLinenumber: 2205
    functionLinenumberEnd: 2209
    functionName: google::FieldDescriptor::has_presence
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - containing_oneof
    - file
    - google::FieldDescriptor::cpp_type
    - google::FieldDescriptor::is_repeated
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::has_presence() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2215,1
    - Dst: containing_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2215,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2217,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2221
    functionName: google::FieldDescriptor::index
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - containing_type
    linkageType: ''
    returnType: int
    signature: int FieldDescriptor::index() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2225,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2229
    functionName: google::Descriptor::index
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int Descriptor::index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: containing_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2233
    functionName: google::OneofDescriptor::file
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - containing_type
    linkageType: ''
    returnType: FileDescriptor
    signature: FileDescriptor * OneofDescriptor::file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2237
    functionName: google::OneofDescriptor::index
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int OneofDescriptor::index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_count
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2240,1
    - Dst: google::OneofDescriptor::field
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2239
    functionDepth: 1
    functionLinenumber: 2239
    functionLinenumberEnd: 2241
    functionName: google::OneofDescriptor::is_synthetic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - google::OneofDescriptor::field
    - field_count
    linkageType: ''
    returnType: bool
    signature: bool OneofDescriptor::is_synthetic() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2245,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2243
    functionDepth: 0
    functionLinenumber: 2243
    functionLinenumberEnd: 2249
    functionName: google::EnumDescriptor::index
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int EnumDescriptor::index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2253
    functionName: google::EnumValueDescriptor::file
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: FileDescriptor
    signature: FileDescriptor * EnumValueDescriptor::file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2257
    functionName: google::EnumValueDescriptor::index
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int EnumValueDescriptor::index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2261
    functionName: google::ServiceDescriptor::index
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ServiceDescriptor::index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: service
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2263
    functionDepth: 0
    functionLinenumber: 2263
    functionLinenumberEnd: 2265
    functionName: google::MethodDescriptor::file
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - service
    linkageType: ''
    returnType: FileDescriptor
    signature: FileDescriptor * MethodDescriptor::file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2267
    functionDepth: 0
    functionLinenumber: 2267
    functionLinenumberEnd: 2269
    functionName: google::MethodDescriptor::index
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int MethodDescriptor::index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::FieldDescriptor::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2273
      start: 2271
    functionDepth: 2
    functionLinenumber: 2271
    functionLinenumberEnd: 2273
    functionName: google::FieldDescriptor::type_name
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - google::FieldDescriptor::type
    linkageType: ''
    returnType: char
    signature: char * FieldDescriptor::type_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::FieldDescriptor::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2275
    functionDepth: 2
    functionLinenumber: 2275
    functionLinenumberEnd: 2277
    functionName: google::FieldDescriptor::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 1
    functionsReached:
    - google::FieldDescriptor::type
    linkageType: ''
    returnType: FieldDescriptor::CppType
    signature: FieldDescriptor::CppType FieldDescriptor::cpp_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::FieldDescriptor::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2279
    functionDepth: 2
    functionLinenumber: 2279
    functionLinenumberEnd: 2281
    functionName: google::FieldDescriptor::cpp_type_name
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - google::FieldDescriptor::type
    linkageType: ''
    returnType: char
    signature: char * FieldDescriptor::cpp_type_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2283
    functionDepth: 0
    functionLinenumber: 2283
    functionLinenumberEnd: 2285
    functionName: google::FieldDescriptor::TypeToCppType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FieldDescriptor::CppType
    signature: FieldDescriptor::CppType FieldDescriptor::TypeToCppType(Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2287
    functionDepth: 0
    functionLinenumber: 2287
    functionLinenumberEnd: 2289
    functionName: google::FieldDescriptor::TypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * FieldDescriptor::TypeName(Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpp_type
    argTypes:
    - CppType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2293
    functionName: google::FieldDescriptor::CppTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * FieldDescriptor::CppTypeName(CppType cpp_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - field_type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2295
    functionDepth: 0
    functionLinenumber: 2295
    functionLinenumberEnd: 2300
    functionName: google::FieldDescriptor::IsTypePackable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::IsTypePackable(Type field_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dependency
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2302
    functionDepth: 0
    functionLinenumber: 2302
    functionLinenumberEnd: 2305
    functionName: google::FileDescriptor::public_dependency
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - dependency
    linkageType: ''
    returnType: FileDescriptor
    signature: "FileDescriptor * FileDescriptor::public_dependency(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dependency
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2309
    functionName: google::FileDescriptor::weak_dependency
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - dependency
    linkageType: ''
    returnType: FileDescriptor
    signature: FileDescriptor * FileDescriptor::weak_dependency(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2311
      start: 2311
    functionDepth: 0
    functionLinenumber: 2311
    functionLinenumberEnd: 2311
    functionName: google::FileDescriptor::syntax
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileDescriptor::Syntax
    signature: FileDescriptor::Syntax FileDescriptor::syntax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2317
    functionName: google::OneofDescriptor::field
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: FieldDescriptor
    signature: FieldDescriptor * OneofDescriptor::field(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: google::protobuf::DebugStringOptions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DebugStringOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::LazyDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 232
    functionsReached:
    - Once
    linkageType: ''
    returnType: Descriptor
    signature: Descriptor * Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::LazyDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 232
    functionsReached:
    - Once
    linkageType: ''
    returnType: Descriptor
    signature: Descriptor * Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: google::protobuf::DebugStringOptions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DebugStringOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::LazyDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 232
    functionsReached:
    - Once
    linkageType: ''
    returnType: Descriptor
    signature: Descriptor * Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::LazyDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: google::protobuf::internal::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 232
    functionsReached:
    - Once
    linkageType: ''
    returnType: Descriptor
    signature: Descriptor * Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 574
    functionName: google::Descriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT Descriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: google::Descriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Descriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 929
    functionName: google::FieldDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FieldDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 923
    functionName: google::FieldDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FieldDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 1007
    functionName: google::OneofDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT OneofDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1003
    functionName: google::OneofDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OneofDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1162
    functionName: google::EnumDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EnumDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1153
    functionName: google::EnumDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnumDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1243
    functionName: google::EnumValueDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EnumValueDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1236
    functionName: google::EnumValueDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnumValueDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1322
    functionName: google::ServiceDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ServiceDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1317
    functionName: google::ServiceDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1329
    functionDepth: 1
    functionLinenumber: 1329
    functionLinenumberEnd: 1409
    functionName: google::MethodDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MethodDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1405
    functionName: google::MethodDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1605
    functionName: google::FileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FileDescriptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1593
    functionName: google::FileDescriptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileDescriptor()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::DescriptorPool
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1637,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1770,1
    - Dst: InternalDontEnforceDependencies
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1872,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1977
    functionName: google::DescriptorPool
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 2
    functionsReached:
    - InternalDontEnforceDependencies
    - google::DescriptorPool
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT DescriptorPool
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1725
    functionDepth: 1
    functionLinenumber: 1725
    functionLinenumberEnd: 1771
    functionName: google::ErrorCollector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ErrorCollector
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1767
    functionName: google::AddWarning
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AddWarning(\n        const std::string& /*filename*/,      //
      File name in which the error\n                                              //
      occurred.\n        const std::string& /*element_name*/,  // Full name of the
      erroneous\n                                              // element.\n        const
      Message* /*descriptor*/,  // Descriptor of the erroneous element.\n        ErrorLocation
      /*location*/,     // One of the location constants, above.\n        const std::string&
      /*message*/  // Human-readable error message.\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1799
    functionName: google::AllowUnknownDependencies
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AllowUnknownDependencies()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enforce
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1805
    functionName: google::EnforceWeakDependencies
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EnforceWeakDependencies(bool enforce)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1841
    functionName: google::DisallowEnforceUtf8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DisallowEnforceUtf8()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalDontEnforceDependencies
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:1872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1873
    functionName: google::InternalSetLazilyBuildDependencies
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - InternalDontEnforceDependencies
    linkageType: ''
    returnType: void
    signature: void InternalSetLazilyBuildDependencies()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - underlay
    argTypes:
    - DescriptorPool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1878
    functionName: google::internal_set_underlay
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void internal_set_underlay(const DescriptorPool* underlay)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - CLASS
    - ','
    - FIELD
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1985
    functionName: PROTOBUF_DEFINE_ACCESSOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_DEFINE_ACCESSOR(CLASS, FIELD, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CLASS
    - ','
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 1989
    functionName: PROTOBUF_DEFINE_STRING_ACCESSOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_DEFINE_STRING_ACCESSOR(CLASS, FIELD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - CLASS
    - ','
    - FIELD
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 1993
    functionName: PROTOBUF_DEFINE_ARRAY_ACCESSOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_DEFINE_ARRAY_ACCESSOR(CLASS, FIELD, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CLASS
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 1996
    functionName: PROTOBUF_DEFINE_OPTIONS_ACCESSOR
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_DEFINE_OPTIONS_ACCESSOR(CLASS, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Descriptor::WellKnownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2122
    functionName: google::Descriptor::well_known_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<Descriptor::WellKnownType>
    linkageType: ''
    returnType: Descriptor::WellKnownType
    signature: Descriptor::WellKnownType Descriptor::well_known_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindExtensionRangeContainingNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2126
    functionName: google::Descriptor::IsExtensionNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - FindExtensionRangeContainingNumber
    linkageType: ''
    returnType: bool
    signature: bool Descriptor::IsExtensionNumber(int number) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindReservedRangeContainingNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2130
    functionName: google::Descriptor::IsReservedNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - FindReservedRangeContainingNumber
    linkageType: ''
    returnType: bool
    signature: bool Descriptor::IsReservedNumber(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserved_name_count
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2133,1
    - Dst: static_cast<ConstStringParam>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2134,1
    - Dst: reserved_name
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2139
    functionName: google::Descriptor::IsReservedName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - reserved_name_count
    - static_cast<ConstStringParam>
    - reserved_name
    linkageType: ''
    returnType: bool
    signature: bool Descriptor::IsReservedName(ConstStringParam name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2145
    functionName: '& Descriptor::reserved_name(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & Descriptor::reserved_name(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindReservedRangeContainingNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2149
    functionName: google::EnumDescriptor::IsReservedNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - FindReservedRangeContainingNumber
    linkageType: ''
    returnType: bool
    signature: bool EnumDescriptor::IsReservedNumber(int number) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserved_name_count
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2152,1
    - Dst: static_cast<ConstStringParam>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2153,1
    - Dst: reserved_name
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - ConstStringParam
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2151
    functionDepth: 0
    functionLinenumber: 2151
    functionLinenumberEnd: 2158
    functionName: google::EnumDescriptor::IsReservedName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - reserved_name_count
    - static_cast<ConstStringParam>
    - reserved_name
    linkageType: ''
    returnType: bool
    signature: bool EnumDescriptor::IsReservedName(ConstStringParam name) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2164
    functionName: '& EnumDescriptor::reserved_name(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & EnumDescriptor::reserved_name(int index) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2166
    functionDepth: 1
    functionLinenumber: 2166
    functionLinenumberEnd: 2171
    functionName: google::FieldDescriptor::type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: FieldDescriptor::Type
    signature: FieldDescriptor::Type FieldDescriptor::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: label
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2173
    functionDepth: 0
    functionLinenumber: 2173
    functionLinenumberEnd: 2175
    functionName: google::FieldDescriptor::is_required
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - label
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::is_required() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: label
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2177
    functionDepth: 0
    functionLinenumber: 2177
    functionLinenumberEnd: 2179
    functionName: google::FieldDescriptor::is_optional
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 1
    functionsReached:
    - label
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::is_optional() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: label
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2181
    functionDepth: 0
    functionLinenumber: 2181
    functionLinenumberEnd: 2183
    functionName: google::FieldDescriptor::is_repeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 2
    functionsReached:
    - label
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::is_repeated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::FieldDescriptor::is_repeated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2186,1
    - Dst: google::FieldDescriptor::IsTypePackable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2186,1
    - Dst: google::FieldDescriptor::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2187
      start: 2185
    functionDepth: 2
    functionLinenumber: 2185
    functionLinenumberEnd: 2187
    functionName: google::FieldDescriptor::is_packable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - google::FieldDescriptor::type
    - google::FieldDescriptor::IsTypePackable
    - google::FieldDescriptor::is_repeated
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::is_packable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::FieldDescriptor::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2190,1
    - Dst: is_map_message_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2189
    functionDepth: 2
    functionLinenumber: 2189
    functionLinenumberEnd: 2191
    functionName: google::FieldDescriptor::is_map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - is_map_message_type
    - google::FieldDescriptor::type
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::is_map() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2195,1
    - Dst: google::FieldDescriptor::is_optional
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2195,1
    - Dst: containing_oneof
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2197
    functionName: google::FieldDescriptor::has_optional_keyword
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - containing_oneof
    - google::FieldDescriptor::is_optional
    - file
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::has_optional_keyword() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_synthetic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2203
    functionName: google::FieldDescriptor::real_containing_oneof
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - is_synthetic
    linkageType: ''
    returnType: OneofDescriptor
    signature: OneofDescriptor * FieldDescriptor::real_containing_oneof() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::FieldDescriptor::is_repeated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2206,1
    - Dst: google::FieldDescriptor::cpp_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2207,1
    - Dst: containing_oneof
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2207,1
    - Dst: file
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2205
    functionDepth: 3
    functionLinenumber: 2205
    functionLinenumberEnd: 2209
    functionName: google::FieldDescriptor::has_presence
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - containing_oneof
    - file
    - google::FieldDescriptor::cpp_type
    - google::FieldDescriptor::is_repeated
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::has_presence() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2215,1
    - Dst: containing_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2215,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2217,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2221
    functionName: google::FieldDescriptor::index
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - containing_type
    linkageType: ''
    returnType: int
    signature: int FieldDescriptor::index() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2225,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2229
    functionName: google::Descriptor::index
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int Descriptor::index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: containing_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2231
    functionDepth: 0
    functionLinenumber: 2231
    functionLinenumberEnd: 2233
    functionName: google::OneofDescriptor::file
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - containing_type
    linkageType: ''
    returnType: FileDescriptor
    signature: FileDescriptor * OneofDescriptor::file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2237
    functionName: google::OneofDescriptor::index
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int OneofDescriptor::index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_count
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2240,1
    - Dst: google::OneofDescriptor::field
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2239
    functionDepth: 1
    functionLinenumber: 2239
    functionLinenumberEnd: 2241
    functionName: google::OneofDescriptor::is_synthetic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - google::OneofDescriptor::field
    - field_count
    linkageType: ''
    returnType: bool
    signature: bool OneofDescriptor::is_synthetic() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2245,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2243
    functionDepth: 0
    functionLinenumber: 2243
    functionLinenumberEnd: 2249
    functionName: google::EnumDescriptor::index
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int EnumDescriptor::index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2253
    functionName: google::EnumValueDescriptor::file
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - type
    linkageType: ''
    returnType: FileDescriptor
    signature: FileDescriptor * EnumValueDescriptor::file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2257
    functionName: google::EnumValueDescriptor::index
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int EnumValueDescriptor::index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2261
    functionName: google::ServiceDescriptor::index
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ServiceDescriptor::index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: service
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2263
    functionDepth: 0
    functionLinenumber: 2263
    functionLinenumberEnd: 2265
    functionName: google::MethodDescriptor::file
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - service
    linkageType: ''
    returnType: FileDescriptor
    signature: FileDescriptor * MethodDescriptor::file() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2267
    functionDepth: 0
    functionLinenumber: 2267
    functionLinenumberEnd: 2269
    functionName: google::MethodDescriptor::index
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int MethodDescriptor::index() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::FieldDescriptor::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2273
      start: 2271
    functionDepth: 2
    functionLinenumber: 2271
    functionLinenumberEnd: 2273
    functionName: google::FieldDescriptor::type_name
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - google::FieldDescriptor::type
    linkageType: ''
    returnType: char
    signature: char * FieldDescriptor::type_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::FieldDescriptor::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2275
    functionDepth: 2
    functionLinenumber: 2275
    functionLinenumberEnd: 2277
    functionName: google::FieldDescriptor::cpp_type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 2
    functionsReached:
    - google::FieldDescriptor::type
    linkageType: ''
    returnType: FieldDescriptor::CppType
    signature: FieldDescriptor::CppType FieldDescriptor::cpp_type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::FieldDescriptor::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2279
    functionDepth: 2
    functionLinenumber: 2279
    functionLinenumberEnd: 2281
    functionName: google::FieldDescriptor::cpp_type_name
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - google::FieldDescriptor::type
    linkageType: ''
    returnType: char
    signature: char * FieldDescriptor::cpp_type_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2283
    functionDepth: 0
    functionLinenumber: 2283
    functionLinenumberEnd: 2285
    functionName: google::FieldDescriptor::TypeToCppType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FieldDescriptor::CppType
    signature: FieldDescriptor::CppType FieldDescriptor::TypeToCppType(Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2287
    functionDepth: 0
    functionLinenumber: 2287
    functionLinenumberEnd: 2289
    functionName: google::FieldDescriptor::TypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * FieldDescriptor::TypeName(Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cpp_type
    argTypes:
    - CppType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2293
    functionName: google::FieldDescriptor::CppTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * FieldDescriptor::CppTypeName(CppType cpp_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - field_type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2295
    functionDepth: 0
    functionLinenumber: 2295
    functionLinenumberEnd: 2300
    functionName: google::FieldDescriptor::IsTypePackable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool FieldDescriptor::IsTypePackable(Type field_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dependency
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2302
    functionDepth: 0
    functionLinenumber: 2302
    functionLinenumberEnd: 2305
    functionName: google::FileDescriptor::public_dependency
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - dependency
    linkageType: ''
    returnType: FileDescriptor
    signature: "FileDescriptor * FileDescriptor::public_dependency(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dependency
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h:2308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2309
    functionName: google::FileDescriptor::weak_dependency
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached:
    - dependency
    linkageType: ''
    returnType: FileDescriptor
    signature: FileDescriptor * FileDescriptor::weak_dependency(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2311
      start: 2311
    functionDepth: 0
    functionLinenumber: 2311
    functionLinenumberEnd: 2311
    functionName: google::FileDescriptor::syntax
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FileDescriptor::Syntax
    signature: FileDescriptor::Syntax FileDescriptor::syntax() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2317
    functionName: google::OneofDescriptor::field
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: FieldDescriptor
    signature: FieldDescriptor * OneofDescriptor::field(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Arena::Create<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - FieldType
    - ','
    - CType
    - ','
    - WireFormatType
    - ','
    - IsMessage
    - ','
    - IsEnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: TYPE_TRAITS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_TRAITS(FieldType, CType, WireFormatType, IsMessage, IsEnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 214
    functionName: MAP_HANDLER
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAP_HANDLER(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: GOOGLE_PROTOBUF_BYTE_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_BYTE_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 1
    functionsReached:
    - static_cast<size_t>
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - static_cast<int>
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
    linkageType: ''
    returnType: int
    signature: "int MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: GET_CACHED_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CACHED_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:323,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - field
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - MapEntryAccessorType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write(\n
      \   int field, const MapEntryAccessorType& value, uint8* ptr,\n    io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ParseContext*::ParseMessage
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:393,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:394,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:401,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:402,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    const
      char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    - Dst: reinterpret_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: google::protobuf::internal::ReadINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint64*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::ReadUINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    - Dst: reinterpret_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: google::protobuf::internal::ReadINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint32*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: google::protobuf::internal::ReadUINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::ReadSINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag64
    linkageType: ''
    returnType: char
    signature: char * ReadSINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: google::protobuf::internal::ReadSINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag32
    linkageType: ''
    returnType: char
    signature: char * ReadSINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<E>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - E*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: google::protobuf::internal::ReadENUM
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - static_cast<E>
    linkageType: ''
    returnType: char
    signature: char * ReadENUM(const char* ptr, E* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::ReadBOOL
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - ReadVarint32
    linkageType: ''
    returnType: char
    signature: char * ReadBOOL(const char* ptr, bool* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnalignedLoad<F>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - F*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: google::protobuf::internal::ReadUnaligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - UnalignedLoad<F>
    linkageType: ''
    returnType: char
    signature: char * ReadUnaligned(const char* ptr, F* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: google::protobuf::internal::ReadFLOAT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFLOAT(const char* ptr, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::ReadDOUBLE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadDOUBLE(const char* ptr, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::ReadFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: google::protobuf::internal::ReadFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: google::protobuf::internal::ReadSFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::ReadSFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: READ_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_METHOD(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n
      \                            Type>::SpaceUsedInMapEntryLong"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong(const
      Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear(\n
      \   Type** value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - Type
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - MergeFrom
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge(\n
      \   const Type& from, Type** to, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::DeleteNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena(\n
      \   const Type* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Constinit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "auto MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit()\n
      \   -> TypeOnMemory"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - Type**
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::EnsureMutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    linkageType: ''
    returnType: Type
    signature: "Type * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable(\n
      \   Type** value, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::IsInitialized
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized(\n
      \   Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear(
      \\\n      TypeOnMemory* value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MapEntryAccessorType
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge(
      \\\n      const MapEntryAccessorType& from, TypeOnMemory* to,                    \\\n
      \     Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      \              \\\n                             Type>::DeleteNoArena"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType,               \\\n
      \                            Type>::DeleteNoArena(TypeOnMemory& /* x */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 1
    functionsReached:
    - Arena::CreateMessage<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Arena::Create<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - FieldType
    - ','
    - CType
    - ','
    - WireFormatType
    - ','
    - IsMessage
    - ','
    - IsEnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: TYPE_TRAITS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_TRAITS(FieldType, CType, WireFormatType, IsMessage, IsEnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 214
    functionName: MAP_HANDLER
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAP_HANDLER(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: GOOGLE_PROTOBUF_BYTE_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_BYTE_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - static_cast<int>
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
    linkageType: ''
    returnType: int
    signature: "int MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: GET_CACHED_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CACHED_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:323,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - field
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - MapEntryAccessorType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write(\n
      \   int field, const MapEntryAccessorType& value, uint8* ptr,\n    io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ParseContext*::ParseMessage
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:393,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:394,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:401,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:402,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    const
      char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    - Dst: reinterpret_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: google::protobuf::internal::ReadINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint64*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::ReadUINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    - Dst: reinterpret_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: google::protobuf::internal::ReadINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint32*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: google::protobuf::internal::ReadUINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::ReadSINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag64
    linkageType: ''
    returnType: char
    signature: char * ReadSINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: google::protobuf::internal::ReadSINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag32
    linkageType: ''
    returnType: char
    signature: char * ReadSINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<E>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - E*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: google::protobuf::internal::ReadENUM
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - static_cast<E>
    linkageType: ''
    returnType: char
    signature: char * ReadENUM(const char* ptr, E* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::ReadBOOL
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - ReadVarint32
    linkageType: ''
    returnType: char
    signature: char * ReadBOOL(const char* ptr, bool* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnalignedLoad<F>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - F*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: google::protobuf::internal::ReadUnaligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 6
    functionsReached:
    - UnalignedLoad<F>
    linkageType: ''
    returnType: char
    signature: char * ReadUnaligned(const char* ptr, F* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: google::protobuf::internal::ReadFLOAT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFLOAT(const char* ptr, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::ReadDOUBLE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadDOUBLE(const char* ptr, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::ReadFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: google::protobuf::internal::ReadFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: google::protobuf::internal::ReadSFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::ReadSFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: READ_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_METHOD(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n
      \                            Type>::SpaceUsedInMapEntryLong"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong(const
      Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear(\n
      \   Type** value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - Type
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - MergeFrom
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge(\n
      \   const Type& from, Type** to, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::DeleteNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena(\n
      \   const Type* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Constinit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "auto MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit()\n
      \   -> TypeOnMemory"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - Type**
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::EnsureMutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    linkageType: ''
    returnType: Type
    signature: "Type * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable(\n
      \   Type** value, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::IsInitialized
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized(\n
      \   Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear(
      \\\n      TypeOnMemory* value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MapEntryAccessorType
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge(
      \\\n      const MapEntryAccessorType& from, TypeOnMemory* to,                    \\\n
      \     Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      \              \\\n                             Type>::DeleteNoArena"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType,               \\\n
      \                            Type>::DeleteNoArena(TypeOnMemory& /* x */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 2
    functionsReached:
    - Arena::CreateMessage<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Arena::Create<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - FieldType
    - ','
    - CType
    - ','
    - WireFormatType
    - ','
    - IsMessage
    - ','
    - IsEnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: TYPE_TRAITS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_TRAITS(FieldType, CType, WireFormatType, IsMessage, IsEnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 214
    functionName: MAP_HANDLER
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAP_HANDLER(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: GOOGLE_PROTOBUF_BYTE_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_BYTE_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 3
    functionsReached:
    - static_cast<size_t>
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - static_cast<int>
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
    linkageType: ''
    returnType: int
    signature: "int MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: GET_CACHED_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CACHED_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:323,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - field
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - MapEntryAccessorType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write(\n
      \   int field, const MapEntryAccessorType& value, uint8* ptr,\n    io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ParseContext*::ParseMessage
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:393,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:394,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:401,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:402,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    const
      char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    - Dst: reinterpret_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: google::protobuf::internal::ReadINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint64*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::ReadUINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    - Dst: reinterpret_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: google::protobuf::internal::ReadINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint32*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: google::protobuf::internal::ReadUINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::ReadSINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag64
    linkageType: ''
    returnType: char
    signature: char * ReadSINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: google::protobuf::internal::ReadSINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag32
    linkageType: ''
    returnType: char
    signature: char * ReadSINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<E>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - E*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: google::protobuf::internal::ReadENUM
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - static_cast<E>
    linkageType: ''
    returnType: char
    signature: char * ReadENUM(const char* ptr, E* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::ReadBOOL
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - ReadVarint32
    linkageType: ''
    returnType: char
    signature: char * ReadBOOL(const char* ptr, bool* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnalignedLoad<F>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - F*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: google::protobuf::internal::ReadUnaligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 12
    functionsReached:
    - UnalignedLoad<F>
    linkageType: ''
    returnType: char
    signature: char * ReadUnaligned(const char* ptr, F* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: google::protobuf::internal::ReadFLOAT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFLOAT(const char* ptr, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::ReadDOUBLE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadDOUBLE(const char* ptr, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::ReadFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: google::protobuf::internal::ReadFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: google::protobuf::internal::ReadSFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::ReadSFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: READ_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_METHOD(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n
      \                            Type>::SpaceUsedInMapEntryLong"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong(const
      Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear(\n
      \   Type** value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - Type
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - MergeFrom
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge(\n
      \   const Type& from, Type** to, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::DeleteNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena(\n
      \   const Type* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Constinit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "auto MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit()\n
      \   -> TypeOnMemory"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - Type**
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::EnsureMutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    linkageType: ''
    returnType: Type
    signature: "Type * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable(\n
      \   Type** value, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::IsInitialized
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized(\n
      \   Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear(
      \\\n      TypeOnMemory* value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MapEntryAccessorType
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge(
      \\\n      const MapEntryAccessorType& from, TypeOnMemory* to,                    \\\n
      \     Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      \              \\\n                             Type>::DeleteNoArena"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType,               \\\n
      \                            Type>::DeleteNoArena(TypeOnMemory& /* x */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 3
    functionsReached:
    - Arena::CreateMessage<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Arena::Create<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - FieldType
    - ','
    - CType
    - ','
    - WireFormatType
    - ','
    - IsMessage
    - ','
    - IsEnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: TYPE_TRAITS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_TRAITS(FieldType, CType, WireFormatType, IsMessage, IsEnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 214
    functionName: MAP_HANDLER
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAP_HANDLER(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: GOOGLE_PROTOBUF_BYTE_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_BYTE_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 4
    functionsReached:
    - static_cast<size_t>
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - static_cast<int>
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
    linkageType: ''
    returnType: int
    signature: "int MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: GET_CACHED_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CACHED_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:323,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - field
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - MapEntryAccessorType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write(\n
      \   int field, const MapEntryAccessorType& value, uint8* ptr,\n    io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ParseContext*::ParseMessage
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:393,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:394,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:401,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:402,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    const
      char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    - Dst: reinterpret_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: google::protobuf::internal::ReadINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint64*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::ReadUINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    - Dst: reinterpret_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: google::protobuf::internal::ReadINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint32*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: google::protobuf::internal::ReadUINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::ReadSINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag64
    linkageType: ''
    returnType: char
    signature: char * ReadSINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: google::protobuf::internal::ReadSINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag32
    linkageType: ''
    returnType: char
    signature: char * ReadSINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<E>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - E*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: google::protobuf::internal::ReadENUM
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - static_cast<E>
    linkageType: ''
    returnType: char
    signature: char * ReadENUM(const char* ptr, E* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::ReadBOOL
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - ReadVarint32
    linkageType: ''
    returnType: char
    signature: char * ReadBOOL(const char* ptr, bool* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnalignedLoad<F>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - F*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: google::protobuf::internal::ReadUnaligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 18
    functionsReached:
    - UnalignedLoad<F>
    linkageType: ''
    returnType: char
    signature: char * ReadUnaligned(const char* ptr, F* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: google::protobuf::internal::ReadFLOAT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFLOAT(const char* ptr, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::ReadDOUBLE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadDOUBLE(const char* ptr, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::ReadFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: google::protobuf::internal::ReadFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: google::protobuf::internal::ReadSFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::ReadSFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: READ_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_METHOD(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n
      \                            Type>::SpaceUsedInMapEntryLong"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong(const
      Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear(\n
      \   Type** value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - Type
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - MergeFrom
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge(\n
      \   const Type& from, Type** to, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::DeleteNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena(\n
      \   const Type* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Constinit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "auto MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit()\n
      \   -> TypeOnMemory"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - Type**
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::EnsureMutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    linkageType: ''
    returnType: Type
    signature: "Type * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable(\n
      \   Type** value, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::IsInitialized
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized(\n
      \   Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear(
      \\\n      TypeOnMemory* value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MapEntryAccessorType
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge(
      \\\n      const MapEntryAccessorType& from, TypeOnMemory* to,                    \\\n
      \     Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      \              \\\n                             Type>::DeleteNoArena"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType,               \\\n
      \                            Type>::DeleteNoArena(TypeOnMemory& /* x */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 4
    functionsReached:
    - Arena::CreateMessage<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Arena::Create<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - FieldType
    - ','
    - CType
    - ','
    - WireFormatType
    - ','
    - IsMessage
    - ','
    - IsEnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: TYPE_TRAITS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_TRAITS(FieldType, CType, WireFormatType, IsMessage, IsEnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 214
    functionName: MAP_HANDLER
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAP_HANDLER(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: GOOGLE_PROTOBUF_BYTE_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_BYTE_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 5
    functionsReached:
    - static_cast<size_t>
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - static_cast<int>
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
    linkageType: ''
    returnType: int
    signature: "int MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: GET_CACHED_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CACHED_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:323,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - field
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - MapEntryAccessorType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write(\n
      \   int field, const MapEntryAccessorType& value, uint8* ptr,\n    io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ParseContext*::ParseMessage
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:393,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:394,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:401,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:402,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    const
      char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    - Dst: reinterpret_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: google::protobuf::internal::ReadINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint64*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::ReadUINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    - Dst: reinterpret_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: google::protobuf::internal::ReadINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint32*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: google::protobuf::internal::ReadUINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::ReadSINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag64
    linkageType: ''
    returnType: char
    signature: char * ReadSINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: google::protobuf::internal::ReadSINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag32
    linkageType: ''
    returnType: char
    signature: char * ReadSINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<E>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - E*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: google::protobuf::internal::ReadENUM
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - static_cast<E>
    linkageType: ''
    returnType: char
    signature: char * ReadENUM(const char* ptr, E* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::ReadBOOL
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - ReadVarint32
    linkageType: ''
    returnType: char
    signature: char * ReadBOOL(const char* ptr, bool* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnalignedLoad<F>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - F*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: google::protobuf::internal::ReadUnaligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 24
    functionsReached:
    - UnalignedLoad<F>
    linkageType: ''
    returnType: char
    signature: char * ReadUnaligned(const char* ptr, F* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: google::protobuf::internal::ReadFLOAT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFLOAT(const char* ptr, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::ReadDOUBLE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadDOUBLE(const char* ptr, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::ReadFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: google::protobuf::internal::ReadFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: google::protobuf::internal::ReadSFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::ReadSFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: READ_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_METHOD(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n
      \                            Type>::SpaceUsedInMapEntryLong"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong(const
      Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear(\n
      \   Type** value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - Type
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - MergeFrom
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge(\n
      \   const Type& from, Type** to, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::DeleteNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena(\n
      \   const Type* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Constinit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "auto MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit()\n
      \   -> TypeOnMemory"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - Type**
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::EnsureMutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    linkageType: ''
    returnType: Type
    signature: "Type * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable(\n
      \   Type** value, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::IsInitialized
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized(\n
      \   Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear(
      \\\n      TypeOnMemory* value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MapEntryAccessorType
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge(
      \\\n      const MapEntryAccessorType& from, TypeOnMemory* to,                    \\\n
      \     Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      \              \\\n                             Type>::DeleteNoArena"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType,               \\\n
      \                            Type>::DeleteNoArena(TypeOnMemory& /* x */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 5
    functionsReached:
    - Arena::CreateMessage<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Arena::Create<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - FieldType
    - ','
    - CType
    - ','
    - WireFormatType
    - ','
    - IsMessage
    - ','
    - IsEnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: TYPE_TRAITS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_TRAITS(FieldType, CType, WireFormatType, IsMessage, IsEnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 214
    functionName: MAP_HANDLER
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAP_HANDLER(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: GOOGLE_PROTOBUF_BYTE_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_BYTE_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 6
    functionsReached:
    - static_cast<size_t>
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - static_cast<int>
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
    linkageType: ''
    returnType: int
    signature: "int MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: GET_CACHED_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CACHED_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:323,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - field
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - MapEntryAccessorType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write(\n
      \   int field, const MapEntryAccessorType& value, uint8* ptr,\n    io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ParseContext*::ParseMessage
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:393,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:394,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:401,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:402,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    const
      char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    - Dst: reinterpret_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: google::protobuf::internal::ReadINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint64*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::ReadUINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    - Dst: reinterpret_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: google::protobuf::internal::ReadINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint32*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: google::protobuf::internal::ReadUINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::ReadSINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag64
    linkageType: ''
    returnType: char
    signature: char * ReadSINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: google::protobuf::internal::ReadSINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag32
    linkageType: ''
    returnType: char
    signature: char * ReadSINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<E>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - E*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: google::protobuf::internal::ReadENUM
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - static_cast<E>
    linkageType: ''
    returnType: char
    signature: char * ReadENUM(const char* ptr, E* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::ReadBOOL
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - ReadVarint32
    linkageType: ''
    returnType: char
    signature: char * ReadBOOL(const char* ptr, bool* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnalignedLoad<F>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - F*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: google::protobuf::internal::ReadUnaligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 30
    functionsReached:
    - UnalignedLoad<F>
    linkageType: ''
    returnType: char
    signature: char * ReadUnaligned(const char* ptr, F* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: google::protobuf::internal::ReadFLOAT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFLOAT(const char* ptr, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::ReadDOUBLE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadDOUBLE(const char* ptr, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::ReadFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: google::protobuf::internal::ReadFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: google::protobuf::internal::ReadSFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::ReadSFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: READ_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_METHOD(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n
      \                            Type>::SpaceUsedInMapEntryLong"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong(const
      Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear(\n
      \   Type** value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - Type
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - MergeFrom
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge(\n
      \   const Type& from, Type** to, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::DeleteNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena(\n
      \   const Type* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Constinit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "auto MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit()\n
      \   -> TypeOnMemory"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - Type**
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::EnsureMutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    linkageType: ''
    returnType: Type
    signature: "Type * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable(\n
      \   Type** value, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::IsInitialized
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized(\n
      \   Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear(
      \\\n      TypeOnMemory* value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MapEntryAccessorType
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge(
      \\\n      const MapEntryAccessorType& from, TypeOnMemory* to,                    \\\n
      \     Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      \              \\\n                             Type>::DeleteNoArena"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType,               \\\n
      \                            Type>::DeleteNoArena(TypeOnMemory& /* x */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 6
    functionsReached:
    - Arena::CreateMessage<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Arena::Create<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - FieldType
    - ','
    - CType
    - ','
    - WireFormatType
    - ','
    - IsMessage
    - ','
    - IsEnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: TYPE_TRAITS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_TRAITS(FieldType, CType, WireFormatType, IsMessage, IsEnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 214
    functionName: MAP_HANDLER
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAP_HANDLER(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: GOOGLE_PROTOBUF_BYTE_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_BYTE_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 7
    functionsReached:
    - static_cast<size_t>
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - static_cast<int>
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
    linkageType: ''
    returnType: int
    signature: "int MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: GET_CACHED_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CACHED_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:323,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - field
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - MapEntryAccessorType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write(\n
      \   int field, const MapEntryAccessorType& value, uint8* ptr,\n    io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ParseContext*::ParseMessage
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:393,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:394,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:401,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:402,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    const
      char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    - Dst: reinterpret_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: google::protobuf::internal::ReadINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint64*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::ReadUINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    - Dst: reinterpret_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: google::protobuf::internal::ReadINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint32*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: google::protobuf::internal::ReadUINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::ReadSINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag64
    linkageType: ''
    returnType: char
    signature: char * ReadSINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: google::protobuf::internal::ReadSINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag32
    linkageType: ''
    returnType: char
    signature: char * ReadSINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<E>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - E*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: google::protobuf::internal::ReadENUM
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - static_cast<E>
    linkageType: ''
    returnType: char
    signature: char * ReadENUM(const char* ptr, E* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::ReadBOOL
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - ReadVarint32
    linkageType: ''
    returnType: char
    signature: char * ReadBOOL(const char* ptr, bool* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnalignedLoad<F>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - F*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: google::protobuf::internal::ReadUnaligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 36
    functionsReached:
    - UnalignedLoad<F>
    linkageType: ''
    returnType: char
    signature: char * ReadUnaligned(const char* ptr, F* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: google::protobuf::internal::ReadFLOAT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFLOAT(const char* ptr, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::ReadDOUBLE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadDOUBLE(const char* ptr, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::ReadFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: google::protobuf::internal::ReadFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: google::protobuf::internal::ReadSFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::ReadSFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: READ_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_METHOD(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n
      \                            Type>::SpaceUsedInMapEntryLong"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong(const
      Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear(\n
      \   Type** value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - Type
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - MergeFrom
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge(\n
      \   const Type& from, Type** to, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::DeleteNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena(\n
      \   const Type* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Constinit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "auto MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit()\n
      \   -> TypeOnMemory"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - Type**
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::EnsureMutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    linkageType: ''
    returnType: Type
    signature: "Type * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable(\n
      \   Type** value, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::IsInitialized
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized(\n
      \   Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear(
      \\\n      TypeOnMemory* value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MapEntryAccessorType
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge(
      \\\n      const MapEntryAccessorType& from, TypeOnMemory* to,                    \\\n
      \     Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      \              \\\n                             Type>::DeleteNoArena"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType,               \\\n
      \                            Type>::DeleteNoArena(TypeOnMemory& /* x */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 7
    functionsReached:
    - Arena::CreateMessage<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Arena::Create<Type>
    linkageType: ''
    returnType: Type
    signature: Type * CreateMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - FieldType
    - ','
    - CType
    - ','
    - WireFormatType
    - ','
    - IsMessage
    - ','
    - IsEnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: TYPE_TRAITS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_TRAITS(FieldType, CType, WireFormatType, IsMessage, IsEnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 214
    functionName: MAP_HANDLER
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAP_HANDLER(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: GOOGLE_PROTOBUF_BYTE_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_BYTE_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:277,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MapEntryAccessorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 8
    functionsReached:
    - static_cast<size_t>
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - static_cast<int>
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
    linkageType: ''
    returnType: int
    signature: "int MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize(\n
      \   const MapEntryAccessorType& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: GET_CACHED_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CACHED_SIZE(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:323,1
    - Dst: google::protobuf::internal::WireFormatLite::InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - field
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - MapEntryAccessorType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Write
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::InternalWriteMessage
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write(\n
      \   int field, const MapEntryAccessorType& value, uint8* ptr,\n    io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FieldType
    - ','
    - DeclaredType
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: WRITE_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_METHOD(FieldType, DeclaredType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadString
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    io::CodedInputStream*
      input, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ParseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ParseContext*::ParseMessage
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:393,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:394,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read(\n
      \   const char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:401,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:402,1
    - Dst: ParseContext*::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ptr
    - ctx
    - value
    argTypes:
    - char*
    - ParseContext*
    - MapEntryAccessorType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES,
      Type>::Read
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadSize
    - ParseContext*::ReadString
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    linkageType: ''
    returnType: char
    signature: "char * MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read(\n    const
      char* ptr, ParseContext* ctx, MapEntryAccessorType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    - Dst: reinterpret_cast<uint64*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: google::protobuf::internal::ReadINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint64*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: google::protobuf::internal::ReadUINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    - Dst: reinterpret_cast<uint32*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: google::protobuf::internal::ReadINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    - reinterpret_cast<uint32*>
    linkageType: ''
    returnType: char
    signature: char * ReadINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: google::protobuf::internal::ReadUINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadUINT32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: google::protobuf::internal::ReadSINT64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag64
    linkageType: ''
    returnType: char
    signature: char * ReadSINT64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadVarintZigZag32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: google::protobuf::internal::ReadSINT32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarintZigZag32
    linkageType: ''
    returnType: char
    signature: char * ReadSINT32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<E>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - E*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: google::protobuf::internal::ReadENUM
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - ReadVarint32
    - static_cast<E>
    linkageType: ''
    returnType: char
    signature: char * ReadENUM(const char* ptr, E* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    - Dst: ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::ReadBOOL
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - static_cast<bool>
    - ReadVarint32
    linkageType: ''
    returnType: char
    signature: char * ReadBOOL(const char* ptr, bool* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnalignedLoad<F>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - F*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 440
    functionName: google::protobuf::internal::ReadUnaligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 42
    functionsReached:
    - UnalignedLoad<F>
    linkageType: ''
    returnType: char
    signature: char * ReadUnaligned(const char* ptr, F* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: google::protobuf::internal::ReadFLOAT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFLOAT(const char* ptr, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: google::protobuf::internal::ReadDOUBLE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadDOUBLE(const char* ptr, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: google::protobuf::internal::ReadFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED64(const char* ptr, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: google::protobuf::internal::ReadFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadFIXED32(const char* ptr, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: google::protobuf::internal::ReadSFIXED64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED64(const char* ptr, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadUnaligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::ReadSFIXED32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadUnaligned
    linkageType: ''
    returnType: char
    signature: char * ReadSFIXED32(const char* ptr, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FieldType
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: READ_METHOD
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_METHOD(FieldType)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n
      \                            Type>::SpaceUsedInMapEntryLong"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: "size_t MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong(const
      Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear(\n
      \   Type** value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - Type
    - Type**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - MergeFrom
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge(\n
      \   const Type& from, Type** to, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::DeleteNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena(\n
      \   const Type* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::Constinit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "auto MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit()\n
      \   -> TypeOnMemory"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - Type**
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 539
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::EnsureMutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
    linkageType: ''
    returnType: Type
    signature: "Type * MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable(\n
      \   Type** value, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    linkageType: ''
    returnType: Type
    signature: "Type &\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
      \   const Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
      Type>::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached:
    - Type*::IsInitialized
    linkageType: ''
    returnType: bool
    signature: "bool MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized(\n
      \   Type* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 632
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear(
      \\\n      TypeOnMemory* value, Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MapEntryAccessorType
    - TypeOnMemory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      Type>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge(
      \\\n      const MapEntryAccessorType& from, TypeOnMemory* to,                    \\\n
      \     Arena* /* arena */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    functionName: "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
      \              \\\n                             Type>::DeleteNoArena"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MapTypeHandler<WireFormatLite::TYPE_##FieldType,               \\\n
      \                            Type>::DeleteNoArena(TypeOnMemory& /* x */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:216,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:218,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:220,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:222,1
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 736
    functionName: google::protobuf::internal::WireFormatLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ReadMessage
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - static_cast<uint32>
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    - static_cast<int>
    - InternalWriteMessage
    - InternalWriteGroup
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT WireFormatLite
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::internal::WireTypeForFieldType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: "WireFormatLite::WireType WireTypeForFieldType(\n      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FIELD_NUMBER
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG(FIELD_NUMBER, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::ReadMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - ReadMessage
    linkageType: ''
    returnType: bool
    signature: "bool ReadMessageNoVirtual(io::CodedInputStream* input,\n                                          MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: google::protobuf::internal::WriteGroupToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteGroup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteGroupToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 665
    functionName: google::protobuf::internal::WriteMessageToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteMessageToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FieldSkipper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: google::protobuf::internal::FieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::FieldSkipper
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 745
    functionName: ~FieldSkipper()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FieldSkipper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 775
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedOutputStreamFieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: "WireFormatLite::CppType WireFormatLite::FieldTypeToCppType(\n    FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: google::protobuf::internal::WireFormatLite::MakeTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 32
    functionsReached:
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    linkageType: ''
    returnType: uint32
    signature: "uint32 WireFormatLite::MakeTag(int field_number,\n                                                WireType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WireType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 791
    functionName: google::protobuf::internal::WireFormatLite::GetTagWireType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 40
    functionsReached:
    - static_cast<WireType>
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: WireFormatLite::WireType WireFormatLite::GetTagWireType(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionName: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int WireFormatLite::GetTagFieldNumber(uint32 tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:799,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 807
    functionName: google::protobuf::internal::WireFormatLite::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::TagSize(int field_number,\n                                      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::WireFormatLite::EncodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::EncodeFloat(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 815
    functionName: google::protobuf::internal::WireFormatLite::DecodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<float>
    linkageType: ''
    returnType: float
    signature: float WireFormatLite::DecodeFloat(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::WireFormatLite::EncodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::EncodeDouble(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::WireFormatLite::DecodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<double>
    linkageType: ''
    returnType: double
    signature: double WireFormatLite::DecodeDouble(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::ZigZagEncode32(int32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int32>
    linkageType: ''
    returnType: int32
    signature: int32 WireFormatLite::ZigZagDecode32(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 864
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::ZigZagEncode64(int64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 869
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int64>
    linkageType: ''
    returnType: int64
    signature: int64 WireFormatLite::ZigZagDecode64(uint64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 877
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string**
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' unknown_fields'
    - target
    - stream
    argTypes:
    - std::string
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 889
    functionName: google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerializeUnknownMessageSetItemsToArray(\n    const
      std::string& unknown_fields, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' unknown_fields'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: google::protobuf::internal::ComputeUnknownMessageSetItemsSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: "size_t ComputeUnknownMessageSetItemsSize(\n    const std::string&
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:902,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:910,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 913
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - static_cast<int64>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 923
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:928,1
    - Dst: ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - ZigZagDecode32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:936,1
    - Dst: ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 939
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - ZigZagDecode64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:954,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 957
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - static_cast<int32>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:962,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int64>
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:970,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 973
    functionName: "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - DecodeFloat
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:978,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 981
    functionName: "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    - DecodeDouble
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 989
    functionName: "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:994,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 997
    functionName: "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1004
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1016,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1019
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1025,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1028
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - static_cast<int64>
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1034,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1037
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - DecodeFloat
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1043,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1046
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - DecodeDouble
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1053,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1054,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1056,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1057,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - tag
    - input
    - values
    argTypes:
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1062
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::ExpectTag
    - RepeatedField<CType>*::Capacity
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitive(\n    int,  // tag_size,
      unused.\n    uint32 tag, io::CodedInputStream* input, RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1070,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1071,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1084,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1086,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1088,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: google::protobuf::CodedInputStream::ExpectTagFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1095,1
    - Dst: ReadPrimitiveFromArray<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1097,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1098,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - values
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1107
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ExpectTagFromArray
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - ReadPrimitive<CType, DeclaredType>
    - reinterpret_cast<const uint8*>
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Capacity
    - static_cast<size_t>
    - RepeatedField<CType>*::AddAlreadyReserved
    - static_cast<int>
    - ReadPrimitiveFromArray<CType, DeclaredType>
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedFixedSizePrimitive(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1121
    functionName: READ_REPEATED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - value
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitiveNoInline(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1143,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1144,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1145,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1147,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1148,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::PopLimit
    - io::CodedInputStream*::PushLimit
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitive(io::CodedInputStream* input,\n
      \                                               RepeatedField<CType>* values)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1158,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1159,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1160,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1161,1
    - Dst: io::CodedInputStream*::BytesUntilTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1175,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1177,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: RepeatedField<CType>*::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: RepeatedField<CType>*::mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1189,1
    - Dst: RepeatedField<CType>*::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1190,1
    - Dst: RepeatedField<CType>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1194,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1197,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1198,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1207,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1212
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Resize
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Truncate
    - static_cast<int64>
    - io::CodedInputStream*::ReadRaw
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::Reserve
    - io::CodedInputStream*::BytesUntilTotalBytesLimit
    - static_cast<int>
    - RepeatedField<CType>*::mutable_data
    - RepeatedField<CType>*::size
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedFixedSizePrimitive(\n    io::CodedInputStream*
      input, RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1225
    functionName: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1239
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitiveNoInline(io::CodedInputStream*
      input,\n                                                 RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1246,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1247,1
    - Dst: io::CodedInputStream*::UnsafeDecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1248,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - field_number
    - input
    - value
    argTypes:
    - int
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1254
    functionName: google::protobuf::internal::WireFormatLite::ReadGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::UnsafeDecrementRecursionDepth
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::IncrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadGroup(int field_number,\n                                      io::CodedInputStream*
      input,\n                                      MessageType* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1259,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1261,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1262,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1266
    functionName: google::protobuf::internal::WireFormatLite::ReadMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadMessage(io::CodedInputStream* input,\n                                        MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - output
    argTypes:
    - int
    - WireType
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: google::protobuf::internal::WireFormatLite::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 176
    functionsReached:
    - io::CodedOutputStream*::WriteTag
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteTag(int field_number, WireType type,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1278
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32NoTag(int32 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1282
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64NoTag(int64 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1286
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32NoTag(uint32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1290
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64NoTag(uint64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1294
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32NoTag(int32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1298
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64NoTag(int64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32NoTag(uint32 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1306
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64NoTag(uint64 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1310
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint32>
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32NoTag(int32 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1314
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64NoTag(int64 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1315
    functionDepth: 1
    functionLinenumber: 1315
    functionLinenumberEnd: 1318
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatNoTag(float value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1322
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleNoTag(double value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1326
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolNoTag(bool value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1330
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnumNoTag(int value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1338,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1339,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupNoVirtual(\n    int field_number, const
      MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1346,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1347,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1348,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1343
    functionDepth: 3
    functionLinenumber: 1343
    functionLinenumberEnd: 1350
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    - io::CodedOutputStream*::WriteVarint32
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageNoVirtual(\n    int field_number,
      const MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - target
    argTypes:
    - int
    - WireType
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1358
    functionName: google::protobuf::internal::WireFormatLite::WriteTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteTagToArray(int field_number, WireType
      type,\n                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1363
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(int32 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1368
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(int64 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1372
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(uint32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1376
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(uint64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(int32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(int64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(uint32 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1394
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(uint64 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1397,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1399
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(int32 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1402,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1404
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(int64 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1409
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(float value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1414
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(double value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1417
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteBoolNoTagToArray(bool value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1420
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteEnumNoTagToArray(int value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1425,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1426,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1428,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1435
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - Writer
    - GOOGLE_DCHECK_GT
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1443,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1444,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1446,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1447,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1453
    functionName: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - memcpy
    - data
    - static_cast<size_t>
    - GOOGLE_DCHECK_GT
    - static_cast<int>
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixedNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1455
    functionDepth: 2
    functionLinenumber: 1455
    functionLinenumberEnd: 1458
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1459
    functionDepth: 2
    functionLinenumber: 1459
    functionLinenumberEnd: 1462
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1463
    functionDepth: 2
    functionLinenumber: 1463
    functionLinenumberEnd: 1466
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1470
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1474
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1479
    functionDepth: 3
    functionLinenumber: 1479
    functionLinenumberEnd: 1482
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1483
    functionDepth: 3
    functionLinenumber: 1483
    functionLinenumberEnd: 1486
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1490
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1491
    functionDepth: 3
    functionLinenumber: 1491
    functionLinenumberEnd: 1494
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 3
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(\n    const RepeatedField<float>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 3
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(\n    const RepeatedField<double>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1506
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolNoTagToArray(\n    const RepeatedField<bool>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1510
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumNoTagToArray(\n    const RepeatedField<int>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1514,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1512
    functionDepth: 3
    functionLinenumber: 1512
    functionLinenumberEnd: 1516
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(int field_number, int32
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1519,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(int field_number, int64
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1524,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1522
    functionDepth: 3
    functionLinenumber: 1522
    functionLinenumberEnd: 1526
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(int field_number, uint32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1529,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1527
    functionDepth: 3
    functionLinenumber: 1527
    functionLinenumberEnd: 1531
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(int field_number, uint64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1534,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1532
    functionDepth: 3
    functionLinenumber: 1532
    functionLinenumberEnd: 1536
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(int field_number, int32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1539,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1541
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(int field_number, int64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1544,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1546
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(int field_number,\n                                                  uint32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1549,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1547
    functionDepth: 3
    functionLinenumber: 1547
    functionLinenumberEnd: 1551
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(int field_number,\n                                                  uint64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1554,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1552
    functionDepth: 3
    functionLinenumber: 1552
    functionLinenumberEnd: 1556
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(int field_number,\n                                                   int32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1559,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1557
    functionDepth: 3
    functionLinenumber: 1557
    functionLinenumberEnd: 1561
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(int field_number,\n                                                   int64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1564,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1562
    functionDepth: 3
    functionLinenumber: 1562
    functionLinenumberEnd: 1566
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(int field_number, float
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1569,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1567
    functionDepth: 3
    functionLinenumber: 1567
    functionLinenumberEnd: 1571
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(int field_number, double
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1574,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1572
    functionDepth: 3
    functionLinenumber: 1572
    functionLinenumberEnd: 1576
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number, bool value,\n
      \                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1579,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1581
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number, int value,\n
      \                                              uint8* target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1587,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1592,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - (*Writer)(int, T, uint8*)
    - target
    argTypes:
    - int
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1599
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - Writer
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveToArray(\n    int field_number,
      const RepeatedField<T>& value,\n    uint8* (*Writer)(int, T, uint8*), uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1604
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1608
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1612
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1616
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1620
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1624
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1629
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1639
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1644
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1648
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(\n    int field_number,
      const RepeatedField<float>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1652
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(\n    int field_number,
      const RepeatedField<double>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1657
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number,\n                                               const
      RepeatedField<bool>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1662
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number,\n                                               const
      RepeatedField<int>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1670,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1663
    functionDepth: 3
    functionLinenumber: 1663
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::WireFormatLite::WriteStringToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteStringToArray(int field_number,\n                                                 const
      std::string& value,\n                                                 uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1676,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1673
    functionDepth: 3
    functionLinenumber: 1673
    functionLinenumberEnd: 1678
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBytesToArray(int field_number,\n                                                const
      std::string& value,\n                                                uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1685,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1686,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1687,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1682
    functionDepth: 3
    functionLinenumber: 1682
    functionLinenumberEnd: 1689
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroup(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1694,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1695,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1691
    functionDepth: 3
    functionLinenumber: 1691
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - GetCachedSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessage(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1706,1
    - Dst: "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1707,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1703
    functionDepth: 3
    functionLinenumber: 1703
    functionLinenumberEnd: 1710
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroupNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1715,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1716,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1717,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1718,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1712
    functionDepth: 3
    functionLinenumber: 1712
    functionLinenumberEnd: 1723
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessageNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1727
    functionDepth: 1
    functionLinenumber: 1727
    functionLinenumberEnd: 1729
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1730
    functionDepth: 1
    functionLinenumber: 1730
    functionLinenumberEnd: 1732
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1735
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 11
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1738
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1741
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1742
    functionDepth: 1
    functionLinenumber: 1742
    functionLinenumberEnd: 1744
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1747
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1749
    functionDepth: 1
    functionLinenumber: 1749
    functionLinenumberEnd: 1751
    functionName: google::protobuf::internal::WireFormatLite::StringSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::StringSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1752
    functionDepth: 1
    functionLinenumber: 1752
    functionLinenumberEnd: 1754
    functionName: google::protobuf::internal::WireFormatLite::BytesSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::BytesSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1760
    functionName: google::protobuf::internal::WireFormatLite::GroupSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::GroupSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1762
    functionDepth: 1
    functionLinenumber: 1762
    functionLinenumberEnd: 1764
    functionName: google::protobuf::internal::WireFormatLite::MessageSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::MessageSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1772
    functionName: google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::GroupSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1776,1
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1774
    functionDepth: 1
    functionLinenumber: 1774
    functionLinenumberEnd: 1778
    functionName: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::MessageSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1787
    functionName: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::LengthDelimitedSize(size_t length)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1802,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1808,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1811,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: io::CodedInputStream::SetRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: io::CodedInputStream*::RecursionBudget
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1818,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1821,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1831,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1832,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1833,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1834,1
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1835,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1836,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1837,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1838,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1841,1
    - Dst: MS::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1854,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - input
    - ms
    argTypes:
    - io::CodedInputStream*
    - MS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1858
    functionName: google::protobuf::internal::ParseMessageSetItemImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - std::string::clear
    - io::CodedInputStream*::ReadRaw
    - static_cast<int32>
    - io::CodedInputStream*::RecursionBudget
    - google::protobuf::CodedOutputStream::VarintSize32
    - std::string::data
    - static_cast<uint32>
    - io::CodedInputStream::SetRecursionLimit
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - MS::ParseField
    - static_cast<int>
    - reinterpret_cast<uint8*>
    - std::string::size
    - io::CodedInputStream*::ReadVarint32
    - std::string::empty
    - std::string::resize
    - reinterpret_cast<const uint8*>
    - io::CodedInputStream*::ReadTagNoLastTag
    - MS::SkipField
    linkageType: ''
    returnType: bool
    signature: bool ParseMessageSetItemImpl(io::CodedInputStream* input, MS ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:216,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:218,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:220,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:222,1
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 736
    functionName: google::protobuf::internal::WireFormatLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ReadMessage
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - static_cast<uint32>
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    - static_cast<int>
    - InternalWriteMessage
    - InternalWriteGroup
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT WireFormatLite
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::internal::WireTypeForFieldType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: "WireFormatLite::WireType WireTypeForFieldType(\n      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FIELD_NUMBER
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG(FIELD_NUMBER, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::ReadMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - ReadMessage
    linkageType: ''
    returnType: bool
    signature: "bool ReadMessageNoVirtual(io::CodedInputStream* input,\n                                          MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: google::protobuf::internal::WriteGroupToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteGroup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteGroupToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 665
    functionName: google::protobuf::internal::WriteMessageToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteMessageToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FieldSkipper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: google::protobuf::internal::FieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::FieldSkipper
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 745
    functionName: ~FieldSkipper()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FieldSkipper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 775
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedOutputStreamFieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: "WireFormatLite::CppType WireFormatLite::FieldTypeToCppType(\n    FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: google::protobuf::internal::WireFormatLite::MakeTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 35
    functionsReached:
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    linkageType: ''
    returnType: uint32
    signature: "uint32 WireFormatLite::MakeTag(int field_number,\n                                                WireType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WireType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 791
    functionName: google::protobuf::internal::WireFormatLite::GetTagWireType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 40
    functionsReached:
    - static_cast<WireType>
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: WireFormatLite::WireType WireFormatLite::GetTagWireType(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionName: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int WireFormatLite::GetTagFieldNumber(uint32 tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:799,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 807
    functionName: google::protobuf::internal::WireFormatLite::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::TagSize(int field_number,\n                                      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::WireFormatLite::EncodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - bit_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::EncodeFloat(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 815
    functionName: google::protobuf::internal::WireFormatLite::DecodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<float>
    linkageType: ''
    returnType: float
    signature: float WireFormatLite::DecodeFloat(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::WireFormatLite::EncodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - bit_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::EncodeDouble(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::WireFormatLite::DecodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<double>
    linkageType: ''
    returnType: double
    signature: double WireFormatLite::DecodeDouble(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 11
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::ZigZagEncode32(int32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int32>
    linkageType: ''
    returnType: int32
    signature: int32 WireFormatLite::ZigZagDecode32(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 864
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 11
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::ZigZagEncode64(int64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 869
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int64>
    linkageType: ''
    returnType: int64
    signature: int64 WireFormatLite::ZigZagDecode64(uint64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 877
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string**
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' unknown_fields'
    - target
    - stream
    argTypes:
    - std::string
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 889
    functionName: google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerializeUnknownMessageSetItemsToArray(\n    const
      std::string& unknown_fields, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' unknown_fields'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: google::protobuf::internal::ComputeUnknownMessageSetItemsSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: "size_t ComputeUnknownMessageSetItemsSize(\n    const std::string&
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:902,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:910,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 913
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - static_cast<int64>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 923
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:928,1
    - Dst: ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - ZigZagDecode32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:936,1
    - Dst: ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 939
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - ZigZagDecode64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:954,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 957
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - static_cast<int32>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:962,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int64>
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:970,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 973
    functionName: "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - DecodeFloat
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:978,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 981
    functionName: "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    - DecodeDouble
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 989
    functionName: "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:994,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 997
    functionName: "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1004
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1016,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1019
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1025,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1028
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - static_cast<int64>
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1034,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1037
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - DecodeFloat
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1043,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1046
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - DecodeDouble
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1053,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1054,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1056,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1057,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - tag
    - input
    - values
    argTypes:
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1062
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 1
    functionsReached:
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::ExpectTag
    - RepeatedField<CType>*::Capacity
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitive(\n    int,  // tag_size,
      unused.\n    uint32 tag, io::CodedInputStream* input, RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1070,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1071,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1084,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1086,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1088,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: google::protobuf::CodedInputStream::ExpectTagFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1095,1
    - Dst: ReadPrimitiveFromArray<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1097,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1098,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - values
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1107
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ExpectTagFromArray
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - ReadPrimitive<CType, DeclaredType>
    - reinterpret_cast<const uint8*>
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Capacity
    - static_cast<size_t>
    - RepeatedField<CType>*::AddAlreadyReserved
    - static_cast<int>
    - ReadPrimitiveFromArray<CType, DeclaredType>
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedFixedSizePrimitive(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1121
    functionName: READ_REPEATED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - value
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitiveNoInline(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1143,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1144,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1145,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1147,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1148,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 1
    functionsReached:
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::PopLimit
    - io::CodedInputStream*::PushLimit
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitive(io::CodedInputStream* input,\n
      \                                               RepeatedField<CType>* values)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1158,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1159,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1160,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1161,1
    - Dst: io::CodedInputStream*::BytesUntilTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1175,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1177,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: RepeatedField<CType>*::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: RepeatedField<CType>*::mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1189,1
    - Dst: RepeatedField<CType>*::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1190,1
    - Dst: RepeatedField<CType>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1194,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1197,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1198,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1207,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1212
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Resize
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Truncate
    - static_cast<int64>
    - io::CodedInputStream*::ReadRaw
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::Reserve
    - io::CodedInputStream*::BytesUntilTotalBytesLimit
    - static_cast<int>
    - RepeatedField<CType>*::mutable_data
    - RepeatedField<CType>*::size
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedFixedSizePrimitive(\n    io::CodedInputStream*
      input, RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1225
    functionName: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1239
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitiveNoInline(io::CodedInputStream*
      input,\n                                                 RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1246,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1247,1
    - Dst: io::CodedInputStream*::UnsafeDecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1248,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - field_number
    - input
    - value
    argTypes:
    - int
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1254
    functionName: google::protobuf::internal::WireFormatLite::ReadGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::UnsafeDecrementRecursionDepth
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::IncrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadGroup(int field_number,\n                                      io::CodedInputStream*
      input,\n                                      MessageType* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1259,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1261,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1262,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1266
    functionName: google::protobuf::internal::WireFormatLite::ReadMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadMessage(io::CodedInputStream* input,\n                                        MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - output
    argTypes:
    - int
    - WireType
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: google::protobuf::internal::WireFormatLite::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 178
    functionsReached:
    - io::CodedOutputStream*::WriteTag
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteTag(int field_number, WireType type,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1278
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32NoTag(int32 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1282
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64NoTag(int64 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1286
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32NoTag(uint32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1290
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64NoTag(uint64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1294
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32NoTag(int32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1298
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64NoTag(int64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32NoTag(uint32 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1306
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64NoTag(uint64 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1310
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint32>
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32NoTag(int32 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1314
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64NoTag(int64 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1315
    functionDepth: 1
    functionLinenumber: 1315
    functionLinenumberEnd: 1318
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatNoTag(float value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1322
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleNoTag(double value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1326
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolNoTag(bool value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1330
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnumNoTag(int value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1338,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1339,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupNoVirtual(\n    int field_number, const
      MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1346,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1347,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1348,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1343
    functionDepth: 3
    functionLinenumber: 1343
    functionLinenumberEnd: 1350
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    - io::CodedOutputStream*::WriteVarint32
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageNoVirtual(\n    int field_number,
      const MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - target
    argTypes:
    - int
    - WireType
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1358
    functionName: google::protobuf::internal::WireFormatLite::WriteTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 28
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteTagToArray(int field_number, WireType
      type,\n                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1363
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 17
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(int32 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1368
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 9
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(int64 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1372
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 9
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(uint32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1376
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 9
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(uint64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 9
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(int32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(int64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 25
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(uint32 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1394
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 25
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(uint64 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1397,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1399
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 17
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(int32 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1402,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1404
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 17
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(int64 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1409
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 17
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(float value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1414
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 17
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(double value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1417
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 25
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteBoolNoTagToArray(bool value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1420
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteEnumNoTagToArray(int value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1425,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1426,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1428,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1435
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 9
    functionsReached:
    - Writer
    - GOOGLE_DCHECK_GT
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1443,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1444,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1446,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1447,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1453
    functionName: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - memcpy
    - data
    - static_cast<size_t>
    - GOOGLE_DCHECK_GT
    - static_cast<int>
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixedNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1455
    functionDepth: 2
    functionLinenumber: 1455
    functionLinenumberEnd: 1458
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 17
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1459
    functionDepth: 2
    functionLinenumber: 1459
    functionLinenumberEnd: 1462
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1463
    functionDepth: 2
    functionLinenumber: 1463
    functionLinenumberEnd: 1466
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1470
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1474
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1479
    functionDepth: 3
    functionLinenumber: 1479
    functionLinenumberEnd: 1482
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 25
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1483
    functionDepth: 3
    functionLinenumber: 1483
    functionLinenumberEnd: 1486
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 25
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1490
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 17
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1491
    functionDepth: 3
    functionLinenumber: 1491
    functionLinenumberEnd: 1494
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 17
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 3
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 17
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(\n    const RepeatedField<float>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 3
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 17
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(\n    const RepeatedField<double>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1506
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 25
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolNoTagToArray(\n    const RepeatedField<bool>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1510
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumNoTagToArray(\n    const RepeatedField<int>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1514,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1512
    functionDepth: 3
    functionLinenumber: 1512
    functionLinenumberEnd: 1516
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(int field_number, int32
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1519,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(int field_number, int64
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1524,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1522
    functionDepth: 3
    functionLinenumber: 1522
    functionLinenumberEnd: 1526
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(int field_number, uint32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1529,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1527
    functionDepth: 3
    functionLinenumber: 1527
    functionLinenumberEnd: 1531
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(int field_number, uint64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1534,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1532
    functionDepth: 3
    functionLinenumber: 1532
    functionLinenumberEnd: 1536
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(int field_number, int32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1539,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1541
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(int field_number, int64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1544,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1546
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(int field_number,\n                                                  uint32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1549,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1547
    functionDepth: 3
    functionLinenumber: 1547
    functionLinenumberEnd: 1551
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(int field_number,\n                                                  uint64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1554,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1552
    functionDepth: 3
    functionLinenumber: 1552
    functionLinenumberEnd: 1556
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(int field_number,\n                                                   int32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1559,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1557
    functionDepth: 3
    functionLinenumber: 1557
    functionLinenumberEnd: 1561
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(int field_number,\n                                                   int64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1564,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1562
    functionDepth: 3
    functionLinenumber: 1562
    functionLinenumberEnd: 1566
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(int field_number, float
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1569,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1567
    functionDepth: 3
    functionLinenumber: 1567
    functionLinenumberEnd: 1571
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(int field_number, double
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1574,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1572
    functionDepth: 3
    functionLinenumber: 1572
    functionLinenumberEnd: 1576
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number, bool value,\n
      \                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1579,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1581
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number, int value,\n
      \                                              uint8* target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1587,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1592,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - (*Writer)(int, T, uint8*)
    - target
    argTypes:
    - int
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1599
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - Writer
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveToArray(\n    int field_number,
      const RepeatedField<T>& value,\n    uint8* (*Writer)(int, T, uint8*), uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1604
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1608
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1612
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1616
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1620
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1624
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1629
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1639
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1644
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1648
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(\n    int field_number,
      const RepeatedField<float>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1652
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(\n    int field_number,
      const RepeatedField<double>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1657
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number,\n                                               const
      RepeatedField<bool>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1662
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number,\n                                               const
      RepeatedField<int>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1670,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1663
    functionDepth: 3
    functionLinenumber: 1663
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::WireFormatLite::WriteStringToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteStringToArray(int field_number,\n                                                 const
      std::string& value,\n                                                 uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1676,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1673
    functionDepth: 3
    functionLinenumber: 1673
    functionLinenumberEnd: 1678
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBytesToArray(int field_number,\n                                                const
      std::string& value,\n                                                uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1685,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1686,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1687,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1682
    functionDepth: 3
    functionLinenumber: 1682
    functionLinenumberEnd: 1689
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroup(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1694,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1695,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1691
    functionDepth: 3
    functionLinenumber: 1691
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - GetCachedSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessage(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1706,1
    - Dst: "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1707,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1703
    functionDepth: 3
    functionLinenumber: 1703
    functionLinenumberEnd: 1710
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroupNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1715,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1716,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1717,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1718,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1712
    functionDepth: 3
    functionLinenumber: 1712
    functionLinenumberEnd: 1723
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessageNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1727
    functionDepth: 1
    functionLinenumber: 1727
    functionLinenumberEnd: 1729
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1730
    functionDepth: 1
    functionLinenumber: 1730
    functionLinenumberEnd: 1732
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1735
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1738
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1741
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1742
    functionDepth: 1
    functionLinenumber: 1742
    functionLinenumberEnd: 1744
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1747
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1749
    functionDepth: 2
    functionLinenumber: 1749
    functionLinenumberEnd: 1751
    functionName: google::protobuf::internal::WireFormatLite::StringSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::StringSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1752
    functionDepth: 2
    functionLinenumber: 1752
    functionLinenumberEnd: 1754
    functionName: google::protobuf::internal::WireFormatLite::BytesSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::BytesSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1760
    functionName: google::protobuf::internal::WireFormatLite::GroupSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::GroupSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1764
    functionName: google::protobuf::internal::WireFormatLite::MessageSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::MessageSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1772
    functionName: google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::GroupSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1776,1
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1774
    functionDepth: 2
    functionLinenumber: 1774
    functionLinenumberEnd: 1778
    functionName: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::MessageSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1787
    functionName: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::LengthDelimitedSize(size_t length)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1802,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1808,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1811,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: io::CodedInputStream::SetRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: io::CodedInputStream*::RecursionBudget
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1818,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1821,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1831,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1832,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1833,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1834,1
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1835,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1836,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1837,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1838,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1841,1
    - Dst: MS::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1854,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - input
    - ms
    argTypes:
    - io::CodedInputStream*
    - MS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1858
    functionName: google::protobuf::internal::ParseMessageSetItemImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - std::string::clear
    - io::CodedInputStream*::ReadRaw
    - static_cast<int32>
    - io::CodedInputStream*::RecursionBudget
    - google::protobuf::CodedOutputStream::VarintSize32
    - std::string::data
    - static_cast<uint32>
    - io::CodedInputStream::SetRecursionLimit
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - MS::ParseField
    - static_cast<int>
    - reinterpret_cast<uint8*>
    - std::string::size
    - io::CodedInputStream*::ReadVarint32
    - std::string::empty
    - std::string::resize
    - reinterpret_cast<const uint8*>
    - io::CodedInputStream*::ReadTagNoLastTag
    - MS::SkipField
    linkageType: ''
    returnType: bool
    signature: bool ParseMessageSetItemImpl(io::CodedInputStream* input, MS ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:216,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:218,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:220,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:222,1
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 736
    functionName: google::protobuf::internal::WireFormatLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ReadMessage
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - static_cast<uint32>
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    - static_cast<int>
    - InternalWriteMessage
    - InternalWriteGroup
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT WireFormatLite
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::internal::WireTypeForFieldType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: "WireFormatLite::WireType WireTypeForFieldType(\n      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FIELD_NUMBER
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG(FIELD_NUMBER, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::ReadMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - ReadMessage
    linkageType: ''
    returnType: bool
    signature: "bool ReadMessageNoVirtual(io::CodedInputStream* input,\n                                          MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: google::protobuf::internal::WriteGroupToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteGroup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteGroupToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 665
    functionName: google::protobuf::internal::WriteMessageToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteMessageToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FieldSkipper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: google::protobuf::internal::FieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::FieldSkipper
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 745
    functionName: ~FieldSkipper()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FieldSkipper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 775
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedOutputStreamFieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: "WireFormatLite::CppType WireFormatLite::FieldTypeToCppType(\n    FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: google::protobuf::internal::WireFormatLite::MakeTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 38
    functionsReached:
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    linkageType: ''
    returnType: uint32
    signature: "uint32 WireFormatLite::MakeTag(int field_number,\n                                                WireType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WireType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 791
    functionName: google::protobuf::internal::WireFormatLite::GetTagWireType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 40
    functionsReached:
    - static_cast<WireType>
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: WireFormatLite::WireType WireFormatLite::GetTagWireType(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionName: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int WireFormatLite::GetTagFieldNumber(uint32 tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:799,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 807
    functionName: google::protobuf::internal::WireFormatLite::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::TagSize(int field_number,\n                                      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::WireFormatLite::EncodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - bit_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::EncodeFloat(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 815
    functionName: google::protobuf::internal::WireFormatLite::DecodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<float>
    linkageType: ''
    returnType: float
    signature: float WireFormatLite::DecodeFloat(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::WireFormatLite::EncodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - bit_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::EncodeDouble(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::WireFormatLite::DecodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<double>
    linkageType: ''
    returnType: double
    signature: double WireFormatLite::DecodeDouble(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::ZigZagEncode32(int32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int32>
    linkageType: ''
    returnType: int32
    signature: int32 WireFormatLite::ZigZagDecode32(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 864
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::ZigZagEncode64(int64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 869
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int64>
    linkageType: ''
    returnType: int64
    signature: int64 WireFormatLite::ZigZagDecode64(uint64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 877
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string**
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' unknown_fields'
    - target
    - stream
    argTypes:
    - std::string
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 889
    functionName: google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerializeUnknownMessageSetItemsToArray(\n    const
      std::string& unknown_fields, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' unknown_fields'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: google::protobuf::internal::ComputeUnknownMessageSetItemsSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: "size_t ComputeUnknownMessageSetItemsSize(\n    const std::string&
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:902,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:910,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 913
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - static_cast<int64>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 923
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:928,1
    - Dst: ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - ZigZagDecode32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:936,1
    - Dst: ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 939
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - ZigZagDecode64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:954,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 957
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - static_cast<int32>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:962,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int64>
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:970,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 973
    functionName: "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - DecodeFloat
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:978,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 981
    functionName: "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    - DecodeDouble
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 989
    functionName: "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:994,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 997
    functionName: "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1004
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1016,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1019
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1025,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1028
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - static_cast<int64>
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1034,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1037
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - DecodeFloat
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1043,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1046
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - DecodeDouble
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1053,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1054,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1056,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1057,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - tag
    - input
    - values
    argTypes:
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1062
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::ExpectTag
    - RepeatedField<CType>*::Capacity
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitive(\n    int,  // tag_size,
      unused.\n    uint32 tag, io::CodedInputStream* input, RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1070,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1071,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1084,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1086,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1088,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: google::protobuf::CodedInputStream::ExpectTagFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1095,1
    - Dst: ReadPrimitiveFromArray<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1097,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1098,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - values
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1107
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ExpectTagFromArray
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - ReadPrimitive<CType, DeclaredType>
    - reinterpret_cast<const uint8*>
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Capacity
    - static_cast<size_t>
    - RepeatedField<CType>*::AddAlreadyReserved
    - static_cast<int>
    - ReadPrimitiveFromArray<CType, DeclaredType>
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedFixedSizePrimitive(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1121
    functionName: READ_REPEATED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - value
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitiveNoInline(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1143,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1144,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1145,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1147,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1148,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::PopLimit
    - io::CodedInputStream*::PushLimit
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitive(io::CodedInputStream* input,\n
      \                                               RepeatedField<CType>* values)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1158,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1159,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1160,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1161,1
    - Dst: io::CodedInputStream*::BytesUntilTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1175,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1177,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: RepeatedField<CType>*::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: RepeatedField<CType>*::mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1189,1
    - Dst: RepeatedField<CType>*::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1190,1
    - Dst: RepeatedField<CType>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1194,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1197,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1198,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1207,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1212
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Resize
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Truncate
    - static_cast<int64>
    - io::CodedInputStream*::ReadRaw
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::Reserve
    - io::CodedInputStream*::BytesUntilTotalBytesLimit
    - static_cast<int>
    - RepeatedField<CType>*::mutable_data
    - RepeatedField<CType>*::size
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedFixedSizePrimitive(\n    io::CodedInputStream*
      input, RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1225
    functionName: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1239
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitiveNoInline(io::CodedInputStream*
      input,\n                                                 RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1246,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1247,1
    - Dst: io::CodedInputStream*::UnsafeDecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1248,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - field_number
    - input
    - value
    argTypes:
    - int
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1254
    functionName: google::protobuf::internal::WireFormatLite::ReadGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::UnsafeDecrementRecursionDepth
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::IncrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadGroup(int field_number,\n                                      io::CodedInputStream*
      input,\n                                      MessageType* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1259,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1261,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1262,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1266
    functionName: google::protobuf::internal::WireFormatLite::ReadMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadMessage(io::CodedInputStream* input,\n                                        MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - output
    argTypes:
    - int
    - WireType
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: google::protobuf::internal::WireFormatLite::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 180
    functionsReached:
    - io::CodedOutputStream*::WriteTag
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteTag(int field_number, WireType type,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1278
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32NoTag(int32 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1282
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64NoTag(int64 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1286
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32NoTag(uint32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1290
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64NoTag(uint64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1294
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32NoTag(int32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1298
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64NoTag(int64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32NoTag(uint32 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1306
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64NoTag(uint64 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1310
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint32>
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32NoTag(int32 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1314
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64NoTag(int64 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1315
    functionDepth: 1
    functionLinenumber: 1315
    functionLinenumberEnd: 1318
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatNoTag(float value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1322
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleNoTag(double value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1326
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolNoTag(bool value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1330
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnumNoTag(int value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1338,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1339,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupNoVirtual(\n    int field_number, const
      MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1346,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1347,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1348,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1343
    functionDepth: 3
    functionLinenumber: 1343
    functionLinenumberEnd: 1350
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    - io::CodedOutputStream*::WriteVarint32
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageNoVirtual(\n    int field_number,
      const MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - target
    argTypes:
    - int
    - WireType
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1358
    functionName: google::protobuf::internal::WireFormatLite::WriteTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 48
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteTagToArray(int field_number, WireType
      type,\n                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1363
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 18
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(int32 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1368
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(int64 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1372
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(uint32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1376
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(uint64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(int32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(int64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 26
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(uint32 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1394
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 26
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(uint64 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1397,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1399
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 18
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(int32 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1402,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1404
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 18
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(int64 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1409
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 18
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(float value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1414
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(double value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1417
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 26
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteBoolNoTagToArray(bool value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1420
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteEnumNoTagToArray(int value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1425,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1426,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1428,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1435
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 18
    functionsReached:
    - Writer
    - GOOGLE_DCHECK_GT
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1443,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1444,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1446,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1447,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1453
    functionName: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - memcpy
    - data
    - static_cast<size_t>
    - GOOGLE_DCHECK_GT
    - static_cast<int>
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixedNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1455
    functionDepth: 2
    functionLinenumber: 1455
    functionLinenumberEnd: 1458
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1459
    functionDepth: 2
    functionLinenumber: 1459
    functionLinenumberEnd: 1462
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1463
    functionDepth: 2
    functionLinenumber: 1463
    functionLinenumberEnd: 1466
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1470
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1474
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1479
    functionDepth: 3
    functionLinenumber: 1479
    functionLinenumberEnd: 1482
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 26
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1483
    functionDepth: 3
    functionLinenumber: 1483
    functionLinenumberEnd: 1486
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 26
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1490
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1491
    functionDepth: 3
    functionLinenumber: 1491
    functionLinenumberEnd: 1494
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 3
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(\n    const RepeatedField<float>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 3
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(\n    const RepeatedField<double>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1506
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 26
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolNoTagToArray(\n    const RepeatedField<bool>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1510
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumNoTagToArray(\n    const RepeatedField<int>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1514,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1512
    functionDepth: 3
    functionLinenumber: 1512
    functionLinenumberEnd: 1516
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(int field_number, int32
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1519,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(int field_number, int64
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1524,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1522
    functionDepth: 3
    functionLinenumber: 1522
    functionLinenumberEnd: 1526
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(int field_number, uint32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1529,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1527
    functionDepth: 3
    functionLinenumber: 1527
    functionLinenumberEnd: 1531
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(int field_number, uint64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1534,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1532
    functionDepth: 3
    functionLinenumber: 1532
    functionLinenumberEnd: 1536
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(int field_number, int32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1539,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1541
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(int field_number, int64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1544,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1546
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(int field_number,\n                                                  uint32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1549,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1547
    functionDepth: 3
    functionLinenumber: 1547
    functionLinenumberEnd: 1551
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(int field_number,\n                                                  uint64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1554,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1552
    functionDepth: 3
    functionLinenumber: 1552
    functionLinenumberEnd: 1556
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(int field_number,\n                                                   int32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1559,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1557
    functionDepth: 3
    functionLinenumber: 1557
    functionLinenumberEnd: 1561
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(int field_number,\n                                                   int64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1564,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1562
    functionDepth: 3
    functionLinenumber: 1562
    functionLinenumberEnd: 1566
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(int field_number, float
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1569,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1567
    functionDepth: 3
    functionLinenumber: 1567
    functionLinenumberEnd: 1571
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(int field_number, double
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1574,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1572
    functionDepth: 3
    functionLinenumber: 1572
    functionLinenumberEnd: 1576
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number, bool value,\n
      \                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1579,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1581
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number, int value,\n
      \                                              uint8* target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1587,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1592,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - (*Writer)(int, T, uint8*)
    - target
    argTypes:
    - int
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1599
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 28
    functionsReached:
    - Writer
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveToArray(\n    int field_number,
      const RepeatedField<T>& value,\n    uint8* (*Writer)(int, T, uint8*), uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1604
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1608
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1612
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1616
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1620
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1624
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1629
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1639
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1644
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1648
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(\n    int field_number,
      const RepeatedField<float>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1652
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(\n    int field_number,
      const RepeatedField<double>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1657
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number,\n                                               const
      RepeatedField<bool>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1662
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number,\n                                               const
      RepeatedField<int>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1670,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1663
    functionDepth: 3
    functionLinenumber: 1663
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::WireFormatLite::WriteStringToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteStringToArray(int field_number,\n                                                 const
      std::string& value,\n                                                 uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1676,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1673
    functionDepth: 3
    functionLinenumber: 1673
    functionLinenumberEnd: 1678
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBytesToArray(int field_number,\n                                                const
      std::string& value,\n                                                uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1685,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1686,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1687,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1682
    functionDepth: 3
    functionLinenumber: 1682
    functionLinenumberEnd: 1689
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroup(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1694,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1695,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1691
    functionDepth: 3
    functionLinenumber: 1691
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - GetCachedSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessage(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1706,1
    - Dst: "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1707,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1703
    functionDepth: 3
    functionLinenumber: 1703
    functionLinenumberEnd: 1710
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroupNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1715,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1716,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1717,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1718,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1712
    functionDepth: 3
    functionLinenumber: 1712
    functionLinenumberEnd: 1723
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessageNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1727
    functionDepth: 1
    functionLinenumber: 1727
    functionLinenumberEnd: 1729
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1730
    functionDepth: 1
    functionLinenumber: 1730
    functionLinenumberEnd: 1732
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1735
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 13
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1738
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1741
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1742
    functionDepth: 1
    functionLinenumber: 1742
    functionLinenumberEnd: 1744
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1747
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1749
    functionDepth: 2
    functionLinenumber: 1749
    functionLinenumberEnd: 1751
    functionName: google::protobuf::internal::WireFormatLite::StringSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::StringSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1752
    functionDepth: 2
    functionLinenumber: 1752
    functionLinenumberEnd: 1754
    functionName: google::protobuf::internal::WireFormatLite::BytesSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::BytesSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1760
    functionName: google::protobuf::internal::WireFormatLite::GroupSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::GroupSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1764
    functionName: google::protobuf::internal::WireFormatLite::MessageSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::MessageSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1772
    functionName: google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::GroupSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1776,1
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1774
    functionDepth: 2
    functionLinenumber: 1774
    functionLinenumberEnd: 1778
    functionName: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::MessageSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1787
    functionName: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 20
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::LengthDelimitedSize(size_t length)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1802,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1808,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1811,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: io::CodedInputStream::SetRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: io::CodedInputStream*::RecursionBudget
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1818,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1821,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1831,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1832,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1833,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1834,1
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1835,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1836,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1837,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1838,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1841,1
    - Dst: MS::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1854,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - input
    - ms
    argTypes:
    - io::CodedInputStream*
    - MS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1858
    functionName: google::protobuf::internal::ParseMessageSetItemImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - std::string::clear
    - io::CodedInputStream*::ReadRaw
    - static_cast<int32>
    - io::CodedInputStream*::RecursionBudget
    - google::protobuf::CodedOutputStream::VarintSize32
    - std::string::data
    - static_cast<uint32>
    - io::CodedInputStream::SetRecursionLimit
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - MS::ParseField
    - static_cast<int>
    - reinterpret_cast<uint8*>
    - std::string::size
    - io::CodedInputStream*::ReadVarint32
    - std::string::empty
    - std::string::resize
    - reinterpret_cast<const uint8*>
    - io::CodedInputStream*::ReadTagNoLastTag
    - MS::SkipField
    linkageType: ''
    returnType: bool
    signature: bool ParseMessageSetItemImpl(io::CodedInputStream* input, MS ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:216,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:218,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:220,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:222,1
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 736
    functionName: google::protobuf::internal::WireFormatLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ReadMessage
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - static_cast<uint32>
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    - static_cast<int>
    - InternalWriteMessage
    - InternalWriteGroup
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT WireFormatLite
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::internal::WireTypeForFieldType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: "WireFormatLite::WireType WireTypeForFieldType(\n      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FIELD_NUMBER
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG(FIELD_NUMBER, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::ReadMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - ReadMessage
    linkageType: ''
    returnType: bool
    signature: "bool ReadMessageNoVirtual(io::CodedInputStream* input,\n                                          MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: google::protobuf::internal::WriteGroupToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteGroup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteGroupToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 665
    functionName: google::protobuf::internal::WriteMessageToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteMessageToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FieldSkipper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: google::protobuf::internal::FieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::FieldSkipper
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 745
    functionName: ~FieldSkipper()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FieldSkipper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 775
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedOutputStreamFieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: "WireFormatLite::CppType WireFormatLite::FieldTypeToCppType(\n    FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: google::protobuf::internal::WireFormatLite::MakeTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 41
    functionsReached:
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    linkageType: ''
    returnType: uint32
    signature: "uint32 WireFormatLite::MakeTag(int field_number,\n                                                WireType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WireType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 791
    functionName: google::protobuf::internal::WireFormatLite::GetTagWireType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 40
    functionsReached:
    - static_cast<WireType>
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: WireFormatLite::WireType WireFormatLite::GetTagWireType(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionName: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int WireFormatLite::GetTagFieldNumber(uint32 tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:799,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 807
    functionName: google::protobuf::internal::WireFormatLite::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::TagSize(int field_number,\n                                      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::WireFormatLite::EncodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - bit_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::EncodeFloat(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 815
    functionName: google::protobuf::internal::WireFormatLite::DecodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<float>
    linkageType: ''
    returnType: float
    signature: float WireFormatLite::DecodeFloat(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::WireFormatLite::EncodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - bit_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::EncodeDouble(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::WireFormatLite::DecodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<double>
    linkageType: ''
    returnType: double
    signature: double WireFormatLite::DecodeDouble(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 17
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::ZigZagEncode32(int32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int32>
    linkageType: ''
    returnType: int32
    signature: int32 WireFormatLite::ZigZagDecode32(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 864
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 17
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::ZigZagEncode64(int64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 869
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int64>
    linkageType: ''
    returnType: int64
    signature: int64 WireFormatLite::ZigZagDecode64(uint64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 877
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string**
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' unknown_fields'
    - target
    - stream
    argTypes:
    - std::string
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 889
    functionName: google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerializeUnknownMessageSetItemsToArray(\n    const
      std::string& unknown_fields, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' unknown_fields'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: google::protobuf::internal::ComputeUnknownMessageSetItemsSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: "size_t ComputeUnknownMessageSetItemsSize(\n    const std::string&
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:902,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:910,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 913
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - static_cast<int64>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 923
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:928,1
    - Dst: ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - ZigZagDecode32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:936,1
    - Dst: ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 939
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - ZigZagDecode64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:954,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 957
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - static_cast<int32>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:962,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int64>
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:970,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 973
    functionName: "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - DecodeFloat
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:978,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 981
    functionName: "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    - DecodeDouble
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 989
    functionName: "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:994,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 997
    functionName: "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1004
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1016,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1019
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1025,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1028
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - static_cast<int64>
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1034,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1037
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - DecodeFloat
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1043,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1046
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - DecodeDouble
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1053,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1054,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1056,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1057,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - tag
    - input
    - values
    argTypes:
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1062
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 3
    functionsReached:
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::ExpectTag
    - RepeatedField<CType>*::Capacity
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitive(\n    int,  // tag_size,
      unused.\n    uint32 tag, io::CodedInputStream* input, RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1070,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1071,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1084,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1086,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1088,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: google::protobuf::CodedInputStream::ExpectTagFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1095,1
    - Dst: ReadPrimitiveFromArray<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1097,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1098,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - values
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1107
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ExpectTagFromArray
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - ReadPrimitive<CType, DeclaredType>
    - reinterpret_cast<const uint8*>
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Capacity
    - static_cast<size_t>
    - RepeatedField<CType>*::AddAlreadyReserved
    - static_cast<int>
    - ReadPrimitiveFromArray<CType, DeclaredType>
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedFixedSizePrimitive(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1121
    functionName: READ_REPEATED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - value
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitiveNoInline(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1143,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1144,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1145,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1147,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1148,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 3
    functionsReached:
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::PopLimit
    - io::CodedInputStream*::PushLimit
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitive(io::CodedInputStream* input,\n
      \                                               RepeatedField<CType>* values)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1158,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1159,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1160,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1161,1
    - Dst: io::CodedInputStream*::BytesUntilTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1175,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1177,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: RepeatedField<CType>*::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: RepeatedField<CType>*::mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1189,1
    - Dst: RepeatedField<CType>*::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1190,1
    - Dst: RepeatedField<CType>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1194,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1197,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1198,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1207,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1212
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Resize
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Truncate
    - static_cast<int64>
    - io::CodedInputStream*::ReadRaw
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::Reserve
    - io::CodedInputStream*::BytesUntilTotalBytesLimit
    - static_cast<int>
    - RepeatedField<CType>*::mutable_data
    - RepeatedField<CType>*::size
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedFixedSizePrimitive(\n    io::CodedInputStream*
      input, RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1225
    functionName: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1239
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitiveNoInline(io::CodedInputStream*
      input,\n                                                 RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1246,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1247,1
    - Dst: io::CodedInputStream*::UnsafeDecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1248,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - field_number
    - input
    - value
    argTypes:
    - int
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1254
    functionName: google::protobuf::internal::WireFormatLite::ReadGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::UnsafeDecrementRecursionDepth
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::IncrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadGroup(int field_number,\n                                      io::CodedInputStream*
      input,\n                                      MessageType* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1259,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1261,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1262,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1266
    functionName: google::protobuf::internal::WireFormatLite::ReadMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadMessage(io::CodedInputStream* input,\n                                        MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - output
    argTypes:
    - int
    - WireType
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: google::protobuf::internal::WireFormatLite::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 182
    functionsReached:
    - io::CodedOutputStream*::WriteTag
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteTag(int field_number, WireType type,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1278
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32NoTag(int32 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1282
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64NoTag(int64 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1286
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32NoTag(uint32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1290
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64NoTag(uint64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1294
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32NoTag(int32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1298
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64NoTag(int64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32NoTag(uint32 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1306
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64NoTag(uint64 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1310
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint32>
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32NoTag(int32 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1314
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64NoTag(int64 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1315
    functionDepth: 1
    functionLinenumber: 1315
    functionLinenumberEnd: 1318
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatNoTag(float value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1322
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleNoTag(double value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1326
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolNoTag(bool value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1330
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnumNoTag(int value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1338,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1339,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupNoVirtual(\n    int field_number, const
      MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1346,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1347,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1348,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1343
    functionDepth: 3
    functionLinenumber: 1343
    functionLinenumberEnd: 1350
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    - io::CodedOutputStream*::WriteVarint32
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageNoVirtual(\n    int field_number,
      const MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - target
    argTypes:
    - int
    - WireType
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1358
    functionName: google::protobuf::internal::WireFormatLite::WriteTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 68
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteTagToArray(int field_number, WireType
      type,\n                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1363
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 19
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(int32 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1368
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 11
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(int64 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1372
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 11
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(uint32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1376
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 11
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(uint64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 11
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(int32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 11
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(int64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 27
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(uint32 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1394
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 27
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(uint64 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1397,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1399
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 19
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(int32 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1402,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1404
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 19
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(int64 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1409
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 19
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(float value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1414
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 19
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(double value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1417
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 27
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteBoolNoTagToArray(bool value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1420
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteEnumNoTagToArray(int value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1425,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1426,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1428,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1435
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 27
    functionsReached:
    - Writer
    - GOOGLE_DCHECK_GT
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1443,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1444,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1446,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1447,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1453
    functionName: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 18
    functionsReached:
    - memcpy
    - data
    - static_cast<size_t>
    - GOOGLE_DCHECK_GT
    - static_cast<int>
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixedNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1455
    functionDepth: 2
    functionLinenumber: 1455
    functionLinenumberEnd: 1458
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 19
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1459
    functionDepth: 2
    functionLinenumber: 1459
    functionLinenumberEnd: 1462
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 11
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1463
    functionDepth: 2
    functionLinenumber: 1463
    functionLinenumberEnd: 1466
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 11
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1470
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 11
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1474
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 11
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 11
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1479
    functionDepth: 3
    functionLinenumber: 1479
    functionLinenumberEnd: 1482
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 27
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1483
    functionDepth: 3
    functionLinenumber: 1483
    functionLinenumberEnd: 1486
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 27
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1490
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 19
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1491
    functionDepth: 3
    functionLinenumber: 1491
    functionLinenumberEnd: 1494
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 19
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 3
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 19
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(\n    const RepeatedField<float>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 3
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 19
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(\n    const RepeatedField<double>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1506
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 27
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolNoTagToArray(\n    const RepeatedField<bool>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1510
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumNoTagToArray(\n    const RepeatedField<int>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1514,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1512
    functionDepth: 3
    functionLinenumber: 1512
    functionLinenumberEnd: 1516
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(int field_number, int32
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1519,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(int field_number, int64
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1524,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1522
    functionDepth: 3
    functionLinenumber: 1522
    functionLinenumberEnd: 1526
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(int field_number, uint32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1529,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1527
    functionDepth: 3
    functionLinenumber: 1527
    functionLinenumberEnd: 1531
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(int field_number, uint64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1534,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1532
    functionDepth: 3
    functionLinenumber: 1532
    functionLinenumberEnd: 1536
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(int field_number, int32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1539,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1541
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(int field_number, int64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1544,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1546
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(int field_number,\n                                                  uint32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1549,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1547
    functionDepth: 3
    functionLinenumber: 1547
    functionLinenumberEnd: 1551
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(int field_number,\n                                                  uint64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1554,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1552
    functionDepth: 3
    functionLinenumber: 1552
    functionLinenumberEnd: 1556
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(int field_number,\n                                                   int32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1559,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1557
    functionDepth: 3
    functionLinenumber: 1557
    functionLinenumberEnd: 1561
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(int field_number,\n                                                   int64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1564,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1562
    functionDepth: 3
    functionLinenumber: 1562
    functionLinenumberEnd: 1566
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(int field_number, float
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1569,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1567
    functionDepth: 3
    functionLinenumber: 1567
    functionLinenumberEnd: 1571
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(int field_number, double
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1574,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1572
    functionDepth: 3
    functionLinenumber: 1572
    functionLinenumberEnd: 1576
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number, bool value,\n
      \                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1579,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1581
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number, int value,\n
      \                                              uint8* target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1587,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1592,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - (*Writer)(int, T, uint8*)
    - target
    argTypes:
    - int
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1599
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 42
    functionsReached:
    - Writer
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveToArray(\n    int field_number,
      const RepeatedField<T>& value,\n    uint8* (*Writer)(int, T, uint8*), uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1604
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1608
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1612
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1616
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1620
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1624
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1629
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1639
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1644
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1648
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(\n    int field_number,
      const RepeatedField<float>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1652
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(\n    int field_number,
      const RepeatedField<double>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1657
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number,\n                                               const
      RepeatedField<bool>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1662
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number,\n                                               const
      RepeatedField<int>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1670,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1663
    functionDepth: 3
    functionLinenumber: 1663
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::WireFormatLite::WriteStringToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteStringToArray(int field_number,\n                                                 const
      std::string& value,\n                                                 uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1676,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1673
    functionDepth: 3
    functionLinenumber: 1673
    functionLinenumberEnd: 1678
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBytesToArray(int field_number,\n                                                const
      std::string& value,\n                                                uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1685,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1686,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1687,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1682
    functionDepth: 3
    functionLinenumber: 1682
    functionLinenumberEnd: 1689
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroup(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1694,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1695,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1691
    functionDepth: 3
    functionLinenumber: 1691
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - GetCachedSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessage(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1706,1
    - Dst: "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1707,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1703
    functionDepth: 3
    functionLinenumber: 1703
    functionLinenumberEnd: 1710
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroupNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1715,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1716,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1717,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1718,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1712
    functionDepth: 3
    functionLinenumber: 1712
    functionLinenumberEnd: 1723
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessageNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1727
    functionDepth: 1
    functionLinenumber: 1727
    functionLinenumberEnd: 1729
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1730
    functionDepth: 1
    functionLinenumber: 1730
    functionLinenumberEnd: 1732
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1735
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1738
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1741
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1742
    functionDepth: 1
    functionLinenumber: 1742
    functionLinenumberEnd: 1744
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1747
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1749
    functionDepth: 2
    functionLinenumber: 1749
    functionLinenumberEnd: 1751
    functionName: google::protobuf::internal::WireFormatLite::StringSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::StringSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1752
    functionDepth: 2
    functionLinenumber: 1752
    functionLinenumberEnd: 1754
    functionName: google::protobuf::internal::WireFormatLite::BytesSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::BytesSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1760
    functionName: google::protobuf::internal::WireFormatLite::GroupSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::GroupSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1764
    functionName: google::protobuf::internal::WireFormatLite::MessageSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::MessageSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1772
    functionName: google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::GroupSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1776,1
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1774
    functionDepth: 2
    functionLinenumber: 1774
    functionLinenumberEnd: 1778
    functionName: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::MessageSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1787
    functionName: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::LengthDelimitedSize(size_t length)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1802,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1808,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1811,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: io::CodedInputStream::SetRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: io::CodedInputStream*::RecursionBudget
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1818,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1821,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1831,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1832,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1833,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1834,1
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1835,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1836,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1837,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1838,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1841,1
    - Dst: MS::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1854,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - input
    - ms
    argTypes:
    - io::CodedInputStream*
    - MS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1858
    functionName: google::protobuf::internal::ParseMessageSetItemImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - std::string::clear
    - io::CodedInputStream*::ReadRaw
    - static_cast<int32>
    - io::CodedInputStream*::RecursionBudget
    - google::protobuf::CodedOutputStream::VarintSize32
    - std::string::data
    - static_cast<uint32>
    - io::CodedInputStream::SetRecursionLimit
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - MS::ParseField
    - static_cast<int>
    - reinterpret_cast<uint8*>
    - std::string::size
    - io::CodedInputStream*::ReadVarint32
    - std::string::empty
    - std::string::resize
    - reinterpret_cast<const uint8*>
    - io::CodedInputStream*::ReadTagNoLastTag
    - MS::SkipField
    linkageType: ''
    returnType: bool
    signature: bool ParseMessageSetItemImpl(io::CodedInputStream* input, MS ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:216,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:218,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:220,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:222,1
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 736
    functionName: google::protobuf::internal::WireFormatLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ReadMessage
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - static_cast<uint32>
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    - static_cast<int>
    - InternalWriteMessage
    - InternalWriteGroup
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT WireFormatLite
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::internal::WireTypeForFieldType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: "WireFormatLite::WireType WireTypeForFieldType(\n      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FIELD_NUMBER
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG(FIELD_NUMBER, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::ReadMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - ReadMessage
    linkageType: ''
    returnType: bool
    signature: "bool ReadMessageNoVirtual(io::CodedInputStream* input,\n                                          MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: google::protobuf::internal::WriteGroupToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteGroup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteGroupToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 665
    functionName: google::protobuf::internal::WriteMessageToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteMessageToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FieldSkipper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: google::protobuf::internal::FieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::FieldSkipper
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 745
    functionName: ~FieldSkipper()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FieldSkipper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 775
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedOutputStreamFieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: "WireFormatLite::CppType WireFormatLite::FieldTypeToCppType(\n    FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: google::protobuf::internal::WireFormatLite::MakeTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 44
    functionsReached:
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    linkageType: ''
    returnType: uint32
    signature: "uint32 WireFormatLite::MakeTag(int field_number,\n                                                WireType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WireType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 791
    functionName: google::protobuf::internal::WireFormatLite::GetTagWireType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 40
    functionsReached:
    - static_cast<WireType>
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: WireFormatLite::WireType WireFormatLite::GetTagWireType(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionName: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int WireFormatLite::GetTagFieldNumber(uint32 tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:799,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 807
    functionName: google::protobuf::internal::WireFormatLite::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::TagSize(int field_number,\n                                      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::WireFormatLite::EncodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - bit_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::EncodeFloat(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 815
    functionName: google::protobuf::internal::WireFormatLite::DecodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<float>
    linkageType: ''
    returnType: float
    signature: float WireFormatLite::DecodeFloat(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::WireFormatLite::EncodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - bit_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::EncodeDouble(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::WireFormatLite::DecodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<double>
    linkageType: ''
    returnType: double
    signature: double WireFormatLite::DecodeDouble(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 20
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::ZigZagEncode32(int32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int32>
    linkageType: ''
    returnType: int32
    signature: int32 WireFormatLite::ZigZagDecode32(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 864
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 20
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::ZigZagEncode64(int64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 869
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int64>
    linkageType: ''
    returnType: int64
    signature: int64 WireFormatLite::ZigZagDecode64(uint64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 877
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string**
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' unknown_fields'
    - target
    - stream
    argTypes:
    - std::string
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 889
    functionName: google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerializeUnknownMessageSetItemsToArray(\n    const
      std::string& unknown_fields, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' unknown_fields'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: google::protobuf::internal::ComputeUnknownMessageSetItemsSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: "size_t ComputeUnknownMessageSetItemsSize(\n    const std::string&
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:902,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:910,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 913
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - static_cast<int64>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 923
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:928,1
    - Dst: ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - ZigZagDecode32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:936,1
    - Dst: ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 939
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - ZigZagDecode64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:954,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 957
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - static_cast<int32>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:962,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int64>
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:970,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 973
    functionName: "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - DecodeFloat
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:978,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 981
    functionName: "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    - DecodeDouble
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 989
    functionName: "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:994,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 997
    functionName: "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1004
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1016,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1019
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1025,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1028
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - static_cast<int64>
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1034,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1037
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - DecodeFloat
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1043,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1046
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - DecodeDouble
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1053,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1054,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1056,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1057,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - tag
    - input
    - values
    argTypes:
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1062
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::ExpectTag
    - RepeatedField<CType>*::Capacity
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitive(\n    int,  // tag_size,
      unused.\n    uint32 tag, io::CodedInputStream* input, RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1070,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1071,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1084,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1086,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1088,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: google::protobuf::CodedInputStream::ExpectTagFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1095,1
    - Dst: ReadPrimitiveFromArray<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1097,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1098,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - values
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1107
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ExpectTagFromArray
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - ReadPrimitive<CType, DeclaredType>
    - reinterpret_cast<const uint8*>
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Capacity
    - static_cast<size_t>
    - RepeatedField<CType>*::AddAlreadyReserved
    - static_cast<int>
    - ReadPrimitiveFromArray<CType, DeclaredType>
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedFixedSizePrimitive(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1121
    functionName: READ_REPEATED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - value
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitiveNoInline(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1143,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1144,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1145,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1147,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1148,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::PopLimit
    - io::CodedInputStream*::PushLimit
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitive(io::CodedInputStream* input,\n
      \                                               RepeatedField<CType>* values)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1158,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1159,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1160,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1161,1
    - Dst: io::CodedInputStream*::BytesUntilTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1175,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1177,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: RepeatedField<CType>*::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: RepeatedField<CType>*::mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1189,1
    - Dst: RepeatedField<CType>*::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1190,1
    - Dst: RepeatedField<CType>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1194,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1197,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1198,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1207,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1212
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Resize
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Truncate
    - static_cast<int64>
    - io::CodedInputStream*::ReadRaw
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::Reserve
    - io::CodedInputStream*::BytesUntilTotalBytesLimit
    - static_cast<int>
    - RepeatedField<CType>*::mutable_data
    - RepeatedField<CType>*::size
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedFixedSizePrimitive(\n    io::CodedInputStream*
      input, RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1225
    functionName: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1239
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitiveNoInline(io::CodedInputStream*
      input,\n                                                 RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1246,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1247,1
    - Dst: io::CodedInputStream*::UnsafeDecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1248,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - field_number
    - input
    - value
    argTypes:
    - int
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1254
    functionName: google::protobuf::internal::WireFormatLite::ReadGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::UnsafeDecrementRecursionDepth
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::IncrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadGroup(int field_number,\n                                      io::CodedInputStream*
      input,\n                                      MessageType* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1259,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1261,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1262,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1266
    functionName: google::protobuf::internal::WireFormatLite::ReadMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadMessage(io::CodedInputStream* input,\n                                        MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - output
    argTypes:
    - int
    - WireType
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: google::protobuf::internal::WireFormatLite::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 184
    functionsReached:
    - io::CodedOutputStream*::WriteTag
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteTag(int field_number, WireType type,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1278
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32NoTag(int32 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1282
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64NoTag(int64 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1286
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32NoTag(uint32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1290
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64NoTag(uint64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1294
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32NoTag(int32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1298
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64NoTag(int64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32NoTag(uint32 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1306
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64NoTag(uint64 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1310
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint32>
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32NoTag(int32 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1314
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64NoTag(int64 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1315
    functionDepth: 1
    functionLinenumber: 1315
    functionLinenumberEnd: 1318
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatNoTag(float value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1322
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleNoTag(double value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1326
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolNoTag(bool value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1330
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnumNoTag(int value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1338,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1339,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupNoVirtual(\n    int field_number, const
      MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1346,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1347,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1348,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1343
    functionDepth: 3
    functionLinenumber: 1343
    functionLinenumberEnd: 1350
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    - io::CodedOutputStream*::WriteVarint32
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageNoVirtual(\n    int field_number,
      const MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - target
    argTypes:
    - int
    - WireType
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1358
    functionName: google::protobuf::internal::WireFormatLite::WriteTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 88
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteTagToArray(int field_number, WireType
      type,\n                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1363
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 20
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(int32 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1368
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(int64 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1372
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(uint32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1376
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(uint64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(int32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(int64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 28
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(uint32 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1394
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 28
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(uint64 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1397,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1399
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 20
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(int32 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1402,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1404
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 20
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(int64 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1409
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 20
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(float value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1414
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 20
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(double value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1417
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 28
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteBoolNoTagToArray(bool value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1420
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteEnumNoTagToArray(int value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1425,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1426,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1428,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1435
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 36
    functionsReached:
    - Writer
    - GOOGLE_DCHECK_GT
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1443,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1444,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1446,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1447,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1453
    functionName: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - memcpy
    - data
    - static_cast<size_t>
    - GOOGLE_DCHECK_GT
    - static_cast<int>
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixedNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1455
    functionDepth: 2
    functionLinenumber: 1455
    functionLinenumberEnd: 1458
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 20
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1459
    functionDepth: 2
    functionLinenumber: 1459
    functionLinenumberEnd: 1462
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1463
    functionDepth: 2
    functionLinenumber: 1463
    functionLinenumberEnd: 1466
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1470
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1474
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1479
    functionDepth: 3
    functionLinenumber: 1479
    functionLinenumberEnd: 1482
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 28
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1483
    functionDepth: 3
    functionLinenumber: 1483
    functionLinenumberEnd: 1486
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 28
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1490
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 20
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1491
    functionDepth: 3
    functionLinenumber: 1491
    functionLinenumberEnd: 1494
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 20
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 3
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 20
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(\n    const RepeatedField<float>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 3
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 20
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(\n    const RepeatedField<double>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1506
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 28
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolNoTagToArray(\n    const RepeatedField<bool>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1510
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumNoTagToArray(\n    const RepeatedField<int>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1514,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1512
    functionDepth: 3
    functionLinenumber: 1512
    functionLinenumberEnd: 1516
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(int field_number, int32
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1519,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(int field_number, int64
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1524,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1522
    functionDepth: 3
    functionLinenumber: 1522
    functionLinenumberEnd: 1526
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(int field_number, uint32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1529,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1527
    functionDepth: 3
    functionLinenumber: 1527
    functionLinenumberEnd: 1531
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(int field_number, uint64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1534,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1532
    functionDepth: 3
    functionLinenumber: 1532
    functionLinenumberEnd: 1536
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(int field_number, int32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1539,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1541
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(int field_number, int64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1544,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1546
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(int field_number,\n                                                  uint32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1549,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1547
    functionDepth: 3
    functionLinenumber: 1547
    functionLinenumberEnd: 1551
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(int field_number,\n                                                  uint64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1554,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1552
    functionDepth: 3
    functionLinenumber: 1552
    functionLinenumberEnd: 1556
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(int field_number,\n                                                   int32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1559,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1557
    functionDepth: 3
    functionLinenumber: 1557
    functionLinenumberEnd: 1561
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(int field_number,\n                                                   int64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1564,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1562
    functionDepth: 3
    functionLinenumber: 1562
    functionLinenumberEnd: 1566
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(int field_number, float
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1569,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1567
    functionDepth: 3
    functionLinenumber: 1567
    functionLinenumberEnd: 1571
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(int field_number, double
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1574,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1572
    functionDepth: 3
    functionLinenumber: 1572
    functionLinenumberEnd: 1576
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number, bool value,\n
      \                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1579,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1581
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number, int value,\n
      \                                              uint8* target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1587,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1592,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - (*Writer)(int, T, uint8*)
    - target
    argTypes:
    - int
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1599
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 56
    functionsReached:
    - Writer
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveToArray(\n    int field_number,
      const RepeatedField<T>& value,\n    uint8* (*Writer)(int, T, uint8*), uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1604
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1608
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1612
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1616
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1620
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1624
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1629
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1639
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1644
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1648
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(\n    int field_number,
      const RepeatedField<float>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1652
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(\n    int field_number,
      const RepeatedField<double>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1657
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number,\n                                               const
      RepeatedField<bool>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1662
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number,\n                                               const
      RepeatedField<int>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1670,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1663
    functionDepth: 3
    functionLinenumber: 1663
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::WireFormatLite::WriteStringToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteStringToArray(int field_number,\n                                                 const
      std::string& value,\n                                                 uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1676,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1673
    functionDepth: 3
    functionLinenumber: 1673
    functionLinenumberEnd: 1678
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBytesToArray(int field_number,\n                                                const
      std::string& value,\n                                                uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1685,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1686,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1687,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1682
    functionDepth: 3
    functionLinenumber: 1682
    functionLinenumberEnd: 1689
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroup(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1694,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1695,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1691
    functionDepth: 3
    functionLinenumber: 1691
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - GetCachedSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessage(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1706,1
    - Dst: "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1707,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1703
    functionDepth: 3
    functionLinenumber: 1703
    functionLinenumberEnd: 1710
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroupNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1715,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1716,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1717,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1718,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1712
    functionDepth: 3
    functionLinenumber: 1712
    functionLinenumberEnd: 1723
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessageNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1727
    functionDepth: 1
    functionLinenumber: 1727
    functionLinenumberEnd: 1729
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1730
    functionDepth: 1
    functionLinenumber: 1730
    functionLinenumberEnd: 1732
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1735
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 15
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1738
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1741
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1742
    functionDepth: 1
    functionLinenumber: 1742
    functionLinenumberEnd: 1744
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1747
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1749
    functionDepth: 2
    functionLinenumber: 1749
    functionLinenumberEnd: 1751
    functionName: google::protobuf::internal::WireFormatLite::StringSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::StringSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1752
    functionDepth: 2
    functionLinenumber: 1752
    functionLinenumberEnd: 1754
    functionName: google::protobuf::internal::WireFormatLite::BytesSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::BytesSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1760
    functionName: google::protobuf::internal::WireFormatLite::GroupSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::GroupSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1764
    functionName: google::protobuf::internal::WireFormatLite::MessageSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::MessageSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1772
    functionName: google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::GroupSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1776,1
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1774
    functionDepth: 2
    functionLinenumber: 1774
    functionLinenumberEnd: 1778
    functionName: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::MessageSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1787
    functionName: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 28
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::LengthDelimitedSize(size_t length)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1802,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1808,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1811,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: io::CodedInputStream::SetRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: io::CodedInputStream*::RecursionBudget
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1818,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1821,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1831,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1832,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1833,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1834,1
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1835,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1836,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1837,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1838,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1841,1
    - Dst: MS::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1854,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - input
    - ms
    argTypes:
    - io::CodedInputStream*
    - MS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1858
    functionName: google::protobuf::internal::ParseMessageSetItemImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - std::string::clear
    - io::CodedInputStream*::ReadRaw
    - static_cast<int32>
    - io::CodedInputStream*::RecursionBudget
    - google::protobuf::CodedOutputStream::VarintSize32
    - std::string::data
    - static_cast<uint32>
    - io::CodedInputStream::SetRecursionLimit
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - MS::ParseField
    - static_cast<int>
    - reinterpret_cast<uint8*>
    - std::string::size
    - io::CodedInputStream*::ReadVarint32
    - std::string::empty
    - std::string::resize
    - reinterpret_cast<const uint8*>
    - io::CodedInputStream*::ReadTagNoLastTag
    - MS::SkipField
    linkageType: ''
    returnType: bool
    signature: bool ParseMessageSetItemImpl(io::CodedInputStream* input, MS ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:216,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:218,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:220,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:222,1
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 736
    functionName: google::protobuf::internal::WireFormatLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ReadMessage
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - static_cast<uint32>
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    - static_cast<int>
    - InternalWriteMessage
    - InternalWriteGroup
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT WireFormatLite
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::internal::WireTypeForFieldType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: "WireFormatLite::WireType WireTypeForFieldType(\n      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FIELD_NUMBER
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG(FIELD_NUMBER, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::ReadMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - ReadMessage
    linkageType: ''
    returnType: bool
    signature: "bool ReadMessageNoVirtual(io::CodedInputStream* input,\n                                          MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: google::protobuf::internal::WriteGroupToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteGroup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteGroupToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 665
    functionName: google::protobuf::internal::WriteMessageToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteMessageToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FieldSkipper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: google::protobuf::internal::FieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::FieldSkipper
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 745
    functionName: ~FieldSkipper()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FieldSkipper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 775
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedOutputStreamFieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: "WireFormatLite::CppType WireFormatLite::FieldTypeToCppType(\n    FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: google::protobuf::internal::WireFormatLite::MakeTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 47
    functionsReached:
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    linkageType: ''
    returnType: uint32
    signature: "uint32 WireFormatLite::MakeTag(int field_number,\n                                                WireType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WireType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 791
    functionName: google::protobuf::internal::WireFormatLite::GetTagWireType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 40
    functionsReached:
    - static_cast<WireType>
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: WireFormatLite::WireType WireFormatLite::GetTagWireType(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionName: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int WireFormatLite::GetTagFieldNumber(uint32 tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:799,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 807
    functionName: google::protobuf::internal::WireFormatLite::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::TagSize(int field_number,\n                                      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::WireFormatLite::EncodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - bit_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::EncodeFloat(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 815
    functionName: google::protobuf::internal::WireFormatLite::DecodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<float>
    linkageType: ''
    returnType: float
    signature: float WireFormatLite::DecodeFloat(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::WireFormatLite::EncodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - bit_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::EncodeDouble(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::WireFormatLite::DecodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<double>
    linkageType: ''
    returnType: double
    signature: double WireFormatLite::DecodeDouble(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 23
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::ZigZagEncode32(int32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int32>
    linkageType: ''
    returnType: int32
    signature: int32 WireFormatLite::ZigZagDecode32(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 864
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 23
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::ZigZagEncode64(int64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 869
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int64>
    linkageType: ''
    returnType: int64
    signature: int64 WireFormatLite::ZigZagDecode64(uint64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 877
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string**
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' unknown_fields'
    - target
    - stream
    argTypes:
    - std::string
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 889
    functionName: google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerializeUnknownMessageSetItemsToArray(\n    const
      std::string& unknown_fields, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' unknown_fields'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: google::protobuf::internal::ComputeUnknownMessageSetItemsSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: "size_t ComputeUnknownMessageSetItemsSize(\n    const std::string&
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:902,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:910,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 913
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - static_cast<int64>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 923
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:928,1
    - Dst: ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - ZigZagDecode32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:936,1
    - Dst: ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 939
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - ZigZagDecode64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:954,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 957
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - static_cast<int32>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:962,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int64>
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:970,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 973
    functionName: "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - DecodeFloat
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:978,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 981
    functionName: "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    - DecodeDouble
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 989
    functionName: "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:994,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 997
    functionName: "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1004
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1016,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1019
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1025,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1028
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - static_cast<int64>
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1034,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1037
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - DecodeFloat
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1043,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1046
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - DecodeDouble
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1053,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1054,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1056,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1057,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - tag
    - input
    - values
    argTypes:
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1062
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 5
    functionsReached:
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::ExpectTag
    - RepeatedField<CType>*::Capacity
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitive(\n    int,  // tag_size,
      unused.\n    uint32 tag, io::CodedInputStream* input, RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1070,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1071,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1084,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1086,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1088,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: google::protobuf::CodedInputStream::ExpectTagFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1095,1
    - Dst: ReadPrimitiveFromArray<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1097,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1098,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - values
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1107
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ExpectTagFromArray
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - ReadPrimitive<CType, DeclaredType>
    - reinterpret_cast<const uint8*>
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Capacity
    - static_cast<size_t>
    - RepeatedField<CType>*::AddAlreadyReserved
    - static_cast<int>
    - ReadPrimitiveFromArray<CType, DeclaredType>
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedFixedSizePrimitive(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1121
    functionName: READ_REPEATED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - value
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitiveNoInline(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1143,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1144,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1145,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1147,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1148,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 5
    functionsReached:
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::PopLimit
    - io::CodedInputStream*::PushLimit
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitive(io::CodedInputStream* input,\n
      \                                               RepeatedField<CType>* values)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1158,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1159,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1160,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1161,1
    - Dst: io::CodedInputStream*::BytesUntilTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1175,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1177,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: RepeatedField<CType>*::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: RepeatedField<CType>*::mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1189,1
    - Dst: RepeatedField<CType>*::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1190,1
    - Dst: RepeatedField<CType>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1194,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1197,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1198,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1207,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1212
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Resize
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Truncate
    - static_cast<int64>
    - io::CodedInputStream*::ReadRaw
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::Reserve
    - io::CodedInputStream*::BytesUntilTotalBytesLimit
    - static_cast<int>
    - RepeatedField<CType>*::mutable_data
    - RepeatedField<CType>*::size
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedFixedSizePrimitive(\n    io::CodedInputStream*
      input, RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1225
    functionName: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1239
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitiveNoInline(io::CodedInputStream*
      input,\n                                                 RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1246,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1247,1
    - Dst: io::CodedInputStream*::UnsafeDecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1248,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - field_number
    - input
    - value
    argTypes:
    - int
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1254
    functionName: google::protobuf::internal::WireFormatLite::ReadGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::UnsafeDecrementRecursionDepth
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::IncrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadGroup(int field_number,\n                                      io::CodedInputStream*
      input,\n                                      MessageType* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1259,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1261,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1262,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1266
    functionName: google::protobuf::internal::WireFormatLite::ReadMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadMessage(io::CodedInputStream* input,\n                                        MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - output
    argTypes:
    - int
    - WireType
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: google::protobuf::internal::WireFormatLite::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 186
    functionsReached:
    - io::CodedOutputStream*::WriteTag
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteTag(int field_number, WireType type,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1278
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32NoTag(int32 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1282
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64NoTag(int64 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1286
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32NoTag(uint32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1290
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64NoTag(uint64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1294
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32NoTag(int32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1298
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64NoTag(int64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32NoTag(uint32 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1306
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64NoTag(uint64 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1310
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint32>
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32NoTag(int32 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1314
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64NoTag(int64 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1315
    functionDepth: 1
    functionLinenumber: 1315
    functionLinenumberEnd: 1318
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatNoTag(float value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1322
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleNoTag(double value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1326
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolNoTag(bool value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1330
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnumNoTag(int value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1338,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1339,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupNoVirtual(\n    int field_number, const
      MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1346,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1347,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1348,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1343
    functionDepth: 3
    functionLinenumber: 1343
    functionLinenumberEnd: 1350
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    - io::CodedOutputStream*::WriteVarint32
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageNoVirtual(\n    int field_number,
      const MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - target
    argTypes:
    - int
    - WireType
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1358
    functionName: google::protobuf::internal::WireFormatLite::WriteTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 108
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteTagToArray(int field_number, WireType
      type,\n                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1363
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 21
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(int32 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1368
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 13
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(int64 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1372
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 13
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(uint32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1376
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 13
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(uint64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 13
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(int32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 13
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(int64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 29
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(uint32 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1394
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 29
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(uint64 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1397,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1399
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 21
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(int32 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1402,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1404
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 21
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(int64 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1409
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 21
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(float value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1414
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(double value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1417
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 29
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteBoolNoTagToArray(bool value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1420
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteEnumNoTagToArray(int value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1425,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1426,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1428,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1435
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 45
    functionsReached:
    - Writer
    - GOOGLE_DCHECK_GT
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1443,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1444,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1446,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1447,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1453
    functionName: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 30
    functionsReached:
    - memcpy
    - data
    - static_cast<size_t>
    - GOOGLE_DCHECK_GT
    - static_cast<int>
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixedNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1455
    functionDepth: 2
    functionLinenumber: 1455
    functionLinenumberEnd: 1458
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1459
    functionDepth: 2
    functionLinenumber: 1459
    functionLinenumberEnd: 1462
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 13
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1463
    functionDepth: 2
    functionLinenumber: 1463
    functionLinenumberEnd: 1466
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 13
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1470
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 13
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1474
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 13
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 13
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1479
    functionDepth: 3
    functionLinenumber: 1479
    functionLinenumberEnd: 1482
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 29
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1483
    functionDepth: 3
    functionLinenumber: 1483
    functionLinenumberEnd: 1486
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 29
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1490
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1491
    functionDepth: 3
    functionLinenumber: 1491
    functionLinenumberEnd: 1494
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 3
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(\n    const RepeatedField<float>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 3
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(\n    const RepeatedField<double>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1506
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 29
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolNoTagToArray(\n    const RepeatedField<bool>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1510
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumNoTagToArray(\n    const RepeatedField<int>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1514,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1512
    functionDepth: 3
    functionLinenumber: 1512
    functionLinenumberEnd: 1516
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(int field_number, int32
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1519,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(int field_number, int64
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1524,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1522
    functionDepth: 3
    functionLinenumber: 1522
    functionLinenumberEnd: 1526
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(int field_number, uint32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1529,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1527
    functionDepth: 3
    functionLinenumber: 1527
    functionLinenumberEnd: 1531
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(int field_number, uint64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1534,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1532
    functionDepth: 3
    functionLinenumber: 1532
    functionLinenumberEnd: 1536
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(int field_number, int32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1539,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1541
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(int field_number, int64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1544,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1546
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(int field_number,\n                                                  uint32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1549,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1547
    functionDepth: 3
    functionLinenumber: 1547
    functionLinenumberEnd: 1551
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(int field_number,\n                                                  uint64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1554,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1552
    functionDepth: 3
    functionLinenumber: 1552
    functionLinenumberEnd: 1556
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(int field_number,\n                                                   int32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1559,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1557
    functionDepth: 3
    functionLinenumber: 1557
    functionLinenumberEnd: 1561
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(int field_number,\n                                                   int64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1564,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1562
    functionDepth: 3
    functionLinenumber: 1562
    functionLinenumberEnd: 1566
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(int field_number, float
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1569,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1567
    functionDepth: 3
    functionLinenumber: 1567
    functionLinenumberEnd: 1571
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(int field_number, double
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1574,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1572
    functionDepth: 3
    functionLinenumber: 1572
    functionLinenumberEnd: 1576
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number, bool value,\n
      \                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1579,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1581
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number, int value,\n
      \                                              uint8* target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1587,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1592,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - (*Writer)(int, T, uint8*)
    - target
    argTypes:
    - int
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1599
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 70
    functionsReached:
    - Writer
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveToArray(\n    int field_number,
      const RepeatedField<T>& value,\n    uint8* (*Writer)(int, T, uint8*), uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1604
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1608
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1612
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1616
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1620
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1624
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1629
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1639
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1644
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1648
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(\n    int field_number,
      const RepeatedField<float>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1652
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(\n    int field_number,
      const RepeatedField<double>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1657
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number,\n                                               const
      RepeatedField<bool>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1662
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number,\n                                               const
      RepeatedField<int>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1670,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1663
    functionDepth: 3
    functionLinenumber: 1663
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::WireFormatLite::WriteStringToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteStringToArray(int field_number,\n                                                 const
      std::string& value,\n                                                 uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1676,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1673
    functionDepth: 3
    functionLinenumber: 1673
    functionLinenumberEnd: 1678
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBytesToArray(int field_number,\n                                                const
      std::string& value,\n                                                uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1685,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1686,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1687,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1682
    functionDepth: 3
    functionLinenumber: 1682
    functionLinenumberEnd: 1689
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroup(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1694,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1695,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1691
    functionDepth: 3
    functionLinenumber: 1691
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - GetCachedSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessage(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1706,1
    - Dst: "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1707,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1703
    functionDepth: 3
    functionLinenumber: 1703
    functionLinenumberEnd: 1710
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroupNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1715,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1716,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1717,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1718,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1712
    functionDepth: 3
    functionLinenumber: 1712
    functionLinenumberEnd: 1723
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessageNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1727
    functionDepth: 1
    functionLinenumber: 1727
    functionLinenumberEnd: 1729
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1730
    functionDepth: 1
    functionLinenumber: 1730
    functionLinenumberEnd: 1732
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1735
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1738
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1741
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1742
    functionDepth: 1
    functionLinenumber: 1742
    functionLinenumberEnd: 1744
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1747
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1749
    functionDepth: 2
    functionLinenumber: 1749
    functionLinenumberEnd: 1751
    functionName: google::protobuf::internal::WireFormatLite::StringSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::StringSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1752
    functionDepth: 2
    functionLinenumber: 1752
    functionLinenumberEnd: 1754
    functionName: google::protobuf::internal::WireFormatLite::BytesSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::BytesSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1760
    functionName: google::protobuf::internal::WireFormatLite::GroupSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::GroupSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1764
    functionName: google::protobuf::internal::WireFormatLite::MessageSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::MessageSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1772
    functionName: google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::GroupSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1776,1
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1774
    functionDepth: 2
    functionLinenumber: 1774
    functionLinenumberEnd: 1778
    functionName: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::MessageSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1787
    functionName: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 32
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::LengthDelimitedSize(size_t length)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1802,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1808,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1811,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: io::CodedInputStream::SetRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: io::CodedInputStream*::RecursionBudget
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1818,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1821,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1831,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1832,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1833,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1834,1
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1835,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1836,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1837,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1838,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1841,1
    - Dst: MS::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1854,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - input
    - ms
    argTypes:
    - io::CodedInputStream*
    - MS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1858
    functionName: google::protobuf::internal::ParseMessageSetItemImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - std::string::clear
    - io::CodedInputStream*::ReadRaw
    - static_cast<int32>
    - io::CodedInputStream*::RecursionBudget
    - google::protobuf::CodedOutputStream::VarintSize32
    - std::string::data
    - static_cast<uint32>
    - io::CodedInputStream::SetRecursionLimit
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - MS::ParseField
    - static_cast<int>
    - reinterpret_cast<uint8*>
    - std::string::size
    - io::CodedInputStream*::ReadVarint32
    - std::string::empty
    - std::string::resize
    - reinterpret_cast<const uint8*>
    - io::CodedInputStream*::ReadTagNoLastTag
    - MS::SkipField
    linkageType: ''
    returnType: bool
    signature: bool ParseMessageSetItemImpl(io::CodedInputStream* input, MS ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:216,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:218,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:220,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:222,1
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 736
    functionName: google::protobuf::internal::WireFormatLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ReadMessage
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - static_cast<uint32>
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    - static_cast<int>
    - InternalWriteMessage
    - InternalWriteGroup
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT WireFormatLite
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::internal::WireTypeForFieldType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: "WireFormatLite::WireType WireTypeForFieldType(\n      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FIELD_NUMBER
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG(FIELD_NUMBER, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::ReadMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - ReadMessage
    linkageType: ''
    returnType: bool
    signature: "bool ReadMessageNoVirtual(io::CodedInputStream* input,\n                                          MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: google::protobuf::internal::WriteGroupToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteGroup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteGroupToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 665
    functionName: google::protobuf::internal::WriteMessageToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteMessageToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FieldSkipper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: google::protobuf::internal::FieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::FieldSkipper
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 745
    functionName: ~FieldSkipper()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FieldSkipper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 775
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedOutputStreamFieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: "WireFormatLite::CppType WireFormatLite::FieldTypeToCppType(\n    FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: google::protobuf::internal::WireFormatLite::MakeTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 50
    functionsReached:
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    linkageType: ''
    returnType: uint32
    signature: "uint32 WireFormatLite::MakeTag(int field_number,\n                                                WireType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WireType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 791
    functionName: google::protobuf::internal::WireFormatLite::GetTagWireType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 40
    functionsReached:
    - static_cast<WireType>
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: WireFormatLite::WireType WireFormatLite::GetTagWireType(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionName: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int WireFormatLite::GetTagFieldNumber(uint32 tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:799,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 807
    functionName: google::protobuf::internal::WireFormatLite::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::TagSize(int field_number,\n                                      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::WireFormatLite::EncodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - bit_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::EncodeFloat(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 815
    functionName: google::protobuf::internal::WireFormatLite::DecodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<float>
    linkageType: ''
    returnType: float
    signature: float WireFormatLite::DecodeFloat(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::WireFormatLite::EncodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - bit_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::EncodeDouble(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::WireFormatLite::DecodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<double>
    linkageType: ''
    returnType: double
    signature: double WireFormatLite::DecodeDouble(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 26
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::ZigZagEncode32(int32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int32>
    linkageType: ''
    returnType: int32
    signature: int32 WireFormatLite::ZigZagDecode32(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 864
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 26
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::ZigZagEncode64(int64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 869
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int64>
    linkageType: ''
    returnType: int64
    signature: int64 WireFormatLite::ZigZagDecode64(uint64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 877
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string**
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' unknown_fields'
    - target
    - stream
    argTypes:
    - std::string
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 889
    functionName: google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerializeUnknownMessageSetItemsToArray(\n    const
      std::string& unknown_fields, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' unknown_fields'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: google::protobuf::internal::ComputeUnknownMessageSetItemsSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: "size_t ComputeUnknownMessageSetItemsSize(\n    const std::string&
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:902,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:910,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 913
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - static_cast<int64>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 923
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:928,1
    - Dst: ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - ZigZagDecode32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:936,1
    - Dst: ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 939
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - ZigZagDecode64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:954,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 957
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - static_cast<int32>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:962,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int64>
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:970,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 973
    functionName: "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - DecodeFloat
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:978,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 981
    functionName: "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    - DecodeDouble
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 989
    functionName: "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:994,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 997
    functionName: "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1004
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1016,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1019
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1025,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1028
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - static_cast<int64>
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1034,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1037
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - DecodeFloat
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1043,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1046
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - DecodeDouble
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1053,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1054,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1056,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1057,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - tag
    - input
    - values
    argTypes:
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1062
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::ExpectTag
    - RepeatedField<CType>*::Capacity
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitive(\n    int,  // tag_size,
      unused.\n    uint32 tag, io::CodedInputStream* input, RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1070,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1071,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1084,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1086,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1088,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: google::protobuf::CodedInputStream::ExpectTagFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1095,1
    - Dst: ReadPrimitiveFromArray<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1097,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1098,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - values
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1107
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ExpectTagFromArray
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - ReadPrimitive<CType, DeclaredType>
    - reinterpret_cast<const uint8*>
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Capacity
    - static_cast<size_t>
    - RepeatedField<CType>*::AddAlreadyReserved
    - static_cast<int>
    - ReadPrimitiveFromArray<CType, DeclaredType>
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedFixedSizePrimitive(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1121
    functionName: READ_REPEATED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - value
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitiveNoInline(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1143,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1144,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1145,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1147,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1148,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::PopLimit
    - io::CodedInputStream*::PushLimit
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitive(io::CodedInputStream* input,\n
      \                                               RepeatedField<CType>* values)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1158,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1159,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1160,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1161,1
    - Dst: io::CodedInputStream*::BytesUntilTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1175,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1177,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: RepeatedField<CType>*::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: RepeatedField<CType>*::mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1189,1
    - Dst: RepeatedField<CType>*::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1190,1
    - Dst: RepeatedField<CType>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1194,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1197,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1198,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1207,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1212
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Resize
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Truncate
    - static_cast<int64>
    - io::CodedInputStream*::ReadRaw
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::Reserve
    - io::CodedInputStream*::BytesUntilTotalBytesLimit
    - static_cast<int>
    - RepeatedField<CType>*::mutable_data
    - RepeatedField<CType>*::size
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedFixedSizePrimitive(\n    io::CodedInputStream*
      input, RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1225
    functionName: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1239
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitiveNoInline(io::CodedInputStream*
      input,\n                                                 RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1246,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1247,1
    - Dst: io::CodedInputStream*::UnsafeDecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1248,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - field_number
    - input
    - value
    argTypes:
    - int
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1254
    functionName: google::protobuf::internal::WireFormatLite::ReadGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::UnsafeDecrementRecursionDepth
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::IncrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadGroup(int field_number,\n                                      io::CodedInputStream*
      input,\n                                      MessageType* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1259,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1261,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1262,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1266
    functionName: google::protobuf::internal::WireFormatLite::ReadMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadMessage(io::CodedInputStream* input,\n                                        MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - output
    argTypes:
    - int
    - WireType
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: google::protobuf::internal::WireFormatLite::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 188
    functionsReached:
    - io::CodedOutputStream*::WriteTag
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteTag(int field_number, WireType type,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1278
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32NoTag(int32 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1282
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64NoTag(int64 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1286
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32NoTag(uint32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1290
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64NoTag(uint64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1294
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32NoTag(int32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1298
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64NoTag(int64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32NoTag(uint32 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1306
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64NoTag(uint64 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1310
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint32>
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32NoTag(int32 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1314
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64NoTag(int64 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1315
    functionDepth: 1
    functionLinenumber: 1315
    functionLinenumberEnd: 1318
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatNoTag(float value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1322
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleNoTag(double value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1326
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolNoTag(bool value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1330
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnumNoTag(int value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1338,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1339,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupNoVirtual(\n    int field_number, const
      MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1346,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1347,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1348,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1343
    functionDepth: 3
    functionLinenumber: 1343
    functionLinenumberEnd: 1350
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    - io::CodedOutputStream*::WriteVarint32
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageNoVirtual(\n    int field_number,
      const MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - target
    argTypes:
    - int
    - WireType
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1358
    functionName: google::protobuf::internal::WireFormatLite::WriteTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 128
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteTagToArray(int field_number, WireType
      type,\n                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1363
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 22
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(int32 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1368
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(int64 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1372
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(uint32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1376
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(uint64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(int32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(int64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 30
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(uint32 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1394
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 30
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(uint64 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1397,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1399
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 22
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(int32 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1402,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1404
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 22
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(int64 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1409
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 22
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(float value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1414
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 22
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(double value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1417
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 30
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteBoolNoTagToArray(bool value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1420
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteEnumNoTagToArray(int value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1425,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1426,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1428,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1435
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 54
    functionsReached:
    - Writer
    - GOOGLE_DCHECK_GT
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1443,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1444,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1446,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1447,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1453
    functionName: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 36
    functionsReached:
    - memcpy
    - data
    - static_cast<size_t>
    - GOOGLE_DCHECK_GT
    - static_cast<int>
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixedNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1455
    functionDepth: 2
    functionLinenumber: 1455
    functionLinenumberEnd: 1458
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 22
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1459
    functionDepth: 2
    functionLinenumber: 1459
    functionLinenumberEnd: 1462
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1463
    functionDepth: 2
    functionLinenumber: 1463
    functionLinenumberEnd: 1466
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1470
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1474
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1479
    functionDepth: 3
    functionLinenumber: 1479
    functionLinenumberEnd: 1482
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 30
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1483
    functionDepth: 3
    functionLinenumber: 1483
    functionLinenumberEnd: 1486
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 30
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1490
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 22
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1491
    functionDepth: 3
    functionLinenumber: 1491
    functionLinenumberEnd: 1494
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 22
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 3
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 22
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(\n    const RepeatedField<float>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 3
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 22
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(\n    const RepeatedField<double>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1506
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 30
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolNoTagToArray(\n    const RepeatedField<bool>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1510
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumNoTagToArray(\n    const RepeatedField<int>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1514,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1512
    functionDepth: 3
    functionLinenumber: 1512
    functionLinenumberEnd: 1516
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(int field_number, int32
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1519,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(int field_number, int64
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1524,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1522
    functionDepth: 3
    functionLinenumber: 1522
    functionLinenumberEnd: 1526
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(int field_number, uint32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1529,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1527
    functionDepth: 3
    functionLinenumber: 1527
    functionLinenumberEnd: 1531
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(int field_number, uint64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1534,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1532
    functionDepth: 3
    functionLinenumber: 1532
    functionLinenumberEnd: 1536
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(int field_number, int32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1539,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1541
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(int field_number, int64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1544,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1546
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(int field_number,\n                                                  uint32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1549,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1547
    functionDepth: 3
    functionLinenumber: 1547
    functionLinenumberEnd: 1551
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(int field_number,\n                                                  uint64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1554,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1552
    functionDepth: 3
    functionLinenumber: 1552
    functionLinenumberEnd: 1556
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(int field_number,\n                                                   int32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1559,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1557
    functionDepth: 3
    functionLinenumber: 1557
    functionLinenumberEnd: 1561
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(int field_number,\n                                                   int64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1564,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1562
    functionDepth: 3
    functionLinenumber: 1562
    functionLinenumberEnd: 1566
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(int field_number, float
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1569,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1567
    functionDepth: 3
    functionLinenumber: 1567
    functionLinenumberEnd: 1571
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(int field_number, double
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1574,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1572
    functionDepth: 3
    functionLinenumber: 1572
    functionLinenumberEnd: 1576
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number, bool value,\n
      \                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1579,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1581
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number, int value,\n
      \                                              uint8* target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1587,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1592,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - (*Writer)(int, T, uint8*)
    - target
    argTypes:
    - int
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1599
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 84
    functionsReached:
    - Writer
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveToArray(\n    int field_number,
      const RepeatedField<T>& value,\n    uint8* (*Writer)(int, T, uint8*), uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1604
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1608
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1612
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1616
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1620
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1624
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1629
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1639
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1644
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1648
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(\n    int field_number,
      const RepeatedField<float>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1652
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(\n    int field_number,
      const RepeatedField<double>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1657
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number,\n                                               const
      RepeatedField<bool>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1662
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number,\n                                               const
      RepeatedField<int>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1670,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1663
    functionDepth: 3
    functionLinenumber: 1663
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::WireFormatLite::WriteStringToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteStringToArray(int field_number,\n                                                 const
      std::string& value,\n                                                 uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1676,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1673
    functionDepth: 3
    functionLinenumber: 1673
    functionLinenumberEnd: 1678
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBytesToArray(int field_number,\n                                                const
      std::string& value,\n                                                uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1685,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1686,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1687,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1682
    functionDepth: 3
    functionLinenumber: 1682
    functionLinenumberEnd: 1689
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroup(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1694,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1695,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1691
    functionDepth: 3
    functionLinenumber: 1691
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - GetCachedSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessage(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1706,1
    - Dst: "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1707,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1703
    functionDepth: 3
    functionLinenumber: 1703
    functionLinenumberEnd: 1710
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroupNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1715,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1716,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1717,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1718,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1712
    functionDepth: 3
    functionLinenumber: 1712
    functionLinenumberEnd: 1723
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessageNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1727
    functionDepth: 1
    functionLinenumber: 1727
    functionLinenumberEnd: 1729
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1730
    functionDepth: 1
    functionLinenumber: 1730
    functionLinenumberEnd: 1732
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1735
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 17
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1738
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1741
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1742
    functionDepth: 1
    functionLinenumber: 1742
    functionLinenumberEnd: 1744
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1747
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1749
    functionDepth: 2
    functionLinenumber: 1749
    functionLinenumberEnd: 1751
    functionName: google::protobuf::internal::WireFormatLite::StringSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::StringSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1752
    functionDepth: 2
    functionLinenumber: 1752
    functionLinenumberEnd: 1754
    functionName: google::protobuf::internal::WireFormatLite::BytesSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::BytesSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1760
    functionName: google::protobuf::internal::WireFormatLite::GroupSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::GroupSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1764
    functionName: google::protobuf::internal::WireFormatLite::MessageSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::MessageSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1772
    functionName: google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::GroupSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1776,1
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1774
    functionDepth: 2
    functionLinenumber: 1774
    functionLinenumberEnd: 1778
    functionName: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::MessageSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1787
    functionName: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 36
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::LengthDelimitedSize(size_t length)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1802,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1808,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1811,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: io::CodedInputStream::SetRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: io::CodedInputStream*::RecursionBudget
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1818,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1821,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1831,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1832,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1833,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1834,1
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1835,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1836,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1837,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1838,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1841,1
    - Dst: MS::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1854,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - input
    - ms
    argTypes:
    - io::CodedInputStream*
    - MS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1858
    functionName: google::protobuf::internal::ParseMessageSetItemImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - std::string::clear
    - io::CodedInputStream*::ReadRaw
    - static_cast<int32>
    - io::CodedInputStream*::RecursionBudget
    - google::protobuf::CodedOutputStream::VarintSize32
    - std::string::data
    - static_cast<uint32>
    - io::CodedInputStream::SetRecursionLimit
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - MS::ParseField
    - static_cast<int>
    - reinterpret_cast<uint8*>
    - std::string::size
    - io::CodedInputStream*::ReadVarint32
    - std::string::empty
    - std::string::resize
    - reinterpret_cast<const uint8*>
    - io::CodedInputStream*::ReadTagNoLastTag
    - MS::SkipField
    linkageType: ''
    returnType: bool
    signature: bool ParseMessageSetItemImpl(io::CodedInputStream* input, MS ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:216,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:218,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:220,1
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:222,1
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 736
    functionName: google::protobuf::internal::WireFormatLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - ReadMessage
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - static_cast<uint32>
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    - static_cast<int>
    - InternalWriteMessage
    - InternalWriteGroup
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT WireFormatLite
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: google::protobuf::internal::WireTypeForFieldType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: "WireFormatLite::WireType WireTypeForFieldType(\n      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FIELD_NUMBER
    - ','
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG(FIELD_NUMBER, TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: google::protobuf::internal::ReadMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - ReadMessage
    linkageType: ''
    returnType: bool
    signature: "bool ReadMessageNoVirtual(io::CodedInputStream* input,\n                                          MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:649,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:650,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:651,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:652,1
    - Dst: InternalWriteGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: google::protobuf::internal::WriteGroupToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteGroup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteGroupToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:657,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:660,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:661,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:662,1
    - Dst: google::protobuf::IsDefaultSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:663,1
    - Dst: InternalWriteMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageLite
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 665
    functionName: google::protobuf::internal::WriteMessageToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::IsDefaultSerializationDeterministic
    - google::protobuf::internal::GetCachedSize
    - static_cast<uint32>
    - static_cast<int>
    - InternalWriteMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteMessageToArray(\n      int field_number,
      const MessageLite& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::FieldSkipper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 758
    functionName: google::protobuf::internal::FieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::FieldSkipper
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 745
    functionName: ~FieldSkipper()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FieldSkipper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 775
    functionName: google::protobuf::internal::CodedOutputStreamFieldSkipper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedOutputStreamFieldSkipper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::internal::WireFormatLite::FieldTypeToCppType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: WireFormatLite::CppType
    signature: "WireFormatLite::CppType WireFormatLite::FieldTypeToCppType(\n    FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 787
    functionName: google::protobuf::internal::WireFormatLite::MakeTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 53
    functionsReached:
    - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
    linkageType: ''
    returnType: uint32
    signature: "uint32 WireFormatLite::MakeTag(int field_number,\n                                                WireType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<WireType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 791
    functionName: google::protobuf::internal::WireFormatLite::GetTagWireType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 40
    functionsReached:
    - static_cast<WireType>
    linkageType: ''
    returnType: WireFormatLite::WireType
    signature: WireFormatLite::WireType WireFormatLite::GetTagWireType(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionName: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int WireFormatLite::GetTagFieldNumber(uint32 tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:799,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - field_number
    - type
    argTypes:
    - int
    - WireFormatLite::FieldType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 807
    functionName: google::protobuf::internal::WireFormatLite::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::TagSize(int field_number,\n                                      WireFormatLite::FieldType
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::WireFormatLite::EncodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - bit_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::EncodeFloat(float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<float>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 815
    functionName: google::protobuf::internal::WireFormatLite::DecodeFloat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<float>
    linkageType: ''
    returnType: float
    signature: float WireFormatLite::DecodeFloat(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::WireFormatLite::EncodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 14
    functionsReached:
    - bit_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::EncodeDouble(double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_cast<double>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::WireFormatLite::DecodeDouble
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - bit_cast<double>
    linkageType: ''
    returnType: double
    signature: double WireFormatLite::DecodeDouble(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 853
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 29
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 WireFormatLite::ZigZagEncode32(int32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int32>
    linkageType: ''
    returnType: int32
    signature: int32 WireFormatLite::ZigZagDecode32(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 864
    functionName: google::protobuf::internal::WireFormatLite::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 29
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 WireFormatLite::ZigZagEncode64(int64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 869
    functionName: google::protobuf::internal::WireFormatLite::ZigZagDecode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int64>
    linkageType: ''
    returnType: int64
    signature: int64 WireFormatLite::ZigZagDecode64(uint64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 877
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - io::CodedInputStream*
    - std::string**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 882
    functionName: google::protobuf::internal::WireFormatLite::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadBytes
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadString(io::CodedInputStream* input,\n                                       std::string**
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:887,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' unknown_fields'
    - target
    - stream
    argTypes:
    - std::string
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 889
    functionName: google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerializeUnknownMessageSetItemsToArray(\n    const
      std::string& unknown_fields, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' unknown_fields'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 894
    functionName: google::protobuf::internal::ComputeUnknownMessageSetItemsSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: "size_t ComputeUnknownMessageSetItemsSize(\n    const std::string&
      unknown_fields)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:902,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:910,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 913
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - static_cast<int64>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 918
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 923
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:928,1
    - Dst: ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - ZigZagDecode32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:936,1
    - Dst: ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:937,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 939
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    - ZigZagDecode64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   io::CodedInputStream* input, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   io::CodedInputStream* input, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:954,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 957
    functionName: "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - static_cast<int32>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   io::CodedInputStream* input, int32* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:962,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int64>
    - io::CodedInputStream*::ReadLittleEndian64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   io::CodedInputStream* input, int64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:970,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 973
    functionName: "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian32
    - DecodeFloat
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n
      \   io::CodedInputStream* input, float* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:978,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 981
    functionName: "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadLittleEndian64
    - DecodeDouble
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   io::CodedInputStream* input, double* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 989
    functionName: "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint64
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n
      \   io::CodedInputStream* input, bool* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:994,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 997
    functionName: "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - io::CodedInputStream*::ReadVarint32
    - static_cast<int>
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n
      \   io::CodedInputStream* input, int* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1004
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
      \   const uint8* buffer, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
      \   const uint8* buffer, uint64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1016,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1019
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int32>
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
      \   const uint8* buffer, int32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1025,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1028
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - static_cast<int64>
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
      \   const uint8* buffer, int64* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1034,1
    - Dst: DecodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1037
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - DecodeFloat
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
      \   const uint8* buffer, float* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1043,1
    - Dst: DecodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1046
    functionName: "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - DecodeDouble
    linkageType: ''
    returnType: uint8
    signature: "uint8 *\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
      \   const uint8* buffer, double* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1053,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1054,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1055,1
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1056,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1057,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - tag
    - input
    - values
    argTypes:
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1062
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 7
    functionsReached:
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::ExpectTag
    - RepeatedField<CType>*::Capacity
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitive(\n    int,  // tag_size,
      unused.\n    uint32 tag, io::CodedInputStream* input, RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: google::protobuf::internal::WireFormatLite::UInt32Size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1068,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1070,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1071,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1084,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1086,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1088,1
    - Dst: RepeatedField<CType>*::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1092,1
    - Dst: google::protobuf::CodedInputStream::ExpectTagFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1095,1
    - Dst: ReadPrimitiveFromArray<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1097,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1098,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - values
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1107
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ExpectTagFromArray
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::WireFormatLite::UInt32Size
    - ReadPrimitive<CType, DeclaredType>
    - reinterpret_cast<const uint8*>
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Capacity
    - static_cast<size_t>
    - RepeatedField<CType>*::AddAlreadyReserved
    - static_cast<int>
    - ReadPrimitiveFromArray<CType, DeclaredType>
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - RepeatedField<CType>*::size
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedFixedSizePrimitive(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1121
    functionName: READ_REPEATED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tag_size
    - tag
    - input
    - value
    argTypes:
    - int
    - uint32
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1137
    functionName: google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadRepeatedPrimitiveNoInline(\n    int tag_size,
      uint32 tag, io::CodedInputStream* input,\n    RepeatedField<CType>* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1143,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1144,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1145,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1147,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1148,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1152
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 7
    functionsReached:
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Add
    - io::CodedInputStream*::PopLimit
    - io::CodedInputStream*::PushLimit
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitive(io::CodedInputStream* input,\n
      \                                               RepeatedField<CType>* values)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1158,1
    - Dst: RepeatedField<CType>*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1159,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1160,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1161,1
    - Dst: io::CodedInputStream*::BytesUntilTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1175,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1177,1
    - Dst: static_cast<int64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1181,1
    - Dst: RepeatedField<CType>*::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1186,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: RepeatedField<CType>*::mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1188,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1189,1
    - Dst: RepeatedField<CType>*::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1190,1
    - Dst: RepeatedField<CType>*::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1194,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1197,1
    - Dst: RepeatedField<CType>*::AddAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1198,1
    - Dst: ReadPrimitive<CType, DeclaredType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1207,1
    - Dst: RepeatedField<CType>*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1212
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - ReadPrimitive<CType, DeclaredType>
    - RepeatedField<CType>*::Resize
    - RepeatedField<CType>*::Add
    - RepeatedField<CType>*::Truncate
    - static_cast<int64>
    - io::CodedInputStream*::ReadRaw
    - RepeatedField<CType>*::AddAlreadyReserved
    - RepeatedField<CType>*::Reserve
    - io::CodedInputStream*::BytesUntilTotalBytesLimit
    - static_cast<int>
    - RepeatedField<CType>*::mutable_data
    - RepeatedField<CType>*::size
    - io::CodedInputStream*::BytesUntilLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedFixedSizePrimitive(\n    io::CodedInputStream*
      input, RepeatedField<CType>* values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - CPPTYPE
    - ','
    - DECLARED_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1225
    functionName: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - values
    argTypes:
    - io::CodedInputStream*
    - RepeatedField<CType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1239
    functionName: google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadPackedPrimitiveNoInline(io::CodedInputStream*
      input,\n                                                 RepeatedField<CType>*
      values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::IncrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1246,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1247,1
    - Dst: io::CodedInputStream*::UnsafeDecrementRecursionDepth
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1248,1
    - Dst: io::CodedInputStream*::LastTagWas
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - field_number
    - input
    - value
    argTypes:
    - int
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1254
    functionName: google::protobuf::internal::WireFormatLite::ReadGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::UnsafeDecrementRecursionDepth
    - google::protobuf::internal::WireFormatLite::MakeTag
    - io::CodedInputStream*::LastTagWas
    - io::CodedInputStream*::IncrementRecursionDepth
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadGroup(int field_number,\n                                      io::CodedInputStream*
      input,\n                                      MessageType* value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadVarintSizeAsInt
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1259,1
    - Dst: io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1261,1
    - Dst: MessageType*::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1262,1
    - Dst: io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - input
    - value
    argTypes:
    - io::CodedInputStream*
    - MessageType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1266
    functionName: google::protobuf::internal::WireFormatLite::ReadMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedInputStream*::IncrementRecursionDepthAndPushLimit
    - MessageType*::MergePartialFromCodedStream
    - io::CodedInputStream*::ReadVarintSizeAsInt
    - io::CodedInputStream*::DecrementRecursionDepthAndPopLimit
    linkageType: ''
    returnType: bool
    signature: "bool WireFormatLite::ReadMessage(io::CodedInputStream* input,\n                                        MessageType*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - output
    argTypes:
    - int
    - WireType
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1273
    functionName: google::protobuf::internal::WireFormatLite::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 190
    functionsReached:
    - io::CodedOutputStream*::WriteTag
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteTag(int field_number, WireType type,\n                                     io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1278
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt32NoTag(int32 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1282
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteInt64NoTag(int64 value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1286
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt32NoTag(uint32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1290
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteUInt64NoTag(uint64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1294
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt32NoTag(int32 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1298
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - io::CodedOutputStream*::WriteVarint64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSInt64NoTag(int64 value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1302
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed32NoTag(uint32 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - uint64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1306
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFixed64NoTag(uint64 value,\n                                              io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1310
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint32>
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed32NoTag(int32 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int64
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1314
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteSFixed64NoTag(int64 value,\n                                               io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - float
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1315
    functionDepth: 1
    functionLinenumber: 1315
    functionLinenumberEnd: 1318
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    - io::CodedOutputStream*::WriteLittleEndian32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteFloatNoTag(float value,\n                                            io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - double
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1322
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - io::CodedOutputStream*::WriteLittleEndian64
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteDoubleNoTag(double value,\n                                             io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - bool
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1326
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteBoolNoTag(bool value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::WriteVarint32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - output
    argTypes:
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1330
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - io::CodedOutputStream*::WriteVarint32SignExtended
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteEnumNoTag(int value,\n                                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1338,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1339,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteGroupNoVirtual(\n    int field_number, const
      MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1346,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1347,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1348,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - output
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1343
    functionDepth: 3
    functionLinenumber: 1343
    functionLinenumberEnd: 1350
    functionName: google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTag
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes
    - io::CodedOutputStream*::WriteVarint32
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    linkageType: ''
    returnType: void
    signature: "void WireFormatLite::WriteMessageNoVirtual(\n    int field_number,
      const MessageType_WorkAroundCppLookupDefect& value,\n    io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    - Dst: google::protobuf::internal::WireFormatLite::MakeTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - type
    - target
    argTypes:
    - int
    - WireType
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1354
    functionDepth: 2
    functionLinenumber: 1354
    functionLinenumberEnd: 1358
    functionName: google::protobuf::internal::WireFormatLite::WriteTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 148
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::MakeTag
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteTagToArray(int field_number, WireType
      type,\n                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1363
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 23
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(int32 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1368
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 15
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(int64 value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1372
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 15
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(uint32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1376
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 15
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(uint64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1381
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 15
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(int32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1386
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(int64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1390
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 31
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(uint32 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1394
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 31
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(uint64 value,\n                                                       uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1397,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1399
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 23
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(int32 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1402,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1404
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 23
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(int64 value,\n                                                        uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeFloat
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1409
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 23
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    - google::protobuf::internal::WireFormatLite::EncodeFloat
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(float value,\n                                                     uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    - Dst: google::protobuf::internal::WireFormatLite::EncodeDouble
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1414
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 23
    functionsReached:
    - google::protobuf::internal::WireFormatLite::EncodeDouble
    - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(double value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1417
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 31
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteBoolNoTagToArray(bool value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1420
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * WireFormatLite::WriteEnumNoTagToArray(int value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1425,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1426,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1428,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1435
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 63
    functionsReached:
    - Writer
    - GOOGLE_DCHECK_GT
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1443,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1444,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1446,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1447,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1448,1
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ' value'
    - (*Writer)(T, uint8*)
    - target
    argTypes:
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1453
    functionName: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 42
    functionsReached:
    - memcpy
    - data
    - static_cast<size_t>
    - GOOGLE_DCHECK_GT
    - static_cast<int>
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixedNoTagToArray(\n    const RepeatedField<T>&
      value, uint8* (*Writer)(T, uint8*), uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1455
    functionDepth: 2
    functionLinenumber: 1455
    functionLinenumberEnd: 1458
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 23
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1459
    functionDepth: 2
    functionLinenumber: 1459
    functionLinenumberEnd: 1462
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1463
    functionDepth: 2
    functionLinenumber: 1463
    functionLinenumberEnd: 1466
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1470
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1474
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1478
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1479
    functionDepth: 3
    functionLinenumber: 1479
    functionLinenumberEnd: 1482
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 31
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32NoTagToArray(\n    const RepeatedField<uint32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1483
    functionDepth: 3
    functionLinenumber: 1483
    functionLinenumberEnd: 1486
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 31
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64NoTagToArray(\n    const RepeatedField<uint64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1490
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 23
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32NoTagToArray(\n    const RepeatedField<int32>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1491
    functionDepth: 3
    functionLinenumber: 1491
    functionLinenumberEnd: 1494
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 23
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64NoTagToArray(\n    const RepeatedField<int64>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 3
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 23
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatNoTagToArray(\n    const RepeatedField<float>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 3
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 23
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleNoTagToArray(\n    const RepeatedField<double>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1506
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 31
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolNoTagToArray(\n    const RepeatedField<bool>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' value'
    - target
    argTypes:
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1510
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumNoTagToArray(\n    const RepeatedField<int>&
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1514,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1512
    functionDepth: 3
    functionLinenumber: 1512
    functionLinenumberEnd: 1516
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(int field_number, int32
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1519,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(int field_number, int64
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1524,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1522
    functionDepth: 3
    functionLinenumber: 1522
    functionLinenumberEnd: 1526
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(int field_number, uint32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1529,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1527
    functionDepth: 3
    functionLinenumber: 1527
    functionLinenumberEnd: 1531
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(int field_number, uint64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1534,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1532
    functionDepth: 3
    functionLinenumber: 1532
    functionLinenumberEnd: 1536
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(int field_number, int32
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1539,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1537
    functionDepth: 3
    functionLinenumber: 1537
    functionLinenumberEnd: 1541
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(int field_number, int64
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1544,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1546
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(int field_number,\n                                                  uint32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1549,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1547
    functionDepth: 3
    functionLinenumber: 1547
    functionLinenumberEnd: 1551
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(int field_number,\n                                                  uint64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1554,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1552
    functionDepth: 3
    functionLinenumber: 1552
    functionLinenumberEnd: 1556
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(int field_number,\n                                                   int32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1559,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1557
    functionDepth: 3
    functionLinenumber: 1557
    functionLinenumberEnd: 1561
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(int field_number,\n                                                   int64
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1564,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - float
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1562
    functionDepth: 3
    functionLinenumber: 1562
    functionLinenumberEnd: 1566
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(int field_number, float
      value,\n                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1569,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - double
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1567
    functionDepth: 3
    functionLinenumber: 1567
    functionLinenumberEnd: 1571
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(int field_number, double
      value,\n                                                 uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1574,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1572
    functionDepth: 3
    functionLinenumber: 1572
    functionLinenumberEnd: 1576
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number, bool value,\n
      \                                              uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1579,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - value
    - target
    argTypes:
    - int
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1581
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number, int value,\n
      \                                              uint8* target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1587,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1592,1
    - Dst: Writer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - (*Writer)(int, T, uint8*)
    - target
    argTypes:
    - int
    - RepeatedField<T>
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1599
    functionName: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 98
    functionsReached:
    - Writer
    - data
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WritePrimitiveToArray(\n    int field_number,
      const RepeatedField<T>& value,\n    uint8* (*Writer)(int, T, uint8*), uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1601
    functionDepth: 1
    functionLinenumber: 1601
    functionLinenumberEnd: 1604
    functionName: google::protobuf::internal::WireFormatLite::WriteInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1608
    functionName: google::protobuf::internal::WireFormatLite::WriteInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1612
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1616
    functionName: google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteUInt64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1620
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1624
    functionName: google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSInt64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1629
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed32ToArray(\n    int field_number,
      const RepeatedField<uint32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<uint64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFixed64ToArray(\n    int field_number,
      const RepeatedField<uint64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int32>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1639
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed32ToArray(\n    int field_number,
      const RepeatedField<int32>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int64>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1644
    functionName: google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteSFixed64ToArray(\n    int field_number,
      const RepeatedField<int64>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<float>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1648
    functionName: google::protobuf::internal::WireFormatLite::WriteFloatToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteFloatToArray(\n    int field_number,
      const RepeatedField<float>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<double>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1652
    functionName: google::protobuf::internal::WireFormatLite::WriteDoubleToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteDoubleToArray(\n    int field_number,
      const RepeatedField<double>& value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<bool>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1657
    functionName: google::protobuf::internal::WireFormatLite::WriteBoolToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBoolToArray(int field_number,\n                                               const
      RepeatedField<bool>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - RepeatedField<int>
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1662
    functionName: google::protobuf::internal::WireFormatLite::WriteEnumToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteEnumToArray(int field_number,\n                                               const
      RepeatedField<int>& value,\n                                               uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1670,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1663
    functionDepth: 3
    functionLinenumber: 1663
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::WireFormatLite::WriteStringToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteStringToArray(int field_number,\n                                                 const
      std::string& value,\n                                                 uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1676,1
    - Dst: google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1673
    functionDepth: 3
    functionLinenumber: 1673
    functionLinenumberEnd: 1678
    functionName: google::protobuf::internal::WireFormatLite::WriteBytesToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::WriteBytesToArray(int field_number,\n                                                const
      std::string& value,\n                                                uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1685,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1686,1
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1687,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1682
    functionDepth: 3
    functionLinenumber: 1682
    functionLinenumberEnd: 1689
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroup(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1694,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1695,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1696,1
    - Dst: _InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - field_number
    - ' value'
    - target
    - stream
    argTypes:
    - int
    - MessageType
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1691
    functionDepth: 3
    functionLinenumber: 1691
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 24
    functionsReached:
    - _InternalSerialize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - GetCachedSize
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessage(\n    int field_number,
      const MessageType& value, uint8* target,\n    io::EpsCopyOutputStream* stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1706,1
    - Dst: "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1707,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1703
    functionDepth: 3
    functionLinenumber: 1703
    functionLinenumberEnd: 1710
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - "MessageType_WorkAroundCppLookupDefect::\n               SerializeWithCachedSizesToArray"
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteGroupNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1715,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1716,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1717,1
    - Dst: MessageType_WorkAroundCppLookupDefect::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1718,1
    - Dst: MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - field_number
    - ' value'
    - target
    argTypes:
    - int
    - MessageType_WorkAroundCppLookupDefect
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1712
    functionDepth: 3
    functionLinenumber: 1712
    functionLinenumberEnd: 1723
    functionName: google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::GetCachedSize
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - static_cast<uint32>
    - MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizesToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * WireFormatLite::InternalWriteMessageNoVirtualToArray(\n    int
      field_number, const MessageType_WorkAroundCppLookupDefect& value,\n    uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1727
    functionDepth: 1
    functionLinenumber: 1727
    functionLinenumberEnd: 1729
    functionName: google::protobuf::internal::WireFormatLite::Int32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1732
      start: 1730
    functionDepth: 1
    functionLinenumber: 1730
    functionLinenumberEnd: 1732
    functionName: google::protobuf::internal::WireFormatLite::Int64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::Int64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1735
    functionName: google::protobuf::internal::WireFormatLite::UInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 18
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt32Size(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1738
    functionName: google::protobuf::internal::WireFormatLite::UInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::UInt64Size(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1741
    functionName: google::protobuf::internal::WireFormatLite::SInt32Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - google::protobuf::internal::WireFormatLite::ZigZagEncode32
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt32Size(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagEncode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1742
    functionDepth: 1
    functionLinenumber: 1742
    functionLinenumberEnd: 1744
    functionName: google::protobuf::internal::WireFormatLite::SInt64Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagEncode64
    - google::protobuf::CodedOutputStream::VarintSize64
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::SInt64Size(int64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32SignExtended
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1745
    functionDepth: 1
    functionLinenumber: 1745
    functionLinenumberEnd: 1747
    functionName: google::protobuf::internal::WireFormatLite::EnumSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32SignExtended
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::EnumSize(int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1749
    functionDepth: 2
    functionLinenumber: 1749
    functionLinenumberEnd: 1751
    functionName: google::protobuf::internal::WireFormatLite::StringSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::StringSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1752
    functionDepth: 2
    functionLinenumber: 1752
    functionLinenumberEnd: 1754
    functionName: google::protobuf::internal::WireFormatLite::BytesSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::BytesSize(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1760
    functionName: google::protobuf::internal::WireFormatLite::GroupSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::GroupSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    - Dst: ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1764
    functionName: google::protobuf::internal::WireFormatLite::MessageSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 16
    functionsReached:
    - ByteSizeLong
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::MessageSize(const MessageType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1772
    functionName: google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::GroupSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1776,1
    - Dst: MessageType_WorkAroundCppLookupDefect::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - MessageType_WorkAroundCppLookupDefect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1774
    functionDepth: 2
    functionLinenumber: 1774
    functionLinenumberEnd: 1778
    functionName: google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    - MessageType_WorkAroundCppLookupDefect::ByteSizeLong
    linkageType: ''
    returnType: size_t
    signature: "size_t WireFormatLite::MessageSizeNoVirtual(\n    const MessageType_WorkAroundCppLookupDefect&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1787
    functionName: google::protobuf::internal::WireFormatLite::LengthDelimitedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 40
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: size_t WireFormatLite::LengthDelimitedSize(size_t length)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1802,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1808,1
    - Dst: std::string::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1811,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: std::string::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1815,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: std::string::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1816,1
    - Dst: io::CodedInputStream::SetRecursionLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: io::CodedInputStream*::RecursionBudget
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1817,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1818,1
    - Dst: std::string::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1821,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1831,1
    - Dst: static_cast<int32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1832,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1833,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1834,1
    - Dst: std::string::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1835,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1836,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1837,1
    - Dst: io::CodedInputStream*::ReadRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1838,1
    - Dst: MS::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1841,1
    - Dst: MS::SkipField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h:1854,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - input
    - ms
    argTypes:
    - io::CodedInputStream*
    - MS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1858
    functionName: google::protobuf::internal::ParseMessageSetItemImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    functionUses: 0
    functionsReached:
    - std::string::clear
    - io::CodedInputStream*::ReadRaw
    - static_cast<int32>
    - io::CodedInputStream*::RecursionBudget
    - google::protobuf::CodedOutputStream::VarintSize32
    - std::string::data
    - static_cast<uint32>
    - io::CodedInputStream::SetRecursionLimit
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - MS::ParseField
    - static_cast<int>
    - reinterpret_cast<uint8*>
    - std::string::size
    - io::CodedInputStream*::ReadVarint32
    - std::string::empty
    - std::string::resize
    - reinterpret_cast<const uint8*>
    - io::CodedInputStream*::ReadTagNoLastTag
    - MS::SkipField
    linkageType: ''
    returnType: bool
    signature: bool ParseMessageSetItemImpl(io::CodedInputStream* input, MS ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: google::protobuf::internal::AlignUpTo8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 8
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t AlignUpTo8(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaMetricsCollector
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::ArenaMetricsCollector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ArenaMetricsCollector
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArenaMetricsCollector
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:102,1
    - Dst: next_and_bits_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: pos_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:105,1
    - Dst: size_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:106,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::SerialArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - size_
    - reinterpret_cast<char*>
    - pos_
    - next_and_bits_
    - GOOGLE_DCHECK_EQ
    - Block
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT SerialArena
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::special
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool special() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::user_owned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool user_owned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Block*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Block*>
    linkageType: ''
    returnType: Block
    signature: Block * next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: google::protobuf::internal::clear_next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::set_pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_pos(size_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: google::protobuf::internal::AlignUpTo8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 8
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t AlignUpTo8(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaMetricsCollector
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::ArenaMetricsCollector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ArenaMetricsCollector
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArenaMetricsCollector
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:102,1
    - Dst: next_and_bits_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: pos_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:105,1
    - Dst: size_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:106,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::SerialArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - size_
    - reinterpret_cast<char*>
    - pos_
    - next_and_bits_
    - GOOGLE_DCHECK_EQ
    - Block
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT SerialArena
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::special
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool special() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::user_owned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool user_owned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Block*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Block*>
    linkageType: ''
    returnType: Block
    signature: Block * next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: google::protobuf::internal::clear_next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::set_pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_pos(size_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: google::protobuf::HasSpace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool HasSpace(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:159,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:159,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:160,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:161,1
    - Dst: google::protobuf::HasSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:161,1
    - Dst: AllocateAlignedFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:162,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: google::protobuf::AllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::HasSpace
    - ASAN_UNPOISON_MEMORY_REGION
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK_EQ
    - AllocateAlignedFallback
    linkageType: ''
    returnType: void
    signature: void * AllocateAligned(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:174,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:174,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:175,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:176,1
    - Dst: google::protobuf::HasSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:176,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - n
    - out
    argTypes:
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: google::protobuf::MaybeAllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::HasSpace
    - ASAN_UNPOISON_MEMORY_REGION
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool MaybeAllocateAligned(size_t n, void** out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:187,1
    - Dst: AddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: google::protobuf::AddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - AddCleanupFallback
    linkageType: ''
    returnType: void
    signature: void AddCleanup(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:197,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: google::protobuf::AllocateAlignedAndAddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - google::protobuf::AddCleanup
    - google::protobuf::AllocateAligned
    linkageType: ''
    returnType: void
    signature: void * AllocateAlignedAndAddCleanup(size_t n, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: google::protobuf::head
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Block
    signature: Block * head() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: google::protobuf::owner
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * owner() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: google::protobuf::next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SerialArena
    signature: SerialArena * next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - next
    argTypes:
    - SerialArena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: google::protobuf::set_next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(SerialArena* next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: google::protobuf::SizeOf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOf(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: google::protobuf::internal::AlignUpTo8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 10
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t AlignUpTo8(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaMetricsCollector
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::ArenaMetricsCollector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ArenaMetricsCollector
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArenaMetricsCollector
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:102,1
    - Dst: next_and_bits_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: pos_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:105,1
    - Dst: size_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:106,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::SerialArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - size_
    - reinterpret_cast<char*>
    - pos_
    - next_and_bits_
    - GOOGLE_DCHECK_EQ
    - Block
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT SerialArena
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::special
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool special() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::user_owned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool user_owned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Block*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Block*>
    linkageType: ''
    returnType: Block
    signature: Block * next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: google::protobuf::internal::clear_next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::set_pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_pos(size_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: google::protobuf::internal::AlignUpTo8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 10
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t AlignUpTo8(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaMetricsCollector
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::ArenaMetricsCollector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ArenaMetricsCollector
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArenaMetricsCollector
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:102,1
    - Dst: next_and_bits_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: pos_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:105,1
    - Dst: size_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:106,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::SerialArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - size_
    - reinterpret_cast<char*>
    - pos_
    - next_and_bits_
    - GOOGLE_DCHECK_EQ
    - Block
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT SerialArena
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::special
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool special() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::user_owned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool user_owned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Block*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Block*>
    linkageType: ''
    returnType: Block
    signature: Block * next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: google::protobuf::internal::clear_next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::set_pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_pos(size_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: google::protobuf::HasSpace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 2
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool HasSpace(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:159,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:159,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:160,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:161,1
    - Dst: google::protobuf::HasSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:161,1
    - Dst: AllocateAlignedFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:162,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: google::protobuf::AllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::HasSpace
    - ASAN_UNPOISON_MEMORY_REGION
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK_EQ
    - AllocateAlignedFallback
    linkageType: ''
    returnType: void
    signature: void * AllocateAligned(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:174,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:174,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:175,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:176,1
    - Dst: google::protobuf::HasSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:176,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - n
    - out
    argTypes:
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: google::protobuf::MaybeAllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::HasSpace
    - ASAN_UNPOISON_MEMORY_REGION
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool MaybeAllocateAligned(size_t n, void** out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:187,1
    - Dst: AddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: google::protobuf::AddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 1
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - AddCleanupFallback
    linkageType: ''
    returnType: void
    signature: void AddCleanup(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:197,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: google::protobuf::AllocateAlignedAndAddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - google::protobuf::AddCleanup
    - google::protobuf::AllocateAligned
    linkageType: ''
    returnType: void
    signature: void * AllocateAlignedAndAddCleanup(size_t n, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: google::protobuf::head
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Block
    signature: Block * head() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: google::protobuf::owner
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * owner() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: google::protobuf::next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SerialArena
    signature: SerialArena * next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - next
    argTypes:
    - SerialArena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: google::protobuf::set_next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(SerialArena* next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: google::protobuf::SizeOf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOf(size_t i)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:262,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:265,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:265,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:266,1
    - Dst: SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:270,1
    - Dst: SerialArena::Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:270,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:289,1
    - Dst: google::GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:289,1
    - Dst: SerialArena*::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:290,1
    - Dst: AllocateAlignedFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:292,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:303,1
    - Dst: google::GetSerialArenaFromThreadCache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:303,1
    - Dst: SerialArena*::MaybeAllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:304,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:316,1
    - Dst: google::record_allocs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:316,1
    - Dst: metrics_collector::OnAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:317,1
    - Dst: std::atomic::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:359,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:363,1
    - Dst: SerialArena*::head
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:364,1
    - Dst: auto*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:366,1
    - Dst: fn
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:367,1
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:376,1
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:377,1
    - Dst: std::atomic::store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:382,1
    - Dst: google::GetSerialArenaFromThreadCache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:386,1
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:390,1
    - Dst: std::atomic::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:391,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:392,1
    - Dst: SerialArena*::owner
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:392,1
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:404,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:405,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:465,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:476,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:478,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 483
    functionName: google::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::GetSerialArenaFromThreadCache
    - SerialArena*::owner
    - static_cast<size_t>
    - google::record_allocs
    - auto*::next
    - reinterpret_cast<uintptr_t>
    - fn
    - SerialArena*::next
    - google::thread_cache
    - std::atomic::store
    - SerialArena*::MaybeAllocateAligned
    - SetInitialBlock
    - SerialArena*::AllocateAligned
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - GOOGLE_DCHECK_EQ
    - SerialArena::Block::Block
    - AllocateAlignedFallback
    - std::atomic::load
    - SerialArena*::head
    - Init
    - metrics_collector::OnAlloc
    - google::GetSerialArenaFast
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArenaImpl
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void ArenaImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:265,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:265,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:266,1
    - Dst: SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:270,1
    - Dst: SerialArena::Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: google::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - SetInitialBlock
    - Init
    - GOOGLE_DCHECK_EQ
    - SerialArena::Block::Block
    linkageType: ''
    returnType: void
    signature: void ArenaImpl(char* mem, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:289,1
    - Dst: google::GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:289,1
    - Dst: SerialArena*::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:290,1
    - Dst: AllocateAlignedFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: google::AllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - google::GetSerialArenaFast
    - SerialArena*::AllocateAligned
    - AllocateAlignedFallback
    linkageType: ''
    returnType: void
    signature: void * AllocateAligned(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:303,1
    - Dst: google::GetSerialArenaFromThreadCache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:303,1
    - Dst: SerialArena*::MaybeAllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - n
    - out
    argTypes:
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: google::MaybeAllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - google::GetSerialArenaFromThreadCache
    - SerialArena*::MaybeAllocateAligned
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE MaybeAllocateAligned(size_t n, void** out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:316,1
    - Dst: google::record_allocs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:316,1
    - Dst: metrics_collector::OnAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - allocated_type
    - n
    argTypes:
    - std::type_info*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: google::RecordAlloc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::record_allocs
    - metrics_collector::OnAlloc
    linkageType: ''
    returnType: void
    signature: "void RecordAlloc(const std::type_info* allocated_type,\n                          size_t
      n) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: google::record_allocs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool record_allocs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:359,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:363,1
    - Dst: SerialArena*::head
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:364,1
    - Dst: auto*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:366,1
    - Dst: fn
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fn
    argTypes:
    - Functor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 370
    functionName: google::PerBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - fn
    - SerialArena*::next
    - load
    - SerialArena*::head
    - auto*::next
    linkageType: ''
    returnType: void
    signature: void PerBlock(Functor fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:376,1
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:377,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - serial
    argTypes:
    - SerialArena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: google::CacheSerialArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - store
    - google::thread_cache
    linkageType: ''
    returnType: void
    signature: void CacheSerialArena(SerialArena* serial)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::GetSerialArenaFromThreadCache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:386,1
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:390,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:391,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:392,1
    - Dst: SerialArena*::owner
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - arena
    argTypes:
    - SerialArena**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: google::GetSerialArenaFast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 2
    functionsReached:
    - google::thread_cache
    - google::GetSerialArenaFromThreadCache
    - SerialArena*::owner
    - load
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE GetSerialArenaFast(SerialArena** arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:404,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - SerialArena**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: google::GetSerialArenaFromThreadCache
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 3
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - google::thread_cache
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE GetSerialArenaFromThreadCache(\n      SerialArena**
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: google::ThreadCache
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThreadCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 462
    functionName: google::thread_cache
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ThreadCache
    signature: ThreadCache & thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: google::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaImpl(ArenaImpl&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: google::protobuf::internal::AlignUpTo8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 12
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t AlignUpTo8(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaMetricsCollector
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::ArenaMetricsCollector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ArenaMetricsCollector
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArenaMetricsCollector
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:102,1
    - Dst: next_and_bits_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: pos_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:105,1
    - Dst: size_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:106,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::SerialArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - size_
    - reinterpret_cast<char*>
    - pos_
    - next_and_bits_
    - GOOGLE_DCHECK_EQ
    - Block
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT SerialArena
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::special
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool special() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::user_owned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool user_owned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Block*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Block*>
    linkageType: ''
    returnType: Block
    signature: Block * next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: google::protobuf::internal::clear_next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::set_pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_pos(size_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: google::protobuf::internal::AlignUpTo8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 12
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t AlignUpTo8(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaMetricsCollector
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::ArenaMetricsCollector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ArenaMetricsCollector
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArenaMetricsCollector
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:102,1
    - Dst: next_and_bits_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: pos_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:105,1
    - Dst: size_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:106,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::SerialArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - size_
    - reinterpret_cast<char*>
    - pos_
    - next_and_bits_
    - GOOGLE_DCHECK_EQ
    - Block
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT SerialArena
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::special
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool special() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::user_owned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool user_owned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Block*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Block*>
    linkageType: ''
    returnType: Block
    signature: Block * next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: google::protobuf::internal::clear_next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::set_pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_pos(size_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: google::protobuf::HasSpace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 4
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool HasSpace(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:159,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:159,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:160,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:161,1
    - Dst: google::protobuf::HasSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:161,1
    - Dst: AllocateAlignedFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:162,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: google::protobuf::AllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::HasSpace
    - ASAN_UNPOISON_MEMORY_REGION
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK_EQ
    - AllocateAlignedFallback
    linkageType: ''
    returnType: void
    signature: void * AllocateAligned(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:174,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:174,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:175,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:176,1
    - Dst: google::protobuf::HasSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:176,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - n
    - out
    argTypes:
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: google::protobuf::MaybeAllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::HasSpace
    - ASAN_UNPOISON_MEMORY_REGION
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool MaybeAllocateAligned(size_t n, void** out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:187,1
    - Dst: AddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: google::protobuf::AddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 2
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - AddCleanupFallback
    linkageType: ''
    returnType: void
    signature: void AddCleanup(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:197,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: google::protobuf::AllocateAlignedAndAddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - google::protobuf::AddCleanup
    - google::protobuf::AllocateAligned
    linkageType: ''
    returnType: void
    signature: void * AllocateAlignedAndAddCleanup(size_t n, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: google::protobuf::head
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Block
    signature: Block * head() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: google::protobuf::owner
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * owner() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: google::protobuf::next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SerialArena
    signature: SerialArena * next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - next
    argTypes:
    - SerialArena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: google::protobuf::set_next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(SerialArena* next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: google::protobuf::SizeOf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOf(size_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: google::protobuf::internal::AlignUpTo8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 14
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t AlignUpTo8(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaMetricsCollector
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::ArenaMetricsCollector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ArenaMetricsCollector
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArenaMetricsCollector
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:102,1
    - Dst: next_and_bits_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: pos_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:105,1
    - Dst: size_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:106,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::SerialArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - size_
    - reinterpret_cast<char*>
    - pos_
    - next_and_bits_
    - GOOGLE_DCHECK_EQ
    - Block
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT SerialArena
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::special
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool special() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::user_owned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool user_owned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Block*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Block*>
    linkageType: ''
    returnType: Block
    signature: Block * next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: google::protobuf::internal::clear_next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::set_pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_pos(size_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: google::protobuf::internal::AlignUpTo8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 14
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t AlignUpTo8(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaMetricsCollector
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: google::protobuf::internal::ArenaMetricsCollector
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ArenaMetricsCollector
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArenaMetricsCollector
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Block
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:102,1
    - Dst: next_and_bits_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:103,1
    - Dst: pos_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:105,1
    - Dst: size_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:106,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:107,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::SerialArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - size_
    - reinterpret_cast<char*>
    - pos_
    - next_and_bits_
    - GOOGLE_DCHECK_EQ
    - Block
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT SerialArena
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::special
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool special() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: google::protobuf::internal::user_owned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool user_owned() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Block*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Block*>
    linkageType: ''
    returnType: Block
    signature: Block * next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: google::protobuf::internal::clear_next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::internal::pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pos() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pos
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::set_pos
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_pos(size_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: google::protobuf::HasSpace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 6
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool HasSpace(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:159,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:159,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:160,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:161,1
    - Dst: google::protobuf::HasSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:161,1
    - Dst: AllocateAlignedFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:162,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: google::protobuf::AllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::HasSpace
    - ASAN_UNPOISON_MEMORY_REGION
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK_EQ
    - AllocateAlignedFallback
    linkageType: ''
    returnType: void
    signature: void * AllocateAligned(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:174,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:174,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:175,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:176,1
    - Dst: google::protobuf::HasSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:176,1
    - Dst: ASAN_UNPOISON_MEMORY_REGION
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - n
    - out
    argTypes:
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: google::protobuf::MaybeAllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::HasSpace
    - ASAN_UNPOISON_MEMORY_REGION
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: bool
    signature: bool MaybeAllocateAligned(size_t n, void** out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:187,1
    - Dst: AddCleanupFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: google::protobuf::AddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 3
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - AddCleanupFallback
    linkageType: ''
    returnType: void
    signature: void AddCleanup(void* elem, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:197,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: google::protobuf::AllocateAlignedAndAddCleanup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - google::protobuf::AddCleanup
    - google::protobuf::AllocateAligned
    linkageType: ''
    returnType: void
    signature: void * AllocateAlignedAndAddCleanup(size_t n, void (*cleanup)(void*))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: google::protobuf::head
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Block
    signature: Block * head() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: google::protobuf::owner
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * owner() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: google::protobuf::next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SerialArena
    signature: SerialArena * next() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - next
    argTypes:
    - SerialArena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: google::protobuf::set_next
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_next(SerialArena* next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: google::protobuf::SizeOf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOf(size_t i)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:262,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:265,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:265,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:266,1
    - Dst: SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:270,1
    - Dst: SerialArena::Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:270,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:289,1
    - Dst: google::GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:289,1
    - Dst: SerialArena*::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:290,1
    - Dst: AllocateAlignedFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:292,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:303,1
    - Dst: google::GetSerialArenaFromThreadCache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:303,1
    - Dst: SerialArena*::MaybeAllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:304,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:316,1
    - Dst: google::record_allocs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:316,1
    - Dst: metrics_collector::OnAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:317,1
    - Dst: std::atomic::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:359,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:363,1
    - Dst: SerialArena*::head
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:364,1
    - Dst: auto*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:366,1
    - Dst: fn
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:367,1
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:376,1
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:377,1
    - Dst: std::atomic::store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:382,1
    - Dst: google::GetSerialArenaFromThreadCache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:386,1
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:390,1
    - Dst: std::atomic::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:391,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:392,1
    - Dst: SerialArena*::owner
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:392,1
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:404,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:405,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:465,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:476,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:478,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 483
    functionName: google::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::GetSerialArenaFromThreadCache
    - SerialArena*::owner
    - static_cast<size_t>
    - google::record_allocs
    - auto*::next
    - reinterpret_cast<uintptr_t>
    - fn
    - SerialArena*::next
    - google::thread_cache
    - std::atomic::store
    - SerialArena*::MaybeAllocateAligned
    - SetInitialBlock
    - SerialArena*::AllocateAligned
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - GOOGLE_DCHECK_EQ
    - SerialArena::Block::Block
    - AllocateAlignedFallback
    - std::atomic::load
    - SerialArena*::head
    - Init
    - metrics_collector::OnAlloc
    - google::GetSerialArenaFast
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArenaImpl
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - Init
    linkageType: ''
    returnType: void
    signature: void ArenaImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:265,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:265,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:266,1
    - Dst: SetInitialBlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:270,1
    - Dst: SerialArena::Block::Block
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: google::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    - SetInitialBlock
    - Init
    - GOOGLE_DCHECK_EQ
    - SerialArena::Block::Block
    linkageType: ''
    returnType: void
    signature: void ArenaImpl(char* mem, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:289,1
    - Dst: google::GetSerialArenaFast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:289,1
    - Dst: SerialArena*::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:290,1
    - Dst: AllocateAlignedFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: google::AllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - google::GetSerialArenaFast
    - SerialArena*::AllocateAligned
    - AllocateAlignedFallback
    linkageType: ''
    returnType: void
    signature: void * AllocateAligned(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:303,1
    - Dst: google::GetSerialArenaFromThreadCache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:303,1
    - Dst: SerialArena*::MaybeAllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - n
    - out
    argTypes:
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: google::MaybeAllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - google::GetSerialArenaFromThreadCache
    - SerialArena*::MaybeAllocateAligned
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE MaybeAllocateAligned(size_t n, void** out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:316,1
    - Dst: google::record_allocs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:316,1
    - Dst: metrics_collector::OnAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - allocated_type
    - n
    argTypes:
    - std::type_info*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: google::RecordAlloc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::record_allocs
    - metrics_collector::OnAlloc
    linkageType: ''
    returnType: void
    signature: "void RecordAlloc(const std::type_info* allocated_type,\n                          size_t
      n) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: google::record_allocs
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool record_allocs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:359,1
    - Dst: SerialArena*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:363,1
    - Dst: SerialArena*::head
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:364,1
    - Dst: auto*::next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:366,1
    - Dst: fn
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fn
    argTypes:
    - Functor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 370
    functionName: google::PerBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - fn
    - SerialArena*::next
    - load
    - SerialArena*::head
    - auto*::next
    linkageType: ''
    returnType: void
    signature: void PerBlock(Functor fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:376,1
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:377,1
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - serial
    argTypes:
    - SerialArena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: google::CacheSerialArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached:
    - store
    - google::thread_cache
    linkageType: ''
    returnType: void
    signature: void CacheSerialArena(SerialArena* serial)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::GetSerialArenaFromThreadCache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:386,1
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:390,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:391,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:392,1
    - Dst: SerialArena*::owner
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - arena
    argTypes:
    - SerialArena**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: google::GetSerialArenaFast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 4
    functionsReached:
    - google::thread_cache
    - google::GetSerialArenaFromThreadCache
    - SerialArena*::owner
    - load
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE GetSerialArenaFast(SerialArena** arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::thread_cache
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:404,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - SerialArena**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: google::GetSerialArenaFromThreadCache
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 6
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - google::thread_cache
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE GetSerialArenaFromThreadCache(\n      SerialArena**
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 424
    functionName: google::ThreadCache
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ThreadCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 462
    functionName: google::thread_cache
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: ThreadCache
    signature: ThreadCache & thread_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: google::ArenaImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaImpl(ArenaImpl&&)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseNamedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:81,1
    - Dst: static_cast<EnumType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - descriptor
    - name
    - value
    argTypes:
    - EnumDescriptor*
    - ConstStringParam
    - EnumType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::ParseNamedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ParseNamedEnum
    - static_cast<EnumType>
    linkageType: ''
    returnType: bool
    signature: "bool ParseNamedEnum(const EnumDescriptor* descriptor, ConstStringParam
      name,\n                    EnumType* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseNamedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:81,1
    - Dst: static_cast<EnumType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - descriptor
    - name
    - value
    argTypes:
    - EnumDescriptor*
    - ConstStringParam
    - EnumType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::ParseNamedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ParseNamedEnum
    - static_cast<EnumType>
    linkageType: ''
    returnType: bool
    signature: "bool ParseNamedEnum(const EnumDescriptor* descriptor, ConstStringParam
      name,\n                    EnumType* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseNamedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:81,1
    - Dst: static_cast<EnumType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - descriptor
    - name
    - value
    argTypes:
    - EnumDescriptor*
    - ConstStringParam
    - EnumType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::ParseNamedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ParseNamedEnum
    - static_cast<EnumType>
    linkageType: ''
    returnType: bool
    signature: "bool ParseNamedEnum(const EnumDescriptor* descriptor, ConstStringParam
      name,\n                    EnumType* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseNamedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:81,1
    - Dst: static_cast<EnumType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - descriptor
    - name
    - value
    argTypes:
    - EnumDescriptor*
    - ConstStringParam
    - EnumType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::ParseNamedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ParseNamedEnum
    - static_cast<EnumType>
    linkageType: ''
    returnType: bool
    signature: "bool ParseNamedEnum(const EnumDescriptor* descriptor, ConstStringParam
      name,\n                    EnumType* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseNamedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:81,1
    - Dst: static_cast<EnumType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - descriptor
    - name
    - value
    argTypes:
    - EnumDescriptor*
    - ConstStringParam
    - EnumType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::ParseNamedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ParseNamedEnum
    - static_cast<EnumType>
    linkageType: ''
    returnType: bool
    signature: "bool ParseNamedEnum(const EnumDescriptor* descriptor, ConstStringParam
      name,\n                    EnumType* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseNamedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:81,1
    - Dst: static_cast<EnumType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - descriptor
    - name
    - value
    argTypes:
    - EnumDescriptor*
    - ConstStringParam
    - EnumType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::ParseNamedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ParseNamedEnum
    - static_cast<EnumType>
    linkageType: ''
    returnType: bool
    signature: "bool ParseNamedEnum(const EnumDescriptor* descriptor, ConstStringParam
      name,\n                    EnumType* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseNamedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:81,1
    - Dst: static_cast<EnumType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - descriptor
    - name
    - value
    argTypes:
    - EnumDescriptor*
    - ConstStringParam
    - EnumType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::ParseNamedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ParseNamedEnum
    - static_cast<EnumType>
    linkageType: ''
    returnType: bool
    signature: "bool ParseNamedEnum(const EnumDescriptor* descriptor, ConstStringParam
      name,\n                    EnumType* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseNamedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:81,1
    - Dst: static_cast<EnumType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - descriptor
    - name
    - value
    argTypes:
    - EnumDescriptor*
    - ConstStringParam
    - EnumType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::ParseNamedEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ParseNamedEnum
    - static_cast<EnumType>
    linkageType: ''
    returnType: bool
    signature: "bool ParseNamedEnum(const EnumDescriptor* descriptor, ConstStringParam
      name,\n                    EnumType* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:59,1
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 96
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 1
    functionsReached:
    - append
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - Arena::CreateMessage<ImplicitWeakMessage>
    - google::protobuf::internal::size
    - WriteRaw
    - ImplicitWeakMessage::ImplicitWeakMessage
    - clear
    - static_cast<int>
    - static_cast<const ImplicitWeakMessage&>
    - google::protobuf::internal::data
    - google::protobuf::internal::ImplicitWeakMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ImplicitWeakMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImplicitWeakMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: google::protobuf::internal::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - ImplicitWeakMessage::ImplicitWeakMessage
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New(Arena* arena) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: google::protobuf::internal::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<const ImplicitWeakMessage&>
    - append
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * _InternalSerialize(uint8* target,\n                            io::EpsCopyOutputStream*
      stream) const final"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::size
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * NewFromPrototype(const MessageLite* prototype,\n                                              Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(MessageLite* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void Merge(const MessageLite& from, MessageLite* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:59,1
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 96
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 2
    functionsReached:
    - append
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - Arena::CreateMessage<ImplicitWeakMessage>
    - google::protobuf::internal::size
    - WriteRaw
    - ImplicitWeakMessage::ImplicitWeakMessage
    - clear
    - static_cast<int>
    - static_cast<const ImplicitWeakMessage&>
    - google::protobuf::internal::data
    - google::protobuf::internal::ImplicitWeakMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ImplicitWeakMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImplicitWeakMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: google::protobuf::internal::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - ImplicitWeakMessage::ImplicitWeakMessage
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New(Arena* arena) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: google::protobuf::internal::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<const ImplicitWeakMessage&>
    - append
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * _InternalSerialize(uint8* target,\n                            io::EpsCopyOutputStream*
      stream) const final"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::size
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * NewFromPrototype(const MessageLite* prototype,\n                                              Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(MessageLite* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void Merge(const MessageLite& from, MessageLite* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: google::protobuf::WeakRepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WeakRepeatedPtrField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::WeakRepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WeakRepeatedPtrField(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Destroy<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ~WeakRepeatedPtrField()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - template Destroy<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void ~WeakRepeatedPtrField()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:144,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: google::protobuf::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 1
    functionsReached:
    - iterator
    - base
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:145,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: google::protobuf::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 1
    functionsReached:
    - iterator
    - base
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: google::protobuf::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:147,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: google::protobuf::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 1
    functionsReached:
    - google::protobuf::begin
    - base
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:148,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: google::protobuf::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 1
    functionsReached:
    - google::protobuf::begin
    - base
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: google::protobuf::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:151,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: google::protobuf::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - pointer_iterator
    linkageType: ''
    returnType: pointer_iterator
    signature: pointer_iterator pointer_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:154,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: google::protobuf::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - const_pointer_iterator
    linkageType: ''
    returnType: const_pointer_iterator
    signature: const_pointer_iterator pointer_begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:157,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:157,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: google::protobuf::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - pointer_iterator
    linkageType: ''
    returnType: pointer_iterator
    signature: pointer_iterator pointer_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:160,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:160,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: google::protobuf::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - const_pointer_iterator
    linkageType: ''
    returnType: const_pointer_iterator
    signature: const_pointer_iterator pointer_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: google::protobuf::AddWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * AddWeak(const MessageLite* prototype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: google::protobuf::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 1
    functionsReached:
    - google::protobuf::Add
    linkageType: ''
    returnType: T
    signature: T * Add()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: google::protobuf::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:169,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - WeakRepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: google::protobuf::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const WeakRepeatedPtrField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:172,1
    - Dst: WeakRepeatedPtrField*::base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - WeakRepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: google::protobuf::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - WeakRepeatedPtrField*::base
    - base
    linkageType: ''
    returnType: void
    signature: void InternalSwap(WeakRepeatedPtrField* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: '& base() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBase
    signature: internal::RepeatedPtrFieldBase & base() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: '& base()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBase
    signature: internal::RepeatedPtrFieldBase & base()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:59,1
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 96
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 3
    functionsReached:
    - append
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - Arena::CreateMessage<ImplicitWeakMessage>
    - google::protobuf::internal::size
    - WriteRaw
    - ImplicitWeakMessage::ImplicitWeakMessage
    - clear
    - static_cast<int>
    - static_cast<const ImplicitWeakMessage&>
    - google::protobuf::internal::data
    - google::protobuf::internal::ImplicitWeakMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ImplicitWeakMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImplicitWeakMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: google::protobuf::internal::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - ImplicitWeakMessage::ImplicitWeakMessage
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New(Arena* arena) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: google::protobuf::internal::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<const ImplicitWeakMessage&>
    - append
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * _InternalSerialize(uint8* target,\n                            io::EpsCopyOutputStream*
      stream) const final"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::size
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * NewFromPrototype(const MessageLite* prototype,\n                                              Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(MessageLite* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void Merge(const MessageLite& from, MessageLite* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:59,1
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 96
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 4
    functionsReached:
    - append
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - Arena::CreateMessage<ImplicitWeakMessage>
    - google::protobuf::internal::size
    - WriteRaw
    - ImplicitWeakMessage::ImplicitWeakMessage
    - clear
    - static_cast<int>
    - static_cast<const ImplicitWeakMessage&>
    - google::protobuf::internal::data
    - google::protobuf::internal::ImplicitWeakMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ImplicitWeakMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImplicitWeakMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: google::protobuf::internal::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - ImplicitWeakMessage::ImplicitWeakMessage
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New(Arena* arena) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: google::protobuf::internal::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<const ImplicitWeakMessage&>
    - append
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * _InternalSerialize(uint8* target,\n                            io::EpsCopyOutputStream*
      stream) const final"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::size
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * NewFromPrototype(const MessageLite* prototype,\n                                              Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(MessageLite* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void Merge(const MessageLite& from, MessageLite* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: google::protobuf::WeakRepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WeakRepeatedPtrField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::WeakRepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WeakRepeatedPtrField(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Destroy<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ~WeakRepeatedPtrField()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - template Destroy<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void ~WeakRepeatedPtrField()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:144,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: google::protobuf::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 4
    functionsReached:
    - iterator
    - base
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:145,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: google::protobuf::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 4
    functionsReached:
    - iterator
    - base
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: google::protobuf::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:147,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: google::protobuf::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 2
    functionsReached:
    - google::protobuf::begin
    - base
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:148,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: google::protobuf::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 2
    functionsReached:
    - google::protobuf::begin
    - base
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: google::protobuf::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:151,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: google::protobuf::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - pointer_iterator
    linkageType: ''
    returnType: pointer_iterator
    signature: pointer_iterator pointer_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:154,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: google::protobuf::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - const_pointer_iterator
    linkageType: ''
    returnType: const_pointer_iterator
    signature: const_pointer_iterator pointer_begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:157,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:157,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: google::protobuf::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - pointer_iterator
    linkageType: ''
    returnType: pointer_iterator
    signature: pointer_iterator pointer_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:160,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:160,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: google::protobuf::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - const_pointer_iterator
    linkageType: ''
    returnType: const_pointer_iterator
    signature: const_pointer_iterator pointer_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: google::protobuf::AddWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * AddWeak(const MessageLite* prototype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: google::protobuf::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Add
    linkageType: ''
    returnType: T
    signature: T * Add()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: google::protobuf::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:169,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - WeakRepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: google::protobuf::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const WeakRepeatedPtrField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:172,1
    - Dst: WeakRepeatedPtrField*::base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - WeakRepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: google::protobuf::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - WeakRepeatedPtrField*::base
    - base
    linkageType: ''
    returnType: void
    signature: void InternalSwap(WeakRepeatedPtrField* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: '& base() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBase
    signature: internal::RepeatedPtrFieldBase & base() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: '& base()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBase
    signature: internal::RepeatedPtrFieldBase & base()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:59,1
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 96
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 5
    functionsReached:
    - append
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - Arena::CreateMessage<ImplicitWeakMessage>
    - google::protobuf::internal::size
    - WriteRaw
    - ImplicitWeakMessage::ImplicitWeakMessage
    - clear
    - static_cast<int>
    - static_cast<const ImplicitWeakMessage&>
    - google::protobuf::internal::data
    - google::protobuf::internal::ImplicitWeakMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ImplicitWeakMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImplicitWeakMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: google::protobuf::internal::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - ImplicitWeakMessage::ImplicitWeakMessage
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New(Arena* arena) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: google::protobuf::internal::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<const ImplicitWeakMessage&>
    - append
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * _InternalSerialize(uint8* target,\n                            io::EpsCopyOutputStream*
      stream) const final"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::size
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * NewFromPrototype(const MessageLite* prototype,\n                                              Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(MessageLite* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void Merge(const MessageLite& from, MessageLite* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:59,1
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 96
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 6
    functionsReached:
    - append
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - Arena::CreateMessage<ImplicitWeakMessage>
    - google::protobuf::internal::size
    - WriteRaw
    - ImplicitWeakMessage::ImplicitWeakMessage
    - clear
    - static_cast<int>
    - static_cast<const ImplicitWeakMessage&>
    - google::protobuf::internal::data
    - google::protobuf::internal::ImplicitWeakMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ImplicitWeakMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImplicitWeakMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: google::protobuf::internal::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - ImplicitWeakMessage::ImplicitWeakMessage
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New(Arena* arena) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: google::protobuf::internal::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<const ImplicitWeakMessage&>
    - append
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * _InternalSerialize(uint8* target,\n                            io::EpsCopyOutputStream*
      stream) const final"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::size
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * NewFromPrototype(const MessageLite* prototype,\n                                              Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(MessageLite* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void Merge(const MessageLite& from, MessageLite* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: google::protobuf::WeakRepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WeakRepeatedPtrField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::WeakRepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WeakRepeatedPtrField(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Destroy<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ~WeakRepeatedPtrField()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - template Destroy<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void ~WeakRepeatedPtrField()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:144,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: google::protobuf::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 7
    functionsReached:
    - iterator
    - base
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:145,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: google::protobuf::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 7
    functionsReached:
    - iterator
    - base
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: google::protobuf::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:147,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: google::protobuf::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 3
    functionsReached:
    - google::protobuf::begin
    - base
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:148,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: google::protobuf::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 3
    functionsReached:
    - google::protobuf::begin
    - base
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: google::protobuf::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:151,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: google::protobuf::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - pointer_iterator
    linkageType: ''
    returnType: pointer_iterator
    signature: pointer_iterator pointer_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:154,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: google::protobuf::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - const_pointer_iterator
    linkageType: ''
    returnType: const_pointer_iterator
    signature: const_pointer_iterator pointer_begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:157,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:157,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: google::protobuf::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - pointer_iterator
    linkageType: ''
    returnType: pointer_iterator
    signature: pointer_iterator pointer_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:160,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:160,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: google::protobuf::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - const_pointer_iterator
    linkageType: ''
    returnType: const_pointer_iterator
    signature: const_pointer_iterator pointer_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: google::protobuf::AddWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * AddWeak(const MessageLite* prototype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: google::protobuf::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Add
    linkageType: ''
    returnType: T
    signature: T * Add()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: google::protobuf::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:169,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - WeakRepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: google::protobuf::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const WeakRepeatedPtrField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:172,1
    - Dst: WeakRepeatedPtrField*::base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - WeakRepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: google::protobuf::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - WeakRepeatedPtrField*::base
    - base
    linkageType: ''
    returnType: void
    signature: void InternalSwap(WeakRepeatedPtrField* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: '& base() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBase
    signature: internal::RepeatedPtrFieldBase & base() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: '& base()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBase
    signature: internal::RepeatedPtrFieldBase & base()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:59,1
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 96
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 7
    functionsReached:
    - append
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - Arena::CreateMessage<ImplicitWeakMessage>
    - google::protobuf::internal::size
    - WriteRaw
    - ImplicitWeakMessage::ImplicitWeakMessage
    - clear
    - static_cast<int>
    - static_cast<const ImplicitWeakMessage&>
    - google::protobuf::internal::data
    - google::protobuf::internal::ImplicitWeakMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ImplicitWeakMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImplicitWeakMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: google::protobuf::internal::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - ImplicitWeakMessage::ImplicitWeakMessage
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New(Arena* arena) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: google::protobuf::internal::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<const ImplicitWeakMessage&>
    - append
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * _InternalSerialize(uint8* target,\n                            io::EpsCopyOutputStream*
      stream) const final"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::size
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * NewFromPrototype(const MessageLite* prototype,\n                                              Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(MessageLite* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void Merge(const MessageLite& from, MessageLite* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:59,1
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 96
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 8
    functionsReached:
    - append
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - Arena::CreateMessage<ImplicitWeakMessage>
    - google::protobuf::internal::size
    - WriteRaw
    - ImplicitWeakMessage::ImplicitWeakMessage
    - clear
    - static_cast<int>
    - static_cast<const ImplicitWeakMessage&>
    - google::protobuf::internal::data
    - google::protobuf::internal::ImplicitWeakMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ImplicitWeakMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: google::protobuf::internal::ImplicitWeakMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImplicitWeakMessage(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: google::protobuf::internal::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitWeakMessage::ImplicitWeakMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - ImplicitWeakMessage::ImplicitWeakMessage
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<ImplicitWeakMessage>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: google::protobuf::internal::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<ImplicitWeakMessage>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * New(Arena* arena) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: google::protobuf::internal::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    - Dst: static_cast<const ImplicitWeakMessage&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<const ImplicitWeakMessage&>
    - append
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::size
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - target
    - stream
    argTypes:
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: google::protobuf::internal::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::size
    - io::EpsCopyOutputStream*::WriteRaw
    - google::protobuf::internal::data
    linkageType: ''
    returnType: uint8
    signature: "uint8 * _InternalSerialize(uint8* target,\n                            io::EpsCopyOutputStream*
      stream) const final"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    - Dst: google::protobuf::internal::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::size
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::New
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * NewFromPrototype(const MessageLite* prototype,\n                                              Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - MessageLite*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(MessageLite* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - MessageLite
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - MessageLite*::CheckTypeAndMergeFrom
    linkageType: ''
    returnType: void
    signature: void Merge(const MessageLite& from, MessageLite* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: google::protobuf::WeakRepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WeakRepeatedPtrField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: google::protobuf::WeakRepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WeakRepeatedPtrField(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template Destroy<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ~WeakRepeatedPtrField()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - template Destroy<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void ~WeakRepeatedPtrField()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:144,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: google::protobuf::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 10
    functionsReached:
    - iterator
    - base
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:145,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: google::protobuf::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 10
    functionsReached:
    - iterator
    - base
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: google::protobuf::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:147,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: google::protobuf::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 4
    functionsReached:
    - google::protobuf::begin
    - base
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:148,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: google::protobuf::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 4
    functionsReached:
    - google::protobuf::begin
    - base
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: google::protobuf::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:151,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: google::protobuf::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - pointer_iterator
    linkageType: ''
    returnType: pointer_iterator
    signature: pointer_iterator pointer_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:154,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: google::protobuf::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - const_pointer_iterator
    linkageType: ''
    returnType: const_pointer_iterator
    signature: const_pointer_iterator pointer_begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:157,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:157,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: google::protobuf::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - pointer_iterator
    linkageType: ''
    returnType: pointer_iterator
    signature: pointer_iterator pointer_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:160,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:160,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: google::protobuf::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    - const_pointer_iterator
    linkageType: ''
    returnType: const_pointer_iterator
    signature: const_pointer_iterator pointer_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: google::protobuf::AddWeak
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * AddWeak(const MessageLite* prototype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: google::protobuf::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Add
    linkageType: ''
    returnType: T
    signature: T * Add()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: google::protobuf::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:169,1
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - WeakRepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: google::protobuf::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - base
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const WeakRepeatedPtrField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:172,1
    - Dst: WeakRepeatedPtrField*::base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - WeakRepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: google::protobuf::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached:
    - WeakRepeatedPtrField*::base
    - base
    linkageType: ''
    returnType: void
    signature: void InternalSwap(WeakRepeatedPtrField* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: '& base() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBase
    signature: internal::RepeatedPtrFieldBase & base() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: '& base()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBase
    signature: internal::RepeatedPtrFieldBase & base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::FieldMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT FieldMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::default_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - AuxiliaryParseTableField::enum_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::enum_aux e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::message_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::message_aux
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - AuxiliaryParseTableField::string_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::string_aux
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::map_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::map_aux m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 16
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_instance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - map_field
    argTypes:
    - io::CodedInputStream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: google::protobuf::internal::ParseMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: bool ParseMap(io::CodedInputStream* input, void* map_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:246,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' msg'
    - table
    - output
    argTypes:
    - MessageLite
    - SerializationTable*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::TableSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void TableSerialize(const MessageLite& msg,\n                           const
      SerializationTable* table,\n                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:263,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' msg'
    - table
    - is_deterministic
    - buffer
    argTypes:
    - MessageLite
    - SerializationTable*
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: google::protobuf::internal::TableSerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * TableSerializeToArray(const MessageLite& msg,\n                                    const
      SerializationTable* table,\n                                    bool is_deterministic,
      uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ArenaStringPtr
    - ArenaStringPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: bool
    signature: bool operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Compare
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MapEntryHelper<T>
    - MapEntryHelper<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: "operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Compare
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompareHelper<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::Compare
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 1
    functionsReached:
    - CompareHelper<T>
    linkageType: ''
    returnType: bool
    signature: bool Compare(const T& a, const T& b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const MapFieldType*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:301,1
    - Dst: io::CodedOutputStream*::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:305,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:310,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: Entry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: std::sort
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: CompareMapKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:321,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:322,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:323,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - base
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::MapFieldSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - GetMap
    - io::CodedOutputStream*::WriteVarint32
    - std::sort
    - reinterpret_cast<const uint8*>
    - Entry
    - std::vector::size
    - std::vector::begin
    - CompareMapKey
    - std::vector::push_back
    - io::CodedOutputStream*::IsSerializationDeterministic
    - reinterpret_cast<const MapFieldType*>
    - std::vector::end
    - google::protobuf::internal::SerializeInternal
    linkageType: ''
    returnType: void
    signature: "void MapFieldSerializer(const uint8* base, uint32 offset, uint32 tag,\n
      \                       uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::FieldMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT FieldMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::default_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - AuxiliaryParseTableField::enum_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::enum_aux e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::message_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::message_aux
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - AuxiliaryParseTableField::string_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::string_aux
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::map_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::map_aux m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 16
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_instance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - map_field
    argTypes:
    - io::CodedInputStream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: google::protobuf::internal::ParseMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: bool ParseMap(io::CodedInputStream* input, void* map_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:246,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' msg'
    - table
    - output
    argTypes:
    - MessageLite
    - SerializationTable*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::TableSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void TableSerialize(const MessageLite& msg,\n                           const
      SerializationTable* table,\n                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:263,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' msg'
    - table
    - is_deterministic
    - buffer
    argTypes:
    - MessageLite
    - SerializationTable*
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: google::protobuf::internal::TableSerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * TableSerializeToArray(const MessageLite& msg,\n                                    const
      SerializationTable* table,\n                                    bool is_deterministic,
      uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    - Dst: google::protobuf::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ArenaStringPtr
    - ArenaStringPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Get
    linkageType: ''
    returnType: bool
    signature: bool operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MapEntryHelper<T>
    - MapEntryHelper<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: "operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompareHelper<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::Compare
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 1
    functionsReached:
    - CompareHelper<T>
    linkageType: ''
    returnType: bool
    signature: bool Compare(const T& a, const T& b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const MapFieldType*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:301,1
    - Dst: io::CodedOutputStream*::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:305,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:310,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: Entry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: std::sort
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: CompareMapKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:321,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:322,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:323,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - base
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::MapFieldSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - GetMap
    - io::CodedOutputStream*::WriteVarint32
    - std::sort
    - reinterpret_cast<const uint8*>
    - Entry
    - std::vector::size
    - std::vector::begin
    - CompareMapKey
    - std::vector::push_back
    - io::CodedOutputStream*::IsSerializationDeterministic
    - reinterpret_cast<const MapFieldType*>
    - std::vector::end
    - google::protobuf::internal::SerializeInternal
    linkageType: ''
    returnType: void
    signature: "void MapFieldSerializer(const uint8* base, uint32 offset, uint32 tag,\n
      \                       uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::FieldMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT FieldMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::default_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - AuxiliaryParseTableField::enum_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::enum_aux e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::message_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::message_aux
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - AuxiliaryParseTableField::string_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::string_aux
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::map_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::map_aux m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 16
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_instance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - map_field
    argTypes:
    - io::CodedInputStream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: google::protobuf::internal::ParseMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: bool ParseMap(io::CodedInputStream* input, void* map_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:246,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' msg'
    - table
    - output
    argTypes:
    - MessageLite
    - SerializationTable*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::TableSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void TableSerialize(const MessageLite& msg,\n                           const
      SerializationTable* table,\n                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:263,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' msg'
    - table
    - is_deterministic
    - buffer
    argTypes:
    - MessageLite
    - SerializationTable*
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: google::protobuf::internal::TableSerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * TableSerializeToArray(const MessageLite& msg,\n                                    const
      SerializationTable* table,\n                                    bool is_deterministic,
      uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ArenaStringPtr
    - ArenaStringPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MapEntryHelper<T>
    - MapEntryHelper<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: "operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompareHelper<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::Compare
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 1
    functionsReached:
    - CompareHelper<T>
    linkageType: ''
    returnType: bool
    signature: bool Compare(const T& a, const T& b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const MapFieldType*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:301,1
    - Dst: io::CodedOutputStream*::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:305,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:310,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: Entry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: std::sort
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: CompareMapKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:321,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:322,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:323,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - base
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::MapFieldSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - GetMap
    - io::CodedOutputStream*::WriteVarint32
    - std::sort
    - reinterpret_cast<const uint8*>
    - Entry
    - std::vector::size
    - std::vector::begin
    - CompareMapKey
    - std::vector::push_back
    - io::CodedOutputStream*::IsSerializationDeterministic
    - reinterpret_cast<const MapFieldType*>
    - std::vector::end
    - google::protobuf::internal::SerializeInternal
    linkageType: ''
    returnType: void
    signature: "void MapFieldSerializer(const uint8* base, uint32 offset, uint32 tag,\n
      \                       uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::FieldMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT FieldMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::default_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - AuxiliaryParseTableField::enum_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::enum_aux e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::message_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::message_aux
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - AuxiliaryParseTableField::string_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::string_aux
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::map_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::map_aux m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 16
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_instance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - map_field
    argTypes:
    - io::CodedInputStream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: google::protobuf::internal::ParseMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: bool ParseMap(io::CodedInputStream* input, void* map_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:246,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' msg'
    - table
    - output
    argTypes:
    - MessageLite
    - SerializationTable*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::TableSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void TableSerialize(const MessageLite& msg,\n                           const
      SerializationTable* table,\n                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:263,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' msg'
    - table
    - is_deterministic
    - buffer
    argTypes:
    - MessageLite
    - SerializationTable*
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: google::protobuf::internal::TableSerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * TableSerializeToArray(const MessageLite& msg,\n                                    const
      SerializationTable* table,\n                                    bool is_deterministic,
      uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ArenaStringPtr
    - ArenaStringPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MapEntryHelper<T>
    - MapEntryHelper<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: "operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompareHelper<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::Compare
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 1
    functionsReached:
    - CompareHelper<T>
    linkageType: ''
    returnType: bool
    signature: bool Compare(const T& a, const T& b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const MapFieldType*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:301,1
    - Dst: io::CodedOutputStream*::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:305,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:310,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: Entry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: std::sort
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: CompareMapKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:321,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:322,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:323,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - base
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::MapFieldSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - GetMap
    - io::CodedOutputStream*::WriteVarint32
    - std::sort
    - reinterpret_cast<const uint8*>
    - Entry
    - std::vector::size
    - std::vector::begin
    - CompareMapKey
    - std::vector::push_back
    - io::CodedOutputStream*::IsSerializationDeterministic
    - reinterpret_cast<const MapFieldType*>
    - std::vector::end
    - google::protobuf::internal::SerializeInternal
    linkageType: ''
    returnType: void
    signature: "void MapFieldSerializer(const uint8* base, uint32 offset, uint32 tag,\n
      \                       uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::FieldMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT FieldMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::default_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - AuxiliaryParseTableField::enum_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::enum_aux e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::message_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::message_aux
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - AuxiliaryParseTableField::string_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::string_aux
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::map_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::map_aux m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 16
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_instance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - map_field
    argTypes:
    - io::CodedInputStream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: google::protobuf::internal::ParseMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: bool ParseMap(io::CodedInputStream* input, void* map_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:246,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' msg'
    - table
    - output
    argTypes:
    - MessageLite
    - SerializationTable*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::TableSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void TableSerialize(const MessageLite& msg,\n                           const
      SerializationTable* table,\n                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:263,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' msg'
    - table
    - is_deterministic
    - buffer
    argTypes:
    - MessageLite
    - SerializationTable*
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: google::protobuf::internal::TableSerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * TableSerializeToArray(const MessageLite& msg,\n                                    const
      SerializationTable* table,\n                                    bool is_deterministic,
      uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ArenaStringPtr
    - ArenaStringPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MapEntryHelper<T>
    - MapEntryHelper<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: "operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompareHelper<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::Compare
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 1
    functionsReached:
    - CompareHelper<T>
    linkageType: ''
    returnType: bool
    signature: bool Compare(const T& a, const T& b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const MapFieldType*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:301,1
    - Dst: io::CodedOutputStream*::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:305,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:310,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: Entry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: std::sort
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: CompareMapKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:321,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:322,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:323,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - base
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::MapFieldSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - GetMap
    - io::CodedOutputStream*::WriteVarint32
    - std::sort
    - reinterpret_cast<const uint8*>
    - Entry
    - std::vector::size
    - std::vector::begin
    - CompareMapKey
    - std::vector::push_back
    - io::CodedOutputStream*::IsSerializationDeterministic
    - reinterpret_cast<const MapFieldType*>
    - std::vector::end
    - google::protobuf::internal::SerializeInternal
    linkageType: ''
    returnType: void
    signature: "void MapFieldSerializer(const uint8* base, uint32 offset, uint32 tag,\n
      \                       uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::FieldMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT FieldMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::default_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - AuxiliaryParseTableField::enum_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::enum_aux e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::message_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::message_aux
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - AuxiliaryParseTableField::string_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::string_aux
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::map_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::map_aux m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 16
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_instance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - map_field
    argTypes:
    - io::CodedInputStream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: google::protobuf::internal::ParseMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: bool ParseMap(io::CodedInputStream* input, void* map_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:246,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' msg'
    - table
    - output
    argTypes:
    - MessageLite
    - SerializationTable*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::TableSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void TableSerialize(const MessageLite& msg,\n                           const
      SerializationTable* table,\n                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:263,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' msg'
    - table
    - is_deterministic
    - buffer
    argTypes:
    - MessageLite
    - SerializationTable*
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: google::protobuf::internal::TableSerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * TableSerializeToArray(const MessageLite& msg,\n                                    const
      SerializationTable* table,\n                                    bool is_deterministic,
      uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ArenaStringPtr
    - ArenaStringPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MapEntryHelper<T>
    - MapEntryHelper<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: "operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompareHelper<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::Compare
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 1
    functionsReached:
    - CompareHelper<T>
    linkageType: ''
    returnType: bool
    signature: bool Compare(const T& a, const T& b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const MapFieldType*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:301,1
    - Dst: io::CodedOutputStream*::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:305,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:310,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: Entry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: std::sort
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: CompareMapKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:321,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:322,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:323,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - base
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::MapFieldSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - GetMap
    - io::CodedOutputStream*::WriteVarint32
    - std::sort
    - reinterpret_cast<const uint8*>
    - Entry
    - std::vector::size
    - std::vector::begin
    - CompareMapKey
    - std::vector::push_back
    - io::CodedOutputStream*::IsSerializationDeterministic
    - reinterpret_cast<const MapFieldType*>
    - std::vector::end
    - google::protobuf::internal::SerializeInternal
    linkageType: ''
    returnType: void
    signature: "void MapFieldSerializer(const uint8* base, uint32 offset, uint32 tag,\n
      \                       uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::FieldMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT FieldMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::default_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - AuxiliaryParseTableField::enum_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::enum_aux e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::message_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::message_aux
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - AuxiliaryParseTableField::string_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::string_aux
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::map_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::map_aux m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 16
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_instance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - map_field
    argTypes:
    - io::CodedInputStream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: google::protobuf::internal::ParseMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: bool ParseMap(io::CodedInputStream* input, void* map_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:246,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' msg'
    - table
    - output
    argTypes:
    - MessageLite
    - SerializationTable*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::TableSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void TableSerialize(const MessageLite& msg,\n                           const
      SerializationTable* table,\n                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:263,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' msg'
    - table
    - is_deterministic
    - buffer
    argTypes:
    - MessageLite
    - SerializationTable*
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: google::protobuf::internal::TableSerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * TableSerializeToArray(const MessageLite& msg,\n                                    const
      SerializationTable* table,\n                                    bool is_deterministic,
      uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ArenaStringPtr
    - ArenaStringPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MapEntryHelper<T>
    - MapEntryHelper<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: "operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompareHelper<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::Compare
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 1
    functionsReached:
    - CompareHelper<T>
    linkageType: ''
    returnType: bool
    signature: bool Compare(const T& a, const T& b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const MapFieldType*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:301,1
    - Dst: io::CodedOutputStream*::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:305,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:310,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: Entry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: std::sort
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: CompareMapKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:321,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:322,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:323,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - base
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::MapFieldSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - GetMap
    - io::CodedOutputStream*::WriteVarint32
    - std::sort
    - reinterpret_cast<const uint8*>
    - Entry
    - std::vector::size
    - std::vector::begin
    - CompareMapKey
    - std::vector::push_back
    - io::CodedOutputStream*::IsSerializationDeterministic
    - reinterpret_cast<const MapFieldType*>
    - std::vector::end
    - google::protobuf::internal::SerializeInternal
    linkageType: ''
    returnType: void
    signature: "void MapFieldSerializer(const uint8* base, uint32 offset, uint32 tag,\n
      \                       uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::FieldMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT FieldMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::default_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - e
    argTypes:
    - AuxiliaryParseTableField::enum_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::enum_aux e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::message_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::message_aux
      m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - AuxiliaryParseTableField::string_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::string_aux
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - m
    argTypes:
    - AuxiliaryParseTableField::map_aux
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::AuxiliaryParseTableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AuxiliaryParseTableField(AuxiliaryParseTableField::map_aux m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::default_instance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 16
    functionsReached:
    - static_cast<const MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: MessageLite * default_instance() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ReadMessageNoVirtual
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - map_field
    argTypes:
    - io::CodedInputStream*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: google::protobuf::internal::ParseMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ReadMessageNoVirtual
    linkageType: ''
    returnType: bool
    signature: bool ParseMap(io::CodedInputStream* input, void* map_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:246,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' msg'
    - table
    - output
    argTypes:
    - MessageLite
    - SerializationTable*
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: google::protobuf::internal::TableSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::SerializeInternal
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: void
    signature: "void TableSerialize(const MessageLite& msg,\n                           const
      SerializationTable* table,\n                           io::CodedOutputStream*
      output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:263,1
    - Dst: google::protobuf::internal::SerializeInternalToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' msg'
    - table
    - is_deterministic
    - buffer
    argTypes:
    - MessageLite
    - SerializationTable*
    - bool
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: google::protobuf::internal::TableSerializeToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::internal::SerializeInternalToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * TableSerializeToArray(const MessageLite& msg,\n                                    const
      SerializationTable* table,\n                                    bool is_deterministic,
      uint8* buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 272
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - ArenaStringPtr
    - ArenaStringPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: bool
    signature: bool operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Compare
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - MapEntryHelper<T>
    - MapEntryHelper<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: "operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - Compare
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const MapEntryHelper<T>& a,\n                  const
      MapEntryHelper<T>& b) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CompareHelper<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::Compare
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 1
    functionsReached:
    - CompareHelper<T>
    linkageType: ''
    returnType: bool
    signature: bool Compare(const T& a, const T& b) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const MapFieldType*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:301,1
    - Dst: io::CodedOutputStream*::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:305,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:306,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:309,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:310,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:311,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:316,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: Entry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:318,1
    - Dst: std::sort
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: CompareMapKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:320,1
    - Dst: std::vector::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:321,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:322,1
    - Dst: io::CodedOutputStream*::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:323,1
    - Dst: google::protobuf::internal::SerializeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - base
    - offset
    - tag
    - has_offset
    - output
    argTypes:
    - uint8*
    - uint32
    - uint32
    - uint32
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 328
    functionName: google::protobuf::internal::MapFieldSerializer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    functionUses: 0
    functionsReached:
    - GetMap
    - io::CodedOutputStream*::WriteVarint32
    - std::sort
    - reinterpret_cast<const uint8*>
    - Entry
    - std::vector::size
    - std::vector::begin
    - CompareMapKey
    - std::vector::push_back
    - io::CodedOutputStream*::IsSerializationDeterministic
    - reinterpret_cast<const MapFieldType*>
    - std::vector::end
    - google::protobuf::internal::SerializeInternal
    linkageType: ''
    returnType: void
    signature: "void MapFieldSerializer(const uint8* base, uint32 offset, uint32 tag,\n
      \                       uint32 has_offset, io::CodedOutputStream* output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::arena_destruct_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_destruct_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::arena_delete_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_delete_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::arena_destruct_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_destruct_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::arena_delete_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_delete_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: google::protobuf::ArenaOptions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: RTTI_TYPE_ID
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTTI_TYPE_ID(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: RTTI_TYPE_ID
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTTI_TYPE_ID(type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    - Dst: google::protobuf::CreateNoMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:294,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: ::operator new[]
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: google::protobuf::CreateInternalRawArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:315,1
    - Dst: google::protobuf::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:322,1
    - Dst: google::protobuf::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:327,1
    - Dst: google::protobuf::Reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:334,1
    - Dst: google::protobuf::OwnInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    - Dst: std::is_convertible<T*, Message*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:351,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:361,1
    - Dst: google::protobuf::GetArenaInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:370,1
    - Dst: DestructorSkippable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:381,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:381,1
    - Dst: ArenaConstructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:392,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:393,1
    - Dst: std::declval<const U>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:399,1
    - Dst: HasGetArena<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:406,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:415,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: google::protobuf::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:464,1
    - Dst: google::protobuf::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:466,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: google::protobuf::DoCreate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:476,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:477,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:482,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:489,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:493,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:496,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:503,1
    - Dst: google::protobuf::CreateMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    - Dst: google::protobuf::DoCreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:532,1
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    - Dst: google::protobuf::CreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:562,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:572,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:576,1
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:577,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:578,1
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    - Dst: google::protobuf::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:611,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:622,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:628,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:638,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:645,1
    - Dst: AllocateAlignedNoHook
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:664,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:669,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 684
    functionName: google::protobuf::final
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CreateInternal
    - google::protobuf::GetArena
    - google::protobuf::AllocateAligned
    - google::protobuf::Reset
    - HasGetArena<T>
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::GetArenaInternal
    - std::is_convertible<T*, Message*>
    - std::declval<const U>
    - google::protobuf::AllocateInternal
    - ::operator new[]
    - Arena::CreateMaybeMessage<T>
    - T::T
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t>
    - RTTI_TYPE_ID
    - google::protobuf::CreateInternalRawArray
    - google::protobuf::AllocateAlignedAndAddCleanup
    - RecordAlloc
    - std::forward<Args>
    - google::protobuf::SpaceUsed
    - DestructorSkippable<T>
    - GOOGLE_CHECK_LE
    - static_cast<const T*>
    - google::protobuf::DoCreateMessage
    - google::protobuf::AllocateAlignedTo
    - google::protobuf::DoCreate
    - google::protobuf::DoCreateMaybeMessage
    - google::protobuf::CreateMessageInternal
    - google::protobuf::OwnDestructor
    - ArenaConstructable<T>
    - std::numeric_limits<size_t>::max
    - static_cast<T*>
    - google::protobuf::CreateMaybeMessage
    - google::protobuf::AddCleanup
    - is_arena_constructable<T>
    - google::protobuf::CreateNoMessage
    - AllocateAlignedNoHook
    - google::protobuf::SpaceAllocated
    - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    - google::protobuf::OwnInternal
    linkageType: ''
    returnType: Arena
    signature: Arena final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - initial_block
    - initial_block_size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: google::protobuf::Arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena(char* initial_block, size_t initial_block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ArenaOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: google::protobuf::Arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena(const ArenaOptions& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: ~Arena()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: google::protobuf::Init
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init(const ArenaOptions&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: google::protobuf::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - Arena::CreateMaybeMessage<T>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * CreateMessage(Arena* arena, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateNoMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: google::protobuf::Create
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CreateNoMessage
    - std::forward<Args>
    - is_arena_constructable<T>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * Create(Arena* arena, Args&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: ::operator new[]
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: Arena*::CreateInternalRawArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arena
    - num_elements
    argTypes:
    - Arena*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 317
    functionName: google::protobuf::CreateArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::numeric_limits<size_t>::max
    - Arena*::CreateInternalRawArray
    - ::operator new[]
    - static_cast<T*>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateArray(Arena* arena,\n                                               size_t
      num_elements)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: google::protobuf::SpaceAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 2
    functionsReached:
    - google::protobuf::SpaceAllocated
    linkageType: ''
    returnType: uint64
    signature: uint64 SpaceAllocated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: google::protobuf::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 2
    functionsReached:
    - google::protobuf::SpaceUsed
    linkageType: ''
    returnType: uint64
    signature: uint64 SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: google::protobuf::Reset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Reset
    linkageType: ''
    returnType: uint64
    signature: uint64 Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::OwnInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    - Dst: std::is_convertible<T*, Message*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: google::protobuf::Own
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::OwnInternal
    - std::is_convertible<T*, Message*>
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE Own(T* object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: google::protobuf::OwnDestructor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE OwnDestructor(T* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::OwnCustomDestructor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE OwnCustomDestructor(void* object,\n                                             void
      (*destruct)(void*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArenaInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: google::protobuf::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 6
    functionsReached:
    - google::protobuf::GetArenaInternal
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArena(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: google::protobuf::InternalHelper::Construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: T
    signature: T * Construct(void* ptr, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: google::protobuf::InternalHelper::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - T*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(const T* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: Arena*::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 453
    functionName: google::protobuf::CreateMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - T::T
    - std::forward<Args>
    - Arena*::DoCreateMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateMessageInternal(Arena* arena,\n                                                         Args&&...
      args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:464,1
    - Dst: Arena*::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: google::protobuf::CreateMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - T::T
    - Arena*::DoCreateMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * CreateMessageInternal(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: Arena*::DoCreate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:476,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 479
    functionName: google::protobuf::CreateInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - T::T
    - Arena*::DoCreate
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateInternal(Arena* arena,\n                                                  Args&&...
      args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - allocated_type
    - n
    argTypes:
    - std::type_info*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: google::protobuf::AllocHook
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - RecordAlloc
    linkageType: ''
    returnType: void
    signature: void AllocHook(const std::type_info* allocated_type, size_t n) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:489,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:493,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:496,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - skip_explicit_ownership
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 507
    functionName: google::protobuf::AllocateInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - google::protobuf::AllocateAlignedTo
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t>
    - RTTI_TYPE_ID
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::AllocateAlignedAndAddCleanup
    - RecordAlloc
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * AllocateInternal(bool skip_explicit_ownership)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: google::protobuf::DoCreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - google::protobuf::CreateMessageInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * DoCreateMaybeMessage(Arena* arena,\n                                                          std::true_type,\n
      \                                                         Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: google::protobuf::DoCreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - google::protobuf::CreateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * DoCreateMaybeMessage(Arena* arena,\n                                                        std::false_type,\n
      \                                                       Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::DoCreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: google::protobuf::CreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - google::protobuf::DoCreateMaybeMessage
    - std::forward<Args>
    - is_arena_constructable<T>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateMaybeMessage(Arena* arena,\n                                                      Args&&...
      args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: google::protobuf::CreateNoMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 2
    functionsReached:
    - google::protobuf::CreateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateNoMessage(Arena* arena, std::true_type,\n
      \                                                  Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 552
    functionName: google::protobuf::CreateNoMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 2
    functionsReached:
    - std::forward<Args>
    - google::protobuf::CreateMaybeMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateNoMessage(Arena* arena,\n                                                   std::false_type,\n
      \                                                  Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:562,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - num_elements
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: google::protobuf::CreateInternalRawArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - google::protobuf::AllocateAlignedTo
    - RTTI_TYPE_ID
    - google::protobuf::internal::AlignUpTo8
    - std::numeric_limits<size_t>::max
    - RecordAlloc
    - GOOGLE_CHECK_LE
    - static_cast<T*>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * CreateInternalRawArray(size_t num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:572,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - skip_explicit_ownership
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: google::protobuf::DoCreate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - T::T
    - google::protobuf::AllocateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * DoCreate(bool skip_explicit_ownership,\n
      \                                    Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:576,1
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:577,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: google::protobuf::DoCreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    - google::protobuf::AllocateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * DoCreateMessage(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - arena
    argTypes:
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 592
    functionName: google::protobuf::CreateInArenaStorage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CreateInArenaStorage(T* ptr, Arena* arena, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - arena
    argTypes:
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: google::protobuf::CreateInArenaStorageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: "void CreateInArenaStorageInternal(T* ptr, Arena* arena,\n                                           std::true_type,
      Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: google::protobuf::CreateInArenaStorageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: "void CreateInArenaStorageInternal(T* ptr, Arena* /* arena */,\n                                           std::false_type,
      Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 607
    functionName: google::protobuf::RegisterDestructorInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RegisterDestructorInternal(T* /* ptr */, Arena* /* arena */,\n
      \                                        std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena*::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - arena
    argTypes:
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: google::protobuf::RegisterDestructorInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - Arena*::OwnDestructor
    linkageType: ''
    returnType: void
    signature: "void RegisterDestructorInternal(T* ptr, Arena* arena,\n                                         std::false_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: google::protobuf::OwnInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 2
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE OwnInternal(T* object, std::true_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: google::protobuf::OwnInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 2
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE OwnInternal(T* object, std::false_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: google::protobuf::GetArenaInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 2
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArenaInternal(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: google::protobuf::GetArenaInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 2
    functionsReached:
    - T*::GetArena
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArenaInternal(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: google::protobuf::GetArenaInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArenaInternal(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateAlignedNoHook
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 659
    functionName: google::protobuf::AllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 5
    functionsReached:
    - AllocateAlignedNoHook
    - google::protobuf::internal::AlignUpTo8
    linkageType: ''
    returnType: void
    signature: void * AllocateAligned(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:664,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 670
    functionName: google::protobuf::AllocateAlignedTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t>
    - google::protobuf::AllocateAligned
    linkageType: ''
    returnType: void
    signature: void * AllocateAlignedTo(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::arena_destruct_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_destruct_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::arena_delete_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_delete_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::arena_destruct_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_destruct_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::arena_delete_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_delete_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: google::protobuf::ArenaOptions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: RTTI_TYPE_ID
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTTI_TYPE_ID(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: RTTI_TYPE_ID
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTTI_TYPE_ID(type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    - Dst: google::protobuf::CreateNoMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:294,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: ::operator new[]
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: google::protobuf::CreateInternalRawArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:315,1
    - Dst: google::protobuf::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:322,1
    - Dst: google::protobuf::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:327,1
    - Dst: google::protobuf::Reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:334,1
    - Dst: google::protobuf::OwnInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    - Dst: std::is_convertible<T*, Message*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:351,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:361,1
    - Dst: google::protobuf::GetArenaInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:370,1
    - Dst: DestructorSkippable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:381,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:381,1
    - Dst: ArenaConstructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:392,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:393,1
    - Dst: std::declval<const U>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:399,1
    - Dst: HasGetArena<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:406,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:415,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: google::protobuf::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:464,1
    - Dst: google::protobuf::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:466,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: google::protobuf::DoCreate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:476,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:477,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:482,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:489,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:493,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:496,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:503,1
    - Dst: google::protobuf::CreateMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    - Dst: google::protobuf::DoCreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:532,1
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    - Dst: google::protobuf::CreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:562,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:572,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:576,1
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:577,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:578,1
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    - Dst: google::protobuf::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:611,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:622,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:628,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:638,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:645,1
    - Dst: AllocateAlignedNoHook
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:664,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:669,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 684
    functionName: google::protobuf::final
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CreateInternal
    - google::protobuf::GetArena
    - google::protobuf::AllocateAligned
    - google::protobuf::Reset
    - HasGetArena<T>
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::GetArenaInternal
    - std::is_convertible<T*, Message*>
    - std::declval<const U>
    - google::protobuf::AllocateInternal
    - ::operator new[]
    - Arena::CreateMaybeMessage<T>
    - T::T
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t>
    - RTTI_TYPE_ID
    - google::protobuf::CreateInternalRawArray
    - google::protobuf::AllocateAlignedAndAddCleanup
    - RecordAlloc
    - std::forward<Args>
    - google::protobuf::SpaceUsed
    - DestructorSkippable<T>
    - GOOGLE_CHECK_LE
    - static_cast<const T*>
    - google::protobuf::DoCreateMessage
    - google::protobuf::AllocateAlignedTo
    - google::protobuf::DoCreate
    - google::protobuf::DoCreateMaybeMessage
    - google::protobuf::CreateMessageInternal
    - google::protobuf::OwnDestructor
    - ArenaConstructable<T>
    - std::numeric_limits<size_t>::max
    - static_cast<T*>
    - google::protobuf::CreateMaybeMessage
    - google::protobuf::AddCleanup
    - is_arena_constructable<T>
    - google::protobuf::CreateNoMessage
    - AllocateAlignedNoHook
    - google::protobuf::SpaceAllocated
    - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    - google::protobuf::OwnInternal
    linkageType: ''
    returnType: Arena
    signature: Arena final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - initial_block
    - initial_block_size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: google::protobuf::Arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena(char* initial_block, size_t initial_block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ArenaOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: google::protobuf::Arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena(const ArenaOptions& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: ~Arena()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: google::protobuf::Init
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init(const ArenaOptions&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: google::protobuf::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - Arena::CreateMaybeMessage<T>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * CreateMessage(Arena* arena, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateNoMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: google::protobuf::Create
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CreateNoMessage
    - std::forward<Args>
    - is_arena_constructable<T>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * Create(Arena* arena, Args&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: ::operator new[]
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: Arena*::CreateInternalRawArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arena
    - num_elements
    argTypes:
    - Arena*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 317
    functionName: google::protobuf::CreateArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::numeric_limits<size_t>::max
    - Arena*::CreateInternalRawArray
    - ::operator new[]
    - static_cast<T*>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateArray(Arena* arena,\n                                               size_t
      num_elements)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: google::protobuf::SpaceAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - google::protobuf::SpaceAllocated
    linkageType: ''
    returnType: uint64
    signature: uint64 SpaceAllocated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: google::protobuf::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - google::protobuf::SpaceUsed
    linkageType: ''
    returnType: uint64
    signature: uint64 SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: google::protobuf::Reset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Reset
    linkageType: ''
    returnType: uint64
    signature: uint64 Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::OwnInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    - Dst: std::is_convertible<T*, Message*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: google::protobuf::Own
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::OwnInternal
    - std::is_convertible<T*, Message*>
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE Own(T* object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: google::protobuf::OwnDestructor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 2
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE OwnDestructor(T* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::OwnCustomDestructor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE OwnCustomDestructor(void* object,\n                                             void
      (*destruct)(void*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArenaInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: google::protobuf::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 8
    functionsReached:
    - google::protobuf::GetArenaInternal
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArena(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: google::protobuf::InternalHelper::Construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: T
    signature: T * Construct(void* ptr, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: google::protobuf::InternalHelper::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - T*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(const T* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: Arena*::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 453
    functionName: google::protobuf::CreateMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 3
    functionsReached:
    - T::T
    - std::forward<Args>
    - Arena*::DoCreateMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateMessageInternal(Arena* arena,\n                                                         Args&&...
      args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:464,1
    - Dst: Arena*::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: google::protobuf::CreateMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 3
    functionsReached:
    - T::T
    - Arena*::DoCreateMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * CreateMessageInternal(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: Arena*::DoCreate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:476,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 479
    functionName: google::protobuf::CreateInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - T::T
    - Arena*::DoCreate
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateInternal(Arena* arena,\n                                                  Args&&...
      args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - allocated_type
    - n
    argTypes:
    - std::type_info*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: google::protobuf::AllocHook
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - RecordAlloc
    linkageType: ''
    returnType: void
    signature: void AllocHook(const std::type_info* allocated_type, size_t n) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:489,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:493,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:496,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - skip_explicit_ownership
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 507
    functionName: google::protobuf::AllocateInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - google::protobuf::AllocateAlignedTo
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t>
    - RTTI_TYPE_ID
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::AllocateAlignedAndAddCleanup
    - RecordAlloc
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * AllocateInternal(bool skip_explicit_ownership)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: google::protobuf::DoCreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 3
    functionsReached:
    - google::protobuf::CreateMessageInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * DoCreateMaybeMessage(Arena* arena,\n                                                          std::true_type,\n
      \                                                         Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: google::protobuf::DoCreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 3
    functionsReached:
    - google::protobuf::CreateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * DoCreateMaybeMessage(Arena* arena,\n                                                        std::false_type,\n
      \                                                       Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::DoCreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: google::protobuf::CreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 3
    functionsReached:
    - google::protobuf::DoCreateMaybeMessage
    - std::forward<Args>
    - is_arena_constructable<T>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateMaybeMessage(Arena* arena,\n                                                      Args&&...
      args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: google::protobuf::CreateNoMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - google::protobuf::CreateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateNoMessage(Arena* arena, std::true_type,\n
      \                                                  Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 552
    functionName: google::protobuf::CreateNoMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - std::forward<Args>
    - google::protobuf::CreateMaybeMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateNoMessage(Arena* arena,\n                                                   std::false_type,\n
      \                                                  Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:562,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - num_elements
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: google::protobuf::CreateInternalRawArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 2
    functionsReached:
    - google::protobuf::AllocateAlignedTo
    - RTTI_TYPE_ID
    - google::protobuf::internal::AlignUpTo8
    - std::numeric_limits<size_t>::max
    - RecordAlloc
    - GOOGLE_CHECK_LE
    - static_cast<T*>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * CreateInternalRawArray(size_t num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:572,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - skip_explicit_ownership
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: google::protobuf::DoCreate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 2
    functionsReached:
    - T::T
    - google::protobuf::AllocateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * DoCreate(bool skip_explicit_ownership,\n
      \                                    Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:576,1
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:577,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: google::protobuf::DoCreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    - google::protobuf::AllocateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * DoCreateMessage(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - arena
    argTypes:
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 592
    functionName: google::protobuf::CreateInArenaStorage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CreateInArenaStorage(T* ptr, Arena* arena, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - arena
    argTypes:
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: google::protobuf::CreateInArenaStorageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: "void CreateInArenaStorageInternal(T* ptr, Arena* arena,\n                                           std::true_type,
      Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: google::protobuf::CreateInArenaStorageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: "void CreateInArenaStorageInternal(T* ptr, Arena* /* arena */,\n                                           std::false_type,
      Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 607
    functionName: google::protobuf::RegisterDestructorInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RegisterDestructorInternal(T* /* ptr */, Arena* /* arena */,\n
      \                                        std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena*::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - arena
    argTypes:
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: google::protobuf::RegisterDestructorInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - Arena*::OwnDestructor
    linkageType: ''
    returnType: void
    signature: "void RegisterDestructorInternal(T* ptr, Arena* arena,\n                                         std::false_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: google::protobuf::OwnInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE OwnInternal(T* object, std::true_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: google::protobuf::OwnInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE OwnInternal(T* object, std::false_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: google::protobuf::GetArenaInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArenaInternal(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: google::protobuf::GetArenaInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - T*::GetArena
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArenaInternal(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: google::protobuf::GetArenaInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArenaInternal(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateAlignedNoHook
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 659
    functionName: google::protobuf::AllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 7
    functionsReached:
    - AllocateAlignedNoHook
    - google::protobuf::internal::AlignUpTo8
    linkageType: ''
    returnType: void
    signature: void * AllocateAligned(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:664,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 670
    functionName: google::protobuf::AllocateAlignedTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t>
    - google::protobuf::AllocateAligned
    linkageType: ''
    returnType: void
    signature: void * AllocateAlignedTo(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::arena_destruct_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_destruct_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::arena_delete_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_delete_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::arena_destruct_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_destruct_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::arena_delete_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_delete_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: google::protobuf::ArenaOptions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: RTTI_TYPE_ID
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTTI_TYPE_ID(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: RTTI_TYPE_ID
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTTI_TYPE_ID(type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    - Dst: google::protobuf::CreateNoMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:294,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: ::operator new[]
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: google::protobuf::CreateInternalRawArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:315,1
    - Dst: google::protobuf::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:322,1
    - Dst: google::protobuf::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:327,1
    - Dst: google::protobuf::Reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:334,1
    - Dst: google::protobuf::OwnInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    - Dst: std::is_convertible<T*, Message*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:351,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:361,1
    - Dst: google::protobuf::GetArenaInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:370,1
    - Dst: DestructorSkippable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:381,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:381,1
    - Dst: ArenaConstructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:392,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:393,1
    - Dst: std::declval<const U>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:399,1
    - Dst: HasGetArena<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:406,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:415,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: google::protobuf::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:464,1
    - Dst: google::protobuf::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:466,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: google::protobuf::DoCreate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:476,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:477,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:482,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:489,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:493,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:496,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:503,1
    - Dst: google::protobuf::CreateMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    - Dst: google::protobuf::DoCreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:532,1
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    - Dst: google::protobuf::CreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:562,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:572,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:576,1
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:577,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:578,1
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    - Dst: google::protobuf::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:611,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:622,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:628,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:638,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:645,1
    - Dst: AllocateAlignedNoHook
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:664,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:669,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 684
    functionName: google::protobuf::final
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CreateInternal
    - google::protobuf::GetArena
    - google::protobuf::AllocateAligned
    - google::protobuf::Reset
    - HasGetArena<T>
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::GetArenaInternal
    - std::is_convertible<T*, Message*>
    - std::declval<const U>
    - google::protobuf::AllocateInternal
    - ::operator new[]
    - Arena::CreateMaybeMessage<T>
    - T::T
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t>
    - RTTI_TYPE_ID
    - google::protobuf::CreateInternalRawArray
    - google::protobuf::AllocateAlignedAndAddCleanup
    - RecordAlloc
    - std::forward<Args>
    - google::protobuf::SpaceUsed
    - DestructorSkippable<T>
    - GOOGLE_CHECK_LE
    - static_cast<const T*>
    - google::protobuf::DoCreateMessage
    - google::protobuf::AllocateAlignedTo
    - google::protobuf::DoCreate
    - google::protobuf::DoCreateMaybeMessage
    - google::protobuf::CreateMessageInternal
    - google::protobuf::OwnDestructor
    - ArenaConstructable<T>
    - std::numeric_limits<size_t>::max
    - static_cast<T*>
    - google::protobuf::CreateMaybeMessage
    - google::protobuf::AddCleanup
    - is_arena_constructable<T>
    - google::protobuf::CreateNoMessage
    - AllocateAlignedNoHook
    - google::protobuf::SpaceAllocated
    - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    - google::protobuf::OwnInternal
    linkageType: ''
    returnType: Arena
    signature: Arena final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - initial_block
    - initial_block_size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: google::protobuf::Arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena(char* initial_block, size_t initial_block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ArenaOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: google::protobuf::Arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena(const ArenaOptions& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: ~Arena()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: google::protobuf::Init
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init(const ArenaOptions&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: google::protobuf::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - Arena::CreateMaybeMessage<T>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * CreateMessage(Arena* arena, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateNoMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: google::protobuf::Create
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CreateNoMessage
    - std::forward<Args>
    - is_arena_constructable<T>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * Create(Arena* arena, Args&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: ::operator new[]
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: Arena*::CreateInternalRawArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arena
    - num_elements
    argTypes:
    - Arena*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 317
    functionName: google::protobuf::CreateArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::numeric_limits<size_t>::max
    - Arena*::CreateInternalRawArray
    - ::operator new[]
    - static_cast<T*>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateArray(Arena* arena,\n                                               size_t
      num_elements)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: google::protobuf::SpaceAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 6
    functionsReached:
    - google::protobuf::SpaceAllocated
    linkageType: ''
    returnType: uint64
    signature: uint64 SpaceAllocated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: google::protobuf::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 6
    functionsReached:
    - google::protobuf::SpaceUsed
    linkageType: ''
    returnType: uint64
    signature: uint64 SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: google::protobuf::Reset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 6
    functionsReached:
    - google::protobuf::Reset
    linkageType: ''
    returnType: uint64
    signature: uint64 Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::OwnInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    - Dst: std::is_convertible<T*, Message*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: google::protobuf::Own
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::OwnInternal
    - std::is_convertible<T*, Message*>
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE Own(T* object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: google::protobuf::OwnDestructor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 3
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE OwnDestructor(T* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::OwnCustomDestructor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE OwnCustomDestructor(void* object,\n                                             void
      (*destruct)(void*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArenaInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: google::protobuf::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 10
    functionsReached:
    - google::protobuf::GetArenaInternal
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArena(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: google::protobuf::InternalHelper::Construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: T
    signature: T * Construct(void* ptr, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: google::protobuf::InternalHelper::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - T*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(const T* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: Arena*::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 453
    functionName: google::protobuf::CreateMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 5
    functionsReached:
    - T::T
    - std::forward<Args>
    - Arena*::DoCreateMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateMessageInternal(Arena* arena,\n                                                         Args&&...
      args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:464,1
    - Dst: Arena*::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: google::protobuf::CreateMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 5
    functionsReached:
    - T::T
    - Arena*::DoCreateMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * CreateMessageInternal(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: Arena*::DoCreate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:476,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 479
    functionName: google::protobuf::CreateInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 7
    functionsReached:
    - T::T
    - Arena*::DoCreate
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateInternal(Arena* arena,\n                                                  Args&&...
      args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - allocated_type
    - n
    argTypes:
    - std::type_info*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: google::protobuf::AllocHook
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - RecordAlloc
    linkageType: ''
    returnType: void
    signature: void AllocHook(const std::type_info* allocated_type, size_t n) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:489,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:493,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:496,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - skip_explicit_ownership
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 507
    functionName: google::protobuf::AllocateInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 7
    functionsReached:
    - google::protobuf::AllocateAlignedTo
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t>
    - RTTI_TYPE_ID
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::AllocateAlignedAndAddCleanup
    - RecordAlloc
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * AllocateInternal(bool skip_explicit_ownership)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: google::protobuf::DoCreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 5
    functionsReached:
    - google::protobuf::CreateMessageInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * DoCreateMaybeMessage(Arena* arena,\n                                                          std::true_type,\n
      \                                                         Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: google::protobuf::DoCreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 5
    functionsReached:
    - google::protobuf::CreateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * DoCreateMaybeMessage(Arena* arena,\n                                                        std::false_type,\n
      \                                                       Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::DoCreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: google::protobuf::CreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 5
    functionsReached:
    - google::protobuf::DoCreateMaybeMessage
    - std::forward<Args>
    - is_arena_constructable<T>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateMaybeMessage(Arena* arena,\n                                                      Args&&...
      args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: google::protobuf::CreateNoMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 6
    functionsReached:
    - google::protobuf::CreateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateNoMessage(Arena* arena, std::true_type,\n
      \                                                  Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 552
    functionName: google::protobuf::CreateNoMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 6
    functionsReached:
    - std::forward<Args>
    - google::protobuf::CreateMaybeMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateNoMessage(Arena* arena,\n                                                   std::false_type,\n
      \                                                  Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:562,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - num_elements
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: google::protobuf::CreateInternalRawArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 3
    functionsReached:
    - google::protobuf::AllocateAlignedTo
    - RTTI_TYPE_ID
    - google::protobuf::internal::AlignUpTo8
    - std::numeric_limits<size_t>::max
    - RecordAlloc
    - GOOGLE_CHECK_LE
    - static_cast<T*>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * CreateInternalRawArray(size_t num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:572,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - skip_explicit_ownership
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: google::protobuf::DoCreate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 3
    functionsReached:
    - T::T
    - google::protobuf::AllocateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * DoCreate(bool skip_explicit_ownership,\n
      \                                    Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:576,1
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:577,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: google::protobuf::DoCreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    - google::protobuf::AllocateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * DoCreateMessage(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - arena
    argTypes:
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 592
    functionName: google::protobuf::CreateInArenaStorage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CreateInArenaStorage(T* ptr, Arena* arena, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - arena
    argTypes:
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: google::protobuf::CreateInArenaStorageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: "void CreateInArenaStorageInternal(T* ptr, Arena* arena,\n                                           std::true_type,
      Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: google::protobuf::CreateInArenaStorageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: "void CreateInArenaStorageInternal(T* ptr, Arena* /* arena */,\n                                           std::false_type,
      Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 607
    functionName: google::protobuf::RegisterDestructorInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RegisterDestructorInternal(T* /* ptr */, Arena* /* arena */,\n
      \                                        std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena*::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - arena
    argTypes:
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: google::protobuf::RegisterDestructorInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - Arena*::OwnDestructor
    linkageType: ''
    returnType: void
    signature: "void RegisterDestructorInternal(T* ptr, Arena* arena,\n                                         std::false_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: google::protobuf::OwnInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 6
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE OwnInternal(T* object, std::true_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: google::protobuf::OwnInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 6
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE OwnInternal(T* object, std::false_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: google::protobuf::GetArenaInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 6
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArenaInternal(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: google::protobuf::GetArenaInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 6
    functionsReached:
    - T*::GetArena
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArenaInternal(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: google::protobuf::GetArenaInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArenaInternal(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateAlignedNoHook
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 659
    functionName: google::protobuf::AllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 9
    functionsReached:
    - AllocateAlignedNoHook
    - google::protobuf::internal::AlignUpTo8
    linkageType: ''
    returnType: void
    signature: void * AllocateAligned(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:664,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 670
    functionName: google::protobuf::AllocateAlignedTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 9
    functionsReached:
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t>
    - google::protobuf::AllocateAligned
    linkageType: ''
    returnType: void
    signature: void * AllocateAlignedTo(size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::arena_destruct_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_destruct_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::arena_delete_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_delete_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::arena_destruct_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_destruct_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::arena_delete_object
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    linkageType: ''
    returnType: void
    signature: void arena_delete_object(void* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: google::protobuf::ArenaOptions
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: RTTI_TYPE_ID
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTTI_TYPE_ID(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: RTTI_TYPE_ID
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTTI_TYPE_ID(type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    - Dst: google::protobuf::CreateNoMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:294,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: ::operator new[]
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: google::protobuf::CreateInternalRawArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:315,1
    - Dst: google::protobuf::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:322,1
    - Dst: google::protobuf::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:327,1
    - Dst: google::protobuf::Reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:334,1
    - Dst: google::protobuf::OwnInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    - Dst: std::is_convertible<T*, Message*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:351,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:361,1
    - Dst: google::protobuf::GetArenaInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:370,1
    - Dst: DestructorSkippable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:381,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:381,1
    - Dst: ArenaConstructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:392,1
    - Dst: static_cast<const T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:393,1
    - Dst: std::declval<const U>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:399,1
    - Dst: HasGetArena<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:406,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:415,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: google::protobuf::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:464,1
    - Dst: google::protobuf::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:466,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: google::protobuf::DoCreate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:476,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:477,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:482,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:489,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:493,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:496,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:503,1
    - Dst: google::protobuf::CreateMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    - Dst: google::protobuf::DoCreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:532,1
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    - Dst: google::protobuf::CreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:562,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:572,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:576,1
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:577,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:578,1
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    - Dst: google::protobuf::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:611,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:622,1
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:628,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:638,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:645,1
    - Dst: AllocateAlignedNoHook
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:664,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:669,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 684
    functionName: google::protobuf::final
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CreateInternal
    - google::protobuf::GetArena
    - google::protobuf::AllocateAligned
    - google::protobuf::Reset
    - HasGetArena<T>
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::GetArenaInternal
    - std::is_convertible<T*, Message*>
    - std::declval<const U>
    - google::protobuf::AllocateInternal
    - ::operator new[]
    - Arena::CreateMaybeMessage<T>
    - T::T
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t>
    - RTTI_TYPE_ID
    - google::protobuf::CreateInternalRawArray
    - google::protobuf::AllocateAlignedAndAddCleanup
    - RecordAlloc
    - std::forward<Args>
    - google::protobuf::SpaceUsed
    - DestructorSkippable<T>
    - GOOGLE_CHECK_LE
    - static_cast<const T*>
    - google::protobuf::DoCreateMessage
    - google::protobuf::AllocateAlignedTo
    - google::protobuf::DoCreate
    - google::protobuf::DoCreateMaybeMessage
    - google::protobuf::CreateMessageInternal
    - google::protobuf::OwnDestructor
    - ArenaConstructable<T>
    - std::numeric_limits<size_t>::max
    - static_cast<T*>
    - google::protobuf::CreateMaybeMessage
    - google::protobuf::AddCleanup
    - is_arena_constructable<T>
    - google::protobuf::CreateNoMessage
    - AllocateAlignedNoHook
    - google::protobuf::SpaceAllocated
    - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    - google::protobuf::OwnInternal
    linkageType: ''
    returnType: Arena
    signature: Arena final
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - initial_block
    - initial_block_size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: google::protobuf::Arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena(char* initial_block, size_t initial_block_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' options'
    argTypes:
    - ArenaOptions
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 239
    functionName: google::protobuf::Arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Arena(const ArenaOptions& options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: ~Arena()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Arena()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: google::protobuf::Init
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init(const ArenaOptions&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: google::protobuf::CreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - std::forward<Args>
    - Arena::CreateMaybeMessage<T>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * CreateMessage(Arena* arena, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateNoMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:293,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: google::protobuf::Create
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CreateNoMessage
    - std::forward<Args>
    - is_arena_constructable<T>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * Create(Arena* arena, Args&&... args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:310,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: ::operator new[]
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:313,1
    - Dst: Arena*::CreateInternalRawArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - arena
    - num_elements
    argTypes:
    - Arena*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 317
    functionName: google::protobuf::CreateArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_LE
    - std::numeric_limits<size_t>::max
    - Arena*::CreateInternalRawArray
    - ::operator new[]
    - static_cast<T*>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateArray(Arena* arena,\n                                               size_t
      num_elements)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: google::protobuf::SpaceAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 8
    functionsReached:
    - google::protobuf::SpaceAllocated
    linkageType: ''
    returnType: uint64
    signature: uint64 SpaceAllocated() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SpaceUsed
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: google::protobuf::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 8
    functionsReached:
    - google::protobuf::SpaceUsed
    linkageType: ''
    returnType: uint64
    signature: uint64 SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: google::protobuf::Reset
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 8
    functionsReached:
    - google::protobuf::Reset
    linkageType: ''
    returnType: uint64
    signature: uint64 Reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::OwnInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    - Dst: std::is_convertible<T*, Message*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: google::protobuf::Own
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::OwnInternal
    - std::is_convertible<T*, Message*>
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE Own(T* object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: google::protobuf::OwnDestructor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE OwnDestructor(T* object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: google::protobuf::OwnCustomDestructor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE OwnCustomDestructor(void* object,\n                                             void
      (*destruct)(void*))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArenaInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: google::protobuf::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 12
    functionsReached:
    - google::protobuf::GetArenaInternal
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArena(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: google::protobuf::InternalHelper::Construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: T
    signature: T * Construct(void* ptr, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: google::protobuf::InternalHelper::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - T*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(const T* p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:449,1
    - Dst: Arena*::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 453
    functionName: google::protobuf::CreateMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 7
    functionsReached:
    - T::T
    - std::forward<Args>
    - Arena*::DoCreateMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateMessageInternal(Arena* arena,\n                                                         Args&&...
      args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:464,1
    - Dst: Arena*::DoCreateMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: google::protobuf::CreateMessageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 7
    functionsReached:
    - T::T
    - Arena*::DoCreateMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * CreateMessageInternal(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:474,1
    - Dst: Arena*::DoCreate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:476,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 479
    functionName: google::protobuf::CreateInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 10
    functionsReached:
    - T::T
    - Arena*::DoCreate
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateInternal(Arena* arena,\n                                                  Args&&...
      args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - allocated_type
    - n
    argTypes:
    - std::type_info*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: google::protobuf::AllocHook
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - RecordAlloc
    linkageType: ''
    returnType: void
    signature: void AllocHook(const std::type_info* allocated_type, size_t n) const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:489,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:491,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:493,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:496,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: google::protobuf::AllocateAlignedAndAddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:500,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - skip_explicit_ownership
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 507
    functionName: google::protobuf::AllocateInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 10
    functionsReached:
    - google::protobuf::AllocateAlignedTo
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t>
    - RTTI_TYPE_ID
    - google::protobuf::internal::AlignUpTo8
    - google::protobuf::AllocateAlignedAndAddCleanup
    - RecordAlloc
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * AllocateInternal(bool skip_explicit_ownership)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateMessageInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: google::protobuf::DoCreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 7
    functionsReached:
    - google::protobuf::CreateMessageInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * DoCreateMaybeMessage(Arena* arena,\n                                                          std::true_type,\n
      \                                                         Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: google::protobuf::DoCreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 7
    functionsReached:
    - google::protobuf::CreateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * DoCreateMaybeMessage(Arena* arena,\n                                                        std::false_type,\n
      \                                                       Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::DoCreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: is_arena_constructable<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:531,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: google::protobuf::CreateMaybeMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 7
    functionsReached:
    - google::protobuf::DoCreateMaybeMessage
    - std::forward<Args>
    - is_arena_constructable<T>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateMaybeMessage(Arena* arena,\n                                                      Args&&...
      args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: google::protobuf::CreateNoMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 8
    functionsReached:
    - google::protobuf::CreateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateNoMessage(Arena* arena, std::true_type,\n
      \                                                  Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CreateMaybeMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 552
    functionName: google::protobuf::CreateNoMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 8
    functionsReached:
    - std::forward<Args>
    - google::protobuf::CreateMaybeMessage
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * CreateNoMessage(Arena* arena,\n                                                   std::false_type,\n
      \                                                  Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:558,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:562,1
    - Dst: RecordAlloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: RTTI_TYPE_ID
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:564,1
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    - Dst: google::protobuf::AllocateAlignedTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - num_elements
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: google::protobuf::CreateInternalRawArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - google::protobuf::AllocateAlignedTo
    - RTTI_TYPE_ID
    - google::protobuf::internal::AlignUpTo8
    - std::numeric_limits<size_t>::max
    - RecordAlloc
    - GOOGLE_CHECK_LE
    - static_cast<T*>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * CreateInternalRawArray(size_t num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:572,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - skip_explicit_ownership
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: google::protobuf::DoCreate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - T::T
    - google::protobuf::AllocateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * DoCreate(bool skip_explicit_ownership,\n
      \                                    Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:576,1
    - Dst: google::protobuf::AllocateInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:577,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 579
    functionName: google::protobuf::DoCreateMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    - google::protobuf::AllocateInternal
    - std::forward<Args>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * DoCreateMessage(Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - arena
    argTypes:
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 592
    functionName: google::protobuf::CreateInArenaStorage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CreateInArenaStorage(T* ptr, Arena* arena, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - arena
    argTypes:
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: google::protobuf::CreateInArenaStorageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: "void CreateInArenaStorageInternal(T* ptr, Arena* arena,\n                                           std::true_type,
      Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: google::protobuf::CreateInArenaStorageInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - T::T
    - std::forward<Args>
    linkageType: ''
    returnType: void
    signature: "void CreateInArenaStorageInternal(T* ptr, Arena* /* arena */,\n                                           std::false_type,
      Args&&... args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 607
    functionName: google::protobuf::RegisterDestructorInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RegisterDestructorInternal(T* /* ptr */, Arena* /* arena */,\n
      \                                        std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena*::OwnDestructor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - arena
    argTypes:
    - T*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: google::protobuf::RegisterDestructorInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 0
    functionsReached:
    - Arena*::OwnDestructor
    linkageType: ''
    returnType: void
    signature: "void RegisterDestructorInternal(T* ptr, Arena* arena,\n                                         std::false_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: google::protobuf::OwnInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 8
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE OwnInternal(T* object, std::true_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AddCleanup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - object
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 630
    functionName: google::protobuf::OwnInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 8
    functionsReached:
    - google::protobuf::AddCleanup
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE OwnInternal(T* object, std::false_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: google::protobuf::GetArenaInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 8
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArenaInternal(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: google::protobuf::GetArenaInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 8
    functionsReached:
    - T*::GetArena
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArenaInternal(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: google::protobuf::GetArenaInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * GetArenaInternal(const T* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateAlignedNoHook
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    - Dst: google::protobuf::internal::AlignUpTo8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 659
    functionName: google::protobuf::AllocateAligned
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 11
    functionsReached:
    - AllocateAlignedNoHook
    - google::protobuf::internal::AlignUpTo8
    linkageType: ''
    returnType: void
    signature: void * AllocateAligned(size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:664,1
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: google::protobuf::AllocateAligned
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:667,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 670
    functionName: google::protobuf::AllocateAlignedTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    functionUses: 12
    functionsReached:
    - reinterpret_cast<void*>
    - reinterpret_cast<uintptr_t>
    - google::protobuf::AllocateAligned
    linkageType: ''
    returnType: void
    signature: void * AllocateAlignedTo(size_t n)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    - Dst: assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:209,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:210,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:212,1
    - Dst: DoneFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:220,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - assign
    - SkipFallback
    - append
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - AppendStringFallback
    - DoneFallback
    - GOOGLE_DCHECK_LE
    - google::protobuf::internal::EndedAtLimit
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - ReadStringFallback
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - enable_aliasing
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EpsCopyInputStream(bool enable_aliasing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void BackUp(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - limit
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PushLimit(const char* ptr, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - delta
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::EndedAtLimit
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PopLimit(int delta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - SkipFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * Skip(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - ReadStringFallback
    - std::string*::assign
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ReadString(const char* ptr, int size,\n
      \                                                 std::string* s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - AppendStringFallback
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr, int size,\n
      \                                                   std::string* s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::LastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 LastTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - start_tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::ConsumeEndGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConsumeEndGroup(uint32 start_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::EndedAtLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: google::protobuf::internal::EndedAtEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtEndOfStream() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: google::protobuf::internal::SetEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetEndOfStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: google::protobuf::internal::IsExceedingLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsExceedingLimit(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: google::protobuf::internal::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int BytesUntilLimit(const char* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::DataAvailable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DataAvailable(const char* ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:227,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:232,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:236,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - flat
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - reinterpret_cast<std::uintptr_t>
    - std::memcpy
    - StringPiece::data
    linkageType: ''
    returnType: char
    signature: char * InitFrom(StringPiece flat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:249,1
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:251,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zcis
    - limit
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::InitFrom
    linkageType: ''
    returnType: char
    signature: char * InitFrom(io::ZeroCopyInputStream* zcis, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::StreamNext
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    linkageType: ''
    returnType: bool
    signature: bool StreamNext(const void** data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::StreamBackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::BackUp
    linkageType: ''
    returnType: void
    signature: void StreamBackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:323,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:325,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:332,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ptr
    - size
    - ' append'
    argTypes:
    - char*
    - int
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::AppendSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    - append
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: char
    signature: char * AppendSize(const char* ptr, int size, const A& append)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:351,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:352,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:353,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:358,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - ' append'
    argTypes:
    - char*
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::AppendUntilEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - GOOGLE_DCHECK_GE
    - append
    - Next
    linkageType: ''
    returnType: char
    signature: char * AppendUntilEnd(const char* ptr, const A& append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AppendUntilEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:365,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - str
    argTypes:
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AppendUntilEnd
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr,\n                                                    std::string*
      str)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    - Dst: assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:209,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:210,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:212,1
    - Dst: DoneFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:220,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - assign
    - SkipFallback
    - append
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - AppendStringFallback
    - DoneFallback
    - GOOGLE_DCHECK_LE
    - google::protobuf::internal::EndedAtLimit
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - ReadStringFallback
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - enable_aliasing
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EpsCopyInputStream(bool enable_aliasing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void BackUp(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - limit
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PushLimit(const char* ptr, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - delta
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::EndedAtLimit
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PopLimit(int delta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - SkipFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * Skip(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - ReadStringFallback
    - std::string*::assign
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ReadString(const char* ptr, int size,\n
      \                                                 std::string* s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - AppendStringFallback
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr, int size,\n
      \                                                   std::string* s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::LastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 LastTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - start_tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::ConsumeEndGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConsumeEndGroup(uint32 start_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::EndedAtLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: google::protobuf::internal::EndedAtEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtEndOfStream() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: google::protobuf::internal::SetEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetEndOfStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: google::protobuf::internal::IsExceedingLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsExceedingLimit(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: google::protobuf::internal::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int BytesUntilLimit(const char* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::DataAvailable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DataAvailable(const char* ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:227,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:232,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:236,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - flat
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 1
    functionsReached:
    - StringPiece::size
    - reinterpret_cast<std::uintptr_t>
    - std::memcpy
    - StringPiece::data
    linkageType: ''
    returnType: char
    signature: char * InitFrom(StringPiece flat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:249,1
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:251,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zcis
    - limit
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::InitFrom
    linkageType: ''
    returnType: char
    signature: char * InitFrom(io::ZeroCopyInputStream* zcis, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::StreamNext
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    linkageType: ''
    returnType: bool
    signature: bool StreamNext(const void** data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::StreamBackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::BackUp
    linkageType: ''
    returnType: void
    signature: void StreamBackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:323,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:325,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:332,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ptr
    - size
    - ' append'
    argTypes:
    - char*
    - int
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::AppendSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    - append
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: char
    signature: char * AppendSize(const char* ptr, int size, const A& append)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:351,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:352,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:353,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:358,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - ' append'
    argTypes:
    - char*
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::AppendUntilEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK
    - GOOGLE_DCHECK_GE
    - append
    - Next
    linkageType: ''
    returnType: char
    signature: char * AppendUntilEnd(const char* ptr, const A& append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AppendUntilEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:365,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - str
    argTypes:
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AppendUntilEnd
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr,\n                                                    std::string*
      str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    - Dst: std::forward<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    - Dst: DoneWithCheck
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:390,1
    - Dst: google::protobuf::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:408,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    - Dst: ConsumeEndGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 426
    functionName: google::protobuf::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::_InternalParse
    - std::forward<T>
    - ConsumeEndGroup
    - DoneWithCheck
    - PROTOBUF_PREDICT_FALSE
    - InitFrom
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    - Dst: std::forward<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - depth
    - aliasing
    - start
    argTypes:
    - int
    - bool
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: google::protobuf::ParseContext
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - std::forward<T>
    - InitFrom
    linkageType: ''
    returnType: void
    signature: void ParseContext(int depth, bool aliasing, const char** start, T&&...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: google::protobuf::TrackCorrectEnding
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrackCorrectEnding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoneWithCheck
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: google::protobuf::Done
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - DoneWithCheck
    linkageType: ''
    returnType: bool
    signature: bool Done(const char** ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 392
    functionName: google::protobuf::depth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int depth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: google::protobuf::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data & data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: google::protobuf::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data & data() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:408,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    - Dst: ConsumeEndGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - msg
    - ptr
    - tag
    argTypes:
    - T*
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: google::protobuf::ParseGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - T*::_InternalParse
    - ConsumeEndGroup
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ParseGroup(\n      T* msg, const char*
      ptr, uint32 tag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:434,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:434,1
    - Dst: std::memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: google::protobuf::ExpectTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<char>
    - std::memcmp
    linkageType: ''
    returnType: bool
    signature: bool ExpectTag(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    linkageType: ''
    returnType: uint8
    signature: uint8 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:451,1
    - Dst: bswap_16
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - std::memcpy
    - bswap_16
    linkageType: ''
    returnType: uint16
    signature: uint16 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:463,1
    - Dst: bswap_32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - bswap_32
    - std::memcpy
    linkageType: ''
    returnType: uint32
    signature: uint32 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:475,1
    - Dst: bswap_64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 480
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - bswap_64
    - std::memcpy
    linkageType: ''
    returnType: uint64
    signature: uint64 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::Load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:485,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 489
    functionName: google::protobuf::UnalignedLoad
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - memcpy
    - sentencepiece::SentencePieceProcessor::Load
    linkageType: ''
    returnType: T
    signature: T UnalignedLoad(const char* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParseSlow32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - res
    - out
    argTypes:
    - char*
    - uint32
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: google::protobuf::VarintParseSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - VarintParseSlow32
    linkageType: ''
    returnType: char
    signature: char * VarintParseSlow(const char* p, uint32 res, uint32* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParseSlow64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - res
    - out
    argTypes:
    - char*
    - uint32
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: google::protobuf::VarintParseSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - VarintParseSlow64
    linkageType: ''
    returnType: char
    signature: char * VarintParseSlow(const char* p, uint32 res, uint64* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:510,1
    - Dst: google::protobuf::VarintParseSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p
    - out
    argTypes:
    - char*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 523
    functionName: google::protobuf::VarintParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::VarintParseSlow
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * VarintParse(const char* p, T* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:533,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:538,1
    - Dst: ReadTagFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p
    - out
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 547
    functionName: google::protobuf::ReadTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 18
    functionsReached:
    - ReadTagFallback
    - static_cast<uint8>
    linkageType: ''
    returnType: char
    signature: char * ReadTag(const char* p, uint32* out, uint32 /*max_tag*/ = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnalignedLoad
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:560,1
    - Dst: static_cast<int8_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 571
    functionName: google::protobuf::DecodeTwoBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<int8_t>
    - google::protobuf::UnalignedLoad
    linkageType: ''
    returnType: uint32
    signature: uint32 DecodeTwoBytes(const char** ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::DecodeTwoBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:576,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:578,1
    - Dst: std::int16_t
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:578,1
    - Dst: google::protobuf::DecodeTwoBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:584,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:585,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:586,1
    - Dst: std::int16_t
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - out
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 592
    functionName: google::protobuf::ParseBigVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<std::uint64_t>
    - std::int16_t
    - google::protobuf::DecodeTwoBytes
    linkageType: ''
    returnType: char
    signature: char * ParseBigVarint(const char* p, uint64* out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:601,1
    - Dst: ReadSizeFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pp
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 609
    functionName: google::protobuf::ReadSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8>
    - ReadSizeFallback
    linkageType: ''
    returnType: uint32
    signature: uint32 ReadSize(const char** pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 620
    functionName: google::protobuf::ReadVarint64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 6
    functionsReached:
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: uint64
    signature: uint64 ReadVarint64(const char** p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 626
    functionName: google::protobuf::ReadVarint32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached:
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: uint32
    signature: uint32 ReadVarint32(const char** p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:630,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 632
    functionName: google::protobuf::ReadVarintZigZag64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagDecode64
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: int64
    signature: int64 ReadVarintZigZag64(const char** p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:636,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:637,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: google::protobuf::ReadVarintZigZag32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::VarintParse
    - google::protobuf::internal::WireFormatLite::ZigZagDecode32
    linkageType: ''
    returnType: int32
    signature: int32 ReadVarintZigZag32(const char** p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:643,1
    - Dst: PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:645,1
    - Dst: T*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:647,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:648,1
    - Dst: PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:650,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - T*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 652
    functionName: google::protobuf::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PopLimit
    - T*::_InternalParse
    - PushLimit
    - PROTOBUF_PREDICT_FALSE
    - ReadSize
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ParseContext::ParseMessage(\n    T* msg,
      const char* ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:658,1
    - Dst: add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - end
    - add
    argTypes:
    - char*
    - char*
    - Add
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 663
    functionName: google::protobuf::ReadPackedVarintArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - add
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadPackedVarintArray(const char* ptr, const char* end, Add
      add)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:667,1
    - Dst: ReadPackedVarintArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:671,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:674,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:680,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:681,1
    - Dst: ReadPackedVarintArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:683,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:688,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:691,1
    - Dst: ReadPackedVarintArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:697,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - ptr
    - add
    argTypes:
    - char*
    - Add
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 699
    functionName: google::protobuf::EpsCopyInputStream::ReadPackedVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - std::memcpy
    - GOOGLE_DCHECK
    - Next
    - GOOGLE_DCHECK_GT
    - ReadSize
    - GOOGLE_CHECK_LE
    - ReadPackedVarintArray
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::ReadPackedVarint(const char* ptr, Add add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VerifyUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - field_name
    argTypes:
    - std::string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 707
    functionName: google::protobuf::VerifyUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 1
    functionsReached:
    - google::protobuf::VerifyUTF8
    linkageType: ''
    returnType: bool
    signature: bool VerifyUTF8(const std::string* s, const char* field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - predicate
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: GOOGLE_PROTOBUF_ASSERT_RETURN
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_ASSERT_RETURN(predicate, ret)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    - Dst: assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:209,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:210,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:212,1
    - Dst: DoneFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:220,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - assign
    - SkipFallback
    - append
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - AppendStringFallback
    - DoneFallback
    - GOOGLE_DCHECK_LE
    - google::protobuf::internal::EndedAtLimit
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - ReadStringFallback
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - enable_aliasing
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EpsCopyInputStream(bool enable_aliasing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void BackUp(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - limit
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PushLimit(const char* ptr, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - delta
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::EndedAtLimit
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PopLimit(int delta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - SkipFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * Skip(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - ReadStringFallback
    - std::string*::assign
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ReadString(const char* ptr, int size,\n
      \                                                 std::string* s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - AppendStringFallback
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr, int size,\n
      \                                                   std::string* s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::LastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 LastTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - start_tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::ConsumeEndGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConsumeEndGroup(uint32 start_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::EndedAtLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: google::protobuf::internal::EndedAtEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtEndOfStream() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: google::protobuf::internal::SetEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetEndOfStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: google::protobuf::internal::IsExceedingLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsExceedingLimit(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: google::protobuf::internal::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int BytesUntilLimit(const char* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::DataAvailable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DataAvailable(const char* ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:227,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:232,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:236,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - flat
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached:
    - StringPiece::size
    - reinterpret_cast<std::uintptr_t>
    - std::memcpy
    - StringPiece::data
    linkageType: ''
    returnType: char
    signature: char * InitFrom(StringPiece flat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:249,1
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:251,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zcis
    - limit
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::InitFrom
    linkageType: ''
    returnType: char
    signature: char * InitFrom(io::ZeroCopyInputStream* zcis, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::StreamNext
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    linkageType: ''
    returnType: bool
    signature: bool StreamNext(const void** data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::StreamBackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::BackUp
    linkageType: ''
    returnType: void
    signature: void StreamBackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:323,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:325,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:332,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ptr
    - size
    - ' append'
    argTypes:
    - char*
    - int
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::AppendSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    - append
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: char
    signature: char * AppendSize(const char* ptr, int size, const A& append)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:351,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:352,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:353,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:358,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - ' append'
    argTypes:
    - char*
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::AppendUntilEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK
    - GOOGLE_DCHECK_GE
    - append
    - Next
    linkageType: ''
    returnType: char
    signature: char * AppendUntilEnd(const char* ptr, const A& append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AppendUntilEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:365,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - str
    argTypes:
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AppendUntilEnd
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr,\n                                                    std::string*
      str)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    - Dst: assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:209,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:210,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:212,1
    - Dst: DoneFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:220,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - assign
    - SkipFallback
    - append
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - AppendStringFallback
    - DoneFallback
    - GOOGLE_DCHECK_LE
    - google::protobuf::internal::EndedAtLimit
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - ReadStringFallback
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - enable_aliasing
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EpsCopyInputStream(bool enable_aliasing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void BackUp(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - limit
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PushLimit(const char* ptr, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - delta
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::EndedAtLimit
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PopLimit(int delta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - SkipFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * Skip(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - ReadStringFallback
    - std::string*::assign
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ReadString(const char* ptr, int size,\n
      \                                                 std::string* s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - AppendStringFallback
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr, int size,\n
      \                                                   std::string* s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::LastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 LastTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - start_tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::ConsumeEndGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConsumeEndGroup(uint32 start_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::EndedAtLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: google::protobuf::internal::EndedAtEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtEndOfStream() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: google::protobuf::internal::SetEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetEndOfStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: google::protobuf::internal::IsExceedingLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsExceedingLimit(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: google::protobuf::internal::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int BytesUntilLimit(const char* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::DataAvailable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DataAvailable(const char* ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:227,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:232,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:236,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - flat
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 3
    functionsReached:
    - StringPiece::size
    - reinterpret_cast<std::uintptr_t>
    - std::memcpy
    - StringPiece::data
    linkageType: ''
    returnType: char
    signature: char * InitFrom(StringPiece flat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:249,1
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:251,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zcis
    - limit
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::InitFrom
    linkageType: ''
    returnType: char
    signature: char * InitFrom(io::ZeroCopyInputStream* zcis, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::StreamNext
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    linkageType: ''
    returnType: bool
    signature: bool StreamNext(const void** data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::StreamBackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::BackUp
    linkageType: ''
    returnType: void
    signature: void StreamBackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:323,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:325,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:332,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ptr
    - size
    - ' append'
    argTypes:
    - char*
    - int
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::AppendSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    - append
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: char
    signature: char * AppendSize(const char* ptr, int size, const A& append)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:351,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:352,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:353,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:358,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - ' append'
    argTypes:
    - char*
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::AppendUntilEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK
    - GOOGLE_DCHECK_GE
    - append
    - Next
    linkageType: ''
    returnType: char
    signature: char * AppendUntilEnd(const char* ptr, const A& append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AppendUntilEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:365,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - str
    argTypes:
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AppendUntilEnd
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr,\n                                                    std::string*
      str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    - Dst: std::forward<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    - Dst: DoneWithCheck
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:390,1
    - Dst: google::protobuf::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:408,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    - Dst: ConsumeEndGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 426
    functionName: google::protobuf::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::_InternalParse
    - std::forward<T>
    - ConsumeEndGroup
    - DoneWithCheck
    - PROTOBUF_PREDICT_FALSE
    - InitFrom
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    - Dst: std::forward<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - depth
    - aliasing
    - start
    argTypes:
    - int
    - bool
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: google::protobuf::ParseContext
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - std::forward<T>
    - InitFrom
    linkageType: ''
    returnType: void
    signature: void ParseContext(int depth, bool aliasing, const char** start, T&&...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: google::protobuf::TrackCorrectEnding
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrackCorrectEnding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoneWithCheck
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: google::protobuf::Done
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - DoneWithCheck
    linkageType: ''
    returnType: bool
    signature: bool Done(const char** ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 392
    functionName: google::protobuf::depth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int depth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: google::protobuf::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data & data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: google::protobuf::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data & data() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:408,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    - Dst: ConsumeEndGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - msg
    - ptr
    - tag
    argTypes:
    - T*
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: google::protobuf::ParseGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - T*::_InternalParse
    - ConsumeEndGroup
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ParseGroup(\n      T* msg, const char*
      ptr, uint32 tag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:434,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:434,1
    - Dst: std::memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: google::protobuf::ExpectTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<char>
    - std::memcmp
    linkageType: ''
    returnType: bool
    signature: bool ExpectTag(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    linkageType: ''
    returnType: uint8
    signature: uint8 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:451,1
    - Dst: bswap_16
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - std::memcpy
    - bswap_16
    linkageType: ''
    returnType: uint16
    signature: uint16 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:463,1
    - Dst: bswap_32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - bswap_32
    - std::memcpy
    linkageType: ''
    returnType: uint32
    signature: uint32 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:475,1
    - Dst: bswap_64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 480
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - bswap_64
    - std::memcpy
    linkageType: ''
    returnType: uint64
    signature: uint64 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::Load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:485,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 489
    functionName: google::protobuf::UnalignedLoad
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 1
    functionsReached:
    - memcpy
    - sentencepiece::SentencePieceProcessor::Load
    linkageType: ''
    returnType: T
    signature: T UnalignedLoad(const char* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParseSlow32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - res
    - out
    argTypes:
    - char*
    - uint32
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: google::protobuf::VarintParseSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 1
    functionsReached:
    - VarintParseSlow32
    linkageType: ''
    returnType: char
    signature: char * VarintParseSlow(const char* p, uint32 res, uint32* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParseSlow64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - res
    - out
    argTypes:
    - char*
    - uint32
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: google::protobuf::VarintParseSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 1
    functionsReached:
    - VarintParseSlow64
    linkageType: ''
    returnType: char
    signature: char * VarintParseSlow(const char* p, uint32 res, uint64* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:510,1
    - Dst: google::protobuf::VarintParseSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p
    - out
    argTypes:
    - char*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 523
    functionName: google::protobuf::VarintParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::VarintParseSlow
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * VarintParse(const char* p, T* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:533,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:538,1
    - Dst: ReadTagFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p
    - out
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 547
    functionName: google::protobuf::ReadTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 18
    functionsReached:
    - ReadTagFallback
    - static_cast<uint8>
    linkageType: ''
    returnType: char
    signature: char * ReadTag(const char* p, uint32* out, uint32 /*max_tag*/ = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnalignedLoad
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:560,1
    - Dst: static_cast<int8_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 571
    functionName: google::protobuf::DecodeTwoBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 1
    functionsReached:
    - static_cast<int8_t>
    - google::protobuf::UnalignedLoad
    linkageType: ''
    returnType: uint32
    signature: uint32 DecodeTwoBytes(const char** ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::DecodeTwoBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:576,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:578,1
    - Dst: std::int16_t
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:578,1
    - Dst: google::protobuf::DecodeTwoBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:584,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:585,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:586,1
    - Dst: std::int16_t
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - out
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 592
    functionName: google::protobuf::ParseBigVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<std::uint64_t>
    - std::int16_t
    - google::protobuf::DecodeTwoBytes
    linkageType: ''
    returnType: char
    signature: char * ParseBigVarint(const char* p, uint64* out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:601,1
    - Dst: ReadSizeFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pp
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 609
    functionName: google::protobuf::ReadSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8>
    - ReadSizeFallback
    linkageType: ''
    returnType: uint32
    signature: uint32 ReadSize(const char** pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 620
    functionName: google::protobuf::ReadVarint64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 6
    functionsReached:
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: uint64
    signature: uint64 ReadVarint64(const char** p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 626
    functionName: google::protobuf::ReadVarint32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached:
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: uint32
    signature: uint32 ReadVarint32(const char** p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:630,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 632
    functionName: google::protobuf::ReadVarintZigZag64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagDecode64
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: int64
    signature: int64 ReadVarintZigZag64(const char** p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:636,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:637,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: google::protobuf::ReadVarintZigZag32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::VarintParse
    - google::protobuf::internal::WireFormatLite::ZigZagDecode32
    linkageType: ''
    returnType: int32
    signature: int32 ReadVarintZigZag32(const char** p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:643,1
    - Dst: PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:645,1
    - Dst: T*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:647,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:648,1
    - Dst: PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:650,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - T*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 652
    functionName: google::protobuf::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PopLimit
    - T*::_InternalParse
    - PushLimit
    - PROTOBUF_PREDICT_FALSE
    - ReadSize
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ParseContext::ParseMessage(\n    T* msg,
      const char* ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:658,1
    - Dst: add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - end
    - add
    argTypes:
    - char*
    - char*
    - Add
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 663
    functionName: google::protobuf::ReadPackedVarintArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - add
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadPackedVarintArray(const char* ptr, const char* end, Add
      add)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:667,1
    - Dst: ReadPackedVarintArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:671,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:674,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:680,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:681,1
    - Dst: ReadPackedVarintArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:683,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:688,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:691,1
    - Dst: ReadPackedVarintArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:697,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - ptr
    - add
    argTypes:
    - char*
    - Add
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 699
    functionName: google::protobuf::EpsCopyInputStream::ReadPackedVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - std::memcpy
    - GOOGLE_DCHECK
    - Next
    - GOOGLE_DCHECK_GT
    - ReadSize
    - GOOGLE_CHECK_LE
    - ReadPackedVarintArray
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::ReadPackedVarint(const char* ptr, Add add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VerifyUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - field_name
    argTypes:
    - std::string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 707
    functionName: google::protobuf::VerifyUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached:
    - google::protobuf::VerifyUTF8
    linkageType: ''
    returnType: bool
    signature: bool VerifyUTF8(const std::string* s, const char* field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - predicate
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: GOOGLE_PROTOBUF_ASSERT_RETURN
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_ASSERT_RETURN(predicate, ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - predicate
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: GOOGLE_PROTOBUF_PARSER_ASSERT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_PARSER_ASSERT(predicate)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:731,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:736,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:737,1
    - Dst: AddVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:738,1
    - Dst: UnalignedLoad<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:742,1
    - Dst: AddFixed64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:744,1
    - Dst: ParseLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:748,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:749,1
    - Dst: ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:753,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:754,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:758,1
    - Dst: UnalignedLoad<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:762,1
    - Dst: AddFixed32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:764,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - tag
    - ' field_parser'
    - ptr
    - ctx
    argTypes:
    - uint64
    - T
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 771
    functionName: google::FieldParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - UnalignedLoad<uint64>
    - GOOGLE_LOG
    - ParseLengthDelimited
    - ParseGroup
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - UnalignedLoad<uint32>
    - AddFixed64
    - AddVarint
    - VarintParse
    - AddFixed32
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * FieldParser(uint64 tag, T& field_parser,\n
      \                                                const char* ptr,\n                                                 ParseContext*
      ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:777,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:779,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:780,1
    - Dst: ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:782,1
    - Dst: google::FieldParser
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:785,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' field_parser'
    - ptr
    - ctx
    argTypes:
    - T
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 789
    functionName: google::WireFormatParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - ParseContext*::Done
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - ParseContext*::SetLastTag
    - google::FieldParser
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * WireFormatParser(T& field_parser,\n                                                      const
      char* ptr,\n                                                      ParseContext*
      ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ReadPackedVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:814,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:816,1
    - Dst: static_cast<RepeatedField<int>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:817,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:819,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - object
    - ptr
    - ctx
    - metadata
    - field_num
    argTypes:
    - void*
    - char*
    - ParseContext*
    - InternalMetadata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 822
    functionName: google::PackedEnumParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - InternalMetadata*::mutable_unknown_fields
    - static_cast<RepeatedField<int>*>
    - ParseContext*::ReadPackedVarint
    - WriteVarint
    - is_valid
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * PackedEnumParser(\n    void* object, const
      char* ptr, ParseContext* ctx, bool (*is_valid)(int),\n    InternalMetadata*
      metadata, int field_num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ReadPackedVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:829,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:831,1
    - Dst: static_cast<RepeatedField<int>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:832,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:834,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - object
    - ptr
    - ctx
    - data
    - metadata
    - field_num
    argTypes:
    - void*
    - char*
    - ParseContext*
    - void*
    - InternalMetadata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 837
    functionName: google::PackedEnumParserArg
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - InternalMetadata*::mutable_unknown_fields
    - static_cast<RepeatedField<int>*>
    - ParseContext*::ReadPackedVarint
    - WriteVarint
    - is_valid
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * PackedEnumParserArg(\n    void* object,
      const char* ptr, ParseContext* ctx,\n    bool (*is_valid)(const void*, int),
      const void* data,\n    InternalMetadata* metadata, int field_num)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    - Dst: assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:209,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:210,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:212,1
    - Dst: DoneFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:220,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - assign
    - SkipFallback
    - append
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - AppendStringFallback
    - DoneFallback
    - GOOGLE_DCHECK_LE
    - google::protobuf::internal::EndedAtLimit
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - ReadStringFallback
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - enable_aliasing
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EpsCopyInputStream(bool enable_aliasing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void BackUp(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - limit
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PushLimit(const char* ptr, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - delta
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::EndedAtLimit
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PopLimit(int delta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - SkipFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * Skip(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - ReadStringFallback
    - std::string*::assign
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ReadString(const char* ptr, int size,\n
      \                                                 std::string* s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - AppendStringFallback
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr, int size,\n
      \                                                   std::string* s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::LastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 LastTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - start_tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::ConsumeEndGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConsumeEndGroup(uint32 start_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::EndedAtLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: google::protobuf::internal::EndedAtEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtEndOfStream() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: google::protobuf::internal::SetEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetEndOfStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: google::protobuf::internal::IsExceedingLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsExceedingLimit(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: google::protobuf::internal::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int BytesUntilLimit(const char* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::DataAvailable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DataAvailable(const char* ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:227,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:232,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:236,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - flat
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 4
    functionsReached:
    - StringPiece::size
    - reinterpret_cast<std::uintptr_t>
    - std::memcpy
    - StringPiece::data
    linkageType: ''
    returnType: char
    signature: char * InitFrom(StringPiece flat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:249,1
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:251,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zcis
    - limit
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 5
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::InitFrom
    linkageType: ''
    returnType: char
    signature: char * InitFrom(io::ZeroCopyInputStream* zcis, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::StreamNext
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    linkageType: ''
    returnType: bool
    signature: bool StreamNext(const void** data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::StreamBackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::BackUp
    linkageType: ''
    returnType: void
    signature: void StreamBackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:323,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:325,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:332,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ptr
    - size
    - ' append'
    argTypes:
    - char*
    - int
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::AppendSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    - append
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: char
    signature: char * AppendSize(const char* ptr, int size, const A& append)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:351,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:352,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:353,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:358,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - ' append'
    argTypes:
    - char*
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::AppendUntilEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK
    - GOOGLE_DCHECK_GE
    - append
    - Next
    linkageType: ''
    returnType: char
    signature: char * AppendUntilEnd(const char* ptr, const A& append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AppendUntilEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:365,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - str
    argTypes:
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AppendUntilEnd
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr,\n                                                    std::string*
      str)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    - Dst: assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:209,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:210,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:212,1
    - Dst: DoneFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:220,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - assign
    - SkipFallback
    - append
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - AppendStringFallback
    - DoneFallback
    - GOOGLE_DCHECK_LE
    - google::protobuf::internal::EndedAtLimit
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - ReadStringFallback
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - enable_aliasing
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EpsCopyInputStream(bool enable_aliasing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void BackUp(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - limit
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PushLimit(const char* ptr, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - delta
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::EndedAtLimit
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PopLimit(int delta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - SkipFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * Skip(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - ReadStringFallback
    - std::string*::assign
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ReadString(const char* ptr, int size,\n
      \                                                 std::string* s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - AppendStringFallback
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr, int size,\n
      \                                                   std::string* s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::LastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 LastTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - start_tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::ConsumeEndGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConsumeEndGroup(uint32 start_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::EndedAtLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: google::protobuf::internal::EndedAtEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtEndOfStream() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: google::protobuf::internal::SetEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetEndOfStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: google::protobuf::internal::IsExceedingLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsExceedingLimit(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: google::protobuf::internal::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int BytesUntilLimit(const char* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::DataAvailable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DataAvailable(const char* ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:227,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:232,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:236,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - flat
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 5
    functionsReached:
    - StringPiece::size
    - reinterpret_cast<std::uintptr_t>
    - std::memcpy
    - StringPiece::data
    linkageType: ''
    returnType: char
    signature: char * InitFrom(StringPiece flat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:249,1
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:251,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zcis
    - limit
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::InitFrom
    linkageType: ''
    returnType: char
    signature: char * InitFrom(io::ZeroCopyInputStream* zcis, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::StreamNext
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    linkageType: ''
    returnType: bool
    signature: bool StreamNext(const void** data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::StreamBackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::BackUp
    linkageType: ''
    returnType: void
    signature: void StreamBackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:323,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:325,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:332,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ptr
    - size
    - ' append'
    argTypes:
    - char*
    - int
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::AppendSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    - append
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: char
    signature: char * AppendSize(const char* ptr, int size, const A& append)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:351,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:352,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:353,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:358,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - ' append'
    argTypes:
    - char*
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::AppendUntilEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 5
    functionsReached:
    - GOOGLE_DCHECK
    - GOOGLE_DCHECK_GE
    - append
    - Next
    linkageType: ''
    returnType: char
    signature: char * AppendUntilEnd(const char* ptr, const A& append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AppendUntilEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:365,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - str
    argTypes:
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AppendUntilEnd
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr,\n                                                    std::string*
      str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    - Dst: std::forward<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    - Dst: DoneWithCheck
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:390,1
    - Dst: google::protobuf::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:408,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    - Dst: ConsumeEndGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 426
    functionName: google::protobuf::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::_InternalParse
    - std::forward<T>
    - ConsumeEndGroup
    - DoneWithCheck
    - PROTOBUF_PREDICT_FALSE
    - InitFrom
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    - Dst: std::forward<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - depth
    - aliasing
    - start
    argTypes:
    - int
    - bool
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: google::protobuf::ParseContext
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - std::forward<T>
    - InitFrom
    linkageType: ''
    returnType: void
    signature: void ParseContext(int depth, bool aliasing, const char** start, T&&...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: google::protobuf::TrackCorrectEnding
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrackCorrectEnding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoneWithCheck
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: google::protobuf::Done
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - DoneWithCheck
    linkageType: ''
    returnType: bool
    signature: bool Done(const char** ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 392
    functionName: google::protobuf::depth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int depth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: google::protobuf::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data & data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: google::protobuf::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data & data() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:408,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    - Dst: ConsumeEndGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - msg
    - ptr
    - tag
    argTypes:
    - T*
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: google::protobuf::ParseGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - T*::_InternalParse
    - ConsumeEndGroup
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ParseGroup(\n      T* msg, const char*
      ptr, uint32 tag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:434,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:434,1
    - Dst: std::memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: google::protobuf::ExpectTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<char>
    - std::memcmp
    linkageType: ''
    returnType: bool
    signature: bool ExpectTag(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    linkageType: ''
    returnType: uint8
    signature: uint8 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:451,1
    - Dst: bswap_16
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - std::memcpy
    - bswap_16
    linkageType: ''
    returnType: uint16
    signature: uint16 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:463,1
    - Dst: bswap_32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - bswap_32
    - std::memcpy
    linkageType: ''
    returnType: uint32
    signature: uint32 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:475,1
    - Dst: bswap_64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 480
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - bswap_64
    - std::memcpy
    linkageType: ''
    returnType: uint64
    signature: uint64 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::Load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:485,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 489
    functionName: google::protobuf::UnalignedLoad
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached:
    - memcpy
    - sentencepiece::SentencePieceProcessor::Load
    linkageType: ''
    returnType: T
    signature: T UnalignedLoad(const char* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParseSlow32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - res
    - out
    argTypes:
    - char*
    - uint32
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: google::protobuf::VarintParseSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached:
    - VarintParseSlow32
    linkageType: ''
    returnType: char
    signature: char * VarintParseSlow(const char* p, uint32 res, uint32* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParseSlow64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - res
    - out
    argTypes:
    - char*
    - uint32
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: google::protobuf::VarintParseSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached:
    - VarintParseSlow64
    linkageType: ''
    returnType: char
    signature: char * VarintParseSlow(const char* p, uint32 res, uint64* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:510,1
    - Dst: google::protobuf::VarintParseSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p
    - out
    argTypes:
    - char*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 523
    functionName: google::protobuf::VarintParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 10
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::VarintParseSlow
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * VarintParse(const char* p, T* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:533,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:538,1
    - Dst: ReadTagFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p
    - out
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 547
    functionName: google::protobuf::ReadTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 18
    functionsReached:
    - ReadTagFallback
    - static_cast<uint8>
    linkageType: ''
    returnType: char
    signature: char * ReadTag(const char* p, uint32* out, uint32 /*max_tag*/ = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnalignedLoad
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:560,1
    - Dst: static_cast<int8_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 571
    functionName: google::protobuf::DecodeTwoBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached:
    - static_cast<int8_t>
    - google::protobuf::UnalignedLoad
    linkageType: ''
    returnType: uint32
    signature: uint32 DecodeTwoBytes(const char** ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::DecodeTwoBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:576,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:578,1
    - Dst: std::int16_t
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:578,1
    - Dst: google::protobuf::DecodeTwoBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:584,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:585,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:586,1
    - Dst: std::int16_t
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - out
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 592
    functionName: google::protobuf::ParseBigVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<std::uint64_t>
    - std::int16_t
    - google::protobuf::DecodeTwoBytes
    linkageType: ''
    returnType: char
    signature: char * ParseBigVarint(const char* p, uint64* out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:601,1
    - Dst: ReadSizeFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pp
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 609
    functionName: google::protobuf::ReadSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8>
    - ReadSizeFallback
    linkageType: ''
    returnType: uint32
    signature: uint32 ReadSize(const char** pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 620
    functionName: google::protobuf::ReadVarint64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 6
    functionsReached:
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: uint64
    signature: uint64 ReadVarint64(const char** p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 626
    functionName: google::protobuf::ReadVarint32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached:
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: uint32
    signature: uint32 ReadVarint32(const char** p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:630,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 632
    functionName: google::protobuf::ReadVarintZigZag64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagDecode64
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: int64
    signature: int64 ReadVarintZigZag64(const char** p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:636,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:637,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: google::protobuf::ReadVarintZigZag32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::VarintParse
    - google::protobuf::internal::WireFormatLite::ZigZagDecode32
    linkageType: ''
    returnType: int32
    signature: int32 ReadVarintZigZag32(const char** p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:643,1
    - Dst: PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:645,1
    - Dst: T*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:647,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:648,1
    - Dst: PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:650,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - T*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 652
    functionName: google::protobuf::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PopLimit
    - T*::_InternalParse
    - PushLimit
    - PROTOBUF_PREDICT_FALSE
    - ReadSize
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ParseContext::ParseMessage(\n    T* msg,
      const char* ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:658,1
    - Dst: add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - end
    - add
    argTypes:
    - char*
    - char*
    - Add
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 663
    functionName: google::protobuf::ReadPackedVarintArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - add
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadPackedVarintArray(const char* ptr, const char* end, Add
      add)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:667,1
    - Dst: ReadPackedVarintArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:671,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:674,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:680,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:681,1
    - Dst: ReadPackedVarintArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:683,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:688,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:691,1
    - Dst: ReadPackedVarintArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:697,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - ptr
    - add
    argTypes:
    - char*
    - Add
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 699
    functionName: google::protobuf::EpsCopyInputStream::ReadPackedVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - std::memcpy
    - GOOGLE_DCHECK
    - Next
    - GOOGLE_DCHECK_GT
    - ReadSize
    - GOOGLE_CHECK_LE
    - ReadPackedVarintArray
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::ReadPackedVarint(const char* ptr, Add add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VerifyUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - field_name
    argTypes:
    - std::string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 707
    functionName: google::protobuf::VerifyUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 3
    functionsReached:
    - google::protobuf::VerifyUTF8
    linkageType: ''
    returnType: bool
    signature: bool VerifyUTF8(const std::string* s, const char* field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - predicate
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: GOOGLE_PROTOBUF_ASSERT_RETURN
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_ASSERT_RETURN(predicate, ret)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    - Dst: assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:209,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:210,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:212,1
    - Dst: DoneFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:220,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - assign
    - SkipFallback
    - append
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - AppendStringFallback
    - DoneFallback
    - GOOGLE_DCHECK_LE
    - google::protobuf::internal::EndedAtLimit
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - ReadStringFallback
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - enable_aliasing
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EpsCopyInputStream(bool enable_aliasing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void BackUp(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - limit
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PushLimit(const char* ptr, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - delta
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::EndedAtLimit
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PopLimit(int delta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - SkipFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * Skip(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - ReadStringFallback
    - std::string*::assign
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ReadString(const char* ptr, int size,\n
      \                                                 std::string* s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - AppendStringFallback
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr, int size,\n
      \                                                   std::string* s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::LastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 LastTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - start_tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::ConsumeEndGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConsumeEndGroup(uint32 start_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::EndedAtLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: google::protobuf::internal::EndedAtEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtEndOfStream() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: google::protobuf::internal::SetEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetEndOfStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: google::protobuf::internal::IsExceedingLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsExceedingLimit(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: google::protobuf::internal::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int BytesUntilLimit(const char* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::DataAvailable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DataAvailable(const char* ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:227,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:232,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:236,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - flat
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 6
    functionsReached:
    - StringPiece::size
    - reinterpret_cast<std::uintptr_t>
    - std::memcpy
    - StringPiece::data
    linkageType: ''
    returnType: char
    signature: char * InitFrom(StringPiece flat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:249,1
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:251,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zcis
    - limit
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 7
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::InitFrom
    linkageType: ''
    returnType: char
    signature: char * InitFrom(io::ZeroCopyInputStream* zcis, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::StreamNext
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    linkageType: ''
    returnType: bool
    signature: bool StreamNext(const void** data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::StreamBackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::BackUp
    linkageType: ''
    returnType: void
    signature: void StreamBackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:323,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:325,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:332,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ptr
    - size
    - ' append'
    argTypes:
    - char*
    - int
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::AppendSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    - append
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: char
    signature: char * AppendSize(const char* ptr, int size, const A& append)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:351,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:352,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:353,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:358,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - ' append'
    argTypes:
    - char*
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::AppendUntilEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 6
    functionsReached:
    - GOOGLE_DCHECK
    - GOOGLE_DCHECK_GE
    - append
    - Next
    linkageType: ''
    returnType: char
    signature: char * AppendUntilEnd(const char* ptr, const A& append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AppendUntilEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:365,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - str
    argTypes:
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AppendUntilEnd
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr,\n                                                    std::string*
      str)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    - Dst: assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:209,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:210,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:212,1
    - Dst: DoneFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:220,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - assign
    - SkipFallback
    - append
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - AppendStringFallback
    - DoneFallback
    - GOOGLE_DCHECK_LE
    - google::protobuf::internal::EndedAtLimit
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - PROTOBUF_PREDICT_TRUE
    - ReadStringFallback
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - enable_aliasing
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EpsCopyInputStream(bool enable_aliasing)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:116,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:119,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:121,1
    - Dst: google::protobuf::internal::StreamBackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::BackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::StreamBackUp
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void BackUp(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:128,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - limit
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: google::protobuf::internal::PushLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - static_cast<int>
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PushLimit(const char* ptr, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    - Dst: google::protobuf::internal::EndedAtLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - delta
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: google::protobuf::internal::PopLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::EndedAtLimit
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT PopLimit(int delta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: google::protobuf::internal::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - SkipFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * Skip(const char* ptr, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:156,1
    - Dst: ReadStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: google::protobuf::internal::ReadString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - ReadStringFallback
    - std::string*::assign
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ReadString(const char* ptr, int size,\n
      \                                                 std::string* s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:164,1
    - Dst: AppendStringFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - s
    argTypes:
    - char*
    - int
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - AppendStringFallback
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr, int size,\n
      \                                                   std::string* s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: google::protobuf::internal::LastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 LastTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - start_tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::ConsumeEndGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ConsumeEndGroup(uint32 start_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::EndedAtLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtLimit() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: google::protobuf::internal::EndedAtEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool EndedAtEndOfStream() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: google::protobuf::internal::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: google::protobuf::internal::SetEndOfStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetEndOfStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: google::protobuf::internal::IsExceedingLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsExceedingLimit(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: google::protobuf::internal::BytesUntilLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int BytesUntilLimit(const char* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: google::protobuf::internal::DataAvailable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool DataAvailable(const char* ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:227,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:229,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:232,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:234,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:236,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:239,1
    - Dst: reinterpret_cast<std::uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - flat
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 7
    functionsReached:
    - StringPiece::size
    - reinterpret_cast<std::uintptr_t>
    - std::memcpy
    - StringPiece::data
    linkageType: ''
    returnType: char
    signature: char * InitFrom(StringPiece flat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:249,1
    - Dst: google::protobuf::internal::InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:251,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zcis
    - limit
    argTypes:
    - io::ZeroCopyInputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: google::protobuf::internal::InitFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 8
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::InitFrom
    linkageType: ''
    returnType: char
    signature: char * InitFrom(io::ZeroCopyInputStream* zcis, int limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: google::protobuf::internal::StreamNext
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    linkageType: ''
    returnType: bool
    signature: bool StreamNext(const void** data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::BackUp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: google::protobuf::internal::StreamBackUp
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::BackUp
    linkageType: ''
    returnType: void
    signature: void StreamBackUp(int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:323,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:325,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:332,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ptr
    - size
    - ' append'
    argTypes:
    - char*
    - int
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::AppendSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - Next
    - append
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: char
    signature: char * AppendSize(const char* ptr, int size, const A& append)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:351,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:352,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:353,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:358,1
    - Dst: append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - ' append'
    argTypes:
    - char*
    - A
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: google::protobuf::internal::AppendUntilEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 7
    functionsReached:
    - GOOGLE_DCHECK
    - GOOGLE_DCHECK_GE
    - append
    - Next
    linkageType: ''
    returnType: char
    signature: char * AppendUntilEnd(const char* ptr, const A& append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AppendUntilEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:365,1
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - str
    argTypes:
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::AppendString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AppendUntilEnd
    - std::string*::append
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * AppendString(const char* ptr,\n                                                    std::string*
      str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    - Dst: std::forward<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    - Dst: DoneWithCheck
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:390,1
    - Dst: google::protobuf::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:408,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    - Dst: ConsumeEndGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 426
    functionName: google::protobuf::EpsCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::_InternalParse
    - std::forward<T>
    - ConsumeEndGroup
    - DoneWithCheck
    - PROTOBUF_PREDICT_FALSE
    - InitFrom
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    - Dst: std::forward<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - depth
    - aliasing
    - start
    argTypes:
    - int
    - bool
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: google::protobuf::ParseContext
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - std::forward<T>
    - InitFrom
    linkageType: ''
    returnType: void
    signature: void ParseContext(int depth, bool aliasing, const char** start, T&&...
      args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: google::protobuf::TrackCorrectEnding
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TrackCorrectEnding()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DoneWithCheck
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: google::protobuf::Done
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - DoneWithCheck
    linkageType: ''
    returnType: bool
    signature: bool Done(const char** ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 392
    functionName: google::protobuf::depth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int depth() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: google::protobuf::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data & data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 395
    functionName: google::protobuf::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Data
    signature: Data & data() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:408,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    - Dst: ConsumeEndGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - msg
    - ptr
    - tag
    argTypes:
    - T*
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: google::protobuf::ParseGroup
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - T*::_InternalParse
    - ConsumeEndGroup
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ParseGroup(\n      T* msg, const char*
      ptr, uint32 tag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:434,1
    - Dst: static_cast<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:434,1
    - Dst: std::memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: google::protobuf::ExpectTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<char>
    - std::memcmp
    linkageType: ''
    returnType: bool
    signature: bool ExpectTag(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<const uint8*>
    linkageType: ''
    returnType: uint8
    signature: uint8 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:451,1
    - Dst: bswap_16
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - std::memcpy
    - bswap_16
    linkageType: ''
    returnType: uint16
    signature: uint16 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:463,1
    - Dst: bswap_32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - bswap_32
    - std::memcpy
    linkageType: ''
    returnType: uint32
    signature: uint32 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:475,1
    - Dst: bswap_64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 480
    functionName: google::protobuf::Load
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - bswap_64
    - std::memcpy
    linkageType: ''
    returnType: uint64
    signature: uint64 Load(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceProcessor::Load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:485,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 489
    functionName: google::protobuf::UnalignedLoad
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 3
    functionsReached:
    - memcpy
    - sentencepiece::SentencePieceProcessor::Load
    linkageType: ''
    returnType: T
    signature: T UnalignedLoad(const char* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParseSlow32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - res
    - out
    argTypes:
    - char*
    - uint32
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 500
    functionName: google::protobuf::VarintParseSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 3
    functionsReached:
    - VarintParseSlow32
    linkageType: ''
    returnType: char
    signature: char * VarintParseSlow(const char* p, uint32 res, uint32* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VarintParseSlow64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - p
    - res
    - out
    argTypes:
    - char*
    - uint32
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 506
    functionName: google::protobuf::VarintParseSlow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 3
    functionsReached:
    - VarintParseSlow64
    linkageType: ''
    returnType: char
    signature: char * VarintParseSlow(const char* p, uint32 res, uint64* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:510,1
    - Dst: google::protobuf::VarintParseSlow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p
    - out
    argTypes:
    - char*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 523
    functionName: google::protobuf::VarintParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 15
    functionsReached:
    - reinterpret_cast<const uint8*>
    - google::protobuf::VarintParseSlow
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * VarintParse(const char* p, T* out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:533,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:538,1
    - Dst: ReadTagFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - p
    - out
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 547
    functionName: google::protobuf::ReadTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 18
    functionsReached:
    - ReadTagFallback
    - static_cast<uint8>
    linkageType: ''
    returnType: char
    signature: char * ReadTag(const char* p, uint32* out, uint32 /*max_tag*/ = 0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnalignedLoad
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:560,1
    - Dst: static_cast<int8_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 571
    functionName: google::protobuf::DecodeTwoBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 3
    functionsReached:
    - static_cast<int8_t>
    - google::protobuf::UnalignedLoad
    linkageType: ''
    returnType: uint32
    signature: uint32 DecodeTwoBytes(const char** ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::DecodeTwoBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:576,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:578,1
    - Dst: std::int16_t
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:578,1
    - Dst: google::protobuf::DecodeTwoBytes
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:584,1
    - Dst: static_cast<std::uint64_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:585,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:586,1
    - Dst: std::int16_t
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - p
    - out
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 592
    functionName: google::protobuf::ParseBigVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - static_cast<std::uint64_t>
    - std::int16_t
    - google::protobuf::DecodeTwoBytes
    linkageType: ''
    returnType: char
    signature: char * ParseBigVarint(const char* p, uint64* out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:601,1
    - Dst: ReadSizeFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pp
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 609
    functionName: google::protobuf::ReadSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8>
    - ReadSizeFallback
    linkageType: ''
    returnType: uint32
    signature: uint32 ReadSize(const char** pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 620
    functionName: google::protobuf::ReadVarint64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 6
    functionsReached:
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: uint64
    signature: uint64 ReadVarint64(const char** p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 626
    functionName: google::protobuf::ReadVarint32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 2
    functionsReached:
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: uint32
    signature: uint32 ReadVarint32(const char** p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:630,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 632
    functionName: google::protobuf::ReadVarintZigZag64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::ZigZagDecode64
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: int64
    signature: int64 ReadVarintZigZag64(const char** p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:636,1
    - Dst: google::protobuf::internal::WireFormatLite::ZigZagDecode32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:637,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: google::protobuf::ReadVarintZigZag32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    - google::protobuf::VarintParse
    - google::protobuf::internal::WireFormatLite::ZigZagDecode32
    linkageType: ''
    returnType: int32
    signature: int32 ReadVarintZigZag32(const char** p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:643,1
    - Dst: PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:645,1
    - Dst: T*::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:647,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:648,1
    - Dst: PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:650,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - T*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 652
    functionName: google::protobuf::ParseContext::ParseMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - PopLimit
    - T*::_InternalParse
    - PushLimit
    - PROTOBUF_PREDICT_FALSE
    - ReadSize
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * ParseContext::ParseMessage(\n    T* msg,
      const char* ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:658,1
    - Dst: add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - end
    - add
    argTypes:
    - char*
    - char*
    - Add
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 663
    functionName: google::protobuf::ReadPackedVarintArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - add
    - google::protobuf::VarintParse
    linkageType: ''
    returnType: char
    signature: char * ReadPackedVarintArray(const char* ptr, const char* end, Add
      add)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ReadSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:667,1
    - Dst: ReadPackedVarintArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:671,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:674,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:680,1
    - Dst: GOOGLE_CHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:681,1
    - Dst: ReadPackedVarintArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:683,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:688,1
    - Dst: Next
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:691,1
    - Dst: ReadPackedVarintArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:697,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - ptr
    - add
    argTypes:
    - char*
    - Add
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 699
    functionName: google::protobuf::EpsCopyInputStream::ReadPackedVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - std::memcpy
    - GOOGLE_DCHECK
    - Next
    - GOOGLE_DCHECK_GT
    - ReadSize
    - GOOGLE_CHECK_LE
    - ReadPackedVarintArray
    linkageType: ''
    returnType: char
    signature: char * EpsCopyInputStream::ReadPackedVarint(const char* ptr, Add add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::VerifyUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - field_name
    argTypes:
    - std::string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 707
    functionName: google::protobuf::VerifyUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 4
    functionsReached:
    - google::protobuf::VerifyUTF8
    linkageType: ''
    returnType: bool
    signature: bool VerifyUTF8(const std::string* s, const char* field_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - predicate
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: GOOGLE_PROTOBUF_ASSERT_RETURN
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_ASSERT_RETURN(predicate, ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - predicate
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: GOOGLE_PROTOBUF_PARSER_ASSERT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_PARSER_ASSERT(predicate)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:731,1
    - Dst: VarintParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:736,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:737,1
    - Dst: AddVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:738,1
    - Dst: UnalignedLoad<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:742,1
    - Dst: AddFixed64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:744,1
    - Dst: ParseLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:748,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:749,1
    - Dst: ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:753,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:754,1
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:758,1
    - Dst: UnalignedLoad<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:762,1
    - Dst: AddFixed32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:764,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - tag
    - ' field_parser'
    - ptr
    - ctx
    argTypes:
    - uint64
    - T
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 771
    functionName: google::FieldParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 1
    functionsReached:
    - UnalignedLoad<uint64>
    - GOOGLE_LOG
    - ParseLengthDelimited
    - ParseGroup
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - UnalignedLoad<uint32>
    - AddFixed64
    - AddVarint
    - VarintParse
    - AddFixed32
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * FieldParser(uint64 tag, T& field_parser,\n
      \                                                const char* ptr,\n                                                 ParseContext*
      ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:777,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:779,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:780,1
    - Dst: ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:782,1
    - Dst: google::FieldParser
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:785,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' field_parser'
    - ptr
    - ctx
    argTypes:
    - T
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 789
    functionName: google::WireFormatParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - ParseContext*::Done
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - ParseContext*::SetLastTag
    - google::FieldParser
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * WireFormatParser(T& field_parser,\n                                                      const
      char* ptr,\n                                                      ParseContext*
      ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ReadPackedVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:814,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:816,1
    - Dst: static_cast<RepeatedField<int>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:817,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:819,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - object
    - ptr
    - ctx
    - metadata
    - field_num
    argTypes:
    - void*
    - char*
    - ParseContext*
    - InternalMetadata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 822
    functionName: google::PackedEnumParser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - InternalMetadata*::mutable_unknown_fields
    - static_cast<RepeatedField<int>*>
    - ParseContext*::ReadPackedVarint
    - WriteVarint
    - is_valid
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * PackedEnumParser(\n    void* object, const
      char* ptr, ParseContext* ctx, bool (*is_valid)(int),\n    InternalMetadata*
      metadata, int field_num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::ReadPackedVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:829,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:831,1
    - Dst: static_cast<RepeatedField<int>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:832,1
    - Dst: WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:834,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h:834,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - object
    - ptr
    - ctx
    - data
    - metadata
    - field_num
    argTypes:
    - void*
    - char*
    - ParseContext*
    - void*
    - InternalMetadata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 837
    functionName: google::PackedEnumParserArg
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    functionUses: 0
    functionsReached:
    - InternalMetadata*::mutable_unknown_fields
    - static_cast<RepeatedField<int>*>
    - ParseContext*::ReadPackedVarint
    - WriteVarint
    - is_valid
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: "PROTOBUF_MUST_USE_RESULT * PackedEnumParserArg(\n    void* object,
      const char* ptr, ParseContext* ctx,\n    bool (*is_valid)(const void*, int),
      const void* data,\n    InternalMetadata* metadata, int field_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: google::protobuf::internal::InternalMetadata::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::arena
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: void
    signature: void Delete()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:74,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::InternalMetadata::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 1
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::PtrTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::InternalMetadata::have_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::InternalMetadata::PtrTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE have_unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::InternalMetadata::raw_arena_ptr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * raw_arena_ptr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:90,1
    - Dst: default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' (*default_instance)()'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::InternalMetadata::unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - default_instance
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE & unknown_fields(\n      const T& (*default_instance)())
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:99,1
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * mutable_unknown_fields()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: InternalMetadata*::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: google::protobuf::internal::InternalMetadata::DoSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: google::protobuf::internal::InternalMetadata::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - InternalMetadata*::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::DoSwap
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Swap(InternalMetadata* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:120,1
    - Dst: google::protobuf::internal::InternalMetadata::DoMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    - Dst: google::protobuf::internal::InternalMetadata::unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - InternalMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::InternalMetadata::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoMergeFrom
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE MergeFrom(const InternalMetadata& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:127,1
    - Dst: google::protobuf::internal::InternalMetadata::DoClear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: google::protobuf::internal::InternalMetadata::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoClear
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: google::protobuf::internal::InternalMetadata::PtrTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE PtrTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<U*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::InternalMetadata::PtrValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<U*>
    linkageType: ''
    returnType: U
    signature: U * PtrValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:168,1
    - Dst: Arena::Create<Container<T>>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 1
    functionsReached:
    - Arena::Create<Container<T>>
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<void*>
    - google::protobuf::internal::InternalMetadata::arena
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * mutable_unknown_fields_slow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: google::protobuf::internal::InternalMetadata::DoClear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoClear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::InternalMetadata::DoMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoMergeFrom(const T& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::InternalMetadata::DoSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoSwap(T* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: InternalMetadata::DoClear<std::string>()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoClear<std::string>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: "void InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: InternalMetadata::DoSwap<std::string>(std::string* other)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoSwap<std::string>(std::string* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::LiteUnknownFieldSetter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - empty
    - swap
    - have_unknown_fields
    - if
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LiteUnknownFieldSetter
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: google::protobuf::internal::buffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string * buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: google::protobuf::internal::InternalMetadata::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::arena
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: void
    signature: void Delete()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:74,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::InternalMetadata::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 3
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::PtrTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::InternalMetadata::have_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::InternalMetadata::PtrTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE have_unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::InternalMetadata::raw_arena_ptr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * raw_arena_ptr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:90,1
    - Dst: default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' (*default_instance)()'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::InternalMetadata::unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 1
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - default_instance
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE & unknown_fields(\n      const T& (*default_instance)())
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:99,1
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 3
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * mutable_unknown_fields()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: InternalMetadata*::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: google::protobuf::internal::InternalMetadata::DoSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: google::protobuf::internal::InternalMetadata::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - InternalMetadata*::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::DoSwap
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Swap(InternalMetadata* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:120,1
    - Dst: google::protobuf::internal::InternalMetadata::DoMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    - Dst: google::protobuf::internal::InternalMetadata::unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - InternalMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::InternalMetadata::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoMergeFrom
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE MergeFrom(const InternalMetadata& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:127,1
    - Dst: google::protobuf::internal::InternalMetadata::DoClear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: google::protobuf::internal::InternalMetadata::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoClear
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: google::protobuf::internal::InternalMetadata::PtrTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE PtrTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<U*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::InternalMetadata::PtrValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<U*>
    linkageType: ''
    returnType: U
    signature: U * PtrValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:168,1
    - Dst: Arena::Create<Container<T>>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 2
    functionsReached:
    - Arena::Create<Container<T>>
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<void*>
    - google::protobuf::internal::InternalMetadata::arena
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * mutable_unknown_fields_slow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: google::protobuf::internal::InternalMetadata::DoClear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoClear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::InternalMetadata::DoMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoMergeFrom(const T& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::InternalMetadata::DoSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoSwap(T* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: InternalMetadata::DoClear<std::string>()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoClear<std::string>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: "void InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: InternalMetadata::DoSwap<std::string>(std::string* other)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoSwap<std::string>(std::string* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::LiteUnknownFieldSetter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - empty
    - swap
    - have_unknown_fields
    - if
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LiteUnknownFieldSetter
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: google::protobuf::internal::buffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string * buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: google::protobuf::internal::InternalMetadata::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::arena
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: void
    signature: void Delete()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:74,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::InternalMetadata::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 5
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::PtrTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::InternalMetadata::have_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::InternalMetadata::PtrTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE have_unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::InternalMetadata::raw_arena_ptr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * raw_arena_ptr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:90,1
    - Dst: default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' (*default_instance)()'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::InternalMetadata::unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 2
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - default_instance
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE & unknown_fields(\n      const T& (*default_instance)())
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:99,1
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 6
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * mutable_unknown_fields()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: InternalMetadata*::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: google::protobuf::internal::InternalMetadata::DoSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: google::protobuf::internal::InternalMetadata::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - InternalMetadata*::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::DoSwap
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Swap(InternalMetadata* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:120,1
    - Dst: google::protobuf::internal::InternalMetadata::DoMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    - Dst: google::protobuf::internal::InternalMetadata::unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - InternalMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::InternalMetadata::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoMergeFrom
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE MergeFrom(const InternalMetadata& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:127,1
    - Dst: google::protobuf::internal::InternalMetadata::DoClear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: google::protobuf::internal::InternalMetadata::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoClear
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: google::protobuf::internal::InternalMetadata::PtrTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE PtrTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<U*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::InternalMetadata::PtrValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 12
    functionsReached:
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<U*>
    linkageType: ''
    returnType: U
    signature: U * PtrValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:168,1
    - Dst: Arena::Create<Container<T>>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 3
    functionsReached:
    - Arena::Create<Container<T>>
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<void*>
    - google::protobuf::internal::InternalMetadata::arena
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * mutable_unknown_fields_slow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: google::protobuf::internal::InternalMetadata::DoClear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoClear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::InternalMetadata::DoMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoMergeFrom(const T& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::InternalMetadata::DoSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoSwap(T* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: InternalMetadata::DoClear<std::string>()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoClear<std::string>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: "void InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: InternalMetadata::DoSwap<std::string>(std::string* other)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoSwap<std::string>(std::string* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::LiteUnknownFieldSetter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - empty
    - swap
    - have_unknown_fields
    - if
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LiteUnknownFieldSetter
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: google::protobuf::internal::buffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string * buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: google::protobuf::internal::InternalMetadata::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::arena
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: void
    signature: void Delete()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:74,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::InternalMetadata::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 7
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::PtrTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::InternalMetadata::have_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 23
    functionsReached:
    - google::protobuf::internal::InternalMetadata::PtrTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE have_unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::InternalMetadata::raw_arena_ptr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * raw_arena_ptr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:90,1
    - Dst: default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' (*default_instance)()'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::InternalMetadata::unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 3
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - default_instance
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE & unknown_fields(\n      const T& (*default_instance)())
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:99,1
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 9
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * mutable_unknown_fields()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: InternalMetadata*::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: google::protobuf::internal::InternalMetadata::DoSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: google::protobuf::internal::InternalMetadata::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - InternalMetadata*::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::DoSwap
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Swap(InternalMetadata* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:120,1
    - Dst: google::protobuf::internal::InternalMetadata::DoMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    - Dst: google::protobuf::internal::InternalMetadata::unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - InternalMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::InternalMetadata::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoMergeFrom
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE MergeFrom(const InternalMetadata& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:127,1
    - Dst: google::protobuf::internal::InternalMetadata::DoClear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: google::protobuf::internal::InternalMetadata::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoClear
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: google::protobuf::internal::InternalMetadata::PtrTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE PtrTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<U*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::InternalMetadata::PtrValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 16
    functionsReached:
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<U*>
    linkageType: ''
    returnType: U
    signature: U * PtrValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:168,1
    - Dst: Arena::Create<Container<T>>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 4
    functionsReached:
    - Arena::Create<Container<T>>
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<void*>
    - google::protobuf::internal::InternalMetadata::arena
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * mutable_unknown_fields_slow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: google::protobuf::internal::InternalMetadata::DoClear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoClear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::InternalMetadata::DoMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoMergeFrom(const T& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::InternalMetadata::DoSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoSwap(T* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: InternalMetadata::DoClear<std::string>()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoClear<std::string>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: "void InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: InternalMetadata::DoSwap<std::string>(std::string* other)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoSwap<std::string>(std::string* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::LiteUnknownFieldSetter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - empty
    - swap
    - have_unknown_fields
    - if
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LiteUnknownFieldSetter
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: google::protobuf::internal::buffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string * buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: google::protobuf::internal::InternalMetadata::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::arena
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: void
    signature: void Delete()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:74,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::InternalMetadata::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 9
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::PtrTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::InternalMetadata::have_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 30
    functionsReached:
    - google::protobuf::internal::InternalMetadata::PtrTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE have_unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::InternalMetadata::raw_arena_ptr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * raw_arena_ptr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:90,1
    - Dst: default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' (*default_instance)()'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::InternalMetadata::unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 4
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - default_instance
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE & unknown_fields(\n      const T& (*default_instance)())
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:99,1
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 12
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * mutable_unknown_fields()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: InternalMetadata*::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: google::protobuf::internal::InternalMetadata::DoSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: google::protobuf::internal::InternalMetadata::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - InternalMetadata*::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::DoSwap
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Swap(InternalMetadata* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:120,1
    - Dst: google::protobuf::internal::InternalMetadata::DoMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    - Dst: google::protobuf::internal::InternalMetadata::unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - InternalMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::InternalMetadata::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoMergeFrom
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE MergeFrom(const InternalMetadata& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:127,1
    - Dst: google::protobuf::internal::InternalMetadata::DoClear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: google::protobuf::internal::InternalMetadata::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoClear
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: google::protobuf::internal::InternalMetadata::PtrTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 5
    functionsReached:
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE PtrTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<U*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::InternalMetadata::PtrValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 20
    functionsReached:
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<U*>
    linkageType: ''
    returnType: U
    signature: U * PtrValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:168,1
    - Dst: Arena::Create<Container<T>>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 5
    functionsReached:
    - Arena::Create<Container<T>>
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<void*>
    - google::protobuf::internal::InternalMetadata::arena
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * mutable_unknown_fields_slow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: google::protobuf::internal::InternalMetadata::DoClear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoClear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::InternalMetadata::DoMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoMergeFrom(const T& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::InternalMetadata::DoSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoSwap(T* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: InternalMetadata::DoClear<std::string>()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoClear<std::string>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: "void InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: InternalMetadata::DoSwap<std::string>(std::string* other)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoSwap<std::string>(std::string* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::LiteUnknownFieldSetter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - empty
    - swap
    - have_unknown_fields
    - if
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LiteUnknownFieldSetter
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: google::protobuf::internal::buffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string * buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: google::protobuf::internal::InternalMetadata::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::arena
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: void
    signature: void Delete()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:74,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::InternalMetadata::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 11
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::PtrTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::InternalMetadata::have_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 37
    functionsReached:
    - google::protobuf::internal::InternalMetadata::PtrTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE have_unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::InternalMetadata::raw_arena_ptr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * raw_arena_ptr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:90,1
    - Dst: default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' (*default_instance)()'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::InternalMetadata::unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 5
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - default_instance
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE & unknown_fields(\n      const T& (*default_instance)())
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:99,1
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 15
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * mutable_unknown_fields()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: InternalMetadata*::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: google::protobuf::internal::InternalMetadata::DoSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: google::protobuf::internal::InternalMetadata::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - InternalMetadata*::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::DoSwap
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Swap(InternalMetadata* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:120,1
    - Dst: google::protobuf::internal::InternalMetadata::DoMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    - Dst: google::protobuf::internal::InternalMetadata::unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - InternalMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::InternalMetadata::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoMergeFrom
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE MergeFrom(const InternalMetadata& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:127,1
    - Dst: google::protobuf::internal::InternalMetadata::DoClear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: google::protobuf::internal::InternalMetadata::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoClear
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: google::protobuf::internal::InternalMetadata::PtrTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE PtrTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<U*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::InternalMetadata::PtrValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 24
    functionsReached:
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<U*>
    linkageType: ''
    returnType: U
    signature: U * PtrValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:168,1
    - Dst: Arena::Create<Container<T>>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 6
    functionsReached:
    - Arena::Create<Container<T>>
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<void*>
    - google::protobuf::internal::InternalMetadata::arena
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * mutable_unknown_fields_slow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: google::protobuf::internal::InternalMetadata::DoClear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoClear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::InternalMetadata::DoMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoMergeFrom(const T& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::InternalMetadata::DoSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoSwap(T* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: InternalMetadata::DoClear<std::string>()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoClear<std::string>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: "void InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: InternalMetadata::DoSwap<std::string>(std::string* other)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoSwap<std::string>(std::string* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::LiteUnknownFieldSetter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - empty
    - swap
    - have_unknown_fields
    - if
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LiteUnknownFieldSetter
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: google::protobuf::internal::buffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string * buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: google::protobuf::internal::InternalMetadata::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::arena
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: void
    signature: void Delete()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:74,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::InternalMetadata::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 13
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::PtrTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::InternalMetadata::have_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 44
    functionsReached:
    - google::protobuf::internal::InternalMetadata::PtrTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE have_unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::InternalMetadata::raw_arena_ptr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * raw_arena_ptr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:90,1
    - Dst: default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' (*default_instance)()'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::InternalMetadata::unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 6
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - default_instance
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE & unknown_fields(\n      const T& (*default_instance)())
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:99,1
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 18
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * mutable_unknown_fields()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: InternalMetadata*::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: google::protobuf::internal::InternalMetadata::DoSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: google::protobuf::internal::InternalMetadata::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - InternalMetadata*::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::DoSwap
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Swap(InternalMetadata* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:120,1
    - Dst: google::protobuf::internal::InternalMetadata::DoMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    - Dst: google::protobuf::internal::InternalMetadata::unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - InternalMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::InternalMetadata::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoMergeFrom
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE MergeFrom(const InternalMetadata& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:127,1
    - Dst: google::protobuf::internal::InternalMetadata::DoClear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: google::protobuf::internal::InternalMetadata::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoClear
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: google::protobuf::internal::InternalMetadata::PtrTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 7
    functionsReached:
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE PtrTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<U*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::InternalMetadata::PtrValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 28
    functionsReached:
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<U*>
    linkageType: ''
    returnType: U
    signature: U * PtrValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:168,1
    - Dst: Arena::Create<Container<T>>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 7
    functionsReached:
    - Arena::Create<Container<T>>
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<void*>
    - google::protobuf::internal::InternalMetadata::arena
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * mutable_unknown_fields_slow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: google::protobuf::internal::InternalMetadata::DoClear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoClear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::InternalMetadata::DoMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoMergeFrom(const T& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::InternalMetadata::DoSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoSwap(T* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: InternalMetadata::DoClear<std::string>()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoClear<std::string>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: "void InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: InternalMetadata::DoSwap<std::string>(std::string* other)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoSwap<std::string>(std::string* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::LiteUnknownFieldSetter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - empty
    - swap
    - have_unknown_fields
    - if
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LiteUnknownFieldSetter
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: google::protobuf::internal::buffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string * buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: google::protobuf::internal::InternalMetadata::InternalMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InternalMetadata(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:67,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: google::protobuf::internal::InternalMetadata::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::arena
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: void
    signature: void Delete()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:73,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:74,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::InternalMetadata::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 15
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::PtrTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::InternalMetadata::have_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 51
    functionsReached:
    - google::protobuf::internal::InternalMetadata::PtrTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE have_unknown_fields() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::InternalMetadata::raw_arena_ptr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * raw_arena_ptr() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:89,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:90,1
    - Dst: default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' (*default_instance)()'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::InternalMetadata::unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 7
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - default_instance
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE & unknown_fields(\n      const T& (*default_instance)())
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:98,1
    - Dst: google::protobuf::internal::InternalMetadata::PtrValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:99,1
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 21
    functionsReached:
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    - google::protobuf::internal::InternalMetadata::PtrValue
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * mutable_unknown_fields()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: InternalMetadata*::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:113,1
    - Dst: google::protobuf::internal::InternalMetadata::DoSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: google::protobuf::internal::InternalMetadata::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - InternalMetadata*::mutable_unknown_fields
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - InternalMetadata*::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::DoSwap
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Swap(InternalMetadata* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:120,1
    - Dst: google::protobuf::internal::InternalMetadata::DoMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    - Dst: google::protobuf::internal::InternalMetadata::unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - InternalMetadata
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::InternalMetadata::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoMergeFrom
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    - google::protobuf::internal::InternalMetadata::unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE MergeFrom(const InternalMetadata& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:127,1
    - Dst: google::protobuf::internal::InternalMetadata::DoClear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: google::protobuf::internal::InternalMetadata::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::InternalMetadata::DoClear
    - google::protobuf::internal::InternalMetadata::have_unknown_fields
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: google::protobuf::internal::InternalMetadata::PtrTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 8
    functionsReached:
    - reinterpret_cast<intptr_t>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE PtrTag() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<U*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::InternalMetadata::PtrValue
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 32
    functionsReached:
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<U*>
    linkageType: ''
    returnType: U
    signature: U * PtrValue() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:168,1
    - Dst: Arena::Create<Container<T>>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:169,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    - Dst: reinterpret_cast<intptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 8
    functionsReached:
    - Arena::Create<Container<T>>
    - reinterpret_cast<intptr_t>
    - reinterpret_cast<void*>
    - google::protobuf::internal::InternalMetadata::arena
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: PROTOBUF_NOINLINE * mutable_unknown_fields_slow()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: google::protobuf::internal::InternalMetadata::DoClear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoClear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: google::protobuf::internal::InternalMetadata::DoMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoMergeFrom(const T& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::InternalMetadata::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::InternalMetadata::DoSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void DoSwap(T* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: InternalMetadata::DoClear<std::string>()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoClear<std::string>()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: "void InternalMetadata::DoMergeFrom<std::string>(\n    const std::string&
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: InternalMetadata::DoSwap<std::string>(std::string* other)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    linkageType: ''
    returnType: void
    signature: void InternalMetadata::DoSwap<std::string>(std::string* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: have_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:227,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:228,1
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    - Dst: empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: google::protobuf::internal::LiteUnknownFieldSetter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached:
    - mutable_unknown_fields
    - empty
    - swap
    - have_unknown_fields
    - if
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LiteUnknownFieldSetter
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: google::protobuf::internal::buffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string * buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapAllocator::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' allocator'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapAllocator::arena
    linkageType: ''
    returnType: void
    signature: void MapAllocator(const MapAllocator<X>& allocator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: reinterpret_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:120,1
    - Dst: Arena::CreateArray<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::MapAllocator::allocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator new
    - Arena::CreateArray<uint8>
    - static_cast<pointer>
    - reinterpret_cast<pointer>
    linkageType: ''
    returnType: pointer
    signature: pointer allocate(size_type n, const void* /* hint */ = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:128,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - pointer
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::MapAllocator::deallocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void deallocate(pointer p, size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: static_cast<const void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:145,1
    - Dst: NodeType::NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - NodeType::NodeType
    - std::forward<Args>
    - static_cast<const void*>
    linkageType: ''
    returnType: void
    signature: void construct(NodeType* p, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NodeType*::~NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - NodeType*::~NodeType
    linkageType: ''
    returnType: void
    signature: void destroy(NodeType* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_type::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - t
    argTypes:
    - pointer
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - value_type::value_type
    linkageType: ''
    returnType: void
    signature: void construct(pointer p, const_reference t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer::~value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - pointer::~value_type
    linkageType: ''
    returnType: void
    signature: void destroy(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: operator==(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: operator!=(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::MapAllocator::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::MapAllocator::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - key_type
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Equals(const key_type& a, const key_type& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: operator()(const T& str) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitConvert
    - base
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const T& str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: '& base() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::hash<std::string_view>
    signature: std::hash<std::string_view> & base() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: operator()(const T& t, const U& u) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& t, const U& u) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool Equals(const T& t, const U& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::TableEntryIsEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsEmpty(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::TableEntryIsNonEmptyList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsNonEmptyList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::TableEntryIsTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TableEntryIsNonEmptyList
    - google::protobuf::internal::TableEntryIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTree(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::TableEntryIsList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const T& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:300,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:302,1
    - Dst: Tree*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - table
    - num_buckets
    - num_elements
    - sizeof_node
    argTypes:
    - void**
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: google::protobuf::internal::SpaceUsedInTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - Tree*::size
    - static_cast<Tree*>
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE SpaceUsedInTable(void** table, size_t num_buckets,\n
      \                                         size_t num_elements,\n                                          size_t
      sizeof_node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:319,1
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - Map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const Map* map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapAllocator::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' allocator'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapAllocator::arena
    linkageType: ''
    returnType: void
    signature: void MapAllocator(const MapAllocator<X>& allocator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: reinterpret_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:120,1
    - Dst: Arena::CreateArray<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::MapAllocator::allocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator new
    - Arena::CreateArray<uint8>
    - static_cast<pointer>
    - reinterpret_cast<pointer>
    linkageType: ''
    returnType: pointer
    signature: pointer allocate(size_type n, const void* /* hint */ = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:128,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - pointer
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::MapAllocator::deallocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void deallocate(pointer p, size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: static_cast<const void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:145,1
    - Dst: NodeType::NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - NodeType::NodeType
    - std::forward<Args>
    - static_cast<const void*>
    linkageType: ''
    returnType: void
    signature: void construct(NodeType* p, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NodeType*::~NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - NodeType*::~NodeType
    linkageType: ''
    returnType: void
    signature: void destroy(NodeType* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_type::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - t
    argTypes:
    - pointer
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - value_type::value_type
    linkageType: ''
    returnType: void
    signature: void construct(pointer p, const_reference t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer::~value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - pointer::~value_type
    linkageType: ''
    returnType: void
    signature: void destroy(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: operator==(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: operator!=(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::MapAllocator::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::MapAllocator::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - key_type
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Equals(const key_type& a, const key_type& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: operator()(const T& str) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ImplicitConvert
    - base
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const T& str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: '& base() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::hash<std::string_view>
    signature: std::hash<std::string_view> & base() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: operator()(const T& t, const U& u) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& t, const U& u) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool Equals(const T& t, const U& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::TableEntryIsEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsEmpty(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::TableEntryIsNonEmptyList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsNonEmptyList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::TableEntryIsTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::TableEntryIsNonEmptyList
    - google::protobuf::internal::TableEntryIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTree(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::TableEntryIsList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const T& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:300,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:302,1
    - Dst: Tree*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - table
    - num_buckets
    - num_elements
    - sizeof_node
    argTypes:
    - void**
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: google::protobuf::internal::SpaceUsedInTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - Tree*::size
    - static_cast<Tree*>
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE SpaceUsedInTable(void** table, size_t num_buckets,\n
      \                                         size_t num_elements,\n                                          size_t
      sizeof_node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:319,1
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - Map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const Map* map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' other_first'
    - ' other_second'
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapPair(const Key& other_first, const T& other_second)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other_first'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 339
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapPair(const Key& other_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other_first'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MapPair(Key&& other_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapPair(const MapPair& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: ~MapPair()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MapPair()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pair<T1, T2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: operator std::pair<T1, T2>() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::pair<T1, T2>
    linkageType: ''
    returnType: void
    signature: void operator std::pair<T1, T2>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Map()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 386
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Map(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:388,1
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:388,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::insert
    - google::protobuf::Map::end
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: void
    signature: void Map(const Map& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:391,1
    - Dst: google::protobuf::Map::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::arena
    - google::protobuf::Map::swap
    linkageType: ''
    returnType: void
    signature: void Map(Map&& other) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:400,1
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:400,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: '& operator=(Map&& other) noexcept'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - arena
    - swap
    linkageType: ''
    returnType: Map
    signature: Map & operator=(Map&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' first'
    - ' last'
    argTypes:
    - InputIt
    - InputIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::insert
    linkageType: ''
    returnType: void
    signature: void Map(const InputIt& first, const InputIt& last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: ~Map()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Map()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 460
    functionName: google::protobuf::Map::InnerMap::InnerMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_cast<void**>
    linkageType: ''
    returnType: void
    signature: void InnerMap(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:463,1
    - Dst: google::protobuf::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:465,1
    - Dst: Dealloc<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: ~InnerMap()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::clear
    - arena
    - Dealloc<void*>
    linkageType: ''
    returnType: void
    signature: void ~InnerMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - TreeIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: google::protobuf::Map::InnerMap::NodeFromTreeIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - static_cast<Node*>
    linkageType: ''
    returnType: Node
    signature: Node * NodeFromTreeIterator(TreeIterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator_base()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::iterator_base::SearchFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - InnerMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::iterator_base::SearchFrom
    linkageType: ''
    returnType: void
    signature: void iterator_base(const InnerMap* m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - iterator_base<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator_base(const iterator_base<U>& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - n
    - m
    - index
    argTypes:
    - Node*
    - InnerMap*
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator_base(Node* n, const InnerMap* m, size_type index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:522,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree_it
    - m
    - index
    argTypes:
    - TreeIterator
    - InnerMap*
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_EQ
    - NodeFromTreeIterator
    linkageType: ''
    returnType: void
    signature: void iterator_base(TreeIterator tree_it, const InnerMap* m, size_type
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:531,1
    - Dst: TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:536,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:537,1
    - Dst: TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:539,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:540,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:541,1
    - Dst: Tree*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:541,1
    - Dst: NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:542,1
    - Dst: Tree*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - start_bucket
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 546
    functionName: google::protobuf::Map::InnerMap::iterator_base::SearchFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - TableEntryIsNonEmptyList
    - GOOGLE_DCHECK
    - TableEntryIsTree
    - Tree*::empty
    - NodeFromTreeIterator
    - static_cast<Tree*>
    - static_cast<Node*>
    - Tree*::begin
    linkageType: ''
    returnType: void
    signature: void SearchFrom(size_type start_bucket)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 548
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 549
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator_base
    - iterator_base
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: operator==(const iterator_base& a, const iterator_base& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator_base& a, const iterator_base& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator_base
    - iterator_base
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 556
    functionName: operator!=(const iterator_base& a, const iterator_base& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator_base& a, const iterator_base& b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: revalidate_if_necessary
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:561,1
    - Dst: SearchFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:563,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:565,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:566,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:567,1
    - Dst: SearchFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:568,1
    - Dst: NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 577
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - SearchFrom
    - Tree*::end
    - NodeFromTreeIterator
    - static_cast<Tree*>
    - GOOGLE_DCHECK_EQ
    - revalidate_if_necessary
    linkageType: ''
    returnType: iterator_base
    signature: iterator_base & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: operator++(int /* unused */)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator_base
    signature: iterator_base operator++(int /* unused */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:590,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:594,1
    - Dst: TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:597,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:598,1
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:609,1
    - Dst: TableEntryIsList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - it
    argTypes:
    - TreeIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 612
    functionName: google::protobuf::Map::InnerMap::iterator_base::revalidate_if_necessary
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - TableEntryIsList
    - TableEntryIsNonEmptyList
    - GOOGLE_DCHECK
    - find
    - static_cast<Node*>
    - static_cast<void*>
    linkageType: ''
    returnType: bool
    signature: bool revalidate_if_necessary(TreeIterator* it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 623
    functionName: google::protobuf::Map::InnerMap::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:626,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:627,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:628,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:629,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:630,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - InnerMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 632
    functionName: google::protobuf::Map::InnerMap::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(InnerMap* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: google::protobuf::Map::InnerMap::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 635
    functionName: google::protobuf::Map::InnerMap::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 636
    functionName: google::protobuf::Map::InnerMap::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 637
    functionName: google::protobuf::Map::InnerMap::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:641,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:642,1
    - Dst: google::protobuf::Map::InnerMap::DestroyNode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:646,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:649,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:650,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:651,1
    - Dst: Tree*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:653,1
    - Dst: google::protobuf::Map::InnerMap::NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:655,1
    - Dst: Tree*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:658,1
    - Dst: google::protobuf::Map::InnerMap::DestroyNode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:659,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:661,1
    - Dst: google::protobuf::Map::InnerMap::DestroyTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 668
    functionName: google::protobuf::Map::InnerMap::clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::DestroyTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - google::protobuf::Map::InnerMap::DestroyNode
    - Tree*::end
    - static_cast<Tree*>
    - Tree*::erase
    - google::protobuf::Map::InnerMap::NodeFromTreeIterator
    - static_cast<Node*>
    - Tree*::begin
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: '& hash_function() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hasher
    signature: hasher & hash_function() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: google::protobuf::Map::InnerMap::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - static_cast<size_type>
    linkageType: ''
    returnType: size_type
    signature: size_type max_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 675
    functionName: google::protobuf::Map::InnerMap::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 676
    functionName: google::protobuf::Map::InnerMap::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::size
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:680,1
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 681
    functionName: google::protobuf::Map::InnerMap::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - iterator
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: iterator
    signature: iterator find(const K& k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 686
    functionName: google::protobuf::Map::InnerMap::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const K& k) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:692,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:695,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:695,1
    - Dst: google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:697,1
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:698,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:706,1
    - Dst: value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: static_cast<TypeToInit>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: Node::Node
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: google::protobuf::Map::InnerMap::Alloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:710,1
    - Dst: google::protobuf::CreateInArenaStorage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:711,1
    - Dst: const_cast<Key*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:712,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:712,1
    - Dst: static_cast<TypeToInit>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:713,1
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:713,1
    - Dst: google::protobuf::CreateInArenaStorage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:714,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:714,1
    - Dst: google::protobuf::Map::InnerMap::InsertUnique
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:717,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 720
    functionName: google::protobuf::Map::InnerMap::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    - value_type
    - std::forward<K>
    - const_cast<Key*>
    - std::make_pair
    - google::protobuf::Map::InnerMap::FindHelper
    - google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
    - iterator
    - google::protobuf::Map::InnerMap::Alloc
    - static_cast<TypeToInit>
    - google::protobuf::Map::InnerMap::InsertUnique
    - Node::Node
    - google::protobuf::CreateInArenaStorage
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert(K&& k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:724,1
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: '& operator[](K&& k)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::forward<K>
    - insert
    linkageType: ''
    returnType: value_type
    signature: value_type & operator[](K&& k)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:728,1
    - Dst: iterator::revalidate_if_necessary
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:730,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:734,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:734,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:735,1
    - Dst: google::protobuf::Map::InnerMap::EraseFromLinkedList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:736,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:737,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:739,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:739,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:740,1
    - Dst: Tree*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:741,1
    - Dst: Tree*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:742,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:745,1
    - Dst: google::protobuf::Map::InnerMap::DestroyTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:746,1
    - Dst: google::protobuf::Map::InnerMap::DestroyNode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:750,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - it
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 758
    functionName: google::protobuf::Map::InnerMap::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::DestroyTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - static_cast<size_type>
    - google::protobuf::Map::InnerMap::DestroyNode
    - Tree*::empty
    - static_cast<Node*>
    - static_cast<Tree*>
    - Tree*::erase
    - PROTOBUF_PREDICT_FALSE
    - iterator::revalidate_if_necessary
    - GOOGLE_DCHECK_EQ
    - google::protobuf::Map::InnerMap::EraseFromLinkedList
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void erase(iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::SpaceUsedInTable<Key>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: google::protobuf::Map::InnerMap::SpaceUsedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - internal::SpaceUsedInTable<Key>
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - it
    argTypes:
    - Key
    - TreeIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 768
    functionName: google::protobuf::Map::InnerMap::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const Key& k, TreeIterator* it) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 772
    functionName: google::protobuf::Map::InnerMap::FindHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 5
    functionsReached:
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: std::pair<const_iterator, size_type>
    signature: std::pair<const_iterator, size_type> FindHelper(const K& k) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::BucketNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:776,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:777,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:778,1
    - Dst: google::protobuf::internal::Equals
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:780,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:781,1
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:781,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:786,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:787,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:788,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:789,1
    - Dst: Tree*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:790,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:791,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:793,1
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:793,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:796,1
    - Dst: google::protobuf::Map::InnerMap::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' k'
    - it
    argTypes:
    - K
    - TreeIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 797
    functionName: google::protobuf::Map::InnerMap::FindHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 5
    functionsReached:
    - Tree*::find
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - std::make_pair
    - google::protobuf::Map::InnerMap::end
    - const_iterator
    - Tree*::end
    - google::protobuf::Map::InnerMap::BucketNumber
    - static_cast<size_t>
    - google::protobuf::internal::Equals
    - static_cast<Tree*>
    - static_cast<Node*>
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::pair<const_iterator, size_type>
    signature: "std::pair<const_iterator, size_type> FindHelper(const K& k,\n                                                    TreeIterator*
      it) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:804,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:811,1
    - Dst: google::protobuf::Map::InnerMap::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:811,1
    - Dst: google::protobuf::Map::InnerMap::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:811,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:812,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:813,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:814,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:815,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTooLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:815,1
    - Dst: google::protobuf::Map::InnerMap::TreeConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:816,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:817,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:818,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:818,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:822,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - b
    - node
    argTypes:
    - size_type
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 833
    functionName: google::protobuf::Map::InnerMap::InsertUnique
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::Map::InnerMap::TableEntryIsEmpty
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::InsertUniqueInTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - google::protobuf::Map::InnerMap::TableEntryIsTooLong
    - google::protobuf::Map::InnerMap::end
    - google::protobuf::Map::InnerMap::TreeConvert
    - static_cast<size_type>
    - google::protobuf::Map::InnerMap::find
    - google::protobuf::Map::InnerMap::InsertUniqueInList
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: iterator
    signature: iterator InsertUnique(size_type b, Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 847
    functionName: google::protobuf::Map::InnerMap::ShouldInsertAfterHead
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: bool
    signature: bool ShouldInsertAfterHead(void* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::ShouldInsertAfterHead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:852,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:853,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:856,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:859,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:860,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - b
    - node
    argTypes:
    - size_type
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 862
    functionName: google::protobuf::Map::InnerMap::InsertUniqueInList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - iterator
    - static_cast<Node*>
    - google::protobuf::Map::InnerMap::ShouldInsertAfterHead
    - static_cast<void*>
    linkageType: ''
    returnType: iterator
    signature: iterator InsertUniqueInList(size_type b, Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:867,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:870,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:871,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - node
    argTypes:
    - size_type
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 873
    functionName: google::protobuf::Map::InnerMap::InsertUniqueInTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - iterator
    - static_cast<size_t>
    - GOOGLE_DCHECK_EQ
    - static_cast<Tree*>
    linkageType: ''
    returnType: iterator
    signature: iterator InsertUniqueInTree(size_type b, Node* node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:890,1
    - Dst: google::protobuf::Map::InnerMap::max_size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:891,1
    - Dst: google::protobuf::Map::InnerMap::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:892,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:895,1
    - Dst: std::max<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:906,1
    - Dst: google::protobuf::Map::InnerMap::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:909,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 914
    functionName: google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - std::max<size_type>
    - google::protobuf::Map::InnerMap::Resize
    - google::protobuf::Map::InnerMap::max_size
    linkageType: ''
    returnType: bool
    signature: bool ResizeIfLoadIsOutOfRange(size_type new_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::CreateEmptyTable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:922,1
    - Dst: google::protobuf::Map::InnerMap::Seed
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:923,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:927,1
    - Dst: google::protobuf::Map::InnerMap::CreateEmptyTable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:931,1
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:935,1
    - Dst: google::protobuf::Map::InnerMap::TransferList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:936,1
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:937,1
    - Dst: google::protobuf::Map::InnerMap::TransferTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:938,1
    - Dst: google::protobuf::Map::InnerMap::Dealloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:941,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - new_num_buckets
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 942
    functionName: google::protobuf::Map::InnerMap::Resize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::Map::InnerMap::Seed
    - google::protobuf::internal::TableEntryIsTree
    - google::protobuf::internal::TableEntryIsNonEmptyList
    - google::protobuf::Map::InnerMap::Dealloc
    - google::protobuf::Map::InnerMap::TransferTree
    - google::protobuf::Map::InnerMap::TransferList
    - google::protobuf::Map::InnerMap::CreateEmptyTable
    linkageType: ''
    returnType: void
    signature: void Resize(size_t new_num_buckets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:945,1
    - Dst: google::protobuf::Map::InnerMap::InsertUnique
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:948,1
    - Dst: google::protobuf::Map::InnerMap::BucketNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - table
    - index
    argTypes:
    - void**
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 3
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: google::protobuf::Map::InnerMap::TransferList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - static_cast<Node*>
    - google::protobuf::Map::InnerMap::BucketNumber
    - google::protobuf::Map::InnerMap::InsertUnique
    linkageType: ''
    returnType: void
    signature: void TransferList(void* const* table, size_type index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:954,1
    - Dst: Tree*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:955,1
    - Dst: google::protobuf::Map::InnerMap::InsertUnique
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:957,1
    - Dst: google::protobuf::Map::InnerMap::BucketNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:957,1
    - Dst: std::cref
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:957,1
    - Dst: google::protobuf::Map::InnerMap::NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:958,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:959,1
    - Dst: google::protobuf::Map::InnerMap::DestroyTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - table
    - index
    argTypes:
    - void**
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 961
    functionName: google::protobuf::Map::InnerMap::TransferTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::Map::InnerMap::DestroyTree
    - std::cref
    - Tree*::end
    - google::protobuf::Map::InnerMap::BucketNumber
    - static_cast<Tree*>
    - google::protobuf::Map::InnerMap::InsertUnique
    - google::protobuf::Map::InnerMap::NodeFromTreeIterator
    - Tree*::begin
    linkageType: ''
    returnType: void
    signature: void TransferTree(void* const* table, size_type index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::EraseFromLinkedList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - item
    - head
    argTypes:
    - Node*
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 970
    functionName: google::protobuf::Map::InnerMap::EraseFromLinkedList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Map::InnerMap::EraseFromLinkedList
    linkageType: ''
    returnType: Node
    signature: Node * EraseFromLinkedList(Node* item, Node* head)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 974
    functionName: google::protobuf::Map::InnerMap::TableEntryIsEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::TableEntryIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsEmpty(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 977
    functionName: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::TableEntryIsNonEmptyList
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsNonEmptyList(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: google::protobuf::Map::InnerMap::TableEntryIsTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTree(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 983
    functionName: google::protobuf::Map::InnerMap::TableEntryIsList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TableEntryIsList
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsList(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:986,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:986,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:986,1
    - Dst: Arena::Create<Tree>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:988,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:988,1
    - Dst: typename Tree::key_compare
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:988,1
    - Dst: typename Tree::allocator_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:989,1
    - Dst: google::protobuf::Map::InnerMap::CopyListToTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:990,1
    - Dst: google::protobuf::Map::InnerMap::CopyListToTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:990,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:991,1
    - Dst: Tree*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:991,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 985
    functionDepth: 3
    functionLinenumber: 985
    functionLinenumberEnd: 993
    functionName: google::protobuf::Map::InnerMap::TreeConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::CopyListToTree
    - typename Tree::key_compare
    - Arena::Create<Tree>
    - typename Tree::allocator_type
    - Tree*::size
    - GOOGLE_DCHECK_EQ
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void TreeConvert(size_type b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:999,1
    - Dst: Tree*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - b
    - tree
    argTypes:
    - size_type
    - Tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1008
    functionName: google::protobuf::Map::InnerMap::CopyListToTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - static_cast<Node*>
    - Tree*::insert
    linkageType: ''
    returnType: size_type
    signature: size_type CopyListToTree(size_type b, Tree* tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1015,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1023
    functionName: google::protobuf::Map::InnerMap::TableEntryIsTooLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - static_cast<Node*>
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTooLong(size_type b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_function
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1036
    functionName: google::protobuf::Map::InnerMap::BucketNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - hash_function
    linkageType: ''
    returnType: size_type
    signature: size_type BucketNumber(const K& k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1041,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1044
    functionName: google::protobuf::Map::InnerMap::TableSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - static_cast<size_type>
    linkageType: ''
    returnType: size_type
    signature: size_type TableSize(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: google::protobuf::Map::InnerMap::Alloc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - alloc_type
    linkageType: ''
    returnType: U
    signature: U * Alloc(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - n
    argTypes:
    - U*
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1058
    functionName: google::protobuf::Map::InnerMap::Dealloc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - alloc_type
    linkageType: ''
    returnType: void
    signature: void Dealloc(U* t, size_type n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1064
    functionName: google::protobuf::Map::InnerMap::DestroyNode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    linkageType: ''
    returnType: void
    signature: void DestroyNode(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tree
    argTypes:
    - Tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1070
    functionName: google::protobuf::Map::InnerMap::DestroyTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    linkageType: ''
    returnType: void
    signature: void DestroyTree(Tree* tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1073,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1074,1
    - Dst: google::protobuf::Map::InnerMap::Alloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1075,1
    - Dst: memset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1078
    functionName: google::protobuf::Map::InnerMap::CreateEmptyTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::Map::InnerMap::Alloc
    - GOOGLE_DCHECK
    - memset
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: void ** CreateEmptyTable(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1085,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1093
    functionName: google::protobuf::Map::InnerMap::Seed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - static_cast<uint64>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: size_type
    signature: size_type Seed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1124
    functionName: google::protobuf::Map::const_iterator::const_iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - InnerIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1125
    functionName: google::protobuf::Map::const_iterator::const_iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator(const InnerIt& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1127
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1128
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_pointer
    signature: const_pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1133
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1134
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1138
    functionName: operator==(const const_iterator& a, const const_iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const const_iterator& a, const const_iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1141
    functionName: operator!=(const const_iterator& a, const const_iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const const_iterator& a, const const_iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1157
    functionName: google::protobuf::Map::iterator::iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - InnerIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1158
    functionName: google::protobuf::Map::iterator::iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator(const InnerIt& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1160
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1161
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1166
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1167
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1171,1
    - Dst: google::protobuf::Map::const_iterator::const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1172
    functionName: operator const_iterator() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::const_iterator::const_iterator
    - const_iterator
    linkageType: ''
    returnType: void
    signature: void operator const_iterator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1176
    functionName: operator==(const iterator& a, const iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& a, const iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1179
    functionName: operator!=(const iterator& a, const iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& a, const iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1187,1
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1187
    functionName: google::protobuf::Map::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - iterator
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1188,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1188
    functionName: google::protobuf::Map::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - iterator
    - google::protobuf::Map::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1189,1
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1189
    functionName: google::protobuf::Map::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - const_iterator
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1190,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1190
    functionName: google::protobuf::Map::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - const_iterator
    - google::protobuf::Map::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1191
    functionName: google::protobuf::Map::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1192
    functionName: google::protobuf::Map::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1195
    functionName: google::protobuf::Map::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::Map::size
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1196
    functionDepth: 2
    functionLinenumber: 1196
    functionLinenumberEnd: 1196
    functionName: google::protobuf::Map::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::size
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1202
    functionName: '& operator[](const key_arg<K>& key)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1209
    functionName: '& operator[](key_arg<K>&& key)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::forward<K>
    linkageType: ''
    returnType: T
    signature: T & operator[](key_arg<K>&& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1213,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1214,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1214,1
    - Dst: static_cast<Key>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    functionName: google::protobuf::Map::at
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - static_cast<Key>
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: T
    signature: T & at(const key_arg<K>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1220,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1221,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1221,1
    - Dst: static_cast<Key>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1219
    functionDepth: 2
    functionLinenumber: 1219
    functionLinenumberEnd: 1223
    functionName: google::protobuf::Map::at
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - static_cast<Key>
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: T
    signature: T & at(const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1228,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1227
    functionDepth: 2
    functionLinenumber: 1227
    functionLinenumberEnd: 1229
    functionName: google::protobuf::Map::count
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: size_type
    signature: size_type count(const key_arg<K>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1233,1
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1234
    functionName: google::protobuf::Map::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - const_iterator
    - google::protobuf::Map::find
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const key_arg<K>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1237,1
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1238
    functionName: google::protobuf::Map::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 5
    functionsReached:
    - iterator
    - google::protobuf::Map::find
    linkageType: ''
    returnType: iterator
    signature: iterator find(const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1242,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1241
    functionDepth: 2
    functionLinenumber: 1241
    functionLinenumberEnd: 1243
    functionName: google::protobuf::Map::contains
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: bool
    signature: bool contains(const key_arg<K>& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1248,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1249,1
    - Dst: std::pair<const_iterator, const_iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1250,1
    - Dst: std::pair<const_iterator, const_iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1246
    functionDepth: 2
    functionLinenumber: 1246
    functionLinenumberEnd: 1255
    functionName: google::protobuf::Map::equal_range
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::pair<const_iterator, const_iterator>
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: std::pair<const_iterator, const_iterator>
    signature: "std::pair<const_iterator, const_iterator> equal_range(\n      const
      key_arg<K>& key) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1259,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1260,1
    - Dst: std::pair<iterator, iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1261,1
    - Dst: std::pair<iterator, iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1258
    functionDepth: 2
    functionLinenumber: 1258
    functionLinenumberEnd: 1266
    functionName: google::protobuf::Map::equal_range
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    - std::pair<iterator, iterator>
    linkageType: ''
    returnType: std::pair<iterator, iterator>
    signature: std::pair<iterator, iterator> equal_range(const key_arg<K>& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1271,1
    - Dst: std::pair<iterator, bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1275,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1276
    functionName: google::protobuf::Map::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - iterator
    - google::protobuf::Map::insert
    - std::pair<iterator, bool>
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert(const value_type& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1280,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - InputIt
    - InputIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1285
    functionName: google::protobuf::Map::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: void
    signature: void insert(InputIt first, InputIt last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1287,1
    - Dst: std::initializer_list<value_type>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1287,1
    - Dst: std::initializer_list<value_type>::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - values
    argTypes:
    - std::initializer_list<value_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1288
    functionName: google::protobuf::Map::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Map::insert
    - std::initializer_list<value_type>::end
    - std::initializer_list<value_type>::begin
    linkageType: ''
    returnType: void
    signature: void insert(std::initializer_list<value_type> values)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1293,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1294,1
    - Dst: google::protobuf::Map::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1292
    functionDepth: 2
    functionLinenumber: 1292
    functionLinenumberEnd: 1300
    functionName: google::protobuf::Map::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::Map::erase
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: size_type
    signature: size_type erase(const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1305
    functionName: google::protobuf::Map::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Map::erase
    linkageType: ''
    returnType: iterator
    signature: iterator erase(iterator pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1310
    functionName: google::protobuf::Map::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Map::erase
    linkageType: ''
    returnType: void
    signature: void erase(iterator first, iterator last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1311
    functionName: google::protobuf::Map::clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::Map::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1316,1
    - Dst: insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1317,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1317,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1320
    functionName: '& operator=(const Map& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::clear
    - google::protobuf::end
    - google::protobuf::begin
    - insert
    linkageType: ''
    returnType: Map
    signature: Map & operator=(const Map& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1323,1
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1323,1
    - Dst: Swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1333
    functionName: google::protobuf::Map::swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - Swap
    - google::protobuf::Map::arena
    linkageType: ''
    returnType: void
    signature: void swap(Map& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::hash_function
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1337
    functionName: google::protobuf::Map::hash_function
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::Map::hash_function
    linkageType: ''
    returnType: hasher
    signature: hasher hash_function() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1340,1
    - Dst: SpaceUsedInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1341,1
    - Dst: google::protobuf::internal::SpaceUsedInValues
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1339
    functionDepth: 3
    functionLinenumber: 1339
    functionLinenumberEnd: 1342
    functionName: google::protobuf::Map::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::empty
    - google::protobuf::internal::SpaceUsedInValues
    - SpaceUsedInternal
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedExcludingSelfLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1345
    functionName: google::protobuf::Map::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Map::arena
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapAllocator::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' allocator'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapAllocator::arena
    linkageType: ''
    returnType: void
    signature: void MapAllocator(const MapAllocator<X>& allocator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: reinterpret_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:120,1
    - Dst: Arena::CreateArray<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::MapAllocator::allocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator new
    - Arena::CreateArray<uint8>
    - static_cast<pointer>
    - reinterpret_cast<pointer>
    linkageType: ''
    returnType: pointer
    signature: pointer allocate(size_type n, const void* /* hint */ = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:128,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - pointer
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::MapAllocator::deallocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void deallocate(pointer p, size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: static_cast<const void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:145,1
    - Dst: NodeType::NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - NodeType::NodeType
    - std::forward<Args>
    - static_cast<const void*>
    linkageType: ''
    returnType: void
    signature: void construct(NodeType* p, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NodeType*::~NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - NodeType*::~NodeType
    linkageType: ''
    returnType: void
    signature: void destroy(NodeType* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_type::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - t
    argTypes:
    - pointer
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - value_type::value_type
    linkageType: ''
    returnType: void
    signature: void construct(pointer p, const_reference t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer::~value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - pointer::~value_type
    linkageType: ''
    returnType: void
    signature: void destroy(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: operator==(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: operator!=(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::MapAllocator::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::MapAllocator::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - key_type
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Equals(const key_type& a, const key_type& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: operator()(const T& str) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ImplicitConvert
    - base
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const T& str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: '& base() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::hash<std::string_view>
    signature: std::hash<std::string_view> & base() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: operator()(const T& t, const U& u) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& t, const U& u) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool Equals(const T& t, const U& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::TableEntryIsEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsEmpty(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::TableEntryIsNonEmptyList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsNonEmptyList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::TableEntryIsTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::TableEntryIsNonEmptyList
    - google::protobuf::internal::TableEntryIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTree(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::TableEntryIsList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const T& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:300,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:302,1
    - Dst: Tree*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - table
    - num_buckets
    - num_elements
    - sizeof_node
    argTypes:
    - void**
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: google::protobuf::internal::SpaceUsedInTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - Tree*::size
    - static_cast<Tree*>
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE SpaceUsedInTable(void** table, size_t num_buckets,\n
      \                                         size_t num_elements,\n                                          size_t
      sizeof_node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:319,1
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - Map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const Map* map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapAllocator::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' allocator'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapAllocator::arena
    linkageType: ''
    returnType: void
    signature: void MapAllocator(const MapAllocator<X>& allocator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: reinterpret_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:120,1
    - Dst: Arena::CreateArray<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::MapAllocator::allocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator new
    - Arena::CreateArray<uint8>
    - static_cast<pointer>
    - reinterpret_cast<pointer>
    linkageType: ''
    returnType: pointer
    signature: pointer allocate(size_type n, const void* /* hint */ = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:128,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - pointer
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::MapAllocator::deallocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void deallocate(pointer p, size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: static_cast<const void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:145,1
    - Dst: NodeType::NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - NodeType::NodeType
    - std::forward<Args>
    - static_cast<const void*>
    linkageType: ''
    returnType: void
    signature: void construct(NodeType* p, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NodeType*::~NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - NodeType*::~NodeType
    linkageType: ''
    returnType: void
    signature: void destroy(NodeType* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_type::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - t
    argTypes:
    - pointer
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - value_type::value_type
    linkageType: ''
    returnType: void
    signature: void construct(pointer p, const_reference t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer::~value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - pointer::~value_type
    linkageType: ''
    returnType: void
    signature: void destroy(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: operator==(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: operator!=(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::MapAllocator::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::MapAllocator::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - key_type
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Equals(const key_type& a, const key_type& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: operator()(const T& str) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ImplicitConvert
    - base
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const T& str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: '& base() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::hash<std::string_view>
    signature: std::hash<std::string_view> & base() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: operator()(const T& t, const U& u) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& t, const U& u) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool Equals(const T& t, const U& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::TableEntryIsEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsEmpty(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::TableEntryIsNonEmptyList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsNonEmptyList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::TableEntryIsTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::TableEntryIsNonEmptyList
    - google::protobuf::internal::TableEntryIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTree(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::TableEntryIsList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const T& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:300,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:302,1
    - Dst: Tree*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - table
    - num_buckets
    - num_elements
    - sizeof_node
    argTypes:
    - void**
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: google::protobuf::internal::SpaceUsedInTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - Tree*::size
    - static_cast<Tree*>
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE SpaceUsedInTable(void** table, size_t num_buckets,\n
      \                                         size_t num_elements,\n                                          size_t
      sizeof_node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:319,1
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - Map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const Map* map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' other_first'
    - ' other_second'
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapPair(const Key& other_first, const T& other_second)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other_first'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 339
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapPair(const Key& other_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other_first'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MapPair(Key&& other_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapPair(const MapPair& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: ~MapPair()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MapPair()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pair<T1, T2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: operator std::pair<T1, T2>() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::pair<T1, T2>
    linkageType: ''
    returnType: void
    signature: void operator std::pair<T1, T2>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Map()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 386
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Map(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:388,1
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:388,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::insert
    - google::protobuf::Map::end
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: void
    signature: void Map(const Map& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:391,1
    - Dst: google::protobuf::Map::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::arena
    - google::protobuf::Map::swap
    linkageType: ''
    returnType: void
    signature: void Map(Map&& other) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:400,1
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:400,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: '& operator=(Map&& other) noexcept'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - arena
    - swap
    linkageType: ''
    returnType: Map
    signature: Map & operator=(Map&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' first'
    - ' last'
    argTypes:
    - InputIt
    - InputIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::insert
    linkageType: ''
    returnType: void
    signature: void Map(const InputIt& first, const InputIt& last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: ~Map()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Map()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 460
    functionName: google::protobuf::Map::InnerMap::InnerMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_cast<void**>
    linkageType: ''
    returnType: void
    signature: void InnerMap(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:463,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:465,1
    - Dst: Dealloc<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: ~InnerMap()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - Dealloc<void*>
    - arena
    - clear
    linkageType: ''
    returnType: void
    signature: void ~InnerMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - TreeIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: google::protobuf::Map::InnerMap::NodeFromTreeIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - static_cast<Node*>
    linkageType: ''
    returnType: Node
    signature: Node * NodeFromTreeIterator(TreeIterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator_base()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::iterator_base::SearchFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - InnerMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::iterator_base::SearchFrom
    linkageType: ''
    returnType: void
    signature: void iterator_base(const InnerMap* m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - iterator_base<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator_base(const iterator_base<U>& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - n
    - m
    - index
    argTypes:
    - Node*
    - InnerMap*
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator_base(Node* n, const InnerMap* m, size_type index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:522,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree_it
    - m
    - index
    argTypes:
    - TreeIterator
    - InnerMap*
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_EQ
    - NodeFromTreeIterator
    linkageType: ''
    returnType: void
    signature: void iterator_base(TreeIterator tree_it, const InnerMap* m, size_type
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:531,1
    - Dst: TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:536,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:537,1
    - Dst: TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:539,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:540,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:541,1
    - Dst: Tree*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:541,1
    - Dst: NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:542,1
    - Dst: Tree*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - start_bucket
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 546
    functionName: google::protobuf::Map::InnerMap::iterator_base::SearchFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - TableEntryIsNonEmptyList
    - GOOGLE_DCHECK
    - TableEntryIsTree
    - Tree*::empty
    - NodeFromTreeIterator
    - static_cast<Tree*>
    - static_cast<Node*>
    - Tree*::begin
    linkageType: ''
    returnType: void
    signature: void SearchFrom(size_type start_bucket)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 548
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 549
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator_base
    - iterator_base
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: operator==(const iterator_base& a, const iterator_base& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator_base& a, const iterator_base& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator_base
    - iterator_base
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 556
    functionName: operator!=(const iterator_base& a, const iterator_base& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator_base& a, const iterator_base& b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: revalidate_if_necessary
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:561,1
    - Dst: SearchFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:563,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:565,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:566,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:567,1
    - Dst: SearchFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:568,1
    - Dst: NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 577
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - SearchFrom
    - Tree*::end
    - NodeFromTreeIterator
    - static_cast<Tree*>
    - GOOGLE_DCHECK_EQ
    - revalidate_if_necessary
    linkageType: ''
    returnType: iterator_base
    signature: iterator_base & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: operator++(int /* unused */)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator_base
    signature: iterator_base operator++(int /* unused */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:590,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:594,1
    - Dst: TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:597,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:598,1
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:609,1
    - Dst: TableEntryIsList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - it
    argTypes:
    - TreeIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 612
    functionName: google::protobuf::Map::InnerMap::iterator_base::revalidate_if_necessary
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - TableEntryIsList
    - TableEntryIsNonEmptyList
    - GOOGLE_DCHECK
    - find
    - static_cast<Node*>
    - static_cast<void*>
    linkageType: ''
    returnType: bool
    signature: bool revalidate_if_necessary(TreeIterator* it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 623
    functionName: google::protobuf::Map::InnerMap::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:626,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:627,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:628,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:629,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:630,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - InnerMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 632
    functionName: google::protobuf::Map::InnerMap::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(InnerMap* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: google::protobuf::Map::InnerMap::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 635
    functionName: google::protobuf::Map::InnerMap::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 636
    functionName: google::protobuf::Map::InnerMap::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 637
    functionName: google::protobuf::Map::InnerMap::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:641,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:642,1
    - Dst: google::protobuf::Map::InnerMap::DestroyNode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:646,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:649,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:650,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:651,1
    - Dst: Tree*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:653,1
    - Dst: google::protobuf::Map::InnerMap::NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:655,1
    - Dst: Tree*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:658,1
    - Dst: google::protobuf::Map::InnerMap::DestroyNode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:659,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:661,1
    - Dst: google::protobuf::Map::InnerMap::DestroyTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 639
    functionDepth: 3
    functionLinenumber: 639
    functionLinenumberEnd: 668
    functionName: google::protobuf::Map::InnerMap::clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::DestroyTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - google::protobuf::Map::InnerMap::DestroyNode
    - Tree*::end
    - static_cast<Tree*>
    - Tree*::erase
    - google::protobuf::Map::InnerMap::NodeFromTreeIterator
    - static_cast<Node*>
    - Tree*::begin
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: '& hash_function() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hasher
    signature: hasher & hash_function() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: google::protobuf::Map::InnerMap::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - static_cast<size_type>
    linkageType: ''
    returnType: size_type
    signature: size_type max_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 675
    functionName: google::protobuf::Map::InnerMap::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 676
    functionName: google::protobuf::Map::InnerMap::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::size
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:680,1
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 679
    functionDepth: 2
    functionLinenumber: 679
    functionLinenumberEnd: 681
    functionName: google::protobuf::Map::InnerMap::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - iterator
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: iterator
    signature: iterator find(const K& k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 686
    functionName: google::protobuf::Map::InnerMap::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const K& k) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:692,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:695,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:695,1
    - Dst: google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:697,1
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:698,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:706,1
    - Dst: value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: static_cast<TypeToInit>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: Node::Node
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: google::protobuf::Map::InnerMap::Alloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:710,1
    - Dst: google::protobuf::CreateInArenaStorage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:711,1
    - Dst: const_cast<Key*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:712,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:712,1
    - Dst: static_cast<TypeToInit>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:713,1
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:713,1
    - Dst: google::protobuf::CreateInArenaStorage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:714,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:714,1
    - Dst: google::protobuf::Map::InnerMap::InsertUnique
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:717,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 720
    functionName: google::protobuf::Map::InnerMap::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    - value_type
    - std::forward<K>
    - const_cast<Key*>
    - std::make_pair
    - google::protobuf::Map::InnerMap::FindHelper
    - google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
    - iterator
    - google::protobuf::Map::InnerMap::Alloc
    - static_cast<TypeToInit>
    - google::protobuf::Map::InnerMap::InsertUnique
    - Node::Node
    - google::protobuf::CreateInArenaStorage
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert(K&& k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:724,1
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: '& operator[](K&& k)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::forward<K>
    - insert
    linkageType: ''
    returnType: value_type
    signature: value_type & operator[](K&& k)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:728,1
    - Dst: iterator::revalidate_if_necessary
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:730,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:734,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:734,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:735,1
    - Dst: google::protobuf::Map::InnerMap::EraseFromLinkedList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:736,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:737,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:739,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:739,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:740,1
    - Dst: Tree*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:741,1
    - Dst: Tree*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:742,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:745,1
    - Dst: google::protobuf::Map::InnerMap::DestroyTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:746,1
    - Dst: google::protobuf::Map::InnerMap::DestroyNode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:750,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - it
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 758
    functionName: google::protobuf::Map::InnerMap::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::DestroyTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - static_cast<size_type>
    - google::protobuf::Map::InnerMap::DestroyNode
    - Tree*::empty
    - static_cast<Node*>
    - static_cast<Tree*>
    - Tree*::erase
    - PROTOBUF_PREDICT_FALSE
    - iterator::revalidate_if_necessary
    - GOOGLE_DCHECK_EQ
    - google::protobuf::Map::InnerMap::EraseFromLinkedList
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void erase(iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::SpaceUsedInTable<Key>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: google::protobuf::Map::InnerMap::SpaceUsedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - internal::SpaceUsedInTable<Key>
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - it
    argTypes:
    - Key
    - TreeIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 768
    functionName: google::protobuf::Map::InnerMap::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const Key& k, TreeIterator* it) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 772
    functionName: google::protobuf::Map::InnerMap::FindHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 10
    functionsReached:
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: std::pair<const_iterator, size_type>
    signature: std::pair<const_iterator, size_type> FindHelper(const K& k) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::BucketNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:776,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:777,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:778,1
    - Dst: google::protobuf::internal::Equals
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:780,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:781,1
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:781,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:786,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:787,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:788,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:789,1
    - Dst: Tree*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:790,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:791,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:793,1
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:793,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:796,1
    - Dst: google::protobuf::Map::InnerMap::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' k'
    - it
    argTypes:
    - K
    - TreeIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 797
    functionName: google::protobuf::Map::InnerMap::FindHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 10
    functionsReached:
    - Tree*::find
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - std::make_pair
    - google::protobuf::Map::InnerMap::end
    - const_iterator
    - Tree*::end
    - google::protobuf::Map::InnerMap::BucketNumber
    - static_cast<size_t>
    - google::protobuf::internal::Equals
    - static_cast<Tree*>
    - static_cast<Node*>
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::pair<const_iterator, size_type>
    signature: "std::pair<const_iterator, size_type> FindHelper(const K& k,\n                                                    TreeIterator*
      it) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:804,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:811,1
    - Dst: google::protobuf::Map::InnerMap::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:811,1
    - Dst: google::protobuf::Map::InnerMap::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:811,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:812,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:813,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:814,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:815,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTooLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:815,1
    - Dst: google::protobuf::Map::InnerMap::TreeConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:816,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:817,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:818,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:818,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:822,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - b
    - node
    argTypes:
    - size_type
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 803
    functionDepth: 4
    functionLinenumber: 803
    functionLinenumberEnd: 833
    functionName: google::protobuf::Map::InnerMap::InsertUnique
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Map::InnerMap::TableEntryIsEmpty
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::InsertUniqueInTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - google::protobuf::Map::InnerMap::TableEntryIsTooLong
    - google::protobuf::Map::InnerMap::end
    - google::protobuf::Map::InnerMap::TreeConvert
    - static_cast<size_type>
    - google::protobuf::Map::InnerMap::find
    - google::protobuf::Map::InnerMap::InsertUniqueInList
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: iterator
    signature: iterator InsertUnique(size_type b, Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 847
    functionName: google::protobuf::Map::InnerMap::ShouldInsertAfterHead
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: bool
    signature: bool ShouldInsertAfterHead(void* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::ShouldInsertAfterHead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:852,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:853,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:856,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:859,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:860,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - b
    - node
    argTypes:
    - size_type
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 862
    functionName: google::protobuf::Map::InnerMap::InsertUniqueInList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - iterator
    - static_cast<Node*>
    - google::protobuf::Map::InnerMap::ShouldInsertAfterHead
    - static_cast<void*>
    linkageType: ''
    returnType: iterator
    signature: iterator InsertUniqueInList(size_type b, Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:867,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:870,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:871,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - node
    argTypes:
    - size_type
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 873
    functionName: google::protobuf::Map::InnerMap::InsertUniqueInTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - iterator
    - static_cast<size_t>
    - GOOGLE_DCHECK_EQ
    - static_cast<Tree*>
    linkageType: ''
    returnType: iterator
    signature: iterator InsertUniqueInTree(size_type b, Node* node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:890,1
    - Dst: google::protobuf::Map::InnerMap::max_size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:891,1
    - Dst: google::protobuf::Map::InnerMap::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:892,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:895,1
    - Dst: std::max<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:906,1
    - Dst: google::protobuf::Map::InnerMap::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:909,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 883
    functionDepth: 3
    functionLinenumber: 883
    functionLinenumberEnd: 914
    functionName: google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - std::max<size_type>
    - google::protobuf::Map::InnerMap::Resize
    - google::protobuf::Map::InnerMap::max_size
    linkageType: ''
    returnType: bool
    signature: bool ResizeIfLoadIsOutOfRange(size_type new_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::CreateEmptyTable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:922,1
    - Dst: google::protobuf::Map::InnerMap::Seed
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:923,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:927,1
    - Dst: google::protobuf::Map::InnerMap::CreateEmptyTable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:931,1
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:935,1
    - Dst: google::protobuf::Map::InnerMap::TransferList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:936,1
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:937,1
    - Dst: google::protobuf::Map::InnerMap::TransferTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:938,1
    - Dst: google::protobuf::Map::InnerMap::Dealloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:941,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - new_num_buckets
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 917
    functionDepth: 4
    functionLinenumber: 917
    functionLinenumberEnd: 942
    functionName: google::protobuf::Map::InnerMap::Resize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::Map::InnerMap::Seed
    - google::protobuf::internal::TableEntryIsTree
    - google::protobuf::internal::TableEntryIsNonEmptyList
    - google::protobuf::Map::InnerMap::Dealloc
    - google::protobuf::Map::InnerMap::TransferTree
    - google::protobuf::Map::InnerMap::TransferList
    - google::protobuf::Map::InnerMap::CreateEmptyTable
    linkageType: ''
    returnType: void
    signature: void Resize(size_t new_num_buckets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:945,1
    - Dst: google::protobuf::Map::InnerMap::InsertUnique
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:948,1
    - Dst: google::protobuf::Map::InnerMap::BucketNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - table
    - index
    argTypes:
    - void**
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 3
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: google::protobuf::Map::InnerMap::TransferList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - static_cast<Node*>
    - google::protobuf::Map::InnerMap::BucketNumber
    - google::protobuf::Map::InnerMap::InsertUnique
    linkageType: ''
    returnType: void
    signature: void TransferList(void* const* table, size_type index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:954,1
    - Dst: Tree*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:955,1
    - Dst: google::protobuf::Map::InnerMap::InsertUnique
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:957,1
    - Dst: google::protobuf::Map::InnerMap::BucketNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:957,1
    - Dst: std::cref
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:957,1
    - Dst: google::protobuf::Map::InnerMap::NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:958,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:959,1
    - Dst: google::protobuf::Map::InnerMap::DestroyTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - table
    - index
    argTypes:
    - void**
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 961
    functionName: google::protobuf::Map::InnerMap::TransferTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Map::InnerMap::DestroyTree
    - std::cref
    - Tree*::end
    - google::protobuf::Map::InnerMap::BucketNumber
    - static_cast<Tree*>
    - google::protobuf::Map::InnerMap::InsertUnique
    - google::protobuf::Map::InnerMap::NodeFromTreeIterator
    - Tree*::begin
    linkageType: ''
    returnType: void
    signature: void TransferTree(void* const* table, size_type index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::EraseFromLinkedList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - item
    - head
    argTypes:
    - Node*
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 970
    functionName: google::protobuf::Map::InnerMap::EraseFromLinkedList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Map::InnerMap::EraseFromLinkedList
    linkageType: ''
    returnType: Node
    signature: Node * EraseFromLinkedList(Node* item, Node* head)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 974
    functionName: google::protobuf::Map::InnerMap::TableEntryIsEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::TableEntryIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsEmpty(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 977
    functionName: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::TableEntryIsNonEmptyList
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsNonEmptyList(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: google::protobuf::Map::InnerMap::TableEntryIsTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTree(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 983
    functionName: google::protobuf::Map::InnerMap::TableEntryIsList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TableEntryIsList
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsList(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:986,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:986,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:986,1
    - Dst: Arena::Create<Tree>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:988,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:988,1
    - Dst: typename Tree::key_compare
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:988,1
    - Dst: typename Tree::allocator_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:989,1
    - Dst: google::protobuf::Map::InnerMap::CopyListToTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:990,1
    - Dst: google::protobuf::Map::InnerMap::CopyListToTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:990,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:991,1
    - Dst: Tree*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:991,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 985
    functionDepth: 3
    functionLinenumber: 985
    functionLinenumberEnd: 993
    functionName: google::protobuf::Map::InnerMap::TreeConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::CopyListToTree
    - typename Tree::key_compare
    - Arena::Create<Tree>
    - typename Tree::allocator_type
    - Tree*::size
    - GOOGLE_DCHECK_EQ
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void TreeConvert(size_type b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:999,1
    - Dst: Tree*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - b
    - tree
    argTypes:
    - size_type
    - Tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1008
    functionName: google::protobuf::Map::InnerMap::CopyListToTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - static_cast<Node*>
    - Tree*::insert
    linkageType: ''
    returnType: size_type
    signature: size_type CopyListToTree(size_type b, Tree* tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1015,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1023
    functionName: google::protobuf::Map::InnerMap::TableEntryIsTooLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - static_cast<Node*>
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTooLong(size_type b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_function
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1036
    functionName: google::protobuf::Map::InnerMap::BucketNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached:
    - hash_function
    linkageType: ''
    returnType: size_type
    signature: size_type BucketNumber(const K& k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1041,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1044
    functionName: google::protobuf::Map::InnerMap::TableSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - static_cast<size_type>
    linkageType: ''
    returnType: size_type
    signature: size_type TableSize(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: google::protobuf::Map::InnerMap::Alloc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - alloc_type
    linkageType: ''
    returnType: U
    signature: U * Alloc(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - n
    argTypes:
    - U*
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1058
    functionName: google::protobuf::Map::InnerMap::Dealloc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - alloc_type
    linkageType: ''
    returnType: void
    signature: void Dealloc(U* t, size_type n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1064
    functionName: google::protobuf::Map::InnerMap::DestroyNode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    linkageType: ''
    returnType: void
    signature: void DestroyNode(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tree
    argTypes:
    - Tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1070
    functionName: google::protobuf::Map::InnerMap::DestroyTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    linkageType: ''
    returnType: void
    signature: void DestroyTree(Tree* tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1073,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1074,1
    - Dst: google::protobuf::Map::InnerMap::Alloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1075,1
    - Dst: memset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1078
    functionName: google::protobuf::Map::InnerMap::CreateEmptyTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Map::InnerMap::Alloc
    - GOOGLE_DCHECK
    - memset
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: void ** CreateEmptyTable(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1085,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1093
    functionName: google::protobuf::Map::InnerMap::Seed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - static_cast<uint64>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: size_type
    signature: size_type Seed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1124
    functionName: google::protobuf::Map::const_iterator::const_iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - InnerIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1125
    functionName: google::protobuf::Map::const_iterator::const_iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator(const InnerIt& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1127
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1128
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_pointer
    signature: const_pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1133
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1134
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1138
    functionName: operator==(const const_iterator& a, const const_iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const const_iterator& a, const const_iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1141
    functionName: operator!=(const const_iterator& a, const const_iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const const_iterator& a, const const_iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1157
    functionName: google::protobuf::Map::iterator::iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - InnerIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1158
    functionName: google::protobuf::Map::iterator::iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator(const InnerIt& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1160
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1161
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1166
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1167
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1171,1
    - Dst: google::protobuf::Map::const_iterator::const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1172
    functionName: operator const_iterator() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::const_iterator::const_iterator
    - const_iterator
    linkageType: ''
    returnType: void
    signature: void operator const_iterator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1176
    functionName: operator==(const iterator& a, const iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& a, const iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1179
    functionName: operator!=(const iterator& a, const iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& a, const iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1187,1
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1187
    functionName: google::protobuf::Map::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached:
    - iterator
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1188,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1188
    functionName: google::protobuf::Map::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 14
    functionsReached:
    - iterator
    - google::protobuf::Map::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1189,1
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1189
    functionName: google::protobuf::Map::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached:
    - const_iterator
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1190,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1190
    functionName: google::protobuf::Map::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 15
    functionsReached:
    - const_iterator
    - google::protobuf::Map::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1191
    functionName: google::protobuf::Map::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1192
    functionName: google::protobuf::Map::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1195
    functionName: google::protobuf::Map::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Map::size
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1196
    functionDepth: 2
    functionLinenumber: 1196
    functionLinenumberEnd: 1196
    functionName: google::protobuf::Map::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 1
    functionsReached:
    - google::protobuf::Map::size
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1202
    functionName: '& operator[](const key_arg<K>& key)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1209
    functionName: '& operator[](key_arg<K>&& key)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::forward<K>
    linkageType: ''
    returnType: T
    signature: T & operator[](key_arg<K>&& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1213,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1214,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1214,1
    - Dst: static_cast<Key>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    functionName: google::protobuf::Map::at
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - static_cast<Key>
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: T
    signature: T & at(const key_arg<K>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1220,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1221,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1221,1
    - Dst: static_cast<Key>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1219
    functionDepth: 2
    functionLinenumber: 1219
    functionLinenumberEnd: 1223
    functionName: google::protobuf::Map::at
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - static_cast<Key>
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: T
    signature: T & at(const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1228,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1227
    functionDepth: 2
    functionLinenumber: 1227
    functionLinenumberEnd: 1229
    functionName: google::protobuf::Map::count
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: size_type
    signature: size_type count(const key_arg<K>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1233,1
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1234
    functionName: google::protobuf::Map::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 14
    functionsReached:
    - const_iterator
    - google::protobuf::Map::find
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const key_arg<K>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1237,1
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1238
    functionName: google::protobuf::Map::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 15
    functionsReached:
    - iterator
    - google::protobuf::Map::find
    linkageType: ''
    returnType: iterator
    signature: iterator find(const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1242,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1241
    functionDepth: 2
    functionLinenumber: 1241
    functionLinenumberEnd: 1243
    functionName: google::protobuf::Map::contains
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: bool
    signature: bool contains(const key_arg<K>& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1248,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1249,1
    - Dst: std::pair<const_iterator, const_iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1250,1
    - Dst: std::pair<const_iterator, const_iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1246
    functionDepth: 2
    functionLinenumber: 1246
    functionLinenumberEnd: 1255
    functionName: google::protobuf::Map::equal_range
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::pair<const_iterator, const_iterator>
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: std::pair<const_iterator, const_iterator>
    signature: "std::pair<const_iterator, const_iterator> equal_range(\n      const
      key_arg<K>& key) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1259,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1260,1
    - Dst: std::pair<iterator, iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1261,1
    - Dst: std::pair<iterator, iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1258
    functionDepth: 2
    functionLinenumber: 1258
    functionLinenumberEnd: 1266
    functionName: google::protobuf::Map::equal_range
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    - std::pair<iterator, iterator>
    linkageType: ''
    returnType: std::pair<iterator, iterator>
    signature: std::pair<iterator, iterator> equal_range(const key_arg<K>& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1271,1
    - Dst: std::pair<iterator, bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1275,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1276
    functionName: google::protobuf::Map::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached:
    - iterator
    - google::protobuf::Map::insert
    - std::pair<iterator, bool>
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert(const value_type& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1280,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - InputIt
    - InputIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1285
    functionName: google::protobuf::Map::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: void
    signature: void insert(InputIt first, InputIt last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1287,1
    - Dst: std::initializer_list<value_type>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1287,1
    - Dst: std::initializer_list<value_type>::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - values
    argTypes:
    - std::initializer_list<value_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1288
    functionName: google::protobuf::Map::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 8
    functionsReached:
    - google::protobuf::Map::insert
    - std::initializer_list<value_type>::end
    - std::initializer_list<value_type>::begin
    linkageType: ''
    returnType: void
    signature: void insert(std::initializer_list<value_type> values)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1293,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1294,1
    - Dst: google::protobuf::Map::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1292
    functionDepth: 2
    functionLinenumber: 1292
    functionLinenumberEnd: 1300
    functionName: google::protobuf::Map::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Map::erase
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: size_type
    signature: size_type erase(const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1305
    functionName: google::protobuf::Map::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 5
    functionsReached:
    - google::protobuf::Map::erase
    linkageType: ''
    returnType: iterator
    signature: iterator erase(iterator pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1310
    functionName: google::protobuf::Map::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached:
    - google::protobuf::Map::erase
    linkageType: ''
    returnType: void
    signature: void erase(iterator first, iterator last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1311
    functionName: google::protobuf::Map::clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Map::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1316,1
    - Dst: insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1317,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1317,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1320
    functionName: '& operator=(const Map& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - end
    - insert
    - begin
    - clear
    linkageType: ''
    returnType: Map
    signature: Map & operator=(const Map& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1323,1
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1323,1
    - Dst: Swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1333
    functionName: google::protobuf::Map::swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - Swap
    - google::protobuf::Map::arena
    linkageType: ''
    returnType: void
    signature: void swap(Map& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::hash_function
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1337
    functionName: google::protobuf::Map::hash_function
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Map::hash_function
    linkageType: ''
    returnType: hasher
    signature: hasher hash_function() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1340,1
    - Dst: SpaceUsedInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1341,1
    - Dst: google::protobuf::internal::SpaceUsedInValues
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1339
    functionDepth: 3
    functionLinenumber: 1339
    functionLinenumberEnd: 1342
    functionName: google::protobuf::Map::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::empty
    - google::protobuf::internal::SpaceUsedInValues
    - SpaceUsedInternal
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedExcludingSelfLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1345
    functionName: google::protobuf::Map::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached:
    - google::protobuf::Map::arena
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapAllocator::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' allocator'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapAllocator::arena
    linkageType: ''
    returnType: void
    signature: void MapAllocator(const MapAllocator<X>& allocator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: reinterpret_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:120,1
    - Dst: Arena::CreateArray<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::MapAllocator::allocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator new
    - Arena::CreateArray<uint8>
    - static_cast<pointer>
    - reinterpret_cast<pointer>
    linkageType: ''
    returnType: pointer
    signature: pointer allocate(size_type n, const void* /* hint */ = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:128,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - pointer
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::MapAllocator::deallocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void deallocate(pointer p, size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: static_cast<const void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:145,1
    - Dst: NodeType::NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - NodeType::NodeType
    - std::forward<Args>
    - static_cast<const void*>
    linkageType: ''
    returnType: void
    signature: void construct(NodeType* p, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NodeType*::~NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - NodeType*::~NodeType
    linkageType: ''
    returnType: void
    signature: void destroy(NodeType* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_type::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - t
    argTypes:
    - pointer
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - value_type::value_type
    linkageType: ''
    returnType: void
    signature: void construct(pointer p, const_reference t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer::~value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - pointer::~value_type
    linkageType: ''
    returnType: void
    signature: void destroy(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: operator==(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: operator!=(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::MapAllocator::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::MapAllocator::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - key_type
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Equals(const key_type& a, const key_type& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: operator()(const T& str) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ImplicitConvert
    - base
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const T& str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: '& base() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::hash<std::string_view>
    signature: std::hash<std::string_view> & base() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: operator()(const T& t, const U& u) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& t, const U& u) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool Equals(const T& t, const U& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::TableEntryIsEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsEmpty(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::TableEntryIsNonEmptyList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsNonEmptyList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::TableEntryIsTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::TableEntryIsNonEmptyList
    - google::protobuf::internal::TableEntryIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTree(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::TableEntryIsList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const T& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:300,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:302,1
    - Dst: Tree*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - table
    - num_buckets
    - num_elements
    - sizeof_node
    argTypes:
    - void**
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: google::protobuf::internal::SpaceUsedInTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - Tree*::size
    - static_cast<Tree*>
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE SpaceUsedInTable(void** table, size_t num_buckets,\n
      \                                         size_t num_elements,\n                                          size_t
      sizeof_node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:319,1
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - Map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const Map* map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapAllocator::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' allocator'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapAllocator::arena
    linkageType: ''
    returnType: void
    signature: void MapAllocator(const MapAllocator<X>& allocator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: reinterpret_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:120,1
    - Dst: Arena::CreateArray<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::MapAllocator::allocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator new
    - Arena::CreateArray<uint8>
    - static_cast<pointer>
    - reinterpret_cast<pointer>
    linkageType: ''
    returnType: pointer
    signature: pointer allocate(size_type n, const void* /* hint */ = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:128,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - pointer
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::MapAllocator::deallocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void deallocate(pointer p, size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: static_cast<const void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:145,1
    - Dst: NodeType::NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - NodeType::NodeType
    - std::forward<Args>
    - static_cast<const void*>
    linkageType: ''
    returnType: void
    signature: void construct(NodeType* p, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NodeType*::~NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - NodeType*::~NodeType
    linkageType: ''
    returnType: void
    signature: void destroy(NodeType* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_type::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - t
    argTypes:
    - pointer
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - value_type::value_type
    linkageType: ''
    returnType: void
    signature: void construct(pointer p, const_reference t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer::~value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - pointer::~value_type
    linkageType: ''
    returnType: void
    signature: void destroy(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: operator==(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: operator!=(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::MapAllocator::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::MapAllocator::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - key_type
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Equals(const key_type& a, const key_type& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: operator()(const T& str) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ImplicitConvert
    - base
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const T& str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: '& base() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::hash<std::string_view>
    signature: std::hash<std::string_view> & base() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: operator()(const T& t, const U& u) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& t, const U& u) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool Equals(const T& t, const U& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::TableEntryIsEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsEmpty(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::TableEntryIsNonEmptyList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsNonEmptyList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::TableEntryIsTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::TableEntryIsNonEmptyList
    - google::protobuf::internal::TableEntryIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTree(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::TableEntryIsList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 5
    functionsReached:
    - SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const T& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:300,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:302,1
    - Dst: Tree*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - table
    - num_buckets
    - num_elements
    - sizeof_node
    argTypes:
    - void**
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: google::protobuf::internal::SpaceUsedInTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - Tree*::size
    - static_cast<Tree*>
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE SpaceUsedInTable(void** table, size_t num_buckets,\n
      \                                         size_t num_elements,\n                                          size_t
      sizeof_node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:319,1
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - Map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const Map* map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' other_first'
    - ' other_second'
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapPair(const Key& other_first, const T& other_second)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other_first'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 339
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapPair(const Key& other_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other_first'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MapPair(Key&& other_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapPair(const MapPair& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: ~MapPair()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MapPair()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pair<T1, T2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: operator std::pair<T1, T2>() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::pair<T1, T2>
    linkageType: ''
    returnType: void
    signature: void operator std::pair<T1, T2>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Map()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 386
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Map(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:388,1
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:388,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::insert
    - google::protobuf::Map::end
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: void
    signature: void Map(const Map& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:391,1
    - Dst: google::protobuf::Map::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::arena
    - google::protobuf::Map::swap
    linkageType: ''
    returnType: void
    signature: void Map(Map&& other) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:400,1
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:400,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: '& operator=(Map&& other) noexcept'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - arena
    - swap
    linkageType: ''
    returnType: Map
    signature: Map & operator=(Map&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' first'
    - ' last'
    argTypes:
    - InputIt
    - InputIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::insert
    linkageType: ''
    returnType: void
    signature: void Map(const InputIt& first, const InputIt& last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: ~Map()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Map()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 460
    functionName: google::protobuf::Map::InnerMap::InnerMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_cast<void**>
    linkageType: ''
    returnType: void
    signature: void InnerMap(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:463,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:465,1
    - Dst: Dealloc<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: ~InnerMap()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - Dealloc<void*>
    - arena
    - clear
    linkageType: ''
    returnType: void
    signature: void ~InnerMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - TreeIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: google::protobuf::Map::InnerMap::NodeFromTreeIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - static_cast<Node*>
    linkageType: ''
    returnType: Node
    signature: Node * NodeFromTreeIterator(TreeIterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator_base()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::iterator_base::SearchFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - InnerMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::iterator_base::SearchFrom
    linkageType: ''
    returnType: void
    signature: void iterator_base(const InnerMap* m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - iterator_base<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator_base(const iterator_base<U>& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - n
    - m
    - index
    argTypes:
    - Node*
    - InnerMap*
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator_base(Node* n, const InnerMap* m, size_type index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:522,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree_it
    - m
    - index
    argTypes:
    - TreeIterator
    - InnerMap*
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_EQ
    - NodeFromTreeIterator
    linkageType: ''
    returnType: void
    signature: void iterator_base(TreeIterator tree_it, const InnerMap* m, size_type
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:531,1
    - Dst: TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:536,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:537,1
    - Dst: TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:539,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:540,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:541,1
    - Dst: Tree*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:541,1
    - Dst: NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:542,1
    - Dst: Tree*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - start_bucket
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 546
    functionName: google::protobuf::Map::InnerMap::iterator_base::SearchFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - TableEntryIsNonEmptyList
    - GOOGLE_DCHECK
    - TableEntryIsTree
    - Tree*::empty
    - NodeFromTreeIterator
    - static_cast<Tree*>
    - static_cast<Node*>
    - Tree*::begin
    linkageType: ''
    returnType: void
    signature: void SearchFrom(size_type start_bucket)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 548
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 549
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator_base
    - iterator_base
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: operator==(const iterator_base& a, const iterator_base& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator_base& a, const iterator_base& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator_base
    - iterator_base
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 556
    functionName: operator!=(const iterator_base& a, const iterator_base& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator_base& a, const iterator_base& b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: revalidate_if_necessary
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:561,1
    - Dst: SearchFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:563,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:565,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:566,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:567,1
    - Dst: SearchFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:568,1
    - Dst: NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 577
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - SearchFrom
    - Tree*::end
    - NodeFromTreeIterator
    - static_cast<Tree*>
    - GOOGLE_DCHECK_EQ
    - revalidate_if_necessary
    linkageType: ''
    returnType: iterator_base
    signature: iterator_base & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: operator++(int /* unused */)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator_base
    signature: iterator_base operator++(int /* unused */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:590,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:594,1
    - Dst: TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:597,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:598,1
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:609,1
    - Dst: TableEntryIsList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - it
    argTypes:
    - TreeIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 612
    functionName: google::protobuf::Map::InnerMap::iterator_base::revalidate_if_necessary
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - TableEntryIsList
    - TableEntryIsNonEmptyList
    - GOOGLE_DCHECK
    - find
    - static_cast<Node*>
    - static_cast<void*>
    linkageType: ''
    returnType: bool
    signature: bool revalidate_if_necessary(TreeIterator* it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 623
    functionName: google::protobuf::Map::InnerMap::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 11
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:626,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:627,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:628,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:629,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:630,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - InnerMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 632
    functionName: google::protobuf::Map::InnerMap::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(InnerMap* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: google::protobuf::Map::InnerMap::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 635
    functionName: google::protobuf::Map::InnerMap::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 636
    functionName: google::protobuf::Map::InnerMap::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 637
    functionName: google::protobuf::Map::InnerMap::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:641,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:642,1
    - Dst: google::protobuf::Map::InnerMap::DestroyNode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:646,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:649,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:650,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:651,1
    - Dst: Tree*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:653,1
    - Dst: google::protobuf::Map::InnerMap::NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:655,1
    - Dst: Tree*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:658,1
    - Dst: google::protobuf::Map::InnerMap::DestroyNode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:659,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:661,1
    - Dst: google::protobuf::Map::InnerMap::DestroyTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 639
    functionDepth: 3
    functionLinenumber: 639
    functionLinenumberEnd: 668
    functionName: google::protobuf::Map::InnerMap::clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::DestroyTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - google::protobuf::Map::InnerMap::DestroyNode
    - Tree*::end
    - static_cast<Tree*>
    - Tree*::erase
    - google::protobuf::Map::InnerMap::NodeFromTreeIterator
    - static_cast<Node*>
    - Tree*::begin
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: '& hash_function() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hasher
    signature: hasher & hash_function() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: google::protobuf::Map::InnerMap::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - static_cast<size_type>
    linkageType: ''
    returnType: size_type
    signature: size_type max_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 675
    functionName: google::protobuf::Map::InnerMap::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 676
    functionName: google::protobuf::Map::InnerMap::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::size
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:680,1
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 679
    functionDepth: 2
    functionLinenumber: 679
    functionLinenumberEnd: 681
    functionName: google::protobuf::Map::InnerMap::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - iterator
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: iterator
    signature: iterator find(const K& k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 686
    functionName: google::protobuf::Map::InnerMap::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const K& k) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:692,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:695,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:695,1
    - Dst: google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:697,1
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:698,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:706,1
    - Dst: value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: static_cast<TypeToInit>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: Node::Node
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: google::protobuf::Map::InnerMap::Alloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:710,1
    - Dst: google::protobuf::CreateInArenaStorage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:711,1
    - Dst: const_cast<Key*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:712,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:712,1
    - Dst: static_cast<TypeToInit>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:713,1
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:713,1
    - Dst: google::protobuf::CreateInArenaStorage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:714,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:714,1
    - Dst: google::protobuf::Map::InnerMap::InsertUnique
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:717,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 720
    functionName: google::protobuf::Map::InnerMap::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    - value_type
    - std::forward<K>
    - const_cast<Key*>
    - std::make_pair
    - google::protobuf::Map::InnerMap::FindHelper
    - google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
    - iterator
    - google::protobuf::Map::InnerMap::Alloc
    - static_cast<TypeToInit>
    - google::protobuf::Map::InnerMap::InsertUnique
    - Node::Node
    - google::protobuf::CreateInArenaStorage
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert(K&& k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:724,1
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: '& operator[](K&& k)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::forward<K>
    - insert
    linkageType: ''
    returnType: value_type
    signature: value_type & operator[](K&& k)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:728,1
    - Dst: iterator::revalidate_if_necessary
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:730,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:734,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:734,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:735,1
    - Dst: google::protobuf::Map::InnerMap::EraseFromLinkedList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:736,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:737,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:739,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:739,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:740,1
    - Dst: Tree*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:741,1
    - Dst: Tree*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:742,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:745,1
    - Dst: google::protobuf::Map::InnerMap::DestroyTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:746,1
    - Dst: google::protobuf::Map::InnerMap::DestroyNode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:750,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - it
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 758
    functionName: google::protobuf::Map::InnerMap::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::DestroyTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - static_cast<size_type>
    - google::protobuf::Map::InnerMap::DestroyNode
    - Tree*::empty
    - static_cast<Node*>
    - static_cast<Tree*>
    - Tree*::erase
    - PROTOBUF_PREDICT_FALSE
    - iterator::revalidate_if_necessary
    - GOOGLE_DCHECK_EQ
    - google::protobuf::Map::InnerMap::EraseFromLinkedList
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void erase(iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::SpaceUsedInTable<Key>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: google::protobuf::Map::InnerMap::SpaceUsedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - internal::SpaceUsedInTable<Key>
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - it
    argTypes:
    - Key
    - TreeIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 768
    functionName: google::protobuf::Map::InnerMap::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const Key& k, TreeIterator* it) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 772
    functionName: google::protobuf::Map::InnerMap::FindHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 15
    functionsReached:
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: std::pair<const_iterator, size_type>
    signature: std::pair<const_iterator, size_type> FindHelper(const K& k) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::BucketNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:776,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:777,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:778,1
    - Dst: google::protobuf::internal::Equals
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:780,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:781,1
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:781,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:786,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:787,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:788,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:789,1
    - Dst: Tree*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:790,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:791,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:793,1
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:793,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:796,1
    - Dst: google::protobuf::Map::InnerMap::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' k'
    - it
    argTypes:
    - K
    - TreeIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 797
    functionName: google::protobuf::Map::InnerMap::FindHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 15
    functionsReached:
    - Tree*::find
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - std::make_pair
    - google::protobuf::Map::InnerMap::end
    - const_iterator
    - Tree*::end
    - google::protobuf::Map::InnerMap::BucketNumber
    - static_cast<size_t>
    - google::protobuf::internal::Equals
    - static_cast<Tree*>
    - static_cast<Node*>
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::pair<const_iterator, size_type>
    signature: "std::pair<const_iterator, size_type> FindHelper(const K& k,\n                                                    TreeIterator*
      it) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:804,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:811,1
    - Dst: google::protobuf::Map::InnerMap::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:811,1
    - Dst: google::protobuf::Map::InnerMap::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:811,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:812,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:813,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:814,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:815,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTooLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:815,1
    - Dst: google::protobuf::Map::InnerMap::TreeConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:816,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:817,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:818,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:818,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:822,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - b
    - node
    argTypes:
    - size_type
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 803
    functionDepth: 4
    functionLinenumber: 803
    functionLinenumberEnd: 833
    functionName: google::protobuf::Map::InnerMap::InsertUnique
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached:
    - google::protobuf::Map::InnerMap::TableEntryIsEmpty
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::InsertUniqueInTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - google::protobuf::Map::InnerMap::TableEntryIsTooLong
    - google::protobuf::Map::InnerMap::end
    - google::protobuf::Map::InnerMap::TreeConvert
    - static_cast<size_type>
    - google::protobuf::Map::InnerMap::find
    - google::protobuf::Map::InnerMap::InsertUniqueInList
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: iterator
    signature: iterator InsertUnique(size_type b, Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 847
    functionName: google::protobuf::Map::InnerMap::ShouldInsertAfterHead
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: bool
    signature: bool ShouldInsertAfterHead(void* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::ShouldInsertAfterHead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:852,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:853,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:856,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:859,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:860,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - b
    - node
    argTypes:
    - size_type
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 862
    functionName: google::protobuf::Map::InnerMap::InsertUniqueInList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - iterator
    - static_cast<Node*>
    - google::protobuf::Map::InnerMap::ShouldInsertAfterHead
    - static_cast<void*>
    linkageType: ''
    returnType: iterator
    signature: iterator InsertUniqueInList(size_type b, Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:867,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:870,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:871,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - node
    argTypes:
    - size_type
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 873
    functionName: google::protobuf::Map::InnerMap::InsertUniqueInTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - iterator
    - static_cast<size_t>
    - GOOGLE_DCHECK_EQ
    - static_cast<Tree*>
    linkageType: ''
    returnType: iterator
    signature: iterator InsertUniqueInTree(size_type b, Node* node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:890,1
    - Dst: google::protobuf::Map::InnerMap::max_size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:891,1
    - Dst: google::protobuf::Map::InnerMap::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:892,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:895,1
    - Dst: std::max<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:906,1
    - Dst: google::protobuf::Map::InnerMap::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:909,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 883
    functionDepth: 3
    functionLinenumber: 883
    functionLinenumberEnd: 914
    functionName: google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - std::max<size_type>
    - google::protobuf::Map::InnerMap::Resize
    - google::protobuf::Map::InnerMap::max_size
    linkageType: ''
    returnType: bool
    signature: bool ResizeIfLoadIsOutOfRange(size_type new_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::CreateEmptyTable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:922,1
    - Dst: google::protobuf::Map::InnerMap::Seed
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:923,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:927,1
    - Dst: google::protobuf::Map::InnerMap::CreateEmptyTable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:931,1
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:935,1
    - Dst: google::protobuf::Map::InnerMap::TransferList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:936,1
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:937,1
    - Dst: google::protobuf::Map::InnerMap::TransferTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:938,1
    - Dst: google::protobuf::Map::InnerMap::Dealloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:941,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - new_num_buckets
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 917
    functionDepth: 4
    functionLinenumber: 917
    functionLinenumberEnd: 942
    functionName: google::protobuf::Map::InnerMap::Resize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::Map::InnerMap::Seed
    - google::protobuf::internal::TableEntryIsTree
    - google::protobuf::internal::TableEntryIsNonEmptyList
    - google::protobuf::Map::InnerMap::Dealloc
    - google::protobuf::Map::InnerMap::TransferTree
    - google::protobuf::Map::InnerMap::TransferList
    - google::protobuf::Map::InnerMap::CreateEmptyTable
    linkageType: ''
    returnType: void
    signature: void Resize(size_t new_num_buckets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:945,1
    - Dst: google::protobuf::Map::InnerMap::InsertUnique
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:948,1
    - Dst: google::protobuf::Map::InnerMap::BucketNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - table
    - index
    argTypes:
    - void**
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 3
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: google::protobuf::Map::InnerMap::TransferList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - static_cast<Node*>
    - google::protobuf::Map::InnerMap::BucketNumber
    - google::protobuf::Map::InnerMap::InsertUnique
    linkageType: ''
    returnType: void
    signature: void TransferList(void* const* table, size_type index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:954,1
    - Dst: Tree*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:955,1
    - Dst: google::protobuf::Map::InnerMap::InsertUnique
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:957,1
    - Dst: google::protobuf::Map::InnerMap::BucketNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:957,1
    - Dst: std::cref
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:957,1
    - Dst: google::protobuf::Map::InnerMap::NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:958,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:959,1
    - Dst: google::protobuf::Map::InnerMap::DestroyTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - table
    - index
    argTypes:
    - void**
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 961
    functionName: google::protobuf::Map::InnerMap::TransferTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Map::InnerMap::DestroyTree
    - std::cref
    - Tree*::end
    - google::protobuf::Map::InnerMap::BucketNumber
    - static_cast<Tree*>
    - google::protobuf::Map::InnerMap::InsertUnique
    - google::protobuf::Map::InnerMap::NodeFromTreeIterator
    - Tree*::begin
    linkageType: ''
    returnType: void
    signature: void TransferTree(void* const* table, size_type index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::EraseFromLinkedList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - item
    - head
    argTypes:
    - Node*
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 970
    functionName: google::protobuf::Map::InnerMap::EraseFromLinkedList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached:
    - google::protobuf::Map::InnerMap::EraseFromLinkedList
    linkageType: ''
    returnType: Node
    signature: Node * EraseFromLinkedList(Node* item, Node* head)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 974
    functionName: google::protobuf::Map::InnerMap::TableEntryIsEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::TableEntryIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsEmpty(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 977
    functionName: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::TableEntryIsNonEmptyList
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsNonEmptyList(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: google::protobuf::Map::InnerMap::TableEntryIsTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 11
    functionsReached:
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTree(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 983
    functionName: google::protobuf::Map::InnerMap::TableEntryIsList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TableEntryIsList
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsList(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:986,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:986,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:986,1
    - Dst: Arena::Create<Tree>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:988,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:988,1
    - Dst: typename Tree::key_compare
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:988,1
    - Dst: typename Tree::allocator_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:989,1
    - Dst: google::protobuf::Map::InnerMap::CopyListToTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:990,1
    - Dst: google::protobuf::Map::InnerMap::CopyListToTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:990,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:991,1
    - Dst: Tree*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:991,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 985
    functionDepth: 3
    functionLinenumber: 985
    functionLinenumberEnd: 993
    functionName: google::protobuf::Map::InnerMap::TreeConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::CopyListToTree
    - typename Tree::key_compare
    - Arena::Create<Tree>
    - typename Tree::allocator_type
    - Tree*::size
    - GOOGLE_DCHECK_EQ
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void TreeConvert(size_type b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:999,1
    - Dst: Tree*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - b
    - tree
    argTypes:
    - size_type
    - Tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1008
    functionName: google::protobuf::Map::InnerMap::CopyListToTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - static_cast<Node*>
    - Tree*::insert
    linkageType: ''
    returnType: size_type
    signature: size_type CopyListToTree(size_type b, Tree* tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1015,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1023
    functionName: google::protobuf::Map::InnerMap::TableEntryIsTooLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - static_cast<Node*>
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTooLong(size_type b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_function
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1036
    functionName: google::protobuf::Map::InnerMap::BucketNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 9
    functionsReached:
    - hash_function
    linkageType: ''
    returnType: size_type
    signature: size_type BucketNumber(const K& k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1041,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1044
    functionName: google::protobuf::Map::InnerMap::TableSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - static_cast<size_type>
    linkageType: ''
    returnType: size_type
    signature: size_type TableSize(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: google::protobuf::Map::InnerMap::Alloc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 5
    functionsReached:
    - alloc_type
    linkageType: ''
    returnType: U
    signature: U * Alloc(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - n
    argTypes:
    - U*
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1058
    functionName: google::protobuf::Map::InnerMap::Dealloc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - alloc_type
    linkageType: ''
    returnType: void
    signature: void Dealloc(U* t, size_type n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1064
    functionName: google::protobuf::Map::InnerMap::DestroyNode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    linkageType: ''
    returnType: void
    signature: void DestroyNode(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tree
    argTypes:
    - Tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1070
    functionName: google::protobuf::Map::InnerMap::DestroyTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 9
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    linkageType: ''
    returnType: void
    signature: void DestroyTree(Tree* tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1073,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1074,1
    - Dst: google::protobuf::Map::InnerMap::Alloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1075,1
    - Dst: memset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1078
    functionName: google::protobuf::Map::InnerMap::CreateEmptyTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Map::InnerMap::Alloc
    - GOOGLE_DCHECK
    - memset
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: void ** CreateEmptyTable(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1085,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1093
    functionName: google::protobuf::Map::InnerMap::Seed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - static_cast<uint64>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: size_type
    signature: size_type Seed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1124
    functionName: google::protobuf::Map::const_iterator::const_iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - InnerIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1125
    functionName: google::protobuf::Map::const_iterator::const_iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator(const InnerIt& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1127
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1128
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_pointer
    signature: const_pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1133
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1134
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1138
    functionName: operator==(const const_iterator& a, const const_iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const const_iterator& a, const const_iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1141
    functionName: operator!=(const const_iterator& a, const const_iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const const_iterator& a, const const_iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1157
    functionName: google::protobuf::Map::iterator::iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - InnerIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1158
    functionName: google::protobuf::Map::iterator::iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator(const InnerIt& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1160
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1161
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1166
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1167
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1171,1
    - Dst: google::protobuf::Map::const_iterator::const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1172
    functionName: operator const_iterator() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::const_iterator::const_iterator
    - const_iterator
    linkageType: ''
    returnType: void
    signature: void operator const_iterator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1176
    functionName: operator==(const iterator& a, const iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& a, const iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1179
    functionName: operator!=(const iterator& a, const iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& a, const iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1187,1
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1187
    functionName: google::protobuf::Map::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 10
    functionsReached:
    - iterator
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1188,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1188
    functionName: google::protobuf::Map::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 26
    functionsReached:
    - iterator
    - google::protobuf::Map::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1189,1
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1189
    functionName: google::protobuf::Map::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 11
    functionsReached:
    - const_iterator
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1190,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1190
    functionName: google::protobuf::Map::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 27
    functionsReached:
    - const_iterator
    - google::protobuf::Map::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1191
    functionName: google::protobuf::Map::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1192
    functionName: google::protobuf::Map::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1195
    functionName: google::protobuf::Map::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 5
    functionsReached:
    - google::protobuf::Map::size
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1196
    functionDepth: 2
    functionLinenumber: 1196
    functionLinenumberEnd: 1196
    functionName: google::protobuf::Map::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Map::size
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1202
    functionName: '& operator[](const key_arg<K>& key)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1209
    functionName: '& operator[](key_arg<K>&& key)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::forward<K>
    linkageType: ''
    returnType: T
    signature: T & operator[](key_arg<K>&& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1213,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1214,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1214,1
    - Dst: static_cast<Key>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    functionName: google::protobuf::Map::at
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - static_cast<Key>
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: T
    signature: T & at(const key_arg<K>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1220,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1221,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1221,1
    - Dst: static_cast<Key>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1219
    functionDepth: 2
    functionLinenumber: 1219
    functionLinenumberEnd: 1223
    functionName: google::protobuf::Map::at
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - static_cast<Key>
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: T
    signature: T & at(const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1228,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1227
    functionDepth: 2
    functionLinenumber: 1227
    functionLinenumberEnd: 1229
    functionName: google::protobuf::Map::count
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: size_type
    signature: size_type count(const key_arg<K>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1233,1
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1234
    functionName: google::protobuf::Map::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 24
    functionsReached:
    - const_iterator
    - google::protobuf::Map::find
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const key_arg<K>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1237,1
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1238
    functionName: google::protobuf::Map::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 25
    functionsReached:
    - iterator
    - google::protobuf::Map::find
    linkageType: ''
    returnType: iterator
    signature: iterator find(const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1242,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1241
    functionDepth: 2
    functionLinenumber: 1241
    functionLinenumberEnd: 1243
    functionName: google::protobuf::Map::contains
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: bool
    signature: bool contains(const key_arg<K>& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1248,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1249,1
    - Dst: std::pair<const_iterator, const_iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1250,1
    - Dst: std::pair<const_iterator, const_iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1246
    functionDepth: 2
    functionLinenumber: 1246
    functionLinenumberEnd: 1255
    functionName: google::protobuf::Map::equal_range
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::pair<const_iterator, const_iterator>
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: std::pair<const_iterator, const_iterator>
    signature: "std::pair<const_iterator, const_iterator> equal_range(\n      const
      key_arg<K>& key) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1259,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1260,1
    - Dst: std::pair<iterator, iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1261,1
    - Dst: std::pair<iterator, iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1258
    functionDepth: 2
    functionLinenumber: 1258
    functionLinenumberEnd: 1266
    functionName: google::protobuf::Map::equal_range
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    - std::pair<iterator, iterator>
    linkageType: ''
    returnType: std::pair<iterator, iterator>
    signature: std::pair<iterator, iterator> equal_range(const key_arg<K>& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1271,1
    - Dst: std::pair<iterator, bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1275,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1276
    functionName: google::protobuf::Map::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 11
    functionsReached:
    - iterator
    - google::protobuf::Map::insert
    - std::pair<iterator, bool>
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert(const value_type& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1280,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - InputIt
    - InputIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1285
    functionName: google::protobuf::Map::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 11
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: void
    signature: void insert(InputIt first, InputIt last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1287,1
    - Dst: std::initializer_list<value_type>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1287,1
    - Dst: std::initializer_list<value_type>::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - values
    argTypes:
    - std::initializer_list<value_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1288
    functionName: google::protobuf::Map::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 12
    functionsReached:
    - google::protobuf::Map::insert
    - std::initializer_list<value_type>::end
    - std::initializer_list<value_type>::begin
    linkageType: ''
    returnType: void
    signature: void insert(std::initializer_list<value_type> values)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1293,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1294,1
    - Dst: google::protobuf::Map::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1292
    functionDepth: 2
    functionLinenumber: 1292
    functionLinenumberEnd: 1300
    functionName: google::protobuf::Map::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached:
    - google::protobuf::Map::erase
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: size_type
    signature: size_type erase(const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1305
    functionName: google::protobuf::Map::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 8
    functionsReached:
    - google::protobuf::Map::erase
    linkageType: ''
    returnType: iterator
    signature: iterator erase(iterator pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1310
    functionName: google::protobuf::Map::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 9
    functionsReached:
    - google::protobuf::Map::erase
    linkageType: ''
    returnType: void
    signature: void erase(iterator first, iterator last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1311
    functionName: google::protobuf::Map::clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Map::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1316,1
    - Dst: insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1317,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1317,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1320
    functionName: '& operator=(const Map& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - end
    - insert
    - begin
    - clear
    linkageType: ''
    returnType: Map
    signature: Map & operator=(const Map& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1323,1
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1323,1
    - Dst: Swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1333
    functionName: google::protobuf::Map::swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - Swap
    - google::protobuf::Map::arena
    linkageType: ''
    returnType: void
    signature: void swap(Map& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::hash_function
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1337
    functionName: google::protobuf::Map::hash_function
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Map::hash_function
    linkageType: ''
    returnType: hasher
    signature: hasher hash_function() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1340,1
    - Dst: SpaceUsedInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1341,1
    - Dst: google::protobuf::internal::SpaceUsedInValues
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1339
    functionDepth: 3
    functionLinenumber: 1339
    functionLinenumberEnd: 1342
    functionName: google::protobuf::Map::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::empty
    - google::protobuf::internal::SpaceUsedInValues
    - SpaceUsedInternal
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedExcludingSelfLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1345
    functionName: google::protobuf::Map::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 9
    functionsReached:
    - google::protobuf::Map::arena
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapAllocator::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' allocator'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapAllocator::arena
    linkageType: ''
    returnType: void
    signature: void MapAllocator(const MapAllocator<X>& allocator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: reinterpret_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:120,1
    - Dst: Arena::CreateArray<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::MapAllocator::allocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator new
    - Arena::CreateArray<uint8>
    - static_cast<pointer>
    - reinterpret_cast<pointer>
    linkageType: ''
    returnType: pointer
    signature: pointer allocate(size_type n, const void* /* hint */ = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:128,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - pointer
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::MapAllocator::deallocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void deallocate(pointer p, size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: static_cast<const void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:145,1
    - Dst: NodeType::NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - NodeType::NodeType
    - std::forward<Args>
    - static_cast<const void*>
    linkageType: ''
    returnType: void
    signature: void construct(NodeType* p, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NodeType*::~NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - NodeType*::~NodeType
    linkageType: ''
    returnType: void
    signature: void destroy(NodeType* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_type::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - t
    argTypes:
    - pointer
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - value_type::value_type
    linkageType: ''
    returnType: void
    signature: void construct(pointer p, const_reference t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer::~value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - pointer::~value_type
    linkageType: ''
    returnType: void
    signature: void destroy(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: operator==(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: operator!=(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::MapAllocator::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::MapAllocator::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - key_type
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Equals(const key_type& a, const key_type& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: operator()(const T& str) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ImplicitConvert
    - base
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const T& str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: '& base() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::hash<std::string_view>
    signature: std::hash<std::string_view> & base() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: operator()(const T& t, const U& u) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& t, const U& u) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool Equals(const T& t, const U& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::TableEntryIsEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsEmpty(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::TableEntryIsNonEmptyList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsNonEmptyList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::TableEntryIsTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::TableEntryIsNonEmptyList
    - google::protobuf::internal::TableEntryIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTree(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::TableEntryIsList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached:
    - SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const T& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:300,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:302,1
    - Dst: Tree*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - table
    - num_buckets
    - num_elements
    - sizeof_node
    argTypes:
    - void**
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: google::protobuf::internal::SpaceUsedInTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - Tree*::size
    - static_cast<Tree*>
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE SpaceUsedInTable(void** table, size_t num_buckets,\n
      \                                         size_t num_elements,\n                                          size_t
      sizeof_node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:319,1
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - Map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const Map* map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapAllocator(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapAllocator::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' allocator'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::MapAllocator::MapAllocator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapAllocator::arena
    linkageType: ''
    returnType: void
    signature: void MapAllocator(const MapAllocator<X>& allocator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:118,1
    - Dst: reinterpret_cast<pointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:120,1
    - Dst: Arena::CreateArray<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: google::protobuf::internal::MapAllocator::allocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator new
    - Arena::CreateArray<uint8>
    - static_cast<pointer>
    - reinterpret_cast<pointer>
    linkageType: ''
    returnType: pointer
    signature: pointer allocate(size_type n, const void* /* hint */ = nullptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:128,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - pointer
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::MapAllocator::deallocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ::operator delete
    linkageType: ''
    returnType: void
    signature: void deallocate(pointer p, size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: static_cast<const void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:145,1
    - Dst: NodeType::NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_cast<void*>
    - NodeType::NodeType
    - std::forward<Args>
    - static_cast<const void*>
    linkageType: ''
    returnType: void
    signature: void construct(NodeType* p, Args&&... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NodeType*::~NodeType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - NodeType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - NodeType*::~NodeType
    linkageType: ''
    returnType: void
    signature: void destroy(NodeType* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value_type::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - t
    argTypes:
    - pointer
    - const_reference
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    functionName: google::protobuf::internal::MapAllocator::construct
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - value_type::value_type
    linkageType: ''
    returnType: void
    signature: void construct(pointer p, const_reference t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer::~value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::MapAllocator::destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - pointer::~value_type
    linkageType: ''
    returnType: void
    signature: void destroy(pointer p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: operator==(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapAllocator<X>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: operator!=(const MapAllocator<X>& other) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const MapAllocator<X>& other) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::MapAllocator::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::internal::MapAllocator::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - key_type
    - key_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Equals(const key_type& a, const key_type& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(std::string_view str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: google::protobuf::internal::ImplicitConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: std::string_view
    signature: std::string_view ImplicitConvert(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: operator()(const T& str) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ImplicitConvert
    - base
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const T& str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: '& base() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::hash<std::string_view>
    signature: std::hash<std::string_view> & base() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    - Dst: ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: operator()(const T& t, const U& u) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& t, const U& u) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    - Dst: google::protobuf::internal::ImplicitConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' t'
    - ' u'
    argTypes:
    - T
    - U
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: google::protobuf::internal::Equals
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ImplicitConvert
    linkageType: ''
    returnType: bool
    signature: bool Equals(const T& t, const U& u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: google::protobuf::internal::TableEntryIsEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsEmpty(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::TableEntryIsNonEmptyList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsNonEmptyList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: google::protobuf::internal::TableEntryIsTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 20
    functionsReached:
    - google::protobuf::internal::TableEntryIsNonEmptyList
    - google::protobuf::internal::TableEntryIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTree(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - b
    argTypes:
    - void**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: google::protobuf::internal::TableEntryIsList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsList(void* const* table, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached:
    - SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t MapValueSpaceUsedExcludingSelfLong(const T& message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:300,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:302,1
    - Dst: Tree*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - table
    - num_buckets
    - num_elements
    - sizeof_node
    argTypes:
    - void**
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: google::protobuf::internal::SpaceUsedInTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - Tree*::size
    - static_cast<Tree*>
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: PROTOBUF_NOINLINE
    signature: "PROTOBUF_NOINLINE SpaceUsedInTable(void** table, size_t num_buckets,\n
      \                                         size_t num_elements,\n                                          size_t
      sizeof_node)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:319,1
    - Dst: google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - Map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const Map* map)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 325
    functionName: google::protobuf::internal::SpaceUsedInValues
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInValues(const void*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' other_first'
    - ' other_second'
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapPair(const Key& other_first, const T& other_second)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other_first'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 339
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapPair(const Key& other_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' other_first'
    argTypes:
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void MapPair(Key&& other_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapPair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: google::protobuf::MapPair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapPair(const MapPair& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: ~MapPair()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MapPair()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::pair<T1, T2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: operator std::pair<T1, T2>() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::pair<T1, T2>
    linkageType: ''
    returnType: void
    signature: void operator std::pair<T1, T2>() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Map()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 386
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Map(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:388,1
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:388,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::insert
    - google::protobuf::Map::end
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: void
    signature: void Map(const Map& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:391,1
    - Dst: google::protobuf::Map::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::arena
    - google::protobuf::Map::swap
    linkageType: ''
    returnType: void
    signature: void Map(Map&& other) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:400,1
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:400,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: '& operator=(Map&& other) noexcept'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - arena
    - swap
    linkageType: ''
    returnType: Map
    signature: Map & operator=(Map&& other) noexcept
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' first'
    - ' last'
    argTypes:
    - InputIt
    - InputIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: google::protobuf::Map::Map
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::insert
    linkageType: ''
    returnType: void
    signature: void Map(const InputIt& first, const InputIt& last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 414
    functionName: ~Map()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Map()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 460
    functionName: google::protobuf::Map::InnerMap::InnerMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_cast<void**>
    linkageType: ''
    returnType: void
    signature: void InnerMap(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:463,1
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:465,1
    - Dst: Dealloc<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: ~InnerMap()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - Dealloc<void*>
    - arena
    - clear
    linkageType: ''
    returnType: void
    signature: void ~InnerMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - TreeIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: google::protobuf::Map::InnerMap::NodeFromTreeIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached:
    - static_cast<Node*>
    linkageType: ''
    returnType: Node
    signature: Node * NodeFromTreeIterator(TreeIterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 505
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator_base()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::iterator_base::SearchFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - InnerMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::iterator_base::SearchFrom
    linkageType: ''
    returnType: void
    signature: void iterator_base(const InnerMap* m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - iterator_base<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator_base(const iterator_base<U>& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - n
    - m
    - index
    argTypes:
    - Node*
    - InnerMap*
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator_base(Node* n, const InnerMap* m, size_type index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:522,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tree_it
    - m
    - index
    argTypes:
    - TreeIterator
    - InnerMap*
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: google::protobuf::Map::InnerMap::iterator_base::iterator_base
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_EQ
    - NodeFromTreeIterator
    linkageType: ''
    returnType: void
    signature: void iterator_base(TreeIterator tree_it, const InnerMap* m, size_type
      index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:531,1
    - Dst: TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:536,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:537,1
    - Dst: TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:539,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:540,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:541,1
    - Dst: Tree*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:541,1
    - Dst: NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:542,1
    - Dst: Tree*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - start_bucket
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 546
    functionName: google::protobuf::Map::InnerMap::iterator_base::SearchFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - TableEntryIsNonEmptyList
    - GOOGLE_DCHECK
    - TableEntryIsTree
    - Tree*::empty
    - NodeFromTreeIterator
    - static_cast<Tree*>
    - static_cast<Node*>
    - Tree*::begin
    linkageType: ''
    returnType: void
    signature: void SearchFrom(size_type start_bucket)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 548
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 549
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator_base
    - iterator_base
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: operator==(const iterator_base& a, const iterator_base& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator_base& a, const iterator_base& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator_base
    - iterator_base
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 556
    functionName: operator!=(const iterator_base& a, const iterator_base& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator_base& a, const iterator_base& b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: revalidate_if_necessary
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:561,1
    - Dst: SearchFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:563,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:565,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:566,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:567,1
    - Dst: SearchFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:568,1
    - Dst: NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 577
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - SearchFrom
    - Tree*::end
    - NodeFromTreeIterator
    - static_cast<Tree*>
    - GOOGLE_DCHECK_EQ
    - revalidate_if_necessary
    linkageType: ''
    returnType: iterator_base
    signature: iterator_base & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: operator++(int /* unused */)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator_base
    signature: iterator_base operator++(int /* unused */)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:590,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:594,1
    - Dst: TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:597,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:598,1
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:609,1
    - Dst: TableEntryIsList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - it
    argTypes:
    - TreeIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 612
    functionName: google::protobuf::Map::InnerMap::iterator_base::revalidate_if_necessary
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - TableEntryIsList
    - TableEntryIsNonEmptyList
    - GOOGLE_DCHECK
    - find
    - static_cast<Node*>
    - static_cast<void*>
    linkageType: ''
    returnType: bool
    signature: bool revalidate_if_necessary(TreeIterator* it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 623
    functionName: google::protobuf::Map::InnerMap::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 16
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:626,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:627,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:628,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:629,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:630,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - InnerMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 632
    functionName: google::protobuf::Map::InnerMap::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(InnerMap* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 634
    functionName: google::protobuf::Map::InnerMap::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 635
    functionName: google::protobuf::Map::InnerMap::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 636
    functionName: google::protobuf::Map::InnerMap::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 637
    functionName: google::protobuf::Map::InnerMap::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 6
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:641,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:642,1
    - Dst: google::protobuf::Map::InnerMap::DestroyNode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:646,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:649,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:650,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:651,1
    - Dst: Tree*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:653,1
    - Dst: google::protobuf::Map::InnerMap::NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:655,1
    - Dst: Tree*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:658,1
    - Dst: google::protobuf::Map::InnerMap::DestroyNode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:659,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:661,1
    - Dst: google::protobuf::Map::InnerMap::DestroyTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 639
    functionDepth: 3
    functionLinenumber: 639
    functionLinenumberEnd: 668
    functionName: google::protobuf::Map::InnerMap::clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::DestroyTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - google::protobuf::Map::InnerMap::DestroyNode
    - Tree*::end
    - static_cast<Tree*>
    - Tree*::erase
    - google::protobuf::Map::InnerMap::NodeFromTreeIterator
    - static_cast<Node*>
    - Tree*::begin
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: '& hash_function() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hasher
    signature: hasher & hash_function() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: google::protobuf::Map::InnerMap::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - static_cast<size_type>
    linkageType: ''
    returnType: size_type
    signature: size_type max_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 675
    functionName: google::protobuf::Map::InnerMap::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 676
    functionName: google::protobuf::Map::InnerMap::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::size
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:680,1
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 679
    functionDepth: 2
    functionLinenumber: 679
    functionLinenumberEnd: 681
    functionName: google::protobuf::Map::InnerMap::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - iterator
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: iterator
    signature: iterator find(const K& k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 686
    functionName: google::protobuf::Map::InnerMap::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const K& k) const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:692,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:695,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:695,1
    - Dst: google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:697,1
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:698,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:706,1
    - Dst: value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: static_cast<TypeToInit>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: Node::Node
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:707,1
    - Dst: google::protobuf::Map::InnerMap::Alloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:710,1
    - Dst: google::protobuf::CreateInArenaStorage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:711,1
    - Dst: const_cast<Key*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:712,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:712,1
    - Dst: static_cast<TypeToInit>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:713,1
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:713,1
    - Dst: google::protobuf::CreateInArenaStorage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:714,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:714,1
    - Dst: google::protobuf::Map::InnerMap::InsertUnique
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:717,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 720
    functionName: google::protobuf::Map::InnerMap::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    - value_type
    - std::forward<K>
    - const_cast<Key*>
    - std::make_pair
    - google::protobuf::Map::InnerMap::FindHelper
    - google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
    - iterator
    - google::protobuf::Map::InnerMap::Alloc
    - static_cast<TypeToInit>
    - google::protobuf::Map::InnerMap::InsertUnique
    - Node::Node
    - google::protobuf::CreateInArenaStorage
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert(K&& k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:724,1
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:724,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: '& operator[](K&& k)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::forward<K>
    - insert
    linkageType: ''
    returnType: value_type
    signature: value_type & operator[](K&& k)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:728,1
    - Dst: iterator::revalidate_if_necessary
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:730,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:734,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:734,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:735,1
    - Dst: google::protobuf::Map::InnerMap::EraseFromLinkedList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:736,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:737,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:739,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:739,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:740,1
    - Dst: Tree*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:741,1
    - Dst: Tree*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:742,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:745,1
    - Dst: google::protobuf::Map::InnerMap::DestroyTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:746,1
    - Dst: google::protobuf::Map::InnerMap::DestroyNode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:750,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - it
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 758
    functionName: google::protobuf::Map::InnerMap::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::DestroyTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - static_cast<size_type>
    - google::protobuf::Map::InnerMap::DestroyNode
    - Tree*::empty
    - static_cast<Node*>
    - static_cast<Tree*>
    - Tree*::erase
    - PROTOBUF_PREDICT_FALSE
    - iterator::revalidate_if_necessary
    - GOOGLE_DCHECK_EQ
    - google::protobuf::Map::InnerMap::EraseFromLinkedList
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void erase(iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::SpaceUsedInTable<Key>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: google::protobuf::Map::InnerMap::SpaceUsedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - internal::SpaceUsedInTable<Key>
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedInternal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' k'
    - it
    argTypes:
    - Key
    - TreeIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 768
    functionName: google::protobuf::Map::InnerMap::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const Key& k, TreeIterator* it) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::FindHelper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 772
    functionName: google::protobuf::Map::InnerMap::FindHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 20
    functionsReached:
    - google::protobuf::Map::InnerMap::FindHelper
    linkageType: ''
    returnType: std::pair<const_iterator, size_type>
    signature: std::pair<const_iterator, size_type> FindHelper(const K& k) const
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::BucketNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:776,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:777,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:778,1
    - Dst: google::protobuf::internal::Equals
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:780,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:781,1
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:781,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:786,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:787,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:788,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:789,1
    - Dst: Tree*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:790,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:791,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:793,1
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:793,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:796,1
    - Dst: google::protobuf::Map::InnerMap::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' k'
    - it
    argTypes:
    - K
    - TreeIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 797
    functionName: google::protobuf::Map::InnerMap::FindHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 20
    functionsReached:
    - Tree*::find
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - std::make_pair
    - google::protobuf::Map::InnerMap::end
    - const_iterator
    - Tree*::end
    - google::protobuf::Map::InnerMap::BucketNumber
    - static_cast<size_t>
    - google::protobuf::internal::Equals
    - static_cast<Tree*>
    - static_cast<Node*>
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: std::pair<const_iterator, size_type>
    signature: "std::pair<const_iterator, size_type> FindHelper(const K& k,\n                                                    TreeIterator*
      it) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:804,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:811,1
    - Dst: google::protobuf::Map::InnerMap::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:811,1
    - Dst: google::protobuf::Map::InnerMap::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:811,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:812,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:813,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:814,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:815,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTooLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:815,1
    - Dst: google::protobuf::Map::InnerMap::TreeConvert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:816,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:817,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:818,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:818,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:822,1
    - Dst: google::protobuf::Map::InnerMap::InsertUniqueInTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - b
    - node
    argTypes:
    - size_type
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 803
    functionDepth: 4
    functionLinenumber: 803
    functionLinenumberEnd: 833
    functionName: google::protobuf::Map::InnerMap::InsertUnique
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 10
    functionsReached:
    - google::protobuf::Map::InnerMap::TableEntryIsEmpty
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::InsertUniqueInTree
    - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    - google::protobuf::Map::InnerMap::TableEntryIsTooLong
    - google::protobuf::Map::InnerMap::end
    - google::protobuf::Map::InnerMap::TreeConvert
    - static_cast<size_type>
    - google::protobuf::Map::InnerMap::find
    - google::protobuf::Map::InnerMap::InsertUniqueInList
    - PROTOBUF_PREDICT_FALSE
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: iterator
    signature: iterator InsertUnique(size_type b, Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 847
    functionName: google::protobuf::Map::InnerMap::ShouldInsertAfterHead
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: bool
    signature: bool ShouldInsertAfterHead(void* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::ShouldInsertAfterHead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:852,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:853,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:856,1
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:859,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:860,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - b
    - node
    argTypes:
    - size_type
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 862
    functionName: google::protobuf::Map::InnerMap::InsertUniqueInList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - iterator
    - static_cast<Node*>
    - google::protobuf::Map::InnerMap::ShouldInsertAfterHead
    - static_cast<void*>
    linkageType: ''
    returnType: iterator
    signature: iterator InsertUniqueInList(size_type b, Node* node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:867,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:870,1
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:871,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - node
    argTypes:
    - size_type
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 873
    functionName: google::protobuf::Map::InnerMap::InsertUniqueInTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - iterator
    - static_cast<size_t>
    - GOOGLE_DCHECK_EQ
    - static_cast<Tree*>
    linkageType: ''
    returnType: iterator
    signature: iterator InsertUniqueInTree(size_type b, Node* node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:890,1
    - Dst: google::protobuf::Map::InnerMap::max_size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:891,1
    - Dst: google::protobuf::Map::InnerMap::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:892,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:895,1
    - Dst: std::max<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:906,1
    - Dst: google::protobuf::Map::InnerMap::Resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:909,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 883
    functionDepth: 3
    functionLinenumber: 883
    functionLinenumberEnd: 914
    functionName: google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - std::max<size_type>
    - google::protobuf::Map::InnerMap::Resize
    - google::protobuf::Map::InnerMap::max_size
    linkageType: ''
    returnType: bool
    signature: bool ResizeIfLoadIsOutOfRange(size_type new_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::CreateEmptyTable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:922,1
    - Dst: google::protobuf::Map::InnerMap::Seed
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:923,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:927,1
    - Dst: google::protobuf::Map::InnerMap::CreateEmptyTable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:931,1
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:935,1
    - Dst: google::protobuf::Map::InnerMap::TransferList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:936,1
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:937,1
    - Dst: google::protobuf::Map::InnerMap::TransferTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:938,1
    - Dst: google::protobuf::Map::InnerMap::Dealloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:941,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - new_num_buckets
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 917
    functionDepth: 4
    functionLinenumber: 917
    functionLinenumberEnd: 942
    functionName: google::protobuf::Map::InnerMap::Resize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::Map::InnerMap::Seed
    - google::protobuf::internal::TableEntryIsTree
    - google::protobuf::internal::TableEntryIsNonEmptyList
    - google::protobuf::Map::InnerMap::Dealloc
    - google::protobuf::Map::InnerMap::TransferTree
    - google::protobuf::Map::InnerMap::TransferList
    - google::protobuf::Map::InnerMap::CreateEmptyTable
    linkageType: ''
    returnType: void
    signature: void Resize(size_t new_num_buckets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:945,1
    - Dst: google::protobuf::Map::InnerMap::InsertUnique
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:948,1
    - Dst: google::protobuf::Map::InnerMap::BucketNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - table
    - index
    argTypes:
    - void**
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 3
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: google::protobuf::Map::InnerMap::TransferList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - static_cast<Node*>
    - google::protobuf::Map::InnerMap::BucketNumber
    - google::protobuf::Map::InnerMap::InsertUnique
    linkageType: ''
    returnType: void
    signature: void TransferList(void* const* table, size_type index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Tree*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:954,1
    - Dst: Tree*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:955,1
    - Dst: google::protobuf::Map::InnerMap::InsertUnique
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:957,1
    - Dst: google::protobuf::Map::InnerMap::BucketNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:957,1
    - Dst: std::cref
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:957,1
    - Dst: google::protobuf::Map::InnerMap::NodeFromTreeIterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:958,1
    - Dst: Tree*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:959,1
    - Dst: google::protobuf::Map::InnerMap::DestroyTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - table
    - index
    argTypes:
    - void**
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 961
    functionName: google::protobuf::Map::InnerMap::TransferTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Map::InnerMap::DestroyTree
    - std::cref
    - Tree*::end
    - google::protobuf::Map::InnerMap::BucketNumber
    - static_cast<Tree*>
    - google::protobuf::Map::InnerMap::InsertUnique
    - google::protobuf::Map::InnerMap::NodeFromTreeIterator
    - Tree*::begin
    linkageType: ''
    returnType: void
    signature: void TransferTree(void* const* table, size_type index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::EraseFromLinkedList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - item
    - head
    argTypes:
    - Node*
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 970
    functionName: google::protobuf::Map::InnerMap::EraseFromLinkedList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 8
    functionsReached:
    - google::protobuf::Map::InnerMap::EraseFromLinkedList
    linkageType: ''
    returnType: Node
    signature: Node * EraseFromLinkedList(Node* item, Node* head)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 974
    functionName: google::protobuf::Map::InnerMap::TableEntryIsEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::TableEntryIsEmpty
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsEmpty(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsNonEmptyList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 977
    functionName: google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::TableEntryIsNonEmptyList
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsNonEmptyList(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: google::protobuf::Map::InnerMap::TableEntryIsTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::TableEntryIsTree
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTree(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TableEntryIsList
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 983
    functionName: google::protobuf::Map::InnerMap::TableEntryIsList
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TableEntryIsList
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsList(size_type b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:986,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:986,1
    - Dst: google::protobuf::Map::InnerMap::TableEntryIsTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:986,1
    - Dst: Arena::Create<Tree>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:988,1
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:988,1
    - Dst: typename Tree::key_compare
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:988,1
    - Dst: typename Tree::allocator_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:989,1
    - Dst: google::protobuf::Map::InnerMap::CopyListToTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:990,1
    - Dst: google::protobuf::Map::InnerMap::CopyListToTree
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:990,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:991,1
    - Dst: Tree*::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:991,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 985
    functionDepth: 3
    functionLinenumber: 985
    functionLinenumberEnd: 993
    functionName: google::protobuf::Map::InnerMap::TreeConvert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    - google::protobuf::Map::InnerMap::TableEntryIsTree
    - GOOGLE_DCHECK
    - google::protobuf::Map::InnerMap::CopyListToTree
    - typename Tree::key_compare
    - Arena::Create<Tree>
    - typename Tree::allocator_type
    - Tree*::size
    - GOOGLE_DCHECK_EQ
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void TreeConvert(size_type b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:999,1
    - Dst: Tree*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - b
    - tree
    argTypes:
    - size_type
    - Tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1008
    functionName: google::protobuf::Map::InnerMap::CopyListToTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - static_cast<Node*>
    - Tree*::insert
    linkageType: ''
    returnType: size_type
    signature: size_type CopyListToTree(size_type b, Tree* tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Node*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1015,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1023
    functionName: google::protobuf::Map::InnerMap::TableEntryIsTooLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - static_cast<Node*>
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: bool
    signature: bool TableEntryIsTooLong(size_type b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_function
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' k'
    argTypes:
    - K
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1036
    functionName: google::protobuf::Map::InnerMap::BucketNumber
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 12
    functionsReached:
    - hash_function
    linkageType: ''
    returnType: size_type
    signature: size_type BucketNumber(const K& k) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1041,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1044
    functionName: google::protobuf::Map::InnerMap::TableSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - static_cast<size_type>
    linkageType: ''
    returnType: size_type
    signature: size_type TableSize(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1051
    functionName: google::protobuf::Map::InnerMap::Alloc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached:
    - alloc_type
    linkageType: ''
    returnType: U
    signature: U * Alloc(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - n
    argTypes:
    - U*
    - size_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1058
    functionName: google::protobuf::Map::InnerMap::Dealloc
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - alloc_type
    linkageType: ''
    returnType: void
    signature: void Dealloc(U* t, size_type n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1064
    functionName: google::protobuf::Map::InnerMap::DestroyNode
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 8
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    linkageType: ''
    returnType: void
    signature: void DestroyNode(Node* node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::InnerMap::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tree
    argTypes:
    - Tree*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1070
    functionName: google::protobuf::Map::InnerMap::DestroyTree
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 12
    functionsReached:
    - google::protobuf::Map::InnerMap::arena
    linkageType: ''
    returnType: void
    signature: void DestroyTree(Tree* tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1073,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1074,1
    - Dst: google::protobuf::Map::InnerMap::Alloc
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1075,1
    - Dst: memset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1078
    functionName: google::protobuf::Map::InnerMap::CreateEmptyTable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Map::InnerMap::Alloc
    - GOOGLE_DCHECK
    - memset
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: void
    signature: void ** CreateEmptyTable(size_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1085,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1093
    functionName: google::protobuf::Map::InnerMap::Seed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - static_cast<uint64>
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: size_type
    signature: size_type Seed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1124
    functionName: google::protobuf::Map::const_iterator::const_iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - InnerIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1125
    functionName: google::protobuf::Map::const_iterator::const_iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void const_iterator(const InnerIt& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1127
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_reference
    signature: const_reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1128
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_pointer
    signature: const_pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1133
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1134
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - const_iterator
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1138
    functionName: operator==(const const_iterator& a, const const_iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const const_iterator& a, const const_iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1141
    functionName: operator!=(const const_iterator& a, const const_iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const const_iterator& a, const const_iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1157
    functionName: google::protobuf::Map::iterator::iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' it'
    argTypes:
    - InnerIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1158
    functionName: google::protobuf::Map::iterator::iterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iterator(const InnerIt& it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1160
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1161
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1166
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1167
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1171,1
    - Dst: google::protobuf::Map::const_iterator::const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1172
    functionName: operator const_iterator() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::const_iterator::const_iterator
    - const_iterator
    linkageType: ''
    returnType: void
    signature: void operator const_iterator() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1176
    functionName: operator==(const iterator& a, const iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& a, const iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1179
    functionName: operator!=(const iterator& a, const iterator& b)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& a, const iterator& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1187,1
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1187
    functionName: google::protobuf::Map::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 14
    functionsReached:
    - iterator
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: iterator
    signature: iterator begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1188,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1188
    functionName: google::protobuf::Map::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 38
    functionsReached:
    - iterator
    - google::protobuf::Map::end
    linkageType: ''
    returnType: iterator
    signature: iterator end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1189,1
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1189
    functionName: google::protobuf::Map::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 15
    functionsReached:
    - const_iterator
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1190,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1190
    functionName: google::protobuf::Map::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 39
    functionsReached:
    - const_iterator
    - google::protobuf::Map::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1191
    functionName: google::protobuf::Map::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::begin
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1192
    functionName: google::protobuf::Map::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator cend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1195
    functionName: google::protobuf::Map::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 7
    functionsReached:
    - google::protobuf::Map::size
    linkageType: ''
    returnType: size_type
    signature: size_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1196
    functionDepth: 2
    functionLinenumber: 1196
    functionLinenumberEnd: 1196
    functionName: google::protobuf::Map::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Map::size
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1202
    functionName: '& operator[](const key_arg<K>& key)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator[](const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::forward<K>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1209
    functionName: '& operator[](key_arg<K>&& key)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::forward<K>
    linkageType: ''
    returnType: T
    signature: T & operator[](key_arg<K>&& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1213,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1214,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1214,1
    - Dst: static_cast<Key>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    functionName: google::protobuf::Map::at
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - static_cast<Key>
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: T
    signature: T & at(const key_arg<K>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1220,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1221,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1221,1
    - Dst: static_cast<Key>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1219
    functionDepth: 2
    functionLinenumber: 1219
    functionLinenumberEnd: 1223
    functionName: google::protobuf::Map::at
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - static_cast<Key>
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: T
    signature: T & at(const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1228,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1227
    functionDepth: 2
    functionLinenumber: 1227
    functionLinenumberEnd: 1229
    functionName: google::protobuf::Map::count
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: size_type
    signature: size_type count(const key_arg<K>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1233,1
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1234
    functionName: google::protobuf::Map::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 34
    functionsReached:
    - const_iterator
    - google::protobuf::Map::find
    linkageType: ''
    returnType: const_iterator
    signature: const_iterator find(const key_arg<K>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1237,1
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1238
    functionName: google::protobuf::Map::find
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 35
    functionsReached:
    - iterator
    - google::protobuf::Map::find
    linkageType: ''
    returnType: iterator
    signature: iterator find(const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1242,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1241
    functionDepth: 2
    functionLinenumber: 1241
    functionLinenumberEnd: 1243
    functionName: google::protobuf::Map::contains
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: bool
    signature: bool contains(const key_arg<K>& key) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1248,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1249,1
    - Dst: std::pair<const_iterator, const_iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1250,1
    - Dst: std::pair<const_iterator, const_iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1246
    functionDepth: 2
    functionLinenumber: 1246
    functionLinenumberEnd: 1255
    functionName: google::protobuf::Map::equal_range
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - std::pair<const_iterator, const_iterator>
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: std::pair<const_iterator, const_iterator>
    signature: "std::pair<const_iterator, const_iterator> equal_range(\n      const
      key_arg<K>& key) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1259,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1260,1
    - Dst: std::pair<iterator, iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1261,1
    - Dst: std::pair<iterator, iterator>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1258
    functionDepth: 2
    functionLinenumber: 1258
    functionLinenumberEnd: 1266
    functionName: google::protobuf::Map::equal_range
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    - std::pair<iterator, iterator>
    linkageType: ''
    returnType: std::pair<iterator, iterator>
    signature: std::pair<iterator, iterator> equal_range(const key_arg<K>& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1271,1
    - Dst: std::pair<iterator, bool>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1275,1
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1276
    functionName: google::protobuf::Map::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 15
    functionsReached:
    - iterator
    - google::protobuf::Map::insert
    - std::pair<iterator, bool>
    linkageType: ''
    returnType: std::pair<iterator, bool>
    signature: std::pair<iterator, bool> insert(const value_type& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1280,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - InputIt
    - InputIt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1285
    functionName: google::protobuf::Map::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 15
    functionsReached:
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: void
    signature: void insert(InputIt first, InputIt last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1287,1
    - Dst: std::initializer_list<value_type>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1287,1
    - Dst: std::initializer_list<value_type>::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - values
    argTypes:
    - std::initializer_list<value_type>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1288
    functionName: google::protobuf::Map::insert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 16
    functionsReached:
    - google::protobuf::Map::insert
    - std::initializer_list<value_type>::end
    - std::initializer_list<value_type>::begin
    linkageType: ''
    returnType: void
    signature: void insert(std::initializer_list<value_type> values)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1293,1
    - Dst: google::protobuf::Map::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1294,1
    - Dst: google::protobuf::Map::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - key_arg<K>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1292
    functionDepth: 2
    functionLinenumber: 1292
    functionLinenumberEnd: 1300
    functionName: google::protobuf::Map::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 10
    functionsReached:
    - google::protobuf::Map::erase
    - google::protobuf::Map::end
    - google::protobuf::Map::find
    linkageType: ''
    returnType: size_type
    signature: size_type erase(const key_arg<K>& key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pos
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1305
    functionName: google::protobuf::Map::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 11
    functionsReached:
    - google::protobuf::Map::erase
    linkageType: ''
    returnType: iterator
    signature: iterator erase(iterator pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - iterator
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1310
    functionName: google::protobuf::Map::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 12
    functionsReached:
    - google::protobuf::Map::erase
    linkageType: ''
    returnType: void
    signature: void erase(iterator first, iterator last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1311
    functionName: google::protobuf::Map::clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Map::clear
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1316,1
    - Dst: insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1317,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1317,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1320
    functionName: '& operator=(const Map& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - end
    - insert
    - begin
    - clear
    linkageType: ''
    returnType: Map
    signature: Map & operator=(const Map& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1323,1
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1323,1
    - Dst: Swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Map
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1333
    functionName: google::protobuf::Map::swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - Swap
    - google::protobuf::Map::arena
    linkageType: ''
    returnType: void
    signature: void swap(Map& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::hash_function
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1337
    functionName: google::protobuf::Map::hash_function
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Map::hash_function
    linkageType: ''
    returnType: hasher
    signature: hasher hash_function() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1340,1
    - Dst: SpaceUsedInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1341,1
    - Dst: google::protobuf::internal::SpaceUsedInValues
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1339
    functionDepth: 3
    functionLinenumber: 1339
    functionLinenumberEnd: 1342
    functionName: google::protobuf::Map::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Map::empty
    - google::protobuf::internal::SpaceUsedInValues
    - SpaceUsedInternal
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedExcludingSelfLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Map::arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h:1345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1345
    functionName: google::protobuf::Map::arena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    functionUses: 12
    functionsReached:
    - google::protobuf::Map::arena
    linkageType: ''
    returnType: Arena
    signature: Arena * arena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:86,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    - Dst: ParseFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    - Dst: GetReflection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:199,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:200,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:201,1
    - Dst: MergeFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:203,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 208
    functionName: google::protobuf::UnknownFieldSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - google::protobuf::UnknownFieldSet
    - ParseFromArray
    - SpaceUsedLong
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - unknown_fields
    - MergeFromCodedStream
    - google::protobuf::data
    - GetReflection
    - SpaceUsedExcludingSelfLong
    - static_cast<int>
    - google::protobuf::size
    - google::protobuf::MergeFrom
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UnknownFieldSet
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: google::protobuf::SpaceUsedExcludingSelf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsedExcludingSelf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: google::protobuf::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: google::protobuf::ParseFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - ParseFromArray
    - google::protobuf::size
    - static_cast<int>
    - google::protobuf::data
    linkageType: ''
    returnType: bool
    signature: bool ParseFromString(const std::string& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    - Dst: GetReflection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: google::protobuf::InternalMergeFromMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::MergeFrom
    - GetReflection
    linkageType: ''
    returnType: bool
    signature: bool InternalMergeFromMessage(const MessageType& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:199,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:200,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:201,1
    - Dst: MergeFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: google::protobuf::InternalMergeFromMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - MergeFromCodedStream
    - google::protobuf::size
    - unknown_fields
    - google::protobuf::data
    linkageType: ''
    returnType: bool
    signature: bool InternalMergeFromMessage(const MessageType& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - uint64
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 20
    functionsReached:
    - UnknownFieldSet*::AddVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, UnknownFieldSet* unknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - StringPiece
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - UnknownFieldSet*::AddLengthDelimited
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: "void WriteLengthDelimited(uint32 num, StringPiece val,\n                                 UnknownFieldSet*
      unknown)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - uint64
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 20
    functionsReached:
    - UnknownFieldSet*::AddVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, UnknownFieldSet* unknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - StringPiece
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - UnknownFieldSet*::AddLengthDelimited
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: "void WriteLengthDelimited(uint32 num, StringPiece val,\n                                 UnknownFieldSet*
      unknown)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: InternalSerializeLengthDelimitedNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: google::protobuf::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 299
    functionName: google::protobuf::UnknownField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Cur
    - InternalSerializeLengthDelimitedNoTag
    - google::protobuf::SetCur
    - google::protobuf::EpsCopy
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UnknownField
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: InternalSerializeLengthDelimitedNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: google::protobuf::SerializeLengthDelimitedNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - io::CodedOutputStream*::SetCur
    - InternalSerializeLengthDelimitedNoTag
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeLengthDelimitedNoTag(io::CodedOutputStream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::UnknownFieldSet::UnknownFieldSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::UnknownFieldSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: UnknownFieldSet::~UnknownFieldSet()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::~UnknownFieldSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: google::protobuf::UnknownFieldSet::ClearAndFreeMemory
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownFieldSet::Clear
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::ClearAndFreeMemory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:311,1
    - Dst: ClearFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: google::protobuf::UnknownFieldSet::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 1
    functionsReached:
    - google::protobuf::UnknownFieldSet::empty
    - ClearFallback
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: google::protobuf::UnknownFieldSet::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 2
    functionsReached:
    - google::protobuf::UnknownFieldSet::empty
    linkageType: ''
    returnType: bool
    signature: bool UnknownFieldSet::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: google::protobuf::UnknownFieldSet::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::Swap(UnknownFieldSet* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:323,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::UnknownFieldSet::field_count
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    linkageType: ''
    returnType: int
    signature: int UnknownFieldSet::field_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: '& UnknownFieldSet::field(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: UnknownField
    signature: UnknownField & UnknownFieldSet::field(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::UnknownFieldSet::mutable_field
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: UnknownField
    signature: UnknownField * UnknownFieldSet::mutable_field(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::AddLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: google::protobuf::UnknownFieldSet::AddLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 1
    functionsReached:
    - google::protobuf::UnknownFieldSet::AddLengthDelimited
    linkageType: ''
    returnType: void
    signature: "void UnknownFieldSet::AddLengthDelimited(int number,\n                                                const
      std::string& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: google::protobuf::UnknownField::number
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int UnknownField::number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: google::protobuf::UnknownField::type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<Type>
    linkageType: ''
    returnType: UnknownField::Type
    signature: UnknownField::Type UnknownField::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:346,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_VARINT)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: google::protobuf::UnknownField::varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: uint64
    signature: uint64 UnknownField::varint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:350,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_FIXED32)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: google::protobuf::UnknownField::fixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: uint32
    signature: uint32 UnknownField::fixed32() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:354,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_FIXED64)
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: google::protobuf::UnknownField::fixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: uint64
    signature: uint64 UnknownField::fixed64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:358,1
    - Dst: type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_LENGTH_DELIMITED)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: '& UnknownField::length_delimited() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - type
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string & UnknownField::length_delimited() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:362,1
    - Dst: type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_GROUP)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: '& UnknownField::group() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - type
    - assert
    linkageType: ''
    returnType: UnknownFieldSet
    signature: UnknownFieldSet & UnknownField::group() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:367,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts:
    - condition: (type() == TYPE_VARINT)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: google::protobuf::UnknownField::set_varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_varint(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:371,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts:
    - condition: (type() == TYPE_FIXED32)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: google::protobuf::UnknownField::set_fixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_fixed32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:375,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts:
    - condition: (type() == TYPE_FIXED64)
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: google::protobuf::UnknownField::set_fixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_fixed64(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:379,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:379,1
    - Dst: length_delimited_::string_value::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts:
    - condition: (type() == TYPE_LENGTH_DELIMITED)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: google::protobuf::UnknownField::set_length_delimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - length_delimited_::string_value::assign
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_length_delimited(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:383,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_LENGTH_DELIMITED)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: google::protobuf::UnknownField::mutable_length_delimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string * UnknownField::mutable_length_delimited()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:387,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_GROUP)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: google::protobuf::UnknownField::mutable_group
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: UnknownFieldSet
    signature: UnknownFieldSet * UnknownField::mutable_group()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalMergeFromMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: google::protobuf::UnknownFieldSet::MergeFromMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - InternalMergeFromMessage
    linkageType: ''
    returnType: bool
    signature: bool UnknownFieldSet::MergeFromMessage(const MessageType& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:398,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:398,1
    - Dst: length_delimited_::string_value::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::UnknownField::GetLengthDelimitedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - length_delimited_::string_value::size
    - google::protobuf::UnknownField::type
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t UnknownField::GetLengthDelimitedSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: google::protobuf::UnknownField::SetType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownField::SetType(Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:86,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    - Dst: ParseFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    - Dst: GetReflection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:199,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:200,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:201,1
    - Dst: MergeFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:203,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 208
    functionName: google::protobuf::UnknownFieldSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - google::protobuf::UnknownFieldSet
    - ParseFromArray
    - SpaceUsedLong
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - unknown_fields
    - MergeFromCodedStream
    - google::protobuf::data
    - GetReflection
    - SpaceUsedExcludingSelfLong
    - static_cast<int>
    - google::protobuf::size
    - google::protobuf::MergeFrom
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UnknownFieldSet
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: google::protobuf::SpaceUsedExcludingSelf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsedExcludingSelf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: google::protobuf::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: google::protobuf::ParseFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - ParseFromArray
    - google::protobuf::size
    - static_cast<int>
    - google::protobuf::data
    linkageType: ''
    returnType: bool
    signature: bool ParseFromString(const std::string& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    - Dst: GetReflection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: google::protobuf::InternalMergeFromMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::MergeFrom
    - GetReflection
    linkageType: ''
    returnType: bool
    signature: bool InternalMergeFromMessage(const MessageType& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:199,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:200,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:201,1
    - Dst: MergeFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: google::protobuf::InternalMergeFromMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - MergeFromCodedStream
    - google::protobuf::size
    - unknown_fields
    - google::protobuf::data
    linkageType: ''
    returnType: bool
    signature: bool InternalMergeFromMessage(const MessageType& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - uint64
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 20
    functionsReached:
    - UnknownFieldSet*::AddVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, UnknownFieldSet* unknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - StringPiece
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - UnknownFieldSet*::AddLengthDelimited
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: "void WriteLengthDelimited(uint32 num, StringPiece val,\n                                 UnknownFieldSet*
      unknown)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - uint64
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 20
    functionsReached:
    - UnknownFieldSet*::AddVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, UnknownFieldSet* unknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - StringPiece
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - UnknownFieldSet*::AddLengthDelimited
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: "void WriteLengthDelimited(uint32 num, StringPiece val,\n                                 UnknownFieldSet*
      unknown)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: InternalSerializeLengthDelimitedNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: google::protobuf::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 299
    functionName: google::protobuf::UnknownField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Cur
    - InternalSerializeLengthDelimitedNoTag
    - google::protobuf::SetCur
    - google::protobuf::EpsCopy
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UnknownField
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: InternalSerializeLengthDelimitedNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: google::protobuf::SerializeLengthDelimitedNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - io::CodedOutputStream*::SetCur
    - InternalSerializeLengthDelimitedNoTag
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeLengthDelimitedNoTag(io::CodedOutputStream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::UnknownFieldSet::UnknownFieldSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::UnknownFieldSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: UnknownFieldSet::~UnknownFieldSet()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::~UnknownFieldSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: google::protobuf::UnknownFieldSet::ClearAndFreeMemory
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownFieldSet::Clear
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::ClearAndFreeMemory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:311,1
    - Dst: ClearFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: google::protobuf::UnknownFieldSet::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 2
    functionsReached:
    - google::protobuf::UnknownFieldSet::empty
    - ClearFallback
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: google::protobuf::UnknownFieldSet::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 4
    functionsReached:
    - google::protobuf::UnknownFieldSet::empty
    linkageType: ''
    returnType: bool
    signature: bool UnknownFieldSet::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: google::protobuf::UnknownFieldSet::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::Swap(UnknownFieldSet* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:323,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::UnknownFieldSet::field_count
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    linkageType: ''
    returnType: int
    signature: int UnknownFieldSet::field_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: '& UnknownFieldSet::field(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: UnknownField
    signature: UnknownField & UnknownFieldSet::field(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::UnknownFieldSet::mutable_field
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: UnknownField
    signature: UnknownField * UnknownFieldSet::mutable_field(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::AddLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: google::protobuf::UnknownFieldSet::AddLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 2
    functionsReached:
    - google::protobuf::UnknownFieldSet::AddLengthDelimited
    linkageType: ''
    returnType: void
    signature: "void UnknownFieldSet::AddLengthDelimited(int number,\n                                                const
      std::string& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: google::protobuf::UnknownField::number
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int UnknownField::number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: google::protobuf::UnknownField::type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 10
    functionsReached:
    - static_cast<Type>
    linkageType: ''
    returnType: UnknownField::Type
    signature: UnknownField::Type UnknownField::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:346,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_VARINT)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: google::protobuf::UnknownField::varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: uint64
    signature: uint64 UnknownField::varint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:350,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_FIXED32)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: google::protobuf::UnknownField::fixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: uint32
    signature: uint32 UnknownField::fixed32() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:354,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_FIXED64)
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: google::protobuf::UnknownField::fixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: uint64
    signature: uint64 UnknownField::fixed64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:358,1
    - Dst: type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_LENGTH_DELIMITED)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: '& UnknownField::length_delimited() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - type
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string & UnknownField::length_delimited() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:362,1
    - Dst: type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_GROUP)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: '& UnknownField::group() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - type
    - assert
    linkageType: ''
    returnType: UnknownFieldSet
    signature: UnknownFieldSet & UnknownField::group() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:367,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts:
    - condition: (type() == TYPE_VARINT)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: google::protobuf::UnknownField::set_varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_varint(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:371,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts:
    - condition: (type() == TYPE_FIXED32)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: google::protobuf::UnknownField::set_fixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_fixed32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:375,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts:
    - condition: (type() == TYPE_FIXED64)
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: google::protobuf::UnknownField::set_fixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_fixed64(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:379,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:379,1
    - Dst: length_delimited_::string_value::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts:
    - condition: (type() == TYPE_LENGTH_DELIMITED)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: google::protobuf::UnknownField::set_length_delimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - length_delimited_::string_value::assign
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_length_delimited(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:383,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_LENGTH_DELIMITED)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: google::protobuf::UnknownField::mutable_length_delimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string * UnknownField::mutable_length_delimited()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:387,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_GROUP)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: google::protobuf::UnknownField::mutable_group
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: UnknownFieldSet
    signature: UnknownFieldSet * UnknownField::mutable_group()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalMergeFromMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: google::protobuf::UnknownFieldSet::MergeFromMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - InternalMergeFromMessage
    linkageType: ''
    returnType: bool
    signature: bool UnknownFieldSet::MergeFromMessage(const MessageType& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:398,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:398,1
    - Dst: length_delimited_::string_value::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::UnknownField::GetLengthDelimitedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - length_delimited_::string_value::size
    - google::protobuf::UnknownField::type
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t UnknownField::GetLengthDelimitedSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: google::protobuf::UnknownField::SetType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownField::SetType(Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:86,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    - Dst: ParseFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    - Dst: GetReflection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:199,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:200,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:201,1
    - Dst: MergeFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:203,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 208
    functionName: google::protobuf::UnknownFieldSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - google::protobuf::UnknownFieldSet
    - ParseFromArray
    - SpaceUsedLong
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - unknown_fields
    - MergeFromCodedStream
    - google::protobuf::data
    - GetReflection
    - SpaceUsedExcludingSelfLong
    - static_cast<int>
    - google::protobuf::size
    - google::protobuf::MergeFrom
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UnknownFieldSet
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: google::protobuf::SpaceUsedExcludingSelf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsedExcludingSelf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: google::protobuf::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: google::protobuf::ParseFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - ParseFromArray
    - google::protobuf::size
    - static_cast<int>
    - google::protobuf::data
    linkageType: ''
    returnType: bool
    signature: bool ParseFromString(const std::string& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    - Dst: GetReflection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: google::protobuf::InternalMergeFromMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::MergeFrom
    - GetReflection
    linkageType: ''
    returnType: bool
    signature: bool InternalMergeFromMessage(const MessageType& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:199,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:200,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:201,1
    - Dst: MergeFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: google::protobuf::InternalMergeFromMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - MergeFromCodedStream
    - google::protobuf::size
    - unknown_fields
    - google::protobuf::data
    linkageType: ''
    returnType: bool
    signature: bool InternalMergeFromMessage(const MessageType& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - uint64
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 20
    functionsReached:
    - UnknownFieldSet*::AddVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, UnknownFieldSet* unknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - StringPiece
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - UnknownFieldSet*::AddLengthDelimited
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: "void WriteLengthDelimited(uint32 num, StringPiece val,\n                                 UnknownFieldSet*
      unknown)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - uint64
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 20
    functionsReached:
    - UnknownFieldSet*::AddVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, UnknownFieldSet* unknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - StringPiece
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - UnknownFieldSet*::AddLengthDelimited
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: "void WriteLengthDelimited(uint32 num, StringPiece val,\n                                 UnknownFieldSet*
      unknown)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: InternalSerializeLengthDelimitedNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: google::protobuf::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 299
    functionName: google::protobuf::UnknownField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Cur
    - InternalSerializeLengthDelimitedNoTag
    - google::protobuf::SetCur
    - google::protobuf::EpsCopy
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UnknownField
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: InternalSerializeLengthDelimitedNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: google::protobuf::SerializeLengthDelimitedNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - io::CodedOutputStream*::SetCur
    - InternalSerializeLengthDelimitedNoTag
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeLengthDelimitedNoTag(io::CodedOutputStream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::UnknownFieldSet::UnknownFieldSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::UnknownFieldSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: UnknownFieldSet::~UnknownFieldSet()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::~UnknownFieldSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: google::protobuf::UnknownFieldSet::ClearAndFreeMemory
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownFieldSet::Clear
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::ClearAndFreeMemory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:311,1
    - Dst: ClearFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: google::protobuf::UnknownFieldSet::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 3
    functionsReached:
    - google::protobuf::UnknownFieldSet::empty
    - ClearFallback
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: google::protobuf::UnknownFieldSet::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 6
    functionsReached:
    - google::protobuf::UnknownFieldSet::empty
    linkageType: ''
    returnType: bool
    signature: bool UnknownFieldSet::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: google::protobuf::UnknownFieldSet::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::Swap(UnknownFieldSet* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:323,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::UnknownFieldSet::field_count
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    linkageType: ''
    returnType: int
    signature: int UnknownFieldSet::field_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: '& UnknownFieldSet::field(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: UnknownField
    signature: UnknownField & UnknownFieldSet::field(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::UnknownFieldSet::mutable_field
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: UnknownField
    signature: UnknownField * UnknownFieldSet::mutable_field(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::AddLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: google::protobuf::UnknownFieldSet::AddLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 3
    functionsReached:
    - google::protobuf::UnknownFieldSet::AddLengthDelimited
    linkageType: ''
    returnType: void
    signature: "void UnknownFieldSet::AddLengthDelimited(int number,\n                                                const
      std::string& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: google::protobuf::UnknownField::number
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int UnknownField::number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: google::protobuf::UnknownField::type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 20
    functionsReached:
    - static_cast<Type>
    linkageType: ''
    returnType: UnknownField::Type
    signature: UnknownField::Type UnknownField::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:346,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_VARINT)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: google::protobuf::UnknownField::varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: uint64
    signature: uint64 UnknownField::varint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:350,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_FIXED32)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: google::protobuf::UnknownField::fixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: uint32
    signature: uint32 UnknownField::fixed32() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:354,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_FIXED64)
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: google::protobuf::UnknownField::fixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: uint64
    signature: uint64 UnknownField::fixed64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:358,1
    - Dst: type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_LENGTH_DELIMITED)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: '& UnknownField::length_delimited() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - type
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string & UnknownField::length_delimited() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:362,1
    - Dst: type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_GROUP)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: '& UnknownField::group() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - type
    - assert
    linkageType: ''
    returnType: UnknownFieldSet
    signature: UnknownFieldSet & UnknownField::group() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:367,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts:
    - condition: (type() == TYPE_VARINT)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: google::protobuf::UnknownField::set_varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_varint(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:371,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts:
    - condition: (type() == TYPE_FIXED32)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: google::protobuf::UnknownField::set_fixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_fixed32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:375,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts:
    - condition: (type() == TYPE_FIXED64)
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: google::protobuf::UnknownField::set_fixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_fixed64(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:379,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:379,1
    - Dst: length_delimited_::string_value::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts:
    - condition: (type() == TYPE_LENGTH_DELIMITED)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: google::protobuf::UnknownField::set_length_delimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - length_delimited_::string_value::assign
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_length_delimited(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:383,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_LENGTH_DELIMITED)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: google::protobuf::UnknownField::mutable_length_delimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string * UnknownField::mutable_length_delimited()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:387,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_GROUP)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: google::protobuf::UnknownField::mutable_group
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: UnknownFieldSet
    signature: UnknownFieldSet * UnknownField::mutable_group()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalMergeFromMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: google::protobuf::UnknownFieldSet::MergeFromMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - InternalMergeFromMessage
    linkageType: ''
    returnType: bool
    signature: bool UnknownFieldSet::MergeFromMessage(const MessageType& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:398,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:398,1
    - Dst: length_delimited_::string_value::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::UnknownField::GetLengthDelimitedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - length_delimited_::string_value::size
    - google::protobuf::UnknownField::type
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t UnknownField::GetLengthDelimitedSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: google::protobuf::UnknownField::SetType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownField::SetType(Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:86,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    - Dst: ParseFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    - Dst: GetReflection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    - Dst: unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:199,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:200,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:201,1
    - Dst: MergeFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:203,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 208
    functionName: google::protobuf::UnknownFieldSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - google::protobuf::UnknownFieldSet
    - ParseFromArray
    - SpaceUsedLong
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - unknown_fields
    - MergeFromCodedStream
    - google::protobuf::data
    - GetReflection
    - SpaceUsedExcludingSelfLong
    - static_cast<int>
    - google::protobuf::size
    - google::protobuf::MergeFrom
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UnknownFieldSet
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: google::protobuf::SpaceUsedExcludingSelf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsedExcludingSelf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    - Dst: SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: google::protobuf::SpaceUsed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseFromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: google::protobuf::ParseFromString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - ParseFromArray
    - google::protobuf::size
    - static_cast<int>
    - google::protobuf::data
    linkageType: ''
    returnType: bool
    signature: bool ParseFromString(const std::string& data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    - Dst: GetReflection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: google::protobuf::InternalMergeFromMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::MergeFrom
    - GetReflection
    linkageType: ''
    returnType: bool
    signature: bool InternalMergeFromMessage(const MessageType& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:199,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:200,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:201,1
    - Dst: MergeFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: google::protobuf::InternalMergeFromMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - MergeFromCodedStream
    - google::protobuf::size
    - unknown_fields
    - google::protobuf::data
    linkageType: ''
    returnType: bool
    signature: bool InternalMergeFromMessage(const MessageType& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - uint64
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 20
    functionsReached:
    - UnknownFieldSet*::AddVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, UnknownFieldSet* unknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - StringPiece
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - UnknownFieldSet*::AddLengthDelimited
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: "void WriteLengthDelimited(uint32 num, StringPiece val,\n                                 UnknownFieldSet*
      unknown)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - uint64
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: google::protobuf::internal::WriteVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 20
    functionsReached:
    - UnknownFieldSet*::AddVarint
    linkageType: ''
    returnType: void
    signature: void WriteVarint(uint32 num, uint64 val, UnknownFieldSet* unknown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnknownFieldSet*::AddLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - val
    - unknown
    argTypes:
    - uint32
    - StringPiece
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: google::protobuf::internal::WriteLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - UnknownFieldSet*::AddLengthDelimited
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: "void WriteLengthDelimited(uint32 num, StringPiece val,\n                                 UnknownFieldSet*
      unknown)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: InternalSerializeLengthDelimitedNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: google::protobuf::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 299
    functionName: google::protobuf::UnknownField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Cur
    - InternalSerializeLengthDelimitedNoTag
    - google::protobuf::SetCur
    - google::protobuf::EpsCopy
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UnknownField
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: InternalSerializeLengthDelimitedNoTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:267,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: google::protobuf::SerializeLengthDelimitedNoTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - io::CodedOutputStream*::SetCur
    - InternalSerializeLengthDelimitedNoTag
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeLengthDelimitedNoTag(io::CodedOutputStream* output) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::UnknownFieldSet::UnknownFieldSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::UnknownFieldSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: UnknownFieldSet::~UnknownFieldSet()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - Clear
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::~UnknownFieldSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: google::protobuf::UnknownFieldSet::ClearAndFreeMemory
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownFieldSet::Clear
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::ClearAndFreeMemory()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:311,1
    - Dst: ClearFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: google::protobuf::UnknownFieldSet::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 4
    functionsReached:
    - google::protobuf::UnknownFieldSet::empty
    - ClearFallback
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: google::protobuf::UnknownFieldSet::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 8
    functionsReached:
    - google::protobuf::UnknownFieldSet::empty
    linkageType: ''
    returnType: bool
    signature: bool UnknownFieldSet::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - UnknownFieldSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: google::protobuf::UnknownFieldSet::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void UnknownFieldSet::Swap(UnknownFieldSet* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:323,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: google::protobuf::UnknownFieldSet::field_count
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - size
    linkageType: ''
    returnType: int
    signature: int UnknownFieldSet::field_count() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: '& UnknownFieldSet::field(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: UnknownField
    signature: UnknownField & UnknownFieldSet::field(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::UnknownFieldSet::mutable_field
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: UnknownField
    signature: UnknownField * UnknownFieldSet::mutable_field(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UnknownFieldSet::AddLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' value'
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: google::protobuf::UnknownFieldSet::AddLengthDelimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 4
    functionsReached:
    - google::protobuf::UnknownFieldSet::AddLengthDelimited
    linkageType: ''
    returnType: void
    signature: "void UnknownFieldSet::AddLengthDelimited(int number,\n                                                const
      std::string& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: google::protobuf::UnknownField::number
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int UnknownField::number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: google::protobuf::UnknownField::type
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 30
    functionsReached:
    - static_cast<Type>
    linkageType: ''
    returnType: UnknownField::Type
    signature: UnknownField::Type UnknownField::type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:346,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_VARINT)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: google::protobuf::UnknownField::varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: uint64
    signature: uint64 UnknownField::varint() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:350,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_FIXED32)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: google::protobuf::UnknownField::fixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: uint32
    signature: uint32 UnknownField::fixed32() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:354,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_FIXED64)
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: google::protobuf::UnknownField::fixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: uint64
    signature: uint64 UnknownField::fixed64() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:358,1
    - Dst: type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_LENGTH_DELIMITED)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: '& UnknownField::length_delimited() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - type
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string & UnknownField::length_delimited() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:362,1
    - Dst: type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_GROUP)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: '& UnknownField::group() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - type
    - assert
    linkageType: ''
    returnType: UnknownFieldSet
    signature: UnknownFieldSet & UnknownField::group() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:367,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts:
    - condition: (type() == TYPE_VARINT)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: google::protobuf::UnknownField::set_varint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_varint(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:371,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts:
    - condition: (type() == TYPE_FIXED32)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: google::protobuf::UnknownField::set_fixed32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_fixed32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:375,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts:
    - condition: (type() == TYPE_FIXED64)
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: google::protobuf::UnknownField::set_fixed64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_fixed64(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:379,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:379,1
    - Dst: length_delimited_::string_value::assign
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts:
    - condition: (type() == TYPE_LENGTH_DELIMITED)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: google::protobuf::UnknownField::set_length_delimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - length_delimited_::string_value::assign
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: void
    signature: void UnknownField::set_length_delimited(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:383,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_LENGTH_DELIMITED)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: google::protobuf::UnknownField::mutable_length_delimited
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: std::string
    signature: std::string * UnknownField::mutable_length_delimited()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:387,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (type() == TYPE_GROUP)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: google::protobuf::UnknownField::mutable_group
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UnknownField::type
    - assert
    linkageType: ''
    returnType: UnknownFieldSet
    signature: UnknownFieldSet * UnknownField::mutable_group()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalMergeFromMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - MessageType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: google::protobuf::UnknownFieldSet::MergeFromMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - InternalMergeFromMessage
    linkageType: ''
    returnType: bool
    signature: bool UnknownFieldSet::MergeFromMessage(const MessageType& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:398,1
    - Dst: google::protobuf::UnknownField::type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:398,1
    - Dst: length_delimited_::string_value::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::UnknownField::GetLengthDelimitedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached:
    - length_delimited_::string_value::size
    - google::protobuf::UnknownField::type
    - GOOGLE_DCHECK_EQ
    linkageType: ''
    returnType: size_t
    signature: size_t UnknownField::GetLengthDelimitedSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: google::protobuf::UnknownField::SetType
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnknownField::SetType(Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& GetMap() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> & GetMap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::MapFieldLite::MutableMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> * MutableMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    - Dst: google::protobuf::internal::MapFieldLite::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: google::protobuf::internal::MapFieldLite::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::MapFieldLite::size
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::MapFieldLite::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: map_::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:78,1
    - Dst: map_::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapFieldLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::MapFieldLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - map_::end
    - map_::begin
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapFieldLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - MapFieldLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::MapFieldLite::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(MapFieldLite* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<EntryType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::MapFieldLite::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<EntryType>
    - arena
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::EnumWrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - t
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::EnumWrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEnumEntryWrapper(const Key& key, const T t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::Wrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' t'
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::MapFieldLite::NewEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::Wrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntryWrapper(const Key& key, const T& t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::MapFieldLite::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template
        ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                     bool (*is_valid)(int), uint32 field_num,\n
      \                                     InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map_field
    - field_num
    - metadata
    argTypes:
    - T*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::InitEnumParseWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EnumParseWrapper<UnknownType, T>
    signature: "EnumParseWrapper<UnknownType, T> InitEnumParseWrapper(\n    T* map_field,
      bool (*is_valid)(int), uint32 field_num,\n    InternalMetadata* metadata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:155,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: typename Map<Key, T>::const_iterator::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' field'
    argTypes:
    - "MapFieldLite<Derived, Key, T, key_wire_type,\n                                          value_wire_type>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 6
    functionsReached:
    - typename Map<Key, T>::const_iterator::second::IsInitialized
    - end
    - GetMap
    - begin
    linkageType: ''
    returnType: bool
    signature: "bool AllAreInitialized(const MapFieldLite<Derived, Key, T, key_wire_type,\n
      \                                         value_wire_type>& field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& GetMap() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> & GetMap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::MapFieldLite::MutableMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> * MutableMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    - Dst: google::protobuf::internal::MapFieldLite::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: google::protobuf::internal::MapFieldLite::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::MapFieldLite::size
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::MapFieldLite::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: map_::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:78,1
    - Dst: map_::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapFieldLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::MapFieldLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - map_::end
    - map_::begin
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapFieldLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - MapFieldLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::MapFieldLite::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(MapFieldLite* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<EntryType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::MapFieldLite::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<EntryType>
    - arena
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::EnumWrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - t
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::EnumWrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEnumEntryWrapper(const Key& key, const T t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::Wrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' t'
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::MapFieldLite::NewEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::Wrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntryWrapper(const Key& key, const T& t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::MapFieldLite::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template
        ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                     bool (*is_valid)(int), uint32 field_num,\n
      \                                     InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map_field
    - field_num
    - metadata
    argTypes:
    - T*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::InitEnumParseWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EnumParseWrapper<UnknownType, T>
    signature: "EnumParseWrapper<UnknownType, T> InitEnumParseWrapper(\n    T* map_field,
      bool (*is_valid)(int), uint32 field_num,\n    InternalMetadata* metadata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:155,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: typename Map<Key, T>::const_iterator::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' field'
    argTypes:
    - "MapFieldLite<Derived, Key, T, key_wire_type,\n                                          value_wire_type>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 6
    functionsReached:
    - typename Map<Key, T>::const_iterator::second::IsInitialized
    - end
    - GetMap
    - begin
    linkageType: ''
    returnType: bool
    signature: "bool AllAreInitialized(const MapFieldLite<Derived, Key, T, key_wire_type,\n
      \                                         value_wire_type>& field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& GetMap() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> & GetMap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::MapFieldLite::MutableMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> * MutableMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    - Dst: google::protobuf::internal::MapFieldLite::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: google::protobuf::internal::MapFieldLite::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::MapFieldLite::size
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::MapFieldLite::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: map_::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:78,1
    - Dst: map_::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapFieldLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::MapFieldLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - map_::end
    - map_::begin
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapFieldLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - MapFieldLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::MapFieldLite::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(MapFieldLite* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<EntryType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::MapFieldLite::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<EntryType>
    - arena
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::EnumWrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - t
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::EnumWrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEnumEntryWrapper(const Key& key, const T t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::Wrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' t'
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::MapFieldLite::NewEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::Wrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntryWrapper(const Key& key, const T& t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::MapFieldLite::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template
        ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                     bool (*is_valid)(int), uint32 field_num,\n
      \                                     InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map_field
    - field_num
    - metadata
    argTypes:
    - T*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::InitEnumParseWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EnumParseWrapper<UnknownType, T>
    signature: "EnumParseWrapper<UnknownType, T> InitEnumParseWrapper(\n    T* map_field,
      bool (*is_valid)(int), uint32 field_num,\n    InternalMetadata* metadata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:155,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: typename Map<Key, T>::const_iterator::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' field'
    argTypes:
    - "MapFieldLite<Derived, Key, T, key_wire_type,\n                                          value_wire_type>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 6
    functionsReached:
    - typename Map<Key, T>::const_iterator::second::IsInitialized
    - end
    - GetMap
    - begin
    linkageType: ''
    returnType: bool
    signature: "bool AllAreInitialized(const MapFieldLite<Derived, Key, T, key_wire_type,\n
      \                                         value_wire_type>& field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& GetMap() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> & GetMap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::MapFieldLite::MutableMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> * MutableMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    - Dst: google::protobuf::internal::MapFieldLite::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: google::protobuf::internal::MapFieldLite::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::MapFieldLite::size
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::MapFieldLite::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: map_::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:78,1
    - Dst: map_::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapFieldLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::MapFieldLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - map_::end
    - map_::begin
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapFieldLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - MapFieldLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::MapFieldLite::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(MapFieldLite* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<EntryType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::MapFieldLite::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<EntryType>
    - arena
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::EnumWrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - t
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::EnumWrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEnumEntryWrapper(const Key& key, const T t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::Wrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' t'
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::MapFieldLite::NewEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::Wrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntryWrapper(const Key& key, const T& t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::MapFieldLite::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template
        ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                     bool (*is_valid)(int), uint32 field_num,\n
      \                                     InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map_field
    - field_num
    - metadata
    argTypes:
    - T*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::InitEnumParseWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EnumParseWrapper<UnknownType, T>
    signature: "EnumParseWrapper<UnknownType, T> InitEnumParseWrapper(\n    T* map_field,
      bool (*is_valid)(int), uint32 field_num,\n    InternalMetadata* metadata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:155,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: typename Map<Key, T>::const_iterator::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' field'
    argTypes:
    - "MapFieldLite<Derived, Key, T, key_wire_type,\n                                          value_wire_type>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 6
    functionsReached:
    - typename Map<Key, T>::const_iterator::second::IsInitialized
    - end
    - GetMap
    - begin
    linkageType: ''
    returnType: bool
    signature: "bool AllAreInitialized(const MapFieldLite<Derived, Key, T, key_wire_type,\n
      \                                         value_wire_type>& field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& GetMap() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> & GetMap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::MapFieldLite::MutableMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> * MutableMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    - Dst: google::protobuf::internal::MapFieldLite::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: google::protobuf::internal::MapFieldLite::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 5
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::MapFieldLite::size
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::MapFieldLite::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: map_::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:78,1
    - Dst: map_::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapFieldLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::MapFieldLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - map_::end
    - map_::begin
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapFieldLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - MapFieldLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::MapFieldLite::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(MapFieldLite* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<EntryType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::MapFieldLite::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<EntryType>
    - arena
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::EnumWrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - t
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::EnumWrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEnumEntryWrapper(const Key& key, const T t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::Wrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' t'
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::MapFieldLite::NewEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::Wrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntryWrapper(const Key& key, const T& t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::MapFieldLite::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template
        ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                     bool (*is_valid)(int), uint32 field_num,\n
      \                                     InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map_field
    - field_num
    - metadata
    argTypes:
    - T*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::InitEnumParseWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EnumParseWrapper<UnknownType, T>
    signature: "EnumParseWrapper<UnknownType, T> InitEnumParseWrapper(\n    T* map_field,
      bool (*is_valid)(int), uint32 field_num,\n    InternalMetadata* metadata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:155,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: typename Map<Key, T>::const_iterator::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' field'
    argTypes:
    - "MapFieldLite<Derived, Key, T, key_wire_type,\n                                          value_wire_type>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 6
    functionsReached:
    - typename Map<Key, T>::const_iterator::second::IsInitialized
    - end
    - GetMap
    - begin
    linkageType: ''
    returnType: bool
    signature: "bool AllAreInitialized(const MapFieldLite<Derived, Key, T, key_wire_type,\n
      \                                         value_wire_type>& field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& GetMap() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> & GetMap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::MapFieldLite::MutableMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> * MutableMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    - Dst: google::protobuf::internal::MapFieldLite::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: google::protobuf::internal::MapFieldLite::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::MapFieldLite::size
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::MapFieldLite::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: map_::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:78,1
    - Dst: map_::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapFieldLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::MapFieldLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - map_::end
    - map_::begin
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapFieldLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - MapFieldLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::MapFieldLite::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(MapFieldLite* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<EntryType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::MapFieldLite::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<EntryType>
    - arena
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::EnumWrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - t
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::EnumWrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEnumEntryWrapper(const Key& key, const T t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::Wrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' t'
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::MapFieldLite::NewEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::Wrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntryWrapper(const Key& key, const T& t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::MapFieldLite::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template
        ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                     bool (*is_valid)(int), uint32 field_num,\n
      \                                     InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map_field
    - field_num
    - metadata
    argTypes:
    - T*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::InitEnumParseWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EnumParseWrapper<UnknownType, T>
    signature: "EnumParseWrapper<UnknownType, T> InitEnumParseWrapper(\n    T* map_field,
      bool (*is_valid)(int), uint32 field_num,\n    InternalMetadata* metadata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:155,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: typename Map<Key, T>::const_iterator::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' field'
    argTypes:
    - "MapFieldLite<Derived, Key, T, key_wire_type,\n                                          value_wire_type>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 6
    functionsReached:
    - typename Map<Key, T>::const_iterator::second::IsInitialized
    - end
    - GetMap
    - begin
    linkageType: ''
    returnType: bool
    signature: "bool AllAreInitialized(const MapFieldLite<Derived, Key, T, key_wire_type,\n
      \                                         value_wire_type>& field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& GetMap() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> & GetMap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::MapFieldLite::MutableMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> * MutableMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    - Dst: google::protobuf::internal::MapFieldLite::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: google::protobuf::internal::MapFieldLite::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 7
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::MapFieldLite::size
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::MapFieldLite::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: map_::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:78,1
    - Dst: map_::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapFieldLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::MapFieldLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - map_::end
    - map_::begin
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapFieldLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - MapFieldLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::MapFieldLite::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(MapFieldLite* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<EntryType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::MapFieldLite::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<EntryType>
    - arena
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::EnumWrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - t
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::EnumWrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEnumEntryWrapper(const Key& key, const T t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::Wrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' t'
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::MapFieldLite::NewEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::Wrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntryWrapper(const Key& key, const T& t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::MapFieldLite::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template
        ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                     bool (*is_valid)(int), uint32 field_num,\n
      \                                     InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map_field
    - field_num
    - metadata
    argTypes:
    - T*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::InitEnumParseWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EnumParseWrapper<UnknownType, T>
    signature: "EnumParseWrapper<UnknownType, T> InitEnumParseWrapper(\n    T* map_field,
      bool (*is_valid)(int), uint32 field_num,\n    InternalMetadata* metadata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:155,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: typename Map<Key, T>::const_iterator::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' field'
    argTypes:
    - "MapFieldLite<Derived, Key, T, key_wire_type,\n                                          value_wire_type>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 6
    functionsReached:
    - typename Map<Key, T>::const_iterator::second::IsInitialized
    - end
    - GetMap
    - begin
    linkageType: ''
    returnType: bool
    signature: "bool AllAreInitialized(const MapFieldLite<Derived, Key, T, key_wire_type,\n
      \                                         value_wire_type>& field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: google::protobuf::internal::MapFieldLite::MapFieldLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapFieldLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& GetMap() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> & GetMap() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::MapFieldLite::MutableMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Map<Key, T>
    signature: Map<Key, T> * MutableMap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    - Dst: google::protobuf::internal::MapFieldLite::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: google::protobuf::internal::MapFieldLite::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 8
    functionsReached:
    - static_cast<int>
    - google::protobuf::internal::MapFieldLite::size
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: google::protobuf::internal::MapFieldLite::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: map_::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:78,1
    - Dst: map_::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapFieldLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::MapFieldLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - map_::end
    - map_::begin
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapFieldLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - MapFieldLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::MapFieldLite::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void Swap(MapFieldLite* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<EntryType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    - Dst: arena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::MapFieldLite::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<EntryType>
    - arena
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntry() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::EnumWrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - t
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::EnumWrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEnumEntryWrapper(const Key& key, const T t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EntryType::Wrap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' t'
    argTypes:
    - Key
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::MapFieldLite::NewEntryWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - EntryType::Wrap
    linkageType: ''
    returnType: EntryType
    signature: EntryType * NewEntryWrapper(const Key& key, const T& t) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::MapFieldLite::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::_InternalParse
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template
        ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - typename Derived::template Parser<MapFieldLite, Map<Key, T>>::template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                     bool (*is_valid)(int), uint32 field_num,\n
      \                                     InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template ParseWithEnumValidation<UnknownType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached:
    - template ParseWithEnumValidation<UnknownType>
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - map_field
    - field_num
    - metadata
    argTypes:
    - T*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: google::protobuf::internal::InitEnumParseWrapper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EnumParseWrapper<UnknownType, T>
    signature: "EnumParseWrapper<UnknownType, T> InitEnumParseWrapper(\n    T* map_field,
      bool (*is_valid)(int), uint32 field_num,\n    InternalMetadata* metadata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:155,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:156,1
    - Dst: typename Map<Key, T>::const_iterator::second::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' field'
    argTypes:
    - "MapFieldLite<Derived, Key, T, key_wire_type,\n                                          value_wire_type>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: google::protobuf::internal::AllAreInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    functionUses: 6
    functionsReached:
    - typename Map<Key, T>::const_iterator::second::IsInitialized
    - end
    - GetMap
    - begin
    linkageType: ''
    returnType: bool
    signature: "bool AllAreInitialized(const MapFieldLite<Derived, Key, T, key_wire_type,\n
      \                                         value_wire_type>& field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::distance
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end, std::forward_iterator_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CalculateReserve(Iter /*begin*/, Iter /*end*/,\n                            std::input_iterator_tag
      /*unused*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    - Dst: Category
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - Category
    - google::protobuf::internal::CalculateReserve
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:124,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::SwapBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void SwapBlock(char* p, char* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::memswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename std::enable_if<(kSize == 0), void>::type
    signature: typename std::enable_if<(kSize == 0), void>::type memswap(char*, char*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reg_type
    - ','
    - max_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: PROTO_MEMSWAP_DEF_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTO_MEMSWAP_DEF_SIZE(reg_type, max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - std::distance
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end, std::forward_iterator_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CalculateReserve(Iter /*begin*/, Iter /*end*/,\n                            std::input_iterator_tag
      /*unused*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    - Dst: Category
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - Category
    - google::protobuf::internal::CalculateReserve
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:124,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::SwapBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void SwapBlock(char* p, char* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::memswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename std::enable_if<(kSize == 0), void>::type
    signature: typename std::enable_if<(kSize == 0), void>::type memswap(char*, char*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reg_type
    - ','
    - max_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: PROTO_MEMSWAP_DEF_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTO_MEMSWAP_DEF_SIZE(reg_type, max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Get
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: '& operator[](int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Mutable
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:278,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: google::protobuf::RepeatedField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rbegin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:280,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: google::protobuf::RepeatedField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:282,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: google::protobuf::RepeatedField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - begin
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:284,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: google::protobuf::RepeatedField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    - begin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:292,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: google::protobuf::RepeatedField::SpaceUsedExcludingSelf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsedExcludingSelf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Arena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:312,1
    - Dst: google::protobuf::RepeatedField::rep
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: google::protobuf::RepeatedField::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - static_cast<Arena*>
    - google::protobuf::RepeatedField::rep
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:352,1
    - Dst: google::protobuf::RepeatedField::unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: google::protobuf::RepeatedField::elements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GT
    - google::protobuf::RepeatedField::unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * elements() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: google::protobuf::RepeatedField::unsafe_elements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - static_cast<Element*>
    linkageType: ''
    returnType: Element
    signature: Element * unsafe_elements() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:367,1
    - Dst: google::protobuf::RepeatedField::elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:367,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: google::protobuf::RepeatedField::rep
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<Rep*>
    - google::protobuf::RepeatedField::elements
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: Rep
    signature: Rep * rep() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Element*::~Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:389,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:395,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:395,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:397,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - rep
    - size
    argTypes:
    - Rep*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: google::protobuf::RepeatedField::InternalDeallocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Element*::~Element
    - ::operator delete
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void InternalDeallocate(Rep* rep, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rf
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: google::protobuf::RepeatedField::FastAdderImpl::FastAdderImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: void
    signature: void FastAdderImpl(RepeatedField* rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: ~FastAdderImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FastAdderImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:454,1
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - val
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 459
    functionName: google::protobuf::RepeatedField::FastAdderImpl::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    - Reserve
    linkageType: ''
    returnType: void
    signature: void Add(Element val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rf
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: google::protobuf::RepeatedField::FastAdderImpl<I, false>::FastAdderImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FastAdderImpl(RepeatedField* rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
    linkageType: ''
    returnType: void
    signature: void Add(const Element& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:637,1
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:741,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 798
    functionName: google::protobuf::internal::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    - reinterpret_cast<const typename TypeHandler::Type*>
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - SpaceAllocated
    - AddAllocatedInternal<TypeHandler>
    - Add
    - reinterpret_cast<typename TypeHandler::Type*>
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedPtrFieldBase
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 588
    functionName: ~RepeatedPtrFieldBase()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - SpaceAllocated
    linkageType: ''
    returnType: void
    signature: void ~RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: google::protobuf::internal::AddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - AddAllocatedInternal<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void AddAllocated(typename TypeHandler::Type* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: google::protobuf::internal::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * ReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 750
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(const void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 808
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMaybeMessage<Type>
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<GenericType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::Create<GenericType>
    - std::move
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena, GenericType&& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - GenericType*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: google::protobuf::internal::GenericTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(GenericType* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 821
    functionName: google::protobuf::internal::GenericTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::GenericTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const GenericType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 838
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - New
    linkageType: ''
    returnType: GenericType
    signature: "GenericType * GenericTypeHandler<GenericType>::NewFromPrototype(\n
      \   const GenericType* /* prototype */, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - GenericType
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<GenericType>::Merge(const GenericType& from,\n
      \                                           GenericType* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 854
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GenericTypeHandler<MessageLite>::GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: "void * GenericTypeHandler<MessageLite>::GetMaybeArenaPointer(\n    MessageLite*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 866
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void GenericTypeHandler<std::string>::Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 890
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 893
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::move
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena, std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: google::protobuf::internal::StringTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::StringTypeHandler::New
    linkageType: ''
    returnType: std::string
    signature: "std::string * NewFromPrototype(const std::string*,\n                                              Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 898
    functionName: google::protobuf::internal::StringTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(std::string*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(std::string* /* value */)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: google::protobuf::internal::StringTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(std::string* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 907
    functionName: google::protobuf::internal::StringTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 910
    functionName: google::protobuf::internal::StringTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Merge(const std::string& from, std::string* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 913
    functionName: google::protobuf::internal::StringTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const std::string& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:637,1
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:741,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 798
    functionName: google::protobuf::internal::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    - reinterpret_cast<const typename TypeHandler::Type*>
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - SpaceAllocated
    - AddAllocatedInternal<TypeHandler>
    - Add
    - reinterpret_cast<typename TypeHandler::Type*>
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedPtrFieldBase
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 588
    functionName: ~RepeatedPtrFieldBase()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::SpaceAllocated
    linkageType: ''
    returnType: void
    signature: void ~RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: google::protobuf::internal::AddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - AddAllocatedInternal<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void AddAllocated(typename TypeHandler::Type* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: google::protobuf::internal::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * ReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 750
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(const void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 808
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMaybeMessage<Type>
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<GenericType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::Create<GenericType>
    - std::move
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena, GenericType&& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - GenericType*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: google::protobuf::internal::GenericTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(GenericType* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 821
    functionName: google::protobuf::internal::GenericTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::GenericTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const GenericType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 838
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - New
    linkageType: ''
    returnType: GenericType
    signature: "GenericType * GenericTypeHandler<GenericType>::NewFromPrototype(\n
      \   const GenericType* /* prototype */, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - GenericType
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<GenericType>::Merge(const GenericType& from,\n
      \                                           GenericType* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 854
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GenericTypeHandler<MessageLite>::GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: "void * GenericTypeHandler<MessageLite>::GetMaybeArenaPointer(\n    MessageLite*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 866
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void GenericTypeHandler<std::string>::Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 890
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 893
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - std::move
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena, std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: google::protobuf::internal::StringTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::StringTypeHandler::New
    linkageType: ''
    returnType: std::string
    signature: "std::string * NewFromPrototype(const std::string*,\n                                              Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 898
    functionName: google::protobuf::internal::StringTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(std::string*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(std::string* /* value */)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: google::protobuf::internal::StringTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(std::string* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 907
    functionName: google::protobuf::internal::StringTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 910
    functionName: google::protobuf::internal::StringTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Merge(const std::string& from, std::string* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 913
    functionName: google::protobuf::internal::StringTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 944
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Get
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 945
    functionName: '& operator[](int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Mutable
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1009,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1009
    functionName: google::protobuf::RepeatedPtrField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rbegin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1011,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: google::protobuf::RepeatedPtrField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1013,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1013
    functionName: google::protobuf::RepeatedPtrField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - begin
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1015,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1016
    functionName: google::protobuf::RepeatedPtrField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    - begin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1035,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1036
    functionName: google::protobuf::RepeatedPtrField::SpaceUsedExcludingSelf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsedExcludingSelf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1156
    functionName: google::protobuf::RepeatedPtrField::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    linkageType: ''
    returnType: void
    signature: void InternalSwap(RepeatedPtrField* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1184
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1188
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1194,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1194,1
    - Dst: google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1195,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1195,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    - Dst: google::protobuf::RepeatedField<Element>::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1198
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyArray
    - google::protobuf::RepeatedField<Element>::Reserve
    - google::protobuf::RepeatedField<Element>::size
    - google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
    - Get
    - google::protobuf::RepeatedField<Element>::Mutable
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(const RepeatedField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - ' end'
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1205
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::Add
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(Iter begin, const Iter&
      end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InternalDeallocate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1210,1
    - Dst: rep
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1212
    functionName: RepeatedField<Element>::~RepeatedField()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - InternalDeallocate
    - rep
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::~RepeatedField()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1219
    functionName: "& RepeatedField<Element>::operator=(\n    const RepeatedField&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: RepeatedField<Element>
    signature: "RepeatedField<Element> & RepeatedField<Element>::operator=(\n    const
      RepeatedField& other)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1227,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1228,1
    - Dst: google::protobuf::RepeatedField<Element>::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1222
    functionDepth: 1
    functionLinenumber: 1222
    functionLinenumberEnd: 1232
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyFrom
    - google::protobuf::RepeatedField<Element>::InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(RepeatedField&& other) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: '& RepeatedField<Element>::GetArena'
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1240,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1240,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1241,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1247
    functionName: "& RepeatedField<Element>::operator=(\n    RepeatedField&& other)
      noexcept"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - '& RepeatedField<Element>::GetArena'
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: RepeatedField<Element>
    signature: "RepeatedField<Element> & RepeatedField<Element>::operator=(\n    RepeatedField&&
      other) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1252
    functionName: google::protobuf::RepeatedField<Element>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RepeatedField<Element>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1257
    functionName: google::protobuf::RepeatedField<Element>::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedField<Element>::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1262
    functionName: google::protobuf::RepeatedField<Element>::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedField<Element>::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1266,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1268
    functionName: google::protobuf::RepeatedField<Element>::AddAlreadyReserved
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::AddAlreadyReserved(const Element& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1272,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1274
    functionName: google::protobuf::RepeatedField<Element>::AddAlreadyReserved
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::AddAlreadyReserved()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1278,1
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1287
    functionName: google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_GE
    - unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::AddNAlreadyReserved(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1291,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1293,1
    - Dst: std::fill
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1294,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1294,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - new_size
    - ' value'
    argTypes:
    - int
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1297
    functionName: google::protobuf::RepeatedField<Element>::Resize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - elements
    - GOOGLE_DCHECK_GE
    - std::fill
    - google::protobuf::RepeatedField<Element>::Reserve
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Resize(int new_size, const Element& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1301,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1302,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1304
    functionName: '& RepeatedField<Element>::Get(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedField<Element>::Get(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1308,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1309,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1311
    functionName: '& RepeatedField<Element>::at(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedField<Element>::at(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1315,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1316,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1318
    functionName: '& RepeatedField<Element>::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedField<Element>::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1322,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1323,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1325
    functionName: google::protobuf::RepeatedField<Element>::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1329,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1330,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - index
    - ' value'
    argTypes:
    - int
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1332
    functionName: google::protobuf::RepeatedField<Element>::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Set(int index, const Element& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1337,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1341,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1342,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1342,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1347
    functionName: google::protobuf::RepeatedField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - elements
    - std::move
    - static_cast<int>
    - google::protobuf::RepeatedField<Element>::Reserve
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Add(const Element& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1352,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1352,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1350
    functionDepth: 1
    functionLinenumber: 1350
    functionLinenumberEnd: 1356
    functionName: google::protobuf::RepeatedField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - elements
    - static_cast<int>
    - google::protobuf::RepeatedField<Element>::Reserve
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::Add()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1361,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1367,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1367,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1374,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1374,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1374,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1375,1
    - Dst: FastAdder::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1380
    functionName: google::protobuf::RepeatedField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::CalculateReserve
    - google::protobuf::RepeatedField<Element>::Reserve
    - FastAdder::Add
    - elements
    - google::protobuf::RepeatedField<Element>::size
    - std::copy
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Add(Iter begin, Iter end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1386
    functionName: google::protobuf::RepeatedField<Element>::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RemoveLast()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1391,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1392,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1393,1
    - Dst: google::protobuf::RepeatedField<Element>::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1397,1
    - Dst: google::protobuf::RepeatedField<Element>::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1403,1
    - Dst: google::protobuf::RepeatedField<Element>::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1403,1
    - Dst: google::protobuf::RepeatedField<Element>::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1389
    functionDepth: 2
    functionLinenumber: 1389
    functionLinenumberEnd: 1406
    functionName: google::protobuf::RepeatedField<Element>::ExtractSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedField<Element>::Truncate
    - google::protobuf::RepeatedField<Element>::Get
    - google::protobuf::RepeatedField<Element>::Set
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: "void RepeatedField<Element>::ExtractSubrange(int start, int num,\n
      \                                            Element* elements)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1411
    functionName: google::protobuf::RepeatedField<Element>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1415,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1417,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1418,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1418,1
    - Dst: google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1419,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1419,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    - Dst: google::protobuf::RepeatedField<Element>::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1414
    functionDepth: 2
    functionLinenumber: 1414
    functionLinenumberEnd: 1422
    functionName: google::protobuf::RepeatedField<Element>::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyArray
    - GOOGLE_DCHECK_NE
    - google::protobuf::RepeatedField<Element>::Reserve
    - google::protobuf::RepeatedField<Element>::size
    - google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
    - Get
    - google::protobuf::RepeatedField<Element>::Mutable
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::MergeFrom(const RepeatedField& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1427,1
    - Dst: google::protobuf::RepeatedField<Element>::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1429
    functionName: google::protobuf::RepeatedField<Element>::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::RepeatedField<Element>::Clear
    - google::protobuf::RepeatedField<Element>::MergeFrom
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::CopyFrom(const RepeatedField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - position
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1435
    functionName: google::protobuf::RepeatedField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::RepeatedField<Element>::erase
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: "typename RepeatedField<Element>::iterator RepeatedField<Element>::erase(\n
      \   const_iterator position)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1440,1
    - Dst: google::protobuf::RepeatedField<Element>::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::cend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1445
    functionName: google::protobuf::RepeatedField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::RepeatedField<Element>::begin
    - google::protobuf::RepeatedField<Element>::Truncate
    - std::copy
    - google::protobuf::RepeatedField<Element>::cbegin
    - google::protobuf::RepeatedField<Element>::cend
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: "typename RepeatedField<Element>::iterator RepeatedField<Element>::erase(\n
      \   const_iterator first, const_iterator last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1450
    functionName: google::protobuf::RepeatedField<Element>::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1455
    functionName: google::protobuf::RepeatedField<Element>::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1459,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1460,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1460,1
    - Dst: RepeatedField*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1460,1
    - Dst: "internal::memswap<offsetof(RepeatedField, arena_or_elements_) +\n                    sizeof(this->arena_or_elements_)
        -\n                    offsetof(RepeatedField, current_size_)>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1465,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1468,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1458
    functionDepth: 1
    functionLinenumber: 1458
    functionLinenumberEnd: 1470
    functionName: google::protobuf::RepeatedField<Element>::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - "internal::memswap<offsetof(RepeatedField, arena_or_elements_) +\n                    sizeof(this->arena_or_elements_)
      -\n                    offsetof(RepeatedField, current_size_)>"
    - GOOGLE_DCHECK
    - RepeatedField*::GetArena
    - GetArena
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::InternalSwap(RepeatedField* other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1475,1
    - Dst: RepeatedField*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1475,1
    - Dst: google::protobuf::RepeatedField<Element>::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1476,1
    - Dst: RepeatedField*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1478,1
    - Dst: RepeatedField::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1479,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1480,1
    - Dst: RepeatedField*::UnsafeArenaSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1473
    functionDepth: 4
    functionLinenumber: 1473
    functionLinenumberEnd: 1483
    functionName: google::protobuf::RepeatedField<Element>::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedField*::UnsafeArenaSwap
    - RepeatedField*::GetArena
    - google::protobuf::RepeatedField<Element>::CopyFrom
    - RepeatedField::MergeFrom
    - google::protobuf::RepeatedField<Element>::InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Swap(RepeatedField* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1489
    functionName: google::protobuf::RepeatedField<Element>::UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::InternalSwap
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::UnsafeArenaSwap(RepeatedField* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1494,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1494,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1495
    functionName: google::protobuf::RepeatedField<Element>::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - swap
    - elements
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::SwapElements(int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1501
    functionName: google::protobuf::RepeatedField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: typename RepeatedField<Element>::iterator RepeatedField<Element>::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1506
    functionName: google::protobuf::RepeatedField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1511
    functionName: google::protobuf::RepeatedField<Element>::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::cbegin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1515
    functionName: google::protobuf::RepeatedField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: typename RepeatedField<Element>::iterator RepeatedField<Element>::end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1520
    functionName: google::protobuf::RepeatedField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1525
    functionName: google::protobuf::RepeatedField<Element>::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::cend()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1530
    functionName: google::protobuf::RepeatedField<Element>::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedField<Element>::SpaceUsedExcludingSelfLong() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1547,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1550,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - total_size
    - new_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1553
    functionName: google::protobuf::internal::CalculateReserveSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GT
    - std::max
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: int
    signature: int CalculateReserveSize(int total_size, int new_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1547,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1550,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - total_size
    - new_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1553
    functionName: google::protobuf::internal::CalculateReserveSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GT
    - std::max
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: int
    signature: int CalculateReserveSize(int total_size, int new_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rep
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1561,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1563,1
    - Dst: google::protobuf::internal::CalculateReserveSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1564,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1565,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1566,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1567,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1570,1
    - Dst: static_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1572,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1572,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1574,1
    - Dst: Arena::CreateArray<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1574,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1593,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1596,1
    - Dst: google::protobuf::RepeatedField<Element>::MoveArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1599,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1599,1
    - Dst: InternalDeallocate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1559
    functionDepth: 2
    functionLinenumber: 1559
    functionLinenumberEnd: 1605
    functionName: google::protobuf::RepeatedField<Element>::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - ::operator new
    - Arena::CreateArray<char>
    - google::protobuf::internal::CalculateReserveSize
    - reinterpret_cast<Rep*>
    - elements
    - Element::Element
    - std::numeric_limits<size_t>::max
    - google::protobuf::RepeatedField<Element>::MoveArray
    - static_cast<size_t>
    - static_cast<Rep*>
    - GetArena
    - GOOGLE_DCHECK_LE
    - InternalDeallocate
    - rep
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Reserve(int new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1613
    functionName: google::protobuf::RepeatedField<Element>::Truncate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Truncate(int new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::CopyArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1619
    functionName: google::protobuf::RepeatedField<Element>::MoveArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyArray
    linkageType: ''
    returnType: void
    signature: "void RepeatedField<Element>::MoveArray(Element* to, Element* from,\n
      \                                             int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::ElementCopier<Element>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1625
    functionName: google::protobuf::RepeatedField<Element>::CopyArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - internal::ElementCopier<Element>
    linkageType: ''
    returnType: void
    signature: "void RepeatedField<Element>::CopyArray(Element* to, const Element*
      from,\n                                              int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::copy
    linkageType: ''
    returnType: void
    signature: "void ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1640
    functionName: operator()(Element* to, const Element* from, int array_size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - memcpy
    linkageType: ''
    returnType: void
    signature: void operator()(Element* to, const Element* from, int array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::copy
    linkageType: ''
    returnType: void
    signature: "void ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1640
    functionName: operator()(Element* to, const Element* from, int array_size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - memcpy
    linkageType: ''
    returnType: void
    signature: void operator()(Element* to, const Element* from, int array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1651
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1654
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    - ::operator delete
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1677,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1675
    functionDepth: 1
    functionLinenumber: 1675
    functionLinenumberEnd: 1681
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Swap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1690,1
    - Dst: RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1691,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1692,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1693,1
    - Dst: RepeatedPtrFieldBase*::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1694,1
    - Dst: RepeatedPtrFieldBase::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1684
    functionDepth: 1
    functionLinenumber: 1684
    functionLinenumberEnd: 1696
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    - google::protobuf::internal::RepeatedPtrFieldBase::Clear
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - RepeatedPtrFieldBase::MergeFrom
    - RepeatedPtrFieldBase*::InternalSwap
    - RepeatedPtrFieldBase::Destroy
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapFallback(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RepeatedPtrFieldBase::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1700
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1705,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1706,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1703
    functionDepth: 1
    functionLinenumber: 1703
    functionLinenumberEnd: 1708
    functionName: "& RepeatedPtrFieldBase::Get(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::Get(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1713,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1714,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1716
    functionName: "& RepeatedPtrFieldBase::at(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::at(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1720,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1721,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1723
    functionName: '& RepeatedPtrFieldBase::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type & RepeatedPtrFieldBase::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1727,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1728,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1730
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1734,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1735,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1737
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Delete(int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1743,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1746,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1740
    functionDepth: 3
    functionLinenumber: 1740
    functionLinenumberEnd: 1753
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::Add(\n    typename
      TypeHandler::Type* prototype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1763,1
    - Dst: google::protobuf::internal::GenericTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename TypeHandler::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1757
    functionDepth: 3
    functionLinenumber: 1757
    functionLinenumberEnd: 1769
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::GenericTypeHandler::New
    - cast<TypeHandler>
    - std::move
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Add(typename TypeHandler::Type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1773,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1775
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RemoveLast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1780,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1789
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_GE
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1799,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1798
    functionDepth: 1
    functionLinenumber: 1798
    functionLinenumberEnd: 1803
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::MergeFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1805
    functionDepth: 2
    functionLinenumber: 1805
    functionLinenumberEnd: 1819
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInternal(\n    const RepeatedPtrFieldBase&
      other,\n    void (RepeatedPtrFieldBase::*inner_loop)(void**, void**, int, int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1831,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1833,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1834,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1836,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1840,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1842,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - our_elems
    - other_elems
    - length
    - already_allocated
    argTypes:
    - void**
    - void**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1846
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - reinterpret_cast<typename TypeHandler::Type*>
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInnerLoop(void** our_elems,\n
      \                                             void** other_elems, int length,\n
      \                                             int already_allocated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Clear<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1851,1
    - Dst: RepeatedPtrFieldBase::MergeFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1853
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::MergeFrom<TypeHandler>
    - RepeatedPtrFieldBase::Clear<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CopyFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1859
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * const* RepeatedPtrFieldBase::raw_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1863
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<void**>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::raw_mutable_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1870
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type**>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type ** RepeatedPtrFieldBase::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1878
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type* const*>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * const* RepeatedPtrFieldBase::data()\n
      \   const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1883
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapElements(int index1, int index2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1887,1
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1886
    functionDepth: 2
    functionLinenumber: 1886
    functionLinenumberEnd: 1896
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    - static_cast<size_t>
    - cast<TypeHandler>
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1905
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::AddFromCleared()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Arena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1913,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1909
    functionDepth: 1
    functionLinenumber: 1909
    functionLinenumberEnd: 1931
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Arena*>
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::true_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1943,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1946,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1947,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1948,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - value
    - value_arena
    - my_arena
    argTypes:
    - typename TypeHandler::Type*
    - Arena*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1935
    functionDepth: 1
    functionLinenumber: 1935
    functionLinenumberEnd: 1953
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - Arena*::Own
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedSlowWithCopy(\n    // Pass
      value_arena and my_arena to avoid duplicate virtual call (value) or\n    //
      load (mine).\n    typename TypeHandler::Type* value, Arena* value_arena, Arena*
      my_arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1957
    functionDepth: 1
    functionLinenumber: 1957
    functionLinenumberEnd: 1975
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::false_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1983,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1978
    functionDepth: 3
    functionLinenumber: 1978
    functionLinenumberEnd: 2003
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::UnsafeArenaAddAllocated(\n    typename
      TypeHandler::Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2010,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2012,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2017,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2007
    functionDepth: 1
    functionLinenumber: 2007
    functionLinenumberEnd: 2021
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2028
    functionDepth: 1
    functionLinenumber: 2028
    functionLinenumberEnd: 2035
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::false_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2040,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2050
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: 'typename TypeHandler::Type *

      RepeatedPtrFieldBase::UnsafeArenaReleaseLast()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2054
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::ClearedCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2057
    functionDepth: 3
    functionLinenumber: 2057
    functionLinenumberEnd: 2067
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - GOOGLE_DCHECK
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddCleared(\n    typename TypeHandler::Type*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2075,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2076,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2070
    functionDepth: 1
    functionLinenumber: 2070
    functionLinenumberEnd: 2078
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    - GOOGLE_DCHECK_GT
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseCleared()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1651
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1654
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    - ::operator delete
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1677,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1675
    functionDepth: 2
    functionLinenumber: 1675
    functionLinenumberEnd: 1681
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Swap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1690,1
    - Dst: RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1691,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1692,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1693,1
    - Dst: RepeatedPtrFieldBase*::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1694,1
    - Dst: RepeatedPtrFieldBase::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1684
    functionDepth: 2
    functionLinenumber: 1684
    functionLinenumberEnd: 1696
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    - google::protobuf::internal::RepeatedPtrFieldBase::Clear
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - RepeatedPtrFieldBase::MergeFrom
    - RepeatedPtrFieldBase*::InternalSwap
    - RepeatedPtrFieldBase::Destroy
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapFallback(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RepeatedPtrFieldBase::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1700
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1705,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1706,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1703
    functionDepth: 1
    functionLinenumber: 1703
    functionLinenumberEnd: 1708
    functionName: "& RepeatedPtrFieldBase::Get(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::Get(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1713,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1714,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1716
    functionName: "& RepeatedPtrFieldBase::at(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::at(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1720,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1721,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1723
    functionName: '& RepeatedPtrFieldBase::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type & RepeatedPtrFieldBase::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1727,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1728,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1730
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1734,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1735,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1737
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Delete(int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1743,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1746,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1740
    functionDepth: 3
    functionLinenumber: 1740
    functionLinenumberEnd: 1753
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::Add(\n    typename
      TypeHandler::Type* prototype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1763,1
    - Dst: google::protobuf::internal::GenericTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename TypeHandler::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1757
    functionDepth: 3
    functionLinenumber: 1757
    functionLinenumberEnd: 1769
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::GenericTypeHandler::New
    - cast<TypeHandler>
    - std::move
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Add(typename TypeHandler::Type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1773,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1775
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RemoveLast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1780,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1789
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_GE
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1799,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1798
    functionDepth: 3
    functionLinenumber: 1798
    functionLinenumberEnd: 1803
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::MergeFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1805
    functionDepth: 2
    functionLinenumber: 1805
    functionLinenumberEnd: 1819
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInternal(\n    const RepeatedPtrFieldBase&
      other,\n    void (RepeatedPtrFieldBase::*inner_loop)(void**, void**, int, int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1831,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1833,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1834,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1836,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1840,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1842,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - our_elems
    - other_elems
    - length
    - already_allocated
    argTypes:
    - void**
    - void**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1846
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - reinterpret_cast<typename TypeHandler::Type*>
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInnerLoop(void** our_elems,\n
      \                                             void** other_elems, int length,\n
      \                                             int already_allocated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Clear<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1851,1
    - Dst: RepeatedPtrFieldBase::MergeFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1853
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::MergeFrom<TypeHandler>
    - RepeatedPtrFieldBase::Clear<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CopyFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1859
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * const* RepeatedPtrFieldBase::raw_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1863
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - const_cast<void**>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::raw_mutable_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1870
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type**>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type ** RepeatedPtrFieldBase::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1878
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type* const*>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * const* RepeatedPtrFieldBase::data()\n
      \   const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1883
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapElements(int index1, int index2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1887,1
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1886
    functionDepth: 2
    functionLinenumber: 1886
    functionLinenumberEnd: 1896
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    - static_cast<size_t>
    - cast<TypeHandler>
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1905
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::AddFromCleared()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Arena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1913,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1909
    functionDepth: 2
    functionLinenumber: 1909
    functionLinenumberEnd: 1931
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Arena*>
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::true_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1943,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1946,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1947,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1948,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - value
    - value_arena
    - my_arena
    argTypes:
    - typename TypeHandler::Type*
    - Arena*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1935
    functionDepth: 4
    functionLinenumber: 1935
    functionLinenumberEnd: 1953
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - Arena*::Own
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedSlowWithCopy(\n    // Pass
      value_arena and my_arena to avoid duplicate virtual call (value) or\n    //
      load (mine).\n    typename TypeHandler::Type* value, Arena* value_arena, Arena*
      my_arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1957
    functionDepth: 4
    functionLinenumber: 1957
    functionLinenumberEnd: 1975
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::false_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1983,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1978
    functionDepth: 3
    functionLinenumber: 1978
    functionLinenumberEnd: 2003
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::UnsafeArenaAddAllocated(\n    typename
      TypeHandler::Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2010,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2012,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2017,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2007
    functionDepth: 2
    functionLinenumber: 2007
    functionLinenumberEnd: 2021
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2028
    functionDepth: 2
    functionLinenumber: 2028
    functionLinenumberEnd: 2035
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::false_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2040,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2050
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: 'typename TypeHandler::Type *

      RepeatedPtrFieldBase::UnsafeArenaReleaseLast()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2054
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::ClearedCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2057
    functionDepth: 3
    functionLinenumber: 2057
    functionLinenumberEnd: 2067
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - GOOGLE_DCHECK
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddCleared(\n    typename TypeHandler::Type*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2075,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2076,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2070
    functionDepth: 1
    functionLinenumber: 2070
    functionLinenumberEnd: 2078
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    - GOOGLE_DCHECK_GT
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseCleared()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2094
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::RepeatedPtrField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2098
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::RepeatedPtrField(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2101
    functionDepth: 1
    functionLinenumber: 2101
    functionLinenumberEnd: 2105
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::RepeatedPtrField(\n    const RepeatedPtrField&
      other)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2111,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2113,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - begin
    - ' end'
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2109
    functionDepth: 1
    functionLinenumber: 2109
    functionLinenumberEnd: 2118
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::Reserve
    - google::protobuf::RepeatedPtrField<Element>::Add
    - google::protobuf::internal::CalculateReserve
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::RepeatedPtrField(Iter begin,\n                                                   const
      Iter& end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2121
    functionDepth: 0
    functionLinenumber: 2121
    functionLinenumberEnd: 2123
    functionName: RepeatedPtrField<Element>::~RepeatedPtrField()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Destroy<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::~RepeatedPtrField()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2130
    functionName: "& RepeatedPtrField<Element>::operator=(\n    const RepeatedPtrField&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: RepeatedPtrField<Element>
    signature: "RepeatedPtrField<Element> & RepeatedPtrField<Element>::operator=(\n
      \   const RepeatedPtrField& other)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2139,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2140,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2133
    functionDepth: 1
    functionLinenumber: 2133
    functionLinenumberEnd: 2144
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::CopyFrom
    - google::protobuf::RepeatedPtrField<Element>::GetArena
    - InternalSwap
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::RepeatedPtrField(\n    RepeatedPtrField&&
      other) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: '& RepeatedPtrField<Element>::GetArena'
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2152,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2152,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2153,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2159
    functionName: "& RepeatedPtrField<Element>::operator=(\n    RepeatedPtrField&&
      other) noexcept"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - '& RepeatedPtrField<Element>::GetArena'
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: RepeatedPtrField<Element>
    signature: "RepeatedPtrField<Element> & RepeatedPtrField<Element>::operator=(\n
      \   RepeatedPtrField&& other) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2162
    functionDepth: 1
    functionLinenumber: 2162
    functionLinenumberEnd: 2164
    functionName: google::protobuf::RepeatedPtrField<Element>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::empty
    linkageType: ''
    returnType: bool
    signature: bool RepeatedPtrField<Element>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2167
    functionDepth: 1
    functionLinenumber: 2167
    functionLinenumberEnd: 2169
    functionName: google::protobuf::RepeatedPtrField<Element>::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::size
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrField<Element>::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Get<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2174
    functionName: '& RepeatedPtrField<Element>::Get(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Get<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedPtrField<Element>::Get(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::at<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2177
    functionDepth: 0
    functionLinenumber: 2177
    functionLinenumberEnd: 2179
    functionName: '& RepeatedPtrField<Element>::at(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::at<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedPtrField<Element>::at(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::at<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2184
    functionName: '& RepeatedPtrField<Element>::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::at<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedPtrField<Element>::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2188
    functionDepth: 0
    functionLinenumber: 2188
    functionLinenumberEnd: 2190
    functionName: google::protobuf::RepeatedPtrField<Element>::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Mutable<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Add<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2195
    functionName: google::protobuf::RepeatedPtrField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - RepeatedPtrFieldBase::Add<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::Add()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Add<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2199,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2200
    functionName: google::protobuf::RepeatedPtrField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - RepeatedPtrFieldBase::Add<TypeHandler>
    - std::move
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Add(Element&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::RemoveLast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2205
    functionName: google::protobuf::RepeatedPtrField<Element>::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::RemoveLast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::RemoveLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2209,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2210,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2211,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2211,1
    - Dst: RepeatedPtrFieldBase::Delete<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2213,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - start
    - num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2208
    functionDepth: 2
    functionLinenumber: 2208
    functionLinenumberEnd: 2216
    functionName: google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedPtrField<Element>::size
    - google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
    - GOOGLE_DCHECK_LE
    - RepeatedPtrFieldBase::Delete<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::DeleteSubrange(int start, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2224
      start: 2219
    functionDepth: 1
    functionLinenumber: 2219
    functionLinenumberEnd: 2224
    functionName: google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::ExtractSubrange(int start, int num,\n
      \                                                      Element** elements)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2231,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2232,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2233,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2233,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2238,1
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2243,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2245,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2246,1
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2251,1
    - Dst: CloseGap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2229
    functionDepth: 2
    functionLinenumber: 2229
    functionLinenumberEnd: 2257
    functionName: google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - CloseGap
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedPtrField<Element>::size
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - RepeatedPtrFieldBase::Mutable<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - GOOGLE_DCHECK_LE
    - google::protobuf::RepeatedPtrField<Element>::GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::ExtractSubrangeInternal(\n    int
      start, int num, Element** elements, std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2268,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2268,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2262
    functionDepth: 1
    functionLinenumber: 2262
    functionLinenumberEnd: 2272
    functionName: google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
    - GOOGLE_DCHECK
    - google::protobuf::RepeatedPtrField<Element>::GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::ExtractSubrangeInternal(\n    int
      start, int num, Element** elements, std::false_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2277,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2278,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2279,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2279,1
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2285,1
    - Dst: CloseGap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2275
    functionDepth: 2
    functionLinenumber: 2275
    functionLinenumberEnd: 2290
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - CloseGap
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedPtrField<Element>::size
    - RepeatedPtrFieldBase::Mutable<TypeHandler>
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::UnsafeArenaExtractSubrange(\n    int
      start, int num, Element** elements)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Clear<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2295
    functionName: google::protobuf::RepeatedPtrField<Element>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Clear<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::MergeFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2301
    functionName: google::protobuf::RepeatedPtrField<Element>::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - RepeatedPtrFieldBase::MergeFrom<TypeHandler>
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::MergeFrom(\n    const RepeatedPtrField&
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::CopyFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2306
    functionName: google::protobuf::RepeatedPtrField<Element>::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - RepeatedPtrFieldBase::CopyFrom<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::CopyFrom(const RepeatedPtrField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - position
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2309
    functionDepth: 1
    functionLinenumber: 2309
    functionLinenumberEnd: 2312
    functionName: google::protobuf::RepeatedPtrField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::erase
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::erase(const_iterator
      position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2317,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2317,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2318,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2318,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2319,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2321
      start: 2315
    functionDepth: 3
    functionLinenumber: 2315
    functionLinenumberEnd: 2321
    functionName: google::protobuf::RepeatedPtrField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::cbegin
    - std::distance
    - google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
    - google::protobuf::RepeatedPtrField<Element>::begin
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::erase(const_iterator
      first, const_iterator last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::mutable_data<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2326
    functionName: google::protobuf::RepeatedPtrField<Element>::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::mutable_data<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element ** RepeatedPtrField<Element>::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::data<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2331
    functionName: google::protobuf::RepeatedPtrField<Element>::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::data<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * const* RepeatedPtrField<Element>::data() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Swap<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2337
    functionName: google::protobuf::RepeatedPtrField<Element>::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Swap<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Swap(RepeatedPtrField* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2340
    functionDepth: 1
    functionLinenumber: 2340
    functionLinenumberEnd: 2344
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::UnsafeArenaSwap(\n    RepeatedPtrField*
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2347
    functionDepth: 1
    functionLinenumber: 2347
    functionLinenumberEnd: 2349
    functionName: google::protobuf::RepeatedPtrField<Element>::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::SwapElements(int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2352
    functionDepth: 0
    functionLinenumber: 2352
    functionLinenumberEnd: 2354
    functionName: google::protobuf::RepeatedPtrField<Element>::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * RepeatedPtrField<Element>::GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2359
    functionName: google::protobuf::RepeatedPtrField<Element>::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong<TypeHandler>
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedPtrField<Element>::SpaceUsedExcludingSelfLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::AddAllocated<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2362
    functionDepth: 0
    functionLinenumber: 2362
    functionLinenumberEnd: 2364
    functionName: google::protobuf::RepeatedPtrField<Element>::AddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::AddAllocated<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::AddAllocated(Element* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::UnsafeArenaAddAllocated<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2369
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaAddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::UnsafeArenaAddAllocated<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::UnsafeArenaAddAllocated(Element* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::ReleaseLast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2374
    functionName: google::protobuf::RepeatedPtrField<Element>::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::ReleaseLast<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::ReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::UnsafeArenaReleaseLast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2379
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::UnsafeArenaReleaseLast<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::UnsafeArenaReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2382
    functionDepth: 1
    functionLinenumber: 2382
    functionLinenumberEnd: 2384
    functionName: google::protobuf::RepeatedPtrField<Element>::ClearedCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrField<Element>::ClearedCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::AddCleared<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2389
    functionName: google::protobuf::RepeatedPtrField<Element>::AddCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::AddCleared<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::AddCleared(Element* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::ReleaseCleared<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2394
    functionName: google::protobuf::RepeatedPtrField<Element>::ReleaseCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::ReleaseCleared<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::ReleaseCleared()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2397
    functionDepth: 3
    functionLinenumber: 2397
    functionLinenumberEnd: 2399
    functionName: google::protobuf::RepeatedPtrField<Element>::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Reserve(int new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2402
    functionDepth: 1
    functionLinenumber: 2402
    functionLinenumberEnd: 2404
    functionName: google::protobuf::RepeatedPtrField<Element>::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Capacity
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrField<Element>::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(void* const* it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: implicit_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    - Dst: static_cast<OtherElement*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrIterator<OtherElement>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2443
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - implicit_cast<Element*>
    - static_cast<OtherElement*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(const RepeatedPtrIterator<OtherElement>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2446
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2447
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2453
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2454
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2458
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2459
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2462
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2463
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2466
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2467
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2468
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2469
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2475
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2479
    functionName: operator+(iterator it, const difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, const difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2483
    functionName: operator+(const difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(const difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2487
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2491
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2494
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2497
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2524
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - VoidPtr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2525
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator(VoidPtr* it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2528
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2529
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2535
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2536
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2540
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2541
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2544
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2545
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2548
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2549
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2550
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2551
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2557
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2561
    functionName: operator+(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2565
    functionName: operator+(difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2569
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2573
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2576
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2579
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2590,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
        -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2596,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2598,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2602
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    - reinterpret_cast<char*>
    - "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
      -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::InternalSwap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(void* const* it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: implicit_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    - Dst: static_cast<OtherElement*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrIterator<OtherElement>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2443
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - implicit_cast<Element*>
    - static_cast<OtherElement*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(const RepeatedPtrIterator<OtherElement>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2446
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2447
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2453
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2454
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2458
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2459
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2462
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2463
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2466
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2467
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2468
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2469
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2475
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2479
    functionName: operator+(iterator it, const difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, const difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2483
    functionName: operator+(const difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(const difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2487
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2491
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2494
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2497
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2524
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - VoidPtr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2525
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator(VoidPtr* it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2528
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2529
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2535
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2536
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2540
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2541
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2544
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2545
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2548
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2549
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2550
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2551
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2557
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2561
    functionName: operator+(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2565
    functionName: operator+(difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2569
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2573
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2576
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2579
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2590,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
        -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2596,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2598,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2602
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    - reinterpret_cast<char*>
    - "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
      -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::InternalSwap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2609,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2607
    functionDepth: 0
    functionLinenumber: 2607
    functionLinenumberEnd: 2610
    functionName: google::protobuf::RepeatedPtrField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - iterator
    - raw_data
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2614,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2612
    functionDepth: 0
    functionLinenumber: 2612
    functionLinenumberEnd: 2615
    functionName: google::protobuf::RepeatedPtrField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - iterator
    - raw_data
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2620
      start: 2617
    functionDepth: 1
    functionLinenumber: 2617
    functionLinenumberEnd: 2620
    functionName: google::protobuf::RepeatedPtrField<Element>::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::begin
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::cbegin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2624,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2624,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2625
      start: 2622
    functionDepth: 2
    functionLinenumber: 2622
    functionLinenumberEnd: 2625
    functionName: google::protobuf::RepeatedPtrField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    - raw_data
    - google::protobuf::RepeatedPtrField<Element>::size
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2629,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2629,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2627
    functionDepth: 2
    functionLinenumber: 2627
    functionLinenumberEnd: 2630
    functionName: google::protobuf::RepeatedPtrField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    - raw_data
    - google::protobuf::RepeatedPtrField<Element>::size
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2632
    functionDepth: 3
    functionLinenumber: 2632
    functionLinenumberEnd: 2635
    functionName: google::protobuf::RepeatedPtrField<Element>::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::end
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::cend()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2640,1
    - Dst: raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2638
    functionDepth: 0
    functionLinenumber: 2638
    functionLinenumberEnd: 2641
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - raw_mutable_data
    - pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::pointer_iterator
    signature: typename RepeatedPtrField<Element>::pointer_iterator RepeatedPtrField<Element>::pointer_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2645,1
    - Dst: const_cast<const void* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2645,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2646
      start: 2643
    functionDepth: 0
    functionLinenumber: 2643
    functionLinenumberEnd: 2646
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<const void* const*>
    - raw_data
    - const_pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_pointer_iterator
    signature: typename RepeatedPtrField<Element>::const_pointer_iterator RepeatedPtrField<Element>::pointer_begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2650,1
    - Dst: raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2650,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2648
    functionDepth: 2
    functionLinenumber: 2648
    functionLinenumberEnd: 2651
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - raw_mutable_data
    - google::protobuf::RepeatedPtrField<Element>::size
    - pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::pointer_iterator
    signature: typename RepeatedPtrField<Element>::pointer_iterator RepeatedPtrField<Element>::pointer_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2655,1
    - Dst: const_cast<const void* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2656,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2656,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2653
    functionDepth: 2
    functionLinenumber: 2653
    functionLinenumberEnd: 2657
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<const void* const*>
    - google::protobuf::RepeatedPtrField<Element>::size
    - raw_data
    - const_pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_pointer_iterator
    signature: typename RepeatedPtrField<Element>::const_pointer_iterator RepeatedPtrField<Element>::pointer_end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RepeatedFieldBackInsertIterator(\n      RepeatedField<T>* const
      mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2677
    functionDepth: 0
    functionLinenumber: 2677
    functionLinenumberEnd: 2680
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2681
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2682
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2685
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2697
    functionName: google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBackInsertIterator(RepeatedPtrField<T>* const
      mutable_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2701
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2706
    functionName: "& operator=(\n      const T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: "RepeatedPtrFieldBackInsertIterator<T> & operator=(\n      const T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2710
    functionName: '& operator=(T&& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    - std::move
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(T&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2711
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2712
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2715
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2729
    functionName: google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2730
    functionDepth: 1
    functionLinenumber: 2730
    functionLinenumberEnd: 2734
    functionName: "& operator=(\n      T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::AddAllocated
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n      T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2735
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2736
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(int /*
      unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2753
    functionName: google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2758
    functionName: "& operator=(\n      T const* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    - UnsafeArenaAddAllocated
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n
      \     T const* const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2765
    functionDepth: 0
    functionLinenumber: 2765
    functionLinenumberEnd: 2768
    functionName: "& operator++(\n      int /* unused */)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(\n
      \     int /* unused */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RepeatedFieldBackInsertIterator(\n      RepeatedField<T>* const
      mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2677
    functionDepth: 0
    functionLinenumber: 2677
    functionLinenumberEnd: 2680
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Add
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2681
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2682
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2685
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2697
    functionName: google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBackInsertIterator(RepeatedPtrField<T>* const
      mutable_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2701
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2706
    functionName: "& operator=(\n      const T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: "RepeatedPtrFieldBackInsertIterator<T> & operator=(\n      const T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2710
    functionName: '& operator=(T&& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Add
    - std::move
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(T&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2711
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2712
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2715
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2729
    functionName: google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2734
    functionName: "& operator=(\n      T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - AddAllocated
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n      T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2735
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2736
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(int /*
      unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2753
    functionName: google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2758
    functionName: "& operator=(\n      T const* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    - UnsafeArenaAddAllocated
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n
      \     T const* const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2765
    functionDepth: 0
    functionLinenumber: 2765
    functionLinenumberEnd: 2768
    functionName: "& operator++(\n      int /* unused */)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(\n
      \     int /* unused */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::RepeatedFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2782
    functionName: google::protobuf::RepeatedFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::RepeatedFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::RepeatedFieldBackInsertIterator<T>
    signature: "internal::RepeatedFieldBackInsertIterator<T> RepeatedFieldBackInserter(\n
      \   RepeatedField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::RepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2790
    functionName: google::protobuf::RepeatedPtrFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::RepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::RepeatedPtrFieldBackInsertIterator<T> RepeatedPtrFieldBackInserter(\n
      \   RepeatedPtrField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::RepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2799
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2799
    functionName: google::protobuf::RepeatedFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::RepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::RepeatedPtrFieldBackInsertIterator<T> RepeatedFieldBackInserter(\n
      \   RepeatedPtrField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::AllocatedRepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2810
    functionName: google::protobuf::AllocatedRepeatedPtrFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::AllocatedRepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::AllocatedRepeatedPtrFieldBackInsertIterator<T> AllocatedRepeatedPtrFieldBackInserter(\n
      \   RepeatedPtrField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2824
    functionDepth: 0
    functionLinenumber: 2824
    functionLinenumberEnd: 2829
    functionName: google::protobuf::UnsafeArenaAllocatedRepeatedPtrFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
      UnsafeArenaAllocatedRepeatedPtrFieldBackInserter(\n    RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - std::distance
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end, std::forward_iterator_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CalculateReserve(Iter /*begin*/, Iter /*end*/,\n                            std::input_iterator_tag
      /*unused*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    - Dst: Category
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - Category
    - google::protobuf::internal::CalculateReserve
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:124,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::SwapBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void SwapBlock(char* p, char* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::memswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename std::enable_if<(kSize == 0), void>::type
    signature: typename std::enable_if<(kSize == 0), void>::type memswap(char*, char*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reg_type
    - ','
    - max_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: PROTO_MEMSWAP_DEF_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTO_MEMSWAP_DEF_SIZE(reg_type, max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - std::distance
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end, std::forward_iterator_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CalculateReserve(Iter /*begin*/, Iter /*end*/,\n                            std::input_iterator_tag
      /*unused*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    - Dst: Category
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - Category
    - google::protobuf::internal::CalculateReserve
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:124,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::SwapBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void SwapBlock(char* p, char* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::memswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename std::enable_if<(kSize == 0), void>::type
    signature: typename std::enable_if<(kSize == 0), void>::type memswap(char*, char*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reg_type
    - ','
    - max_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: PROTO_MEMSWAP_DEF_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTO_MEMSWAP_DEF_SIZE(reg_type, max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: '& operator[](int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:278,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: google::protobuf::RepeatedField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rbegin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:280,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: google::protobuf::RepeatedField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:282,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: google::protobuf::RepeatedField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - begin
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:284,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: google::protobuf::RepeatedField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    - begin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:292,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: google::protobuf::RepeatedField::SpaceUsedExcludingSelf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsedExcludingSelf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Arena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:312,1
    - Dst: google::protobuf::RepeatedField::rep
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: google::protobuf::RepeatedField::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - static_cast<Arena*>
    - google::protobuf::RepeatedField::rep
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:352,1
    - Dst: google::protobuf::RepeatedField::unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: google::protobuf::RepeatedField::elements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_GT
    - google::protobuf::RepeatedField::unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * elements() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: google::protobuf::RepeatedField::unsafe_elements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - static_cast<Element*>
    linkageType: ''
    returnType: Element
    signature: Element * unsafe_elements() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:367,1
    - Dst: google::protobuf::RepeatedField::elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:367,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: google::protobuf::RepeatedField::rep
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<Rep*>
    - google::protobuf::RepeatedField::elements
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: Rep
    signature: Rep * rep() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Element*::~Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:389,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:395,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:395,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:397,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - rep
    - size
    argTypes:
    - Rep*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: google::protobuf::RepeatedField::InternalDeallocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Element*::~Element
    - ::operator delete
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void InternalDeallocate(Rep* rep, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rf
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: google::protobuf::RepeatedField::FastAdderImpl::FastAdderImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: void
    signature: void FastAdderImpl(RepeatedField* rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: ~FastAdderImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FastAdderImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:454,1
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - val
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 459
    functionName: google::protobuf::RepeatedField::FastAdderImpl::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    - Reserve
    linkageType: ''
    returnType: void
    signature: void Add(Element val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rf
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: google::protobuf::RepeatedField::FastAdderImpl<I, false>::FastAdderImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FastAdderImpl(RepeatedField* rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
    linkageType: ''
    returnType: void
    signature: void Add(const Element& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:637,1
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:741,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 798
    functionName: google::protobuf::internal::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    - reinterpret_cast<const typename TypeHandler::Type*>
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - SpaceAllocated
    - AddAllocatedInternal<TypeHandler>
    - Add
    - reinterpret_cast<typename TypeHandler::Type*>
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedPtrFieldBase
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 588
    functionName: ~RepeatedPtrFieldBase()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - SpaceAllocated
    linkageType: ''
    returnType: void
    signature: void ~RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: google::protobuf::internal::AddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - AddAllocatedInternal<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void AddAllocated(typename TypeHandler::Type* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: google::protobuf::internal::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * ReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 750
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(const void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 808
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - Arena::CreateMaybeMessage<Type>
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<GenericType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - Arena::Create<GenericType>
    - std::move
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena, GenericType&& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - GenericType*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: google::protobuf::internal::GenericTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(GenericType* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 821
    functionName: google::protobuf::internal::GenericTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::GenericTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const GenericType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 838
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - New
    linkageType: ''
    returnType: GenericType
    signature: "GenericType * GenericTypeHandler<GenericType>::NewFromPrototype(\n
      \   const GenericType* /* prototype */, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - GenericType
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<GenericType>::Merge(const GenericType& from,\n
      \                                           GenericType* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 854
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GenericTypeHandler<MessageLite>::GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: "void * GenericTypeHandler<MessageLite>::GetMaybeArenaPointer(\n    MessageLite*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 866
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void GenericTypeHandler<std::string>::Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 890
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 893
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - std::move
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena, std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: google::protobuf::internal::StringTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::StringTypeHandler::New
    linkageType: ''
    returnType: std::string
    signature: "std::string * NewFromPrototype(const std::string*,\n                                              Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 898
    functionName: google::protobuf::internal::StringTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(std::string*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(std::string* /* value */)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: google::protobuf::internal::StringTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(std::string* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 907
    functionName: google::protobuf::internal::StringTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 910
    functionName: google::protobuf::internal::StringTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Merge(const std::string& from, std::string* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 913
    functionName: google::protobuf::internal::StringTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const std::string& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:637,1
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:741,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 798
    functionName: google::protobuf::internal::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    - reinterpret_cast<const typename TypeHandler::Type*>
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - SpaceAllocated
    - AddAllocatedInternal<TypeHandler>
    - Add
    - reinterpret_cast<typename TypeHandler::Type*>
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedPtrFieldBase
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 588
    functionName: ~RepeatedPtrFieldBase()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - SpaceAllocated
    linkageType: ''
    returnType: void
    signature: void ~RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: google::protobuf::internal::AddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - AddAllocatedInternal<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void AddAllocated(typename TypeHandler::Type* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: google::protobuf::internal::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * ReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 750
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(const void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 808
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - Arena::CreateMaybeMessage<Type>
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<GenericType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - Arena::Create<GenericType>
    - std::move
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena, GenericType&& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - GenericType*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: google::protobuf::internal::GenericTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(GenericType* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 821
    functionName: google::protobuf::internal::GenericTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::GenericTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const GenericType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 838
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - New
    linkageType: ''
    returnType: GenericType
    signature: "GenericType * GenericTypeHandler<GenericType>::NewFromPrototype(\n
      \   const GenericType* /* prototype */, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - GenericType
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<GenericType>::Merge(const GenericType& from,\n
      \                                           GenericType* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 854
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GenericTypeHandler<MessageLite>::GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: "void * GenericTypeHandler<MessageLite>::GetMaybeArenaPointer(\n    MessageLite*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 866
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void GenericTypeHandler<std::string>::Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 890
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 893
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - std::move
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena, std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: google::protobuf::internal::StringTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::StringTypeHandler::New
    linkageType: ''
    returnType: std::string
    signature: "std::string * NewFromPrototype(const std::string*,\n                                              Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 898
    functionName: google::protobuf::internal::StringTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(std::string*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(std::string* /* value */)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: google::protobuf::internal::StringTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(std::string* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 907
    functionName: google::protobuf::internal::StringTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 910
    functionName: google::protobuf::internal::StringTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Merge(const std::string& from, std::string* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 913
    functionName: google::protobuf::internal::StringTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 944
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 945
    functionName: '& operator[](int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1009,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1009
    functionName: google::protobuf::RepeatedPtrField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rbegin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1011,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: google::protobuf::RepeatedPtrField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1013,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1013
    functionName: google::protobuf::RepeatedPtrField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - begin
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1015,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1016
    functionName: google::protobuf::RepeatedPtrField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    - begin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1035,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1036
    functionName: google::protobuf::RepeatedPtrField::SpaceUsedExcludingSelf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsedExcludingSelf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1156
    functionName: google::protobuf::RepeatedPtrField::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    linkageType: ''
    returnType: void
    signature: void InternalSwap(RepeatedPtrField* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1184
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1188
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1194,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1194,1
    - Dst: google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1195,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1195,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    - Dst: google::protobuf::RepeatedField<Element>::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1191
    functionDepth: 3
    functionLinenumber: 1191
    functionLinenumberEnd: 1198
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyArray
    - google::protobuf::RepeatedField<Element>::Reserve
    - google::protobuf::RepeatedField<Element>::size
    - google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
    - Get
    - google::protobuf::RepeatedField<Element>::Mutable
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(const RepeatedField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - ' end'
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1205
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::Add
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(Iter begin, const Iter&
      end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InternalDeallocate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1210,1
    - Dst: rep
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1212
    functionName: RepeatedField<Element>::~RepeatedField()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - InternalDeallocate
    - rep
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::~RepeatedField()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1219
    functionName: "& RepeatedField<Element>::operator=(\n    const RepeatedField&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: RepeatedField<Element>
    signature: "RepeatedField<Element> & RepeatedField<Element>::operator=(\n    const
      RepeatedField& other)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1227,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1228,1
    - Dst: google::protobuf::RepeatedField<Element>::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1222
    functionDepth: 4
    functionLinenumber: 1222
    functionLinenumberEnd: 1232
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyFrom
    - google::protobuf::RepeatedField<Element>::InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(RepeatedField&& other) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: '& RepeatedField<Element>::GetArena'
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1240,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1240,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1241,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1247
    functionName: "& RepeatedField<Element>::operator=(\n    RepeatedField&& other)
      noexcept"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - '& RepeatedField<Element>::GetArena'
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: RepeatedField<Element>
    signature: "RepeatedField<Element> & RepeatedField<Element>::operator=(\n    RepeatedField&&
      other) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1252
    functionName: google::protobuf::RepeatedField<Element>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RepeatedField<Element>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1257
    functionName: google::protobuf::RepeatedField<Element>::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedField<Element>::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1262
    functionName: google::protobuf::RepeatedField<Element>::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedField<Element>::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1266,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1268
    functionName: google::protobuf::RepeatedField<Element>::AddAlreadyReserved
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::AddAlreadyReserved(const Element& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1272,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1274
    functionName: google::protobuf::RepeatedField<Element>::AddAlreadyReserved
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::AddAlreadyReserved()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1278,1
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1287
    functionName: google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_GE
    - unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::AddNAlreadyReserved(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1291,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1293,1
    - Dst: std::fill
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1294,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1294,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - new_size
    - ' value'
    argTypes:
    - int
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1290
    functionDepth: 3
    functionLinenumber: 1290
    functionLinenumberEnd: 1297
    functionName: google::protobuf::RepeatedField<Element>::Resize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - elements
    - GOOGLE_DCHECK_GE
    - std::fill
    - google::protobuf::RepeatedField<Element>::Reserve
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Resize(int new_size, const Element& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1301,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1302,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1304
    functionName: '& RepeatedField<Element>::Get(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedField<Element>::Get(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1308,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1309,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1311
    functionName: '& RepeatedField<Element>::at(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedField<Element>::at(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1315,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1316,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1318
    functionName: '& RepeatedField<Element>::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedField<Element>::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1322,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1323,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1325
    functionName: google::protobuf::RepeatedField<Element>::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1329,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1330,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - index
    - ' value'
    argTypes:
    - int
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1332
    functionName: google::protobuf::RepeatedField<Element>::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Set(int index, const Element& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1337,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1341,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1342,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1342,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1347
    functionName: google::protobuf::RepeatedField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - elements
    - std::move
    - static_cast<int>
    - google::protobuf::RepeatedField<Element>::Reserve
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Add(const Element& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1352,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1352,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1350
    functionDepth: 3
    functionLinenumber: 1350
    functionLinenumberEnd: 1356
    functionName: google::protobuf::RepeatedField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - elements
    - static_cast<int>
    - google::protobuf::RepeatedField<Element>::Reserve
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::Add()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1361,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1367,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1367,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1374,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1374,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1374,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1375,1
    - Dst: FastAdder::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1360
    functionDepth: 3
    functionLinenumber: 1360
    functionLinenumberEnd: 1380
    functionName: google::protobuf::RepeatedField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::CalculateReserve
    - google::protobuf::RepeatedField<Element>::Reserve
    - FastAdder::Add
    - elements
    - google::protobuf::RepeatedField<Element>::size
    - std::copy
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Add(Iter begin, Iter end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1386
    functionName: google::protobuf::RepeatedField<Element>::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RemoveLast()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1391,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1392,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1393,1
    - Dst: google::protobuf::RepeatedField<Element>::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1397,1
    - Dst: google::protobuf::RepeatedField<Element>::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1403,1
    - Dst: google::protobuf::RepeatedField<Element>::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1403,1
    - Dst: google::protobuf::RepeatedField<Element>::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1389
    functionDepth: 2
    functionLinenumber: 1389
    functionLinenumberEnd: 1406
    functionName: google::protobuf::RepeatedField<Element>::ExtractSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedField<Element>::Truncate
    - google::protobuf::RepeatedField<Element>::Get
    - google::protobuf::RepeatedField<Element>::Set
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: "void RepeatedField<Element>::ExtractSubrange(int start, int num,\n
      \                                            Element* elements)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1411
    functionName: google::protobuf::RepeatedField<Element>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1415,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1417,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1418,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1418,1
    - Dst: google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1419,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1419,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    - Dst: google::protobuf::RepeatedField<Element>::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1414
    functionDepth: 3
    functionLinenumber: 1414
    functionLinenumberEnd: 1422
    functionName: google::protobuf::RepeatedField<Element>::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyArray
    - GOOGLE_DCHECK_NE
    - google::protobuf::RepeatedField<Element>::Reserve
    - google::protobuf::RepeatedField<Element>::size
    - google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
    - Get
    - google::protobuf::RepeatedField<Element>::Mutable
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::MergeFrom(const RepeatedField& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1427,1
    - Dst: google::protobuf::RepeatedField<Element>::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1429
    functionName: google::protobuf::RepeatedField<Element>::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::RepeatedField<Element>::Clear
    - google::protobuf::RepeatedField<Element>::MergeFrom
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::CopyFrom(const RepeatedField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - position
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1435
    functionName: google::protobuf::RepeatedField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::RepeatedField<Element>::erase
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: "typename RepeatedField<Element>::iterator RepeatedField<Element>::erase(\n
      \   const_iterator position)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1440,1
    - Dst: google::protobuf::RepeatedField<Element>::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::cend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1445
    functionName: google::protobuf::RepeatedField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::RepeatedField<Element>::begin
    - google::protobuf::RepeatedField<Element>::Truncate
    - std::copy
    - google::protobuf::RepeatedField<Element>::cbegin
    - google::protobuf::RepeatedField<Element>::cend
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: "typename RepeatedField<Element>::iterator RepeatedField<Element>::erase(\n
      \   const_iterator first, const_iterator last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1450
    functionName: google::protobuf::RepeatedField<Element>::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1455
    functionName: google::protobuf::RepeatedField<Element>::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1459,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1460,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1460,1
    - Dst: RepeatedField*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1460,1
    - Dst: "internal::memswap<offsetof(RepeatedField, arena_or_elements_) +\n                    sizeof(this->arena_or_elements_)
        -\n                    offsetof(RepeatedField, current_size_)>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1465,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1468,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1458
    functionDepth: 1
    functionLinenumber: 1458
    functionLinenumberEnd: 1470
    functionName: google::protobuf::RepeatedField<Element>::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - "internal::memswap<offsetof(RepeatedField, arena_or_elements_) +\n                    sizeof(this->arena_or_elements_)
      -\n                    offsetof(RepeatedField, current_size_)>"
    - GOOGLE_DCHECK
    - RepeatedField*::GetArena
    - GetArena
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::InternalSwap(RepeatedField* other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1475,1
    - Dst: RepeatedField*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1475,1
    - Dst: google::protobuf::RepeatedField<Element>::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1476,1
    - Dst: RepeatedField*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1478,1
    - Dst: RepeatedField::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1479,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1480,1
    - Dst: RepeatedField*::UnsafeArenaSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1473
    functionDepth: 4
    functionLinenumber: 1473
    functionLinenumberEnd: 1483
    functionName: google::protobuf::RepeatedField<Element>::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedField*::UnsafeArenaSwap
    - RepeatedField*::GetArena
    - google::protobuf::RepeatedField<Element>::CopyFrom
    - RepeatedField::MergeFrom
    - google::protobuf::RepeatedField<Element>::InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Swap(RepeatedField* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1489
    functionName: google::protobuf::RepeatedField<Element>::UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::InternalSwap
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::UnsafeArenaSwap(RepeatedField* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1494,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1494,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1495
    functionName: google::protobuf::RepeatedField<Element>::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - swap
    - elements
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::SwapElements(int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1501
    functionName: google::protobuf::RepeatedField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: typename RepeatedField<Element>::iterator RepeatedField<Element>::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1506
    functionName: google::protobuf::RepeatedField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1511
    functionName: google::protobuf::RepeatedField<Element>::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::cbegin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1515
    functionName: google::protobuf::RepeatedField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: typename RepeatedField<Element>::iterator RepeatedField<Element>::end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1520
    functionName: google::protobuf::RepeatedField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1525
    functionName: google::protobuf::RepeatedField<Element>::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::cend()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1530
    functionName: google::protobuf::RepeatedField<Element>::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedField<Element>::SpaceUsedExcludingSelfLong() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1547,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1550,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - total_size
    - new_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1553
    functionName: google::protobuf::internal::CalculateReserveSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_GT
    - std::max
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: int
    signature: int CalculateReserveSize(int total_size, int new_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1547,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1550,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - total_size
    - new_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1553
    functionName: google::protobuf::internal::CalculateReserveSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_GT
    - std::max
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: int
    signature: int CalculateReserveSize(int total_size, int new_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rep
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1561,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1563,1
    - Dst: google::protobuf::internal::CalculateReserveSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1564,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1565,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1566,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1567,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1570,1
    - Dst: static_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1572,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1572,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1574,1
    - Dst: Arena::CreateArray<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1574,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1593,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1596,1
    - Dst: google::protobuf::RepeatedField<Element>::MoveArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1599,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1599,1
    - Dst: InternalDeallocate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1559
    functionDepth: 2
    functionLinenumber: 1559
    functionLinenumberEnd: 1605
    functionName: google::protobuf::RepeatedField<Element>::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 12
    functionsReached:
    - ::operator new
    - Arena::CreateArray<char>
    - google::protobuf::internal::CalculateReserveSize
    - reinterpret_cast<Rep*>
    - elements
    - Element::Element
    - std::numeric_limits<size_t>::max
    - google::protobuf::RepeatedField<Element>::MoveArray
    - static_cast<size_t>
    - static_cast<Rep*>
    - GetArena
    - GOOGLE_DCHECK_LE
    - InternalDeallocate
    - rep
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Reserve(int new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1613
    functionName: google::protobuf::RepeatedField<Element>::Truncate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Truncate(int new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::CopyArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1619
    functionName: google::protobuf::RepeatedField<Element>::MoveArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyArray
    linkageType: ''
    returnType: void
    signature: "void RepeatedField<Element>::MoveArray(Element* to, Element* from,\n
      \                                             int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::ElementCopier<Element>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1625
    functionName: google::protobuf::RepeatedField<Element>::CopyArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - internal::ElementCopier<Element>
    linkageType: ''
    returnType: void
    signature: "void RepeatedField<Element>::CopyArray(Element* to, const Element*
      from,\n                                              int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::copy
    linkageType: ''
    returnType: void
    signature: "void ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1640
    functionName: operator()(Element* to, const Element* from, int array_size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - memcpy
    linkageType: ''
    returnType: void
    signature: void operator()(Element* to, const Element* from, int array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::copy
    linkageType: ''
    returnType: void
    signature: "void ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1640
    functionName: operator()(Element* to, const Element* from, int array_size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - memcpy
    linkageType: ''
    returnType: void
    signature: void operator()(Element* to, const Element* from, int array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1651
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1654
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    - ::operator delete
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1677,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1675
    functionDepth: 2
    functionLinenumber: 1675
    functionLinenumberEnd: 1681
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Swap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1690,1
    - Dst: RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1691,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1692,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1693,1
    - Dst: RepeatedPtrFieldBase*::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1694,1
    - Dst: RepeatedPtrFieldBase::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1684
    functionDepth: 2
    functionLinenumber: 1684
    functionLinenumberEnd: 1696
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    - google::protobuf::internal::RepeatedPtrFieldBase::Clear
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - RepeatedPtrFieldBase::MergeFrom
    - RepeatedPtrFieldBase*::InternalSwap
    - RepeatedPtrFieldBase::Destroy
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapFallback(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RepeatedPtrFieldBase::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1700
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1705,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1706,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1703
    functionDepth: 1
    functionLinenumber: 1703
    functionLinenumberEnd: 1708
    functionName: "& RepeatedPtrFieldBase::Get(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::Get(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1713,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1714,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1716
    functionName: "& RepeatedPtrFieldBase::at(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::at(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1720,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1721,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1723
    functionName: '& RepeatedPtrFieldBase::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type & RepeatedPtrFieldBase::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1727,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1728,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1730
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1734,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1735,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1737
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Delete(int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1743,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1746,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1740
    functionDepth: 3
    functionLinenumber: 1740
    functionLinenumberEnd: 1753
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::Add(\n    typename
      TypeHandler::Type* prototype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1763,1
    - Dst: google::protobuf::internal::GenericTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename TypeHandler::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1757
    functionDepth: 3
    functionLinenumber: 1757
    functionLinenumberEnd: 1769
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::GenericTypeHandler::New
    - cast<TypeHandler>
    - std::move
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Add(typename TypeHandler::Type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1773,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1775
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RemoveLast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1780,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1789
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_GE
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1799,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1798
    functionDepth: 3
    functionLinenumber: 1798
    functionLinenumberEnd: 1803
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::MergeFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1805
    functionDepth: 2
    functionLinenumber: 1805
    functionLinenumberEnd: 1819
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInternal(\n    const RepeatedPtrFieldBase&
      other,\n    void (RepeatedPtrFieldBase::*inner_loop)(void**, void**, int, int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1831,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1833,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1834,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1836,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1840,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1842,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - our_elems
    - other_elems
    - length
    - already_allocated
    argTypes:
    - void**
    - void**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1846
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - reinterpret_cast<typename TypeHandler::Type*>
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInnerLoop(void** our_elems,\n
      \                                             void** other_elems, int length,\n
      \                                             int already_allocated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Clear<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1851,1
    - Dst: RepeatedPtrFieldBase::MergeFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1853
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::MergeFrom<TypeHandler>
    - RepeatedPtrFieldBase::Clear<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CopyFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1859
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * const* RepeatedPtrFieldBase::raw_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1863
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - const_cast<void**>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::raw_mutable_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1870
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type**>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type ** RepeatedPtrFieldBase::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1878
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type* const*>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * const* RepeatedPtrFieldBase::data()\n
      \   const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1883
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapElements(int index1, int index2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1887,1
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1886
    functionDepth: 2
    functionLinenumber: 1886
    functionLinenumberEnd: 1896
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    - static_cast<size_t>
    - cast<TypeHandler>
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1905
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::AddFromCleared()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Arena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1913,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1909
    functionDepth: 2
    functionLinenumber: 1909
    functionLinenumberEnd: 1931
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Arena*>
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::true_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1943,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1946,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1947,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1948,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - value
    - value_arena
    - my_arena
    argTypes:
    - typename TypeHandler::Type*
    - Arena*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1935
    functionDepth: 4
    functionLinenumber: 1935
    functionLinenumberEnd: 1953
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - Arena*::Own
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedSlowWithCopy(\n    // Pass
      value_arena and my_arena to avoid duplicate virtual call (value) or\n    //
      load (mine).\n    typename TypeHandler::Type* value, Arena* value_arena, Arena*
      my_arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1957
    functionDepth: 4
    functionLinenumber: 1957
    functionLinenumberEnd: 1975
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::false_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1983,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1978
    functionDepth: 3
    functionLinenumber: 1978
    functionLinenumberEnd: 2003
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::UnsafeArenaAddAllocated(\n    typename
      TypeHandler::Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2010,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2012,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2017,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2007
    functionDepth: 2
    functionLinenumber: 2007
    functionLinenumberEnd: 2021
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2028
    functionDepth: 2
    functionLinenumber: 2028
    functionLinenumberEnd: 2035
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::false_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2040,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2050
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: 'typename TypeHandler::Type *

      RepeatedPtrFieldBase::UnsafeArenaReleaseLast()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2054
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::ClearedCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2057
    functionDepth: 3
    functionLinenumber: 2057
    functionLinenumberEnd: 2067
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - GOOGLE_DCHECK
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddCleared(\n    typename TypeHandler::Type*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2075,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2076,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2070
    functionDepth: 1
    functionLinenumber: 2070
    functionLinenumberEnd: 2078
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    - GOOGLE_DCHECK_GT
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseCleared()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1651
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1654
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    - ::operator delete
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1677,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1675
    functionDepth: 2
    functionLinenumber: 1675
    functionLinenumberEnd: 1681
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Swap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1690,1
    - Dst: RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1691,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1692,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1693,1
    - Dst: RepeatedPtrFieldBase*::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1694,1
    - Dst: RepeatedPtrFieldBase::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1684
    functionDepth: 2
    functionLinenumber: 1684
    functionLinenumberEnd: 1696
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    - google::protobuf::internal::RepeatedPtrFieldBase::Clear
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - RepeatedPtrFieldBase::MergeFrom
    - RepeatedPtrFieldBase*::InternalSwap
    - RepeatedPtrFieldBase::Destroy
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapFallback(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RepeatedPtrFieldBase::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1700
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1705,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1706,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1703
    functionDepth: 1
    functionLinenumber: 1703
    functionLinenumberEnd: 1708
    functionName: "& RepeatedPtrFieldBase::Get(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::Get(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1713,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1714,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1716
    functionName: "& RepeatedPtrFieldBase::at(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::at(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1720,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1721,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1723
    functionName: '& RepeatedPtrFieldBase::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type & RepeatedPtrFieldBase::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1727,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1728,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1730
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1734,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1735,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1737
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Delete(int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1743,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1746,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1740
    functionDepth: 3
    functionLinenumber: 1740
    functionLinenumberEnd: 1753
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::Add(\n    typename
      TypeHandler::Type* prototype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1763,1
    - Dst: google::protobuf::internal::GenericTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename TypeHandler::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1757
    functionDepth: 3
    functionLinenumber: 1757
    functionLinenumberEnd: 1769
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::GenericTypeHandler::New
    - cast<TypeHandler>
    - std::move
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Add(typename TypeHandler::Type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1773,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1775
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RemoveLast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1780,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1789
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK_GE
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1799,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1798
    functionDepth: 3
    functionLinenumber: 1798
    functionLinenumberEnd: 1803
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::MergeFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1805
    functionDepth: 2
    functionLinenumber: 1805
    functionLinenumberEnd: 1819
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInternal(\n    const RepeatedPtrFieldBase&
      other,\n    void (RepeatedPtrFieldBase::*inner_loop)(void**, void**, int, int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1831,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1833,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1834,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1836,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1840,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1842,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - our_elems
    - other_elems
    - length
    - already_allocated
    argTypes:
    - void**
    - void**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1846
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - reinterpret_cast<typename TypeHandler::Type*>
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInnerLoop(void** our_elems,\n
      \                                             void** other_elems, int length,\n
      \                                             int already_allocated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Clear<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1851,1
    - Dst: RepeatedPtrFieldBase::MergeFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1853
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::MergeFrom<TypeHandler>
    - RepeatedPtrFieldBase::Clear<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CopyFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1859
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * const* RepeatedPtrFieldBase::raw_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1863
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - const_cast<void**>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::raw_mutable_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1870
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type**>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type ** RepeatedPtrFieldBase::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1878
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type* const*>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * const* RepeatedPtrFieldBase::data()\n
      \   const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1883
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapElements(int index1, int index2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1887,1
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1886
    functionDepth: 2
    functionLinenumber: 1886
    functionLinenumberEnd: 1896
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    - static_cast<size_t>
    - cast<TypeHandler>
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1905
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::AddFromCleared()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Arena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1913,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1909
    functionDepth: 2
    functionLinenumber: 1909
    functionLinenumberEnd: 1931
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Arena*>
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::true_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1943,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1946,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1947,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1948,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - value
    - value_arena
    - my_arena
    argTypes:
    - typename TypeHandler::Type*
    - Arena*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1935
    functionDepth: 4
    functionLinenumber: 1935
    functionLinenumberEnd: 1953
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - Arena*::Own
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedSlowWithCopy(\n    // Pass
      value_arena and my_arena to avoid duplicate virtual call (value) or\n    //
      load (mine).\n    typename TypeHandler::Type* value, Arena* value_arena, Arena*
      my_arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1957
    functionDepth: 4
    functionLinenumber: 1957
    functionLinenumberEnd: 1975
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::false_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1983,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1978
    functionDepth: 3
    functionLinenumber: 1978
    functionLinenumberEnd: 2003
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::UnsafeArenaAddAllocated(\n    typename
      TypeHandler::Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2010,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2012,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2017,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2007
    functionDepth: 2
    functionLinenumber: 2007
    functionLinenumberEnd: 2021
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2028
    functionDepth: 2
    functionLinenumber: 2028
    functionLinenumberEnd: 2035
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::false_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2040,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2050
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: 'typename TypeHandler::Type *

      RepeatedPtrFieldBase::UnsafeArenaReleaseLast()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2054
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::ClearedCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2057
    functionDepth: 3
    functionLinenumber: 2057
    functionLinenumberEnd: 2067
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - GOOGLE_DCHECK
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddCleared(\n    typename TypeHandler::Type*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2075,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2076,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2070
    functionDepth: 1
    functionLinenumber: 2070
    functionLinenumberEnd: 2078
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    - GOOGLE_DCHECK_GT
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseCleared()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2094
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::RepeatedPtrField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2098
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::RepeatedPtrField(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2101
    functionDepth: 1
    functionLinenumber: 2101
    functionLinenumberEnd: 2105
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::RepeatedPtrField(\n    const RepeatedPtrField&
      other)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2111,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2113,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - begin
    - ' end'
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2109
    functionDepth: 4
    functionLinenumber: 2109
    functionLinenumberEnd: 2118
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::Reserve
    - google::protobuf::RepeatedPtrField<Element>::Add
    - google::protobuf::internal::CalculateReserve
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::RepeatedPtrField(Iter begin,\n                                                   const
      Iter& end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2121
    functionDepth: 0
    functionLinenumber: 2121
    functionLinenumberEnd: 2123
    functionName: RepeatedPtrField<Element>::~RepeatedPtrField()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Destroy<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::~RepeatedPtrField()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2130
    functionName: "& RepeatedPtrField<Element>::operator=(\n    const RepeatedPtrField&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: RepeatedPtrField<Element>
    signature: "RepeatedPtrField<Element> & RepeatedPtrField<Element>::operator=(\n
      \   const RepeatedPtrField& other)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2139,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2140,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2133
    functionDepth: 1
    functionLinenumber: 2133
    functionLinenumberEnd: 2144
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::CopyFrom
    - google::protobuf::RepeatedPtrField<Element>::GetArena
    - InternalSwap
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::RepeatedPtrField(\n    RepeatedPtrField&&
      other) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: '& RepeatedPtrField<Element>::GetArena'
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2152,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2152,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2153,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2159
    functionName: "& RepeatedPtrField<Element>::operator=(\n    RepeatedPtrField&&
      other) noexcept"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - '& RepeatedPtrField<Element>::GetArena'
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: RepeatedPtrField<Element>
    signature: "RepeatedPtrField<Element> & RepeatedPtrField<Element>::operator=(\n
      \   RepeatedPtrField&& other) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2162
    functionDepth: 1
    functionLinenumber: 2162
    functionLinenumberEnd: 2164
    functionName: google::protobuf::RepeatedPtrField<Element>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::empty
    linkageType: ''
    returnType: bool
    signature: bool RepeatedPtrField<Element>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2167
    functionDepth: 1
    functionLinenumber: 2167
    functionLinenumberEnd: 2169
    functionName: google::protobuf::RepeatedPtrField<Element>::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::size
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrField<Element>::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Get<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2174
    functionName: '& RepeatedPtrField<Element>::Get(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Get<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedPtrField<Element>::Get(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::at<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2177
    functionDepth: 0
    functionLinenumber: 2177
    functionLinenumberEnd: 2179
    functionName: '& RepeatedPtrField<Element>::at(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::at<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedPtrField<Element>::at(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::at<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2184
    functionName: '& RepeatedPtrField<Element>::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::at<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedPtrField<Element>::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2188
    functionDepth: 0
    functionLinenumber: 2188
    functionLinenumberEnd: 2190
    functionName: google::protobuf::RepeatedPtrField<Element>::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Mutable<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Add<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2195
    functionName: google::protobuf::RepeatedPtrField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - RepeatedPtrFieldBase::Add<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::Add()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Add<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2199,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2200
    functionName: google::protobuf::RepeatedPtrField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - RepeatedPtrFieldBase::Add<TypeHandler>
    - std::move
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Add(Element&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::RemoveLast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2205
    functionName: google::protobuf::RepeatedPtrField<Element>::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::RemoveLast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::RemoveLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2209,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2210,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2211,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2211,1
    - Dst: RepeatedPtrFieldBase::Delete<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2213,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - start
    - num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2208
    functionDepth: 2
    functionLinenumber: 2208
    functionLinenumberEnd: 2216
    functionName: google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedPtrField<Element>::size
    - google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
    - GOOGLE_DCHECK_LE
    - RepeatedPtrFieldBase::Delete<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::DeleteSubrange(int start, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2224
      start: 2219
    functionDepth: 3
    functionLinenumber: 2219
    functionLinenumberEnd: 2224
    functionName: google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::ExtractSubrange(int start, int num,\n
      \                                                      Element** elements)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2231,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2232,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2233,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2233,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2238,1
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2243,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2245,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2246,1
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2251,1
    - Dst: CloseGap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2229
    functionDepth: 2
    functionLinenumber: 2229
    functionLinenumberEnd: 2257
    functionName: google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - CloseGap
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedPtrField<Element>::size
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - RepeatedPtrFieldBase::Mutable<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - GOOGLE_DCHECK_LE
    - google::protobuf::RepeatedPtrField<Element>::GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::ExtractSubrangeInternal(\n    int
      start, int num, Element** elements, std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2268,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2268,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2262
    functionDepth: 3
    functionLinenumber: 2262
    functionLinenumberEnd: 2272
    functionName: google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
    - GOOGLE_DCHECK
    - google::protobuf::RepeatedPtrField<Element>::GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::ExtractSubrangeInternal(\n    int
      start, int num, Element** elements, std::false_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2277,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2278,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2279,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2279,1
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2285,1
    - Dst: CloseGap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2275
    functionDepth: 2
    functionLinenumber: 2275
    functionLinenumberEnd: 2290
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - CloseGap
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedPtrField<Element>::size
    - RepeatedPtrFieldBase::Mutable<TypeHandler>
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::UnsafeArenaExtractSubrange(\n    int
      start, int num, Element** elements)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Clear<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2295
    functionName: google::protobuf::RepeatedPtrField<Element>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Clear<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::MergeFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2301
    functionName: google::protobuf::RepeatedPtrField<Element>::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - RepeatedPtrFieldBase::MergeFrom<TypeHandler>
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::MergeFrom(\n    const RepeatedPtrField&
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::CopyFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2306
    functionName: google::protobuf::RepeatedPtrField<Element>::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - RepeatedPtrFieldBase::CopyFrom<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::CopyFrom(const RepeatedPtrField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - position
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2309
    functionDepth: 1
    functionLinenumber: 2309
    functionLinenumberEnd: 2312
    functionName: google::protobuf::RepeatedPtrField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::erase
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::erase(const_iterator
      position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2317,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2317,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2318,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2318,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2319,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2321
      start: 2315
    functionDepth: 3
    functionLinenumber: 2315
    functionLinenumberEnd: 2321
    functionName: google::protobuf::RepeatedPtrField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::cbegin
    - std::distance
    - google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
    - google::protobuf::RepeatedPtrField<Element>::begin
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::erase(const_iterator
      first, const_iterator last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::mutable_data<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2326
    functionName: google::protobuf::RepeatedPtrField<Element>::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::mutable_data<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element ** RepeatedPtrField<Element>::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::data<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2331
    functionName: google::protobuf::RepeatedPtrField<Element>::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::data<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * const* RepeatedPtrField<Element>::data() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Swap<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2337
    functionName: google::protobuf::RepeatedPtrField<Element>::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Swap<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Swap(RepeatedPtrField* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2340
    functionDepth: 2
    functionLinenumber: 2340
    functionLinenumberEnd: 2344
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::UnsafeArenaSwap(\n    RepeatedPtrField*
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2347
    functionDepth: 1
    functionLinenumber: 2347
    functionLinenumberEnd: 2349
    functionName: google::protobuf::RepeatedPtrField<Element>::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::SwapElements(int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2352
    functionDepth: 0
    functionLinenumber: 2352
    functionLinenumberEnd: 2354
    functionName: google::protobuf::RepeatedPtrField<Element>::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * RepeatedPtrField<Element>::GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2359
    functionName: google::protobuf::RepeatedPtrField<Element>::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong<TypeHandler>
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedPtrField<Element>::SpaceUsedExcludingSelfLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::AddAllocated<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2362
    functionDepth: 0
    functionLinenumber: 2362
    functionLinenumberEnd: 2364
    functionName: google::protobuf::RepeatedPtrField<Element>::AddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::AddAllocated<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::AddAllocated(Element* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::UnsafeArenaAddAllocated<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2369
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaAddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::UnsafeArenaAddAllocated<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::UnsafeArenaAddAllocated(Element* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::ReleaseLast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2374
    functionName: google::protobuf::RepeatedPtrField<Element>::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::ReleaseLast<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::ReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::UnsafeArenaReleaseLast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2379
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::UnsafeArenaReleaseLast<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::UnsafeArenaReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2382
    functionDepth: 1
    functionLinenumber: 2382
    functionLinenumberEnd: 2384
    functionName: google::protobuf::RepeatedPtrField<Element>::ClearedCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrField<Element>::ClearedCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::AddCleared<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2389
    functionName: google::protobuf::RepeatedPtrField<Element>::AddCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::AddCleared<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::AddCleared(Element* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::ReleaseCleared<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2394
    functionName: google::protobuf::RepeatedPtrField<Element>::ReleaseCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::ReleaseCleared<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::ReleaseCleared()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2397
    functionDepth: 3
    functionLinenumber: 2397
    functionLinenumberEnd: 2399
    functionName: google::protobuf::RepeatedPtrField<Element>::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Reserve(int new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2402
    functionDepth: 1
    functionLinenumber: 2402
    functionLinenumberEnd: 2404
    functionName: google::protobuf::RepeatedPtrField<Element>::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Capacity
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrField<Element>::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(void* const* it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: implicit_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    - Dst: static_cast<OtherElement*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrIterator<OtherElement>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2443
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - implicit_cast<Element*>
    - static_cast<OtherElement*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(const RepeatedPtrIterator<OtherElement>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2446
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2447
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2453
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2454
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2458
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2459
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2462
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2463
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2466
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2467
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2468
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2469
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2475
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2479
    functionName: operator+(iterator it, const difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, const difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2483
    functionName: operator+(const difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(const difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2487
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2491
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2494
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2497
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2524
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - VoidPtr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2525
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator(VoidPtr* it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2528
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2529
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2535
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2536
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2540
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2541
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2544
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2545
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2548
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2549
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2550
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2551
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2557
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2561
    functionName: operator+(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2565
    functionName: operator+(difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2569
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2573
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2576
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2579
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2590,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
        -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2596,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2598,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2602
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    - reinterpret_cast<char*>
    - "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
      -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::InternalSwap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(void* const* it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: implicit_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    - Dst: static_cast<OtherElement*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrIterator<OtherElement>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2443
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - implicit_cast<Element*>
    - static_cast<OtherElement*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(const RepeatedPtrIterator<OtherElement>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2446
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2447
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2453
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2454
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2458
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2459
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2462
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2463
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2466
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2467
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2468
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2469
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2475
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2479
    functionName: operator+(iterator it, const difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, const difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2483
    functionName: operator+(const difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(const difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2487
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2491
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2494
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2497
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2524
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - VoidPtr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2525
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator(VoidPtr* it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2528
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2529
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2535
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2536
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2540
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2541
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2544
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2545
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2548
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2549
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2550
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2551
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2557
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2561
    functionName: operator+(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2565
    functionName: operator+(difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2569
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2573
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2576
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2579
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2590,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
        -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2596,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2598,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2602
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    - reinterpret_cast<char*>
    - "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
      -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::InternalSwap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2609,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2607
    functionDepth: 0
    functionLinenumber: 2607
    functionLinenumberEnd: 2610
    functionName: google::protobuf::RepeatedPtrField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - iterator
    - raw_data
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2614,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2612
    functionDepth: 0
    functionLinenumber: 2612
    functionLinenumberEnd: 2615
    functionName: google::protobuf::RepeatedPtrField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - iterator
    - raw_data
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2620
      start: 2617
    functionDepth: 1
    functionLinenumber: 2617
    functionLinenumberEnd: 2620
    functionName: google::protobuf::RepeatedPtrField<Element>::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::begin
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::cbegin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2624,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2624,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2625
      start: 2622
    functionDepth: 2
    functionLinenumber: 2622
    functionLinenumberEnd: 2625
    functionName: google::protobuf::RepeatedPtrField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - iterator
    - raw_data
    - google::protobuf::RepeatedPtrField<Element>::size
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2629,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2629,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2627
    functionDepth: 2
    functionLinenumber: 2627
    functionLinenumberEnd: 2630
    functionName: google::protobuf::RepeatedPtrField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - iterator
    - raw_data
    - google::protobuf::RepeatedPtrField<Element>::size
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2632
    functionDepth: 3
    functionLinenumber: 2632
    functionLinenumberEnd: 2635
    functionName: google::protobuf::RepeatedPtrField<Element>::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::end
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::cend()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2640,1
    - Dst: raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2638
    functionDepth: 0
    functionLinenumber: 2638
    functionLinenumberEnd: 2641
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - raw_mutable_data
    - pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::pointer_iterator
    signature: typename RepeatedPtrField<Element>::pointer_iterator RepeatedPtrField<Element>::pointer_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2645,1
    - Dst: const_cast<const void* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2645,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2646
      start: 2643
    functionDepth: 0
    functionLinenumber: 2643
    functionLinenumberEnd: 2646
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<const void* const*>
    - raw_data
    - const_pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_pointer_iterator
    signature: typename RepeatedPtrField<Element>::const_pointer_iterator RepeatedPtrField<Element>::pointer_begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2650,1
    - Dst: raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2650,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2648
    functionDepth: 2
    functionLinenumber: 2648
    functionLinenumberEnd: 2651
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - raw_mutable_data
    - google::protobuf::RepeatedPtrField<Element>::size
    - pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::pointer_iterator
    signature: typename RepeatedPtrField<Element>::pointer_iterator RepeatedPtrField<Element>::pointer_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2655,1
    - Dst: const_cast<const void* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2656,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2656,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2653
    functionDepth: 2
    functionLinenumber: 2653
    functionLinenumberEnd: 2657
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<const void* const*>
    - google::protobuf::RepeatedPtrField<Element>::size
    - raw_data
    - const_pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_pointer_iterator
    signature: typename RepeatedPtrField<Element>::const_pointer_iterator RepeatedPtrField<Element>::pointer_end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RepeatedFieldBackInsertIterator(\n      RepeatedField<T>* const
      mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2677
    functionDepth: 0
    functionLinenumber: 2677
    functionLinenumberEnd: 2680
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2681
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2682
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2685
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2697
    functionName: google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBackInsertIterator(RepeatedPtrField<T>* const
      mutable_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2701
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2706
    functionName: "& operator=(\n      const T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: "RepeatedPtrFieldBackInsertIterator<T> & operator=(\n      const T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2710
    functionName: '& operator=(T&& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    - std::move
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(T&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2711
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2712
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2715
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2729
    functionName: google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2734
    functionName: "& operator=(\n      T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - AddAllocated
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n      T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2735
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2736
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(int /*
      unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2753
    functionName: google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2758
    functionName: "& operator=(\n      T const* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    - UnsafeArenaAddAllocated
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n
      \     T const* const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2765
    functionDepth: 0
    functionLinenumber: 2765
    functionLinenumberEnd: 2768
    functionName: "& operator++(\n      int /* unused */)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(\n
      \     int /* unused */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RepeatedFieldBackInsertIterator(\n      RepeatedField<T>* const
      mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2677
    functionDepth: 0
    functionLinenumber: 2677
    functionLinenumberEnd: 2680
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2681
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2682
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2685
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2697
    functionName: google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBackInsertIterator(RepeatedPtrField<T>* const
      mutable_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2701
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2706
    functionName: "& operator=(\n      const T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: "RepeatedPtrFieldBackInsertIterator<T> & operator=(\n      const T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2710
    functionName: '& operator=(T&& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    - std::move
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(T&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2711
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2712
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2715
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2729
    functionName: google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2734
    functionName: "& operator=(\n      T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - AddAllocated
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n      T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2735
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2736
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(int /*
      unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2753
    functionName: google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2758
    functionName: "& operator=(\n      T const* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    - UnsafeArenaAddAllocated
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n
      \     T const* const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2765
    functionDepth: 0
    functionLinenumber: 2765
    functionLinenumberEnd: 2768
    functionName: "& operator++(\n      int /* unused */)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(\n
      \     int /* unused */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::RepeatedFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2782
    functionName: google::protobuf::RepeatedFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::RepeatedFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::RepeatedFieldBackInsertIterator<T>
    signature: "internal::RepeatedFieldBackInsertIterator<T> RepeatedFieldBackInserter(\n
      \   RepeatedField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::RepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2790
    functionName: google::protobuf::RepeatedPtrFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::RepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::RepeatedPtrFieldBackInsertIterator<T> RepeatedPtrFieldBackInserter(\n
      \   RepeatedPtrField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::RepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2799
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2799
    functionName: google::protobuf::RepeatedFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::RepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::RepeatedPtrFieldBackInsertIterator<T> RepeatedFieldBackInserter(\n
      \   RepeatedPtrField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::AllocatedRepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2810
    functionName: google::protobuf::AllocatedRepeatedPtrFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::AllocatedRepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::AllocatedRepeatedPtrFieldBackInsertIterator<T> AllocatedRepeatedPtrFieldBackInserter(\n
      \   RepeatedPtrField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2824
    functionDepth: 0
    functionLinenumber: 2824
    functionLinenumberEnd: 2829
    functionName: google::protobuf::UnsafeArenaAllocatedRepeatedPtrFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
      UnsafeArenaAllocatedRepeatedPtrFieldBackInserter(\n    RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 8
    functionsReached:
    - std::distance
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end, std::forward_iterator_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CalculateReserve(Iter /*begin*/, Iter /*end*/,\n                            std::input_iterator_tag
      /*unused*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    - Dst: Category
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 9
    functionsReached:
    - Category
    - google::protobuf::internal::CalculateReserve
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:124,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::SwapBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void SwapBlock(char* p, char* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::memswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename std::enable_if<(kSize == 0), void>::type
    signature: typename std::enable_if<(kSize == 0), void>::type memswap(char*, char*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reg_type
    - ','
    - max_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: PROTO_MEMSWAP_DEF_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTO_MEMSWAP_DEF_SIZE(reg_type, max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 9
    functionsReached:
    - std::distance
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end, std::forward_iterator_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CalculateReserve(Iter /*begin*/, Iter /*end*/,\n                            std::input_iterator_tag
      /*unused*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    - Dst: Category
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 10
    functionsReached:
    - Category
    - google::protobuf::internal::CalculateReserve
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:124,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::SwapBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void SwapBlock(char* p, char* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::memswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename std::enable_if<(kSize == 0), void>::type
    signature: typename std::enable_if<(kSize == 0), void>::type memswap(char*, char*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reg_type
    - ','
    - max_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: PROTO_MEMSWAP_DEF_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTO_MEMSWAP_DEF_SIZE(reg_type, max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: '& operator[](int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:278,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: google::protobuf::RepeatedField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rbegin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:280,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: google::protobuf::RepeatedField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:282,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: google::protobuf::RepeatedField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - begin
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:284,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: google::protobuf::RepeatedField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    - begin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:292,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: google::protobuf::RepeatedField::SpaceUsedExcludingSelf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsedExcludingSelf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Arena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:312,1
    - Dst: google::protobuf::RepeatedField::rep
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: google::protobuf::RepeatedField::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - static_cast<Arena*>
    - google::protobuf::RepeatedField::rep
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:352,1
    - Dst: google::protobuf::RepeatedField::unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: google::protobuf::RepeatedField::elements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_GT
    - google::protobuf::RepeatedField::unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * elements() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: google::protobuf::RepeatedField::unsafe_elements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - static_cast<Element*>
    linkageType: ''
    returnType: Element
    signature: Element * unsafe_elements() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:367,1
    - Dst: google::protobuf::RepeatedField::elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:367,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: google::protobuf::RepeatedField::rep
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<Rep*>
    - google::protobuf::RepeatedField::elements
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: Rep
    signature: Rep * rep() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Element*::~Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:389,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:395,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:395,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:397,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - rep
    - size
    argTypes:
    - Rep*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: google::protobuf::RepeatedField::InternalDeallocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Element*::~Element
    - ::operator delete
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void InternalDeallocate(Rep* rep, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rf
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: google::protobuf::RepeatedField::FastAdderImpl::FastAdderImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: void
    signature: void FastAdderImpl(RepeatedField* rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: ~FastAdderImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FastAdderImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:454,1
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - val
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 459
    functionName: google::protobuf::RepeatedField::FastAdderImpl::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    - Reserve
    linkageType: ''
    returnType: void
    signature: void Add(Element val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rf
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: google::protobuf::RepeatedField::FastAdderImpl<I, false>::FastAdderImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FastAdderImpl(RepeatedField* rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
    linkageType: ''
    returnType: void
    signature: void Add(const Element& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:637,1
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:741,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 798
    functionName: google::protobuf::internal::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    - reinterpret_cast<const typename TypeHandler::Type*>
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - SpaceAllocated
    - AddAllocatedInternal<TypeHandler>
    - Add
    - reinterpret_cast<typename TypeHandler::Type*>
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedPtrFieldBase
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 588
    functionName: ~RepeatedPtrFieldBase()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - SpaceAllocated
    linkageType: ''
    returnType: void
    signature: void ~RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: google::protobuf::internal::AddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - AddAllocatedInternal<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void AddAllocated(typename TypeHandler::Type* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: google::protobuf::internal::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * ReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 750
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(const void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 808
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - Arena::CreateMaybeMessage<Type>
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<GenericType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - Arena::Create<GenericType>
    - std::move
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena, GenericType&& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - GenericType*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: google::protobuf::internal::GenericTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(GenericType* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 821
    functionName: google::protobuf::internal::GenericTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::GenericTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const GenericType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 838
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - New
    linkageType: ''
    returnType: GenericType
    signature: "GenericType * GenericTypeHandler<GenericType>::NewFromPrototype(\n
      \   const GenericType* /* prototype */, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - GenericType
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<GenericType>::Merge(const GenericType& from,\n
      \                                           GenericType* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 854
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GenericTypeHandler<MessageLite>::GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: "void * GenericTypeHandler<MessageLite>::GetMaybeArenaPointer(\n    MessageLite*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 866
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void GenericTypeHandler<std::string>::Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 890
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 893
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - std::move
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena, std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: google::protobuf::internal::StringTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::StringTypeHandler::New
    linkageType: ''
    returnType: std::string
    signature: "std::string * NewFromPrototype(const std::string*,\n                                              Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 898
    functionName: google::protobuf::internal::StringTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(std::string*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(std::string* /* value */)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: google::protobuf::internal::StringTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(std::string* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 907
    functionName: google::protobuf::internal::StringTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 910
    functionName: google::protobuf::internal::StringTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Merge(const std::string& from, std::string* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 913
    functionName: google::protobuf::internal::StringTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const std::string& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:637,1
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:741,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 798
    functionName: google::protobuf::internal::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    - reinterpret_cast<const typename TypeHandler::Type*>
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - SpaceAllocated
    - AddAllocatedInternal<TypeHandler>
    - Add
    - reinterpret_cast<typename TypeHandler::Type*>
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedPtrFieldBase
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 588
    functionName: ~RepeatedPtrFieldBase()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - SpaceAllocated
    linkageType: ''
    returnType: void
    signature: void ~RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: google::protobuf::internal::AddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - AddAllocatedInternal<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void AddAllocated(typename TypeHandler::Type* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: google::protobuf::internal::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * ReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 750
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(const void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 808
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - Arena::CreateMaybeMessage<Type>
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<GenericType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - Arena::Create<GenericType>
    - std::move
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena, GenericType&& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - GenericType*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: google::protobuf::internal::GenericTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(GenericType* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 821
    functionName: google::protobuf::internal::GenericTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::GenericTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const GenericType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 838
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - New
    linkageType: ''
    returnType: GenericType
    signature: "GenericType * GenericTypeHandler<GenericType>::NewFromPrototype(\n
      \   const GenericType* /* prototype */, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - GenericType
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<GenericType>::Merge(const GenericType& from,\n
      \                                           GenericType* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 854
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GenericTypeHandler<MessageLite>::GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: "void * GenericTypeHandler<MessageLite>::GetMaybeArenaPointer(\n    MessageLite*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 866
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void GenericTypeHandler<std::string>::Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 890
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 893
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - std::move
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena, std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: google::protobuf::internal::StringTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::StringTypeHandler::New
    linkageType: ''
    returnType: std::string
    signature: "std::string * NewFromPrototype(const std::string*,\n                                              Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 898
    functionName: google::protobuf::internal::StringTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(std::string*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(std::string* /* value */)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: google::protobuf::internal::StringTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(std::string* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 907
    functionName: google::protobuf::internal::StringTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 910
    functionName: google::protobuf::internal::StringTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Merge(const std::string& from, std::string* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 913
    functionName: google::protobuf::internal::StringTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 944
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 945
    functionName: '& operator[](int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1009,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1009
    functionName: google::protobuf::RepeatedPtrField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rbegin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1011,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: google::protobuf::RepeatedPtrField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1013,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1013
    functionName: google::protobuf::RepeatedPtrField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - begin
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1015,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1016
    functionName: google::protobuf::RepeatedPtrField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    - begin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1035,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1036
    functionName: google::protobuf::RepeatedPtrField::SpaceUsedExcludingSelf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsedExcludingSelf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1156
    functionName: google::protobuf::RepeatedPtrField::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    linkageType: ''
    returnType: void
    signature: void InternalSwap(RepeatedPtrField* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1184
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1188
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1194,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1194,1
    - Dst: google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1195,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1195,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    - Dst: google::protobuf::RepeatedField<Element>::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1191
    functionDepth: 3
    functionLinenumber: 1191
    functionLinenumberEnd: 1198
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyArray
    - google::protobuf::RepeatedField<Element>::Reserve
    - google::protobuf::RepeatedField<Element>::size
    - google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
    - Get
    - google::protobuf::RepeatedField<Element>::Mutable
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(const RepeatedField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - ' end'
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1205
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::Add
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(Iter begin, const Iter&
      end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InternalDeallocate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1210,1
    - Dst: rep
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1212
    functionName: RepeatedField<Element>::~RepeatedField()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - InternalDeallocate
    - rep
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::~RepeatedField()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1219
    functionName: "& RepeatedField<Element>::operator=(\n    const RepeatedField&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: RepeatedField<Element>
    signature: "RepeatedField<Element> & RepeatedField<Element>::operator=(\n    const
      RepeatedField& other)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1227,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1228,1
    - Dst: google::protobuf::RepeatedField<Element>::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1222
    functionDepth: 4
    functionLinenumber: 1222
    functionLinenumberEnd: 1232
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyFrom
    - google::protobuf::RepeatedField<Element>::InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(RepeatedField&& other) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: '& RepeatedField<Element>::GetArena'
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1240,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1240,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1241,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1247
    functionName: "& RepeatedField<Element>::operator=(\n    RepeatedField&& other)
      noexcept"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - '& RepeatedField<Element>::GetArena'
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: RepeatedField<Element>
    signature: "RepeatedField<Element> & RepeatedField<Element>::operator=(\n    RepeatedField&&
      other) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1252
    functionName: google::protobuf::RepeatedField<Element>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RepeatedField<Element>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1257
    functionName: google::protobuf::RepeatedField<Element>::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedField<Element>::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1262
    functionName: google::protobuf::RepeatedField<Element>::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedField<Element>::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1266,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1268
    functionName: google::protobuf::RepeatedField<Element>::AddAlreadyReserved
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::AddAlreadyReserved(const Element& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1272,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1274
    functionName: google::protobuf::RepeatedField<Element>::AddAlreadyReserved
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::AddAlreadyReserved()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1278,1
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1287
    functionName: google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - GOOGLE_DCHECK_GE
    - unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::AddNAlreadyReserved(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1291,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1293,1
    - Dst: std::fill
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1294,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1294,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - new_size
    - ' value'
    argTypes:
    - int
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1290
    functionDepth: 3
    functionLinenumber: 1290
    functionLinenumberEnd: 1297
    functionName: google::protobuf::RepeatedField<Element>::Resize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - elements
    - GOOGLE_DCHECK_GE
    - std::fill
    - google::protobuf::RepeatedField<Element>::Reserve
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Resize(int new_size, const Element& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1301,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1302,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1304
    functionName: '& RepeatedField<Element>::Get(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedField<Element>::Get(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1308,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1309,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1311
    functionName: '& RepeatedField<Element>::at(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedField<Element>::at(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1315,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1316,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1318
    functionName: '& RepeatedField<Element>::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedField<Element>::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1322,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1323,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1325
    functionName: google::protobuf::RepeatedField<Element>::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1329,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1330,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - index
    - ' value'
    argTypes:
    - int
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1332
    functionName: google::protobuf::RepeatedField<Element>::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Set(int index, const Element& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1337,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1341,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1342,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1342,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1347
    functionName: google::protobuf::RepeatedField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - elements
    - std::move
    - static_cast<int>
    - google::protobuf::RepeatedField<Element>::Reserve
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Add(const Element& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1352,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1352,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1350
    functionDepth: 3
    functionLinenumber: 1350
    functionLinenumberEnd: 1356
    functionName: google::protobuf::RepeatedField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - elements
    - static_cast<int>
    - google::protobuf::RepeatedField<Element>::Reserve
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::Add()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1361,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1367,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1367,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1374,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1374,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1374,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1375,1
    - Dst: FastAdder::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1360
    functionDepth: 3
    functionLinenumber: 1360
    functionLinenumberEnd: 1380
    functionName: google::protobuf::RepeatedField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::CalculateReserve
    - google::protobuf::RepeatedField<Element>::Reserve
    - FastAdder::Add
    - elements
    - google::protobuf::RepeatedField<Element>::size
    - std::copy
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Add(Iter begin, Iter end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1386
    functionName: google::protobuf::RepeatedField<Element>::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RemoveLast()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1391,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1392,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1393,1
    - Dst: google::protobuf::RepeatedField<Element>::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1397,1
    - Dst: google::protobuf::RepeatedField<Element>::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1403,1
    - Dst: google::protobuf::RepeatedField<Element>::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1403,1
    - Dst: google::protobuf::RepeatedField<Element>::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1389
    functionDepth: 2
    functionLinenumber: 1389
    functionLinenumberEnd: 1406
    functionName: google::protobuf::RepeatedField<Element>::ExtractSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedField<Element>::Truncate
    - google::protobuf::RepeatedField<Element>::Get
    - google::protobuf::RepeatedField<Element>::Set
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: "void RepeatedField<Element>::ExtractSubrange(int start, int num,\n
      \                                            Element* elements)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1411
    functionName: google::protobuf::RepeatedField<Element>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1415,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1417,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1418,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1418,1
    - Dst: google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1419,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1419,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    - Dst: google::protobuf::RepeatedField<Element>::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1414
    functionDepth: 3
    functionLinenumber: 1414
    functionLinenumberEnd: 1422
    functionName: google::protobuf::RepeatedField<Element>::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyArray
    - GOOGLE_DCHECK_NE
    - google::protobuf::RepeatedField<Element>::Reserve
    - google::protobuf::RepeatedField<Element>::size
    - google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
    - Get
    - google::protobuf::RepeatedField<Element>::Mutable
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::MergeFrom(const RepeatedField& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1427,1
    - Dst: google::protobuf::RepeatedField<Element>::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1429
    functionName: google::protobuf::RepeatedField<Element>::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - google::protobuf::RepeatedField<Element>::Clear
    - google::protobuf::RepeatedField<Element>::MergeFrom
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::CopyFrom(const RepeatedField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - position
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1435
    functionName: google::protobuf::RepeatedField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::RepeatedField<Element>::erase
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: "typename RepeatedField<Element>::iterator RepeatedField<Element>::erase(\n
      \   const_iterator position)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1440,1
    - Dst: google::protobuf::RepeatedField<Element>::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::cend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1445
    functionName: google::protobuf::RepeatedField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::RepeatedField<Element>::begin
    - google::protobuf::RepeatedField<Element>::Truncate
    - std::copy
    - google::protobuf::RepeatedField<Element>::cbegin
    - google::protobuf::RepeatedField<Element>::cend
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: "typename RepeatedField<Element>::iterator RepeatedField<Element>::erase(\n
      \   const_iterator first, const_iterator last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1450
    functionName: google::protobuf::RepeatedField<Element>::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1455
    functionName: google::protobuf::RepeatedField<Element>::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1459,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1460,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1460,1
    - Dst: RepeatedField*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1460,1
    - Dst: "internal::memswap<offsetof(RepeatedField, arena_or_elements_) +\n                    sizeof(this->arena_or_elements_)
        -\n                    offsetof(RepeatedField, current_size_)>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1465,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1468,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1458
    functionDepth: 1
    functionLinenumber: 1458
    functionLinenumberEnd: 1470
    functionName: google::protobuf::RepeatedField<Element>::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - "internal::memswap<offsetof(RepeatedField, arena_or_elements_) +\n                    sizeof(this->arena_or_elements_)
      -\n                    offsetof(RepeatedField, current_size_)>"
    - GOOGLE_DCHECK
    - RepeatedField*::GetArena
    - GetArena
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::InternalSwap(RepeatedField* other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1475,1
    - Dst: RepeatedField*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1475,1
    - Dst: google::protobuf::RepeatedField<Element>::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1476,1
    - Dst: RepeatedField*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1478,1
    - Dst: RepeatedField::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1479,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1480,1
    - Dst: RepeatedField*::UnsafeArenaSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1473
    functionDepth: 4
    functionLinenumber: 1473
    functionLinenumberEnd: 1483
    functionName: google::protobuf::RepeatedField<Element>::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedField*::UnsafeArenaSwap
    - RepeatedField*::GetArena
    - google::protobuf::RepeatedField<Element>::CopyFrom
    - RepeatedField::MergeFrom
    - google::protobuf::RepeatedField<Element>::InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Swap(RepeatedField* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1489
    functionName: google::protobuf::RepeatedField<Element>::UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::InternalSwap
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::UnsafeArenaSwap(RepeatedField* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1494,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1494,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1495
    functionName: google::protobuf::RepeatedField<Element>::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - swap
    - elements
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::SwapElements(int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1501
    functionName: google::protobuf::RepeatedField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: typename RepeatedField<Element>::iterator RepeatedField<Element>::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1506
    functionName: google::protobuf::RepeatedField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1511
    functionName: google::protobuf::RepeatedField<Element>::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::cbegin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1515
    functionName: google::protobuf::RepeatedField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: typename RepeatedField<Element>::iterator RepeatedField<Element>::end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1520
    functionName: google::protobuf::RepeatedField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1525
    functionName: google::protobuf::RepeatedField<Element>::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::cend()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1530
    functionName: google::protobuf::RepeatedField<Element>::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedField<Element>::SpaceUsedExcludingSelfLong() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1547,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1550,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - total_size
    - new_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1553
    functionName: google::protobuf::internal::CalculateReserveSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_GT
    - std::max
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: int
    signature: int CalculateReserveSize(int total_size, int new_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1547,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1550,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - total_size
    - new_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1553
    functionName: google::protobuf::internal::CalculateReserveSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_GT
    - std::max
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: int
    signature: int CalculateReserveSize(int total_size, int new_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rep
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1561,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1563,1
    - Dst: google::protobuf::internal::CalculateReserveSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1564,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1565,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1566,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1567,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1570,1
    - Dst: static_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1572,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1572,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1574,1
    - Dst: Arena::CreateArray<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1574,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1593,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1596,1
    - Dst: google::protobuf::RepeatedField<Element>::MoveArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1599,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1599,1
    - Dst: InternalDeallocate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1559
    functionDepth: 2
    functionLinenumber: 1559
    functionLinenumberEnd: 1605
    functionName: google::protobuf::RepeatedField<Element>::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 18
    functionsReached:
    - ::operator new
    - Arena::CreateArray<char>
    - google::protobuf::internal::CalculateReserveSize
    - reinterpret_cast<Rep*>
    - elements
    - Element::Element
    - std::numeric_limits<size_t>::max
    - google::protobuf::RepeatedField<Element>::MoveArray
    - static_cast<size_t>
    - static_cast<Rep*>
    - GetArena
    - GOOGLE_DCHECK_LE
    - InternalDeallocate
    - rep
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Reserve(int new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1613
    functionName: google::protobuf::RepeatedField<Element>::Truncate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Truncate(int new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::CopyArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1619
    functionName: google::protobuf::RepeatedField<Element>::MoveArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyArray
    linkageType: ''
    returnType: void
    signature: "void RepeatedField<Element>::MoveArray(Element* to, Element* from,\n
      \                                             int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::ElementCopier<Element>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1625
    functionName: google::protobuf::RepeatedField<Element>::CopyArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 9
    functionsReached:
    - internal::ElementCopier<Element>
    linkageType: ''
    returnType: void
    signature: "void RepeatedField<Element>::CopyArray(Element* to, const Element*
      from,\n                                              int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::copy
    linkageType: ''
    returnType: void
    signature: "void ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1640
    functionName: operator()(Element* to, const Element* from, int array_size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - memcpy
    linkageType: ''
    returnType: void
    signature: void operator()(Element* to, const Element* from, int array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::copy
    linkageType: ''
    returnType: void
    signature: "void ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1640
    functionName: operator()(Element* to, const Element* from, int array_size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - memcpy
    linkageType: ''
    returnType: void
    signature: void operator()(Element* to, const Element* from, int array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1651
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1654
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    - ::operator delete
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1677,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1675
    functionDepth: 2
    functionLinenumber: 1675
    functionLinenumberEnd: 1681
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Swap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1690,1
    - Dst: RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1691,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1692,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1693,1
    - Dst: RepeatedPtrFieldBase*::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1694,1
    - Dst: RepeatedPtrFieldBase::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1684
    functionDepth: 2
    functionLinenumber: 1684
    functionLinenumberEnd: 1696
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    - google::protobuf::internal::RepeatedPtrFieldBase::Clear
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - RepeatedPtrFieldBase::MergeFrom
    - RepeatedPtrFieldBase*::InternalSwap
    - RepeatedPtrFieldBase::Destroy
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapFallback(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RepeatedPtrFieldBase::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1700
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1705,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1706,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1703
    functionDepth: 1
    functionLinenumber: 1703
    functionLinenumberEnd: 1708
    functionName: "& RepeatedPtrFieldBase::Get(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::Get(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1713,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1714,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1716
    functionName: "& RepeatedPtrFieldBase::at(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::at(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1720,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1721,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1723
    functionName: '& RepeatedPtrFieldBase::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type & RepeatedPtrFieldBase::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1727,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1728,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1730
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1734,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1735,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1737
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Delete(int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1743,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1746,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1740
    functionDepth: 3
    functionLinenumber: 1740
    functionLinenumberEnd: 1753
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::Add(\n    typename
      TypeHandler::Type* prototype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1763,1
    - Dst: google::protobuf::internal::GenericTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename TypeHandler::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1757
    functionDepth: 3
    functionLinenumber: 1757
    functionLinenumberEnd: 1769
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::GenericTypeHandler::New
    - cast<TypeHandler>
    - std::move
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Add(typename TypeHandler::Type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1773,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1775
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RemoveLast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1780,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1789
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - GOOGLE_DCHECK_GE
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1799,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1798
    functionDepth: 3
    functionLinenumber: 1798
    functionLinenumberEnd: 1803
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::MergeFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1805
    functionDepth: 2
    functionLinenumber: 1805
    functionLinenumberEnd: 1819
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInternal(\n    const RepeatedPtrFieldBase&
      other,\n    void (RepeatedPtrFieldBase::*inner_loop)(void**, void**, int, int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1831,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1833,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1834,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1836,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1840,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1842,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - our_elems
    - other_elems
    - length
    - already_allocated
    argTypes:
    - void**
    - void**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1846
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - reinterpret_cast<typename TypeHandler::Type*>
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInnerLoop(void** our_elems,\n
      \                                             void** other_elems, int length,\n
      \                                             int already_allocated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Clear<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1851,1
    - Dst: RepeatedPtrFieldBase::MergeFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1853
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::MergeFrom<TypeHandler>
    - RepeatedPtrFieldBase::Clear<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CopyFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1859
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * const* RepeatedPtrFieldBase::raw_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1863
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - const_cast<void**>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::raw_mutable_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1870
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type**>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type ** RepeatedPtrFieldBase::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1878
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type* const*>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * const* RepeatedPtrFieldBase::data()\n
      \   const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1883
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapElements(int index1, int index2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1887,1
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1886
    functionDepth: 2
    functionLinenumber: 1886
    functionLinenumberEnd: 1896
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    - static_cast<size_t>
    - cast<TypeHandler>
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1905
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::AddFromCleared()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Arena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1913,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1909
    functionDepth: 2
    functionLinenumber: 1909
    functionLinenumberEnd: 1931
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Arena*>
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::true_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1943,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1946,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1947,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1948,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - value
    - value_arena
    - my_arena
    argTypes:
    - typename TypeHandler::Type*
    - Arena*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1935
    functionDepth: 4
    functionLinenumber: 1935
    functionLinenumberEnd: 1953
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - Arena*::Own
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedSlowWithCopy(\n    // Pass
      value_arena and my_arena to avoid duplicate virtual call (value) or\n    //
      load (mine).\n    typename TypeHandler::Type* value, Arena* value_arena, Arena*
      my_arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1957
    functionDepth: 4
    functionLinenumber: 1957
    functionLinenumberEnd: 1975
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::false_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1983,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1978
    functionDepth: 3
    functionLinenumber: 1978
    functionLinenumberEnd: 2003
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::UnsafeArenaAddAllocated(\n    typename
      TypeHandler::Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2010,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2012,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2017,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2007
    functionDepth: 2
    functionLinenumber: 2007
    functionLinenumberEnd: 2021
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2028
    functionDepth: 2
    functionLinenumber: 2028
    functionLinenumberEnd: 2035
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::false_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2040,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2050
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 10
    functionsReached:
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: 'typename TypeHandler::Type *

      RepeatedPtrFieldBase::UnsafeArenaReleaseLast()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2054
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::ClearedCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2057
    functionDepth: 3
    functionLinenumber: 2057
    functionLinenumberEnd: 2067
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - GOOGLE_DCHECK
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddCleared(\n    typename TypeHandler::Type*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2075,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2076,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2070
    functionDepth: 1
    functionLinenumber: 2070
    functionLinenumberEnd: 2078
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    - GOOGLE_DCHECK_GT
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseCleared()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1651
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1654
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    - ::operator delete
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1677,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1675
    functionDepth: 2
    functionLinenumber: 1675
    functionLinenumberEnd: 1681
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Swap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1690,1
    - Dst: RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1691,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1692,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1693,1
    - Dst: RepeatedPtrFieldBase*::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1694,1
    - Dst: RepeatedPtrFieldBase::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1684
    functionDepth: 2
    functionLinenumber: 1684
    functionLinenumberEnd: 1696
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    - google::protobuf::internal::RepeatedPtrFieldBase::Clear
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - RepeatedPtrFieldBase::MergeFrom
    - RepeatedPtrFieldBase*::InternalSwap
    - RepeatedPtrFieldBase::Destroy
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapFallback(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RepeatedPtrFieldBase::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1700
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1705,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1706,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1703
    functionDepth: 1
    functionLinenumber: 1703
    functionLinenumberEnd: 1708
    functionName: "& RepeatedPtrFieldBase::Get(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::Get(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1713,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1714,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1716
    functionName: "& RepeatedPtrFieldBase::at(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::at(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1720,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1721,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1723
    functionName: '& RepeatedPtrFieldBase::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type & RepeatedPtrFieldBase::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1727,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1728,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1730
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1734,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1735,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1737
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Delete(int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1743,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1746,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1740
    functionDepth: 3
    functionLinenumber: 1740
    functionLinenumberEnd: 1753
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::Add(\n    typename
      TypeHandler::Type* prototype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1763,1
    - Dst: google::protobuf::internal::GenericTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename TypeHandler::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1757
    functionDepth: 3
    functionLinenumber: 1757
    functionLinenumberEnd: 1769
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::GenericTypeHandler::New
    - cast<TypeHandler>
    - std::move
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Add(typename TypeHandler::Type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1773,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1775
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RemoveLast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1780,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1789
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - GOOGLE_DCHECK_GE
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1799,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1798
    functionDepth: 3
    functionLinenumber: 1798
    functionLinenumberEnd: 1803
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::MergeFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1805
    functionDepth: 2
    functionLinenumber: 1805
    functionLinenumberEnd: 1819
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInternal(\n    const RepeatedPtrFieldBase&
      other,\n    void (RepeatedPtrFieldBase::*inner_loop)(void**, void**, int, int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1831,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1833,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1834,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1836,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1840,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1842,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - our_elems
    - other_elems
    - length
    - already_allocated
    argTypes:
    - void**
    - void**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1846
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - reinterpret_cast<typename TypeHandler::Type*>
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInnerLoop(void** our_elems,\n
      \                                             void** other_elems, int length,\n
      \                                             int already_allocated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Clear<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1851,1
    - Dst: RepeatedPtrFieldBase::MergeFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1853
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::MergeFrom<TypeHandler>
    - RepeatedPtrFieldBase::Clear<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CopyFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1859
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * const* RepeatedPtrFieldBase::raw_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1863
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - const_cast<void**>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::raw_mutable_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1870
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type**>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type ** RepeatedPtrFieldBase::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1878
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type* const*>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * const* RepeatedPtrFieldBase::data()\n
      \   const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1883
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapElements(int index1, int index2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1887,1
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1886
    functionDepth: 2
    functionLinenumber: 1886
    functionLinenumberEnd: 1896
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    - static_cast<size_t>
    - cast<TypeHandler>
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1905
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::AddFromCleared()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Arena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1913,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1909
    functionDepth: 2
    functionLinenumber: 1909
    functionLinenumberEnd: 1931
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Arena*>
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::true_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1943,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1946,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1947,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1948,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - value
    - value_arena
    - my_arena
    argTypes:
    - typename TypeHandler::Type*
    - Arena*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1935
    functionDepth: 4
    functionLinenumber: 1935
    functionLinenumberEnd: 1953
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - Arena*::Own
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedSlowWithCopy(\n    // Pass
      value_arena and my_arena to avoid duplicate virtual call (value) or\n    //
      load (mine).\n    typename TypeHandler::Type* value, Arena* value_arena, Arena*
      my_arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1957
    functionDepth: 4
    functionLinenumber: 1957
    functionLinenumberEnd: 1975
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::false_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1983,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1978
    functionDepth: 3
    functionLinenumber: 1978
    functionLinenumberEnd: 2003
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::UnsafeArenaAddAllocated(\n    typename
      TypeHandler::Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2010,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2012,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2017,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2007
    functionDepth: 2
    functionLinenumber: 2007
    functionLinenumberEnd: 2021
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2028
    functionDepth: 2
    functionLinenumber: 2028
    functionLinenumberEnd: 2035
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::false_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2040,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2050
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 12
    functionsReached:
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: 'typename TypeHandler::Type *

      RepeatedPtrFieldBase::UnsafeArenaReleaseLast()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2054
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::ClearedCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2057
    functionDepth: 3
    functionLinenumber: 2057
    functionLinenumberEnd: 2067
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - GOOGLE_DCHECK
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddCleared(\n    typename TypeHandler::Type*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2075,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2076,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2070
    functionDepth: 1
    functionLinenumber: 2070
    functionLinenumberEnd: 2078
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    - GOOGLE_DCHECK_GT
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseCleared()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2094
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::RepeatedPtrField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2098
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::RepeatedPtrField(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2101
    functionDepth: 1
    functionLinenumber: 2101
    functionLinenumberEnd: 2105
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::RepeatedPtrField(\n    const RepeatedPtrField&
      other)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2111,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2113,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - begin
    - ' end'
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2109
    functionDepth: 4
    functionLinenumber: 2109
    functionLinenumberEnd: 2118
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::Reserve
    - google::protobuf::RepeatedPtrField<Element>::Add
    - google::protobuf::internal::CalculateReserve
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::RepeatedPtrField(Iter begin,\n                                                   const
      Iter& end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2121
    functionDepth: 0
    functionLinenumber: 2121
    functionLinenumberEnd: 2123
    functionName: RepeatedPtrField<Element>::~RepeatedPtrField()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Destroy<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::~RepeatedPtrField()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2130
    functionName: "& RepeatedPtrField<Element>::operator=(\n    const RepeatedPtrField&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: RepeatedPtrField<Element>
    signature: "RepeatedPtrField<Element> & RepeatedPtrField<Element>::operator=(\n
      \   const RepeatedPtrField& other)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2139,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2140,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2133
    functionDepth: 1
    functionLinenumber: 2133
    functionLinenumberEnd: 2144
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::CopyFrom
    - google::protobuf::RepeatedPtrField<Element>::GetArena
    - InternalSwap
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::RepeatedPtrField(\n    RepeatedPtrField&&
      other) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: '& RepeatedPtrField<Element>::GetArena'
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2152,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2152,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2153,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2159
    functionName: "& RepeatedPtrField<Element>::operator=(\n    RepeatedPtrField&&
      other) noexcept"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - '& RepeatedPtrField<Element>::GetArena'
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: RepeatedPtrField<Element>
    signature: "RepeatedPtrField<Element> & RepeatedPtrField<Element>::operator=(\n
      \   RepeatedPtrField&& other) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2162
    functionDepth: 1
    functionLinenumber: 2162
    functionLinenumberEnd: 2164
    functionName: google::protobuf::RepeatedPtrField<Element>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::empty
    linkageType: ''
    returnType: bool
    signature: bool RepeatedPtrField<Element>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2167
    functionDepth: 1
    functionLinenumber: 2167
    functionLinenumberEnd: 2169
    functionName: google::protobuf::RepeatedPtrField<Element>::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::size
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrField<Element>::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Get<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2174
    functionName: '& RepeatedPtrField<Element>::Get(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Get<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedPtrField<Element>::Get(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::at<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2177
    functionDepth: 0
    functionLinenumber: 2177
    functionLinenumberEnd: 2179
    functionName: '& RepeatedPtrField<Element>::at(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::at<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedPtrField<Element>::at(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::at<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2184
    functionName: '& RepeatedPtrField<Element>::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::at<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedPtrField<Element>::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2188
    functionDepth: 0
    functionLinenumber: 2188
    functionLinenumberEnd: 2190
    functionName: google::protobuf::RepeatedPtrField<Element>::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Mutable<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Add<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2195
    functionName: google::protobuf::RepeatedPtrField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - RepeatedPtrFieldBase::Add<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::Add()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Add<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2199,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2200
    functionName: google::protobuf::RepeatedPtrField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - RepeatedPtrFieldBase::Add<TypeHandler>
    - std::move
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Add(Element&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::RemoveLast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2205
    functionName: google::protobuf::RepeatedPtrField<Element>::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::RemoveLast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::RemoveLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2209,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2210,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2211,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2211,1
    - Dst: RepeatedPtrFieldBase::Delete<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2213,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - start
    - num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2208
    functionDepth: 2
    functionLinenumber: 2208
    functionLinenumberEnd: 2216
    functionName: google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedPtrField<Element>::size
    - google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
    - GOOGLE_DCHECK_LE
    - RepeatedPtrFieldBase::Delete<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::DeleteSubrange(int start, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2224
      start: 2219
    functionDepth: 3
    functionLinenumber: 2219
    functionLinenumberEnd: 2224
    functionName: google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::ExtractSubrange(int start, int num,\n
      \                                                      Element** elements)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2231,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2232,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2233,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2233,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2238,1
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2243,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2245,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2246,1
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2251,1
    - Dst: CloseGap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2229
    functionDepth: 2
    functionLinenumber: 2229
    functionLinenumberEnd: 2257
    functionName: google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - CloseGap
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedPtrField<Element>::size
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - RepeatedPtrFieldBase::Mutable<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - GOOGLE_DCHECK_LE
    - google::protobuf::RepeatedPtrField<Element>::GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::ExtractSubrangeInternal(\n    int
      start, int num, Element** elements, std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2268,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2268,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2262
    functionDepth: 3
    functionLinenumber: 2262
    functionLinenumberEnd: 2272
    functionName: google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
    - GOOGLE_DCHECK
    - google::protobuf::RepeatedPtrField<Element>::GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::ExtractSubrangeInternal(\n    int
      start, int num, Element** elements, std::false_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2277,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2278,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2279,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2279,1
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2285,1
    - Dst: CloseGap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2275
    functionDepth: 2
    functionLinenumber: 2275
    functionLinenumberEnd: 2290
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - CloseGap
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedPtrField<Element>::size
    - RepeatedPtrFieldBase::Mutable<TypeHandler>
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::UnsafeArenaExtractSubrange(\n    int
      start, int num, Element** elements)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Clear<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2295
    functionName: google::protobuf::RepeatedPtrField<Element>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Clear<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::MergeFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2301
    functionName: google::protobuf::RepeatedPtrField<Element>::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - RepeatedPtrFieldBase::MergeFrom<TypeHandler>
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::MergeFrom(\n    const RepeatedPtrField&
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::CopyFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2306
    functionName: google::protobuf::RepeatedPtrField<Element>::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - RepeatedPtrFieldBase::CopyFrom<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::CopyFrom(const RepeatedPtrField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - position
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2309
    functionDepth: 1
    functionLinenumber: 2309
    functionLinenumberEnd: 2312
    functionName: google::protobuf::RepeatedPtrField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::erase
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::erase(const_iterator
      position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2317,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2317,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2318,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2318,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2319,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2321
      start: 2315
    functionDepth: 3
    functionLinenumber: 2315
    functionLinenumberEnd: 2321
    functionName: google::protobuf::RepeatedPtrField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::cbegin
    - std::distance
    - google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
    - google::protobuf::RepeatedPtrField<Element>::begin
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::erase(const_iterator
      first, const_iterator last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::mutable_data<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2326
    functionName: google::protobuf::RepeatedPtrField<Element>::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::mutable_data<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element ** RepeatedPtrField<Element>::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::data<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2331
    functionName: google::protobuf::RepeatedPtrField<Element>::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::data<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * const* RepeatedPtrField<Element>::data() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Swap<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2337
    functionName: google::protobuf::RepeatedPtrField<Element>::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Swap<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Swap(RepeatedPtrField* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2340
    functionDepth: 2
    functionLinenumber: 2340
    functionLinenumberEnd: 2344
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::UnsafeArenaSwap(\n    RepeatedPtrField*
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2347
    functionDepth: 1
    functionLinenumber: 2347
    functionLinenumberEnd: 2349
    functionName: google::protobuf::RepeatedPtrField<Element>::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::SwapElements(int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2352
    functionDepth: 0
    functionLinenumber: 2352
    functionLinenumberEnd: 2354
    functionName: google::protobuf::RepeatedPtrField<Element>::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 9
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * RepeatedPtrField<Element>::GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2359
    functionName: google::protobuf::RepeatedPtrField<Element>::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong<TypeHandler>
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedPtrField<Element>::SpaceUsedExcludingSelfLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::AddAllocated<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2362
    functionDepth: 0
    functionLinenumber: 2362
    functionLinenumberEnd: 2364
    functionName: google::protobuf::RepeatedPtrField<Element>::AddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::AddAllocated<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::AddAllocated(Element* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::UnsafeArenaAddAllocated<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2369
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaAddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::UnsafeArenaAddAllocated<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::UnsafeArenaAddAllocated(Element* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::ReleaseLast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2374
    functionName: google::protobuf::RepeatedPtrField<Element>::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::ReleaseLast<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::ReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::UnsafeArenaReleaseLast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2379
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::UnsafeArenaReleaseLast<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::UnsafeArenaReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2382
    functionDepth: 1
    functionLinenumber: 2382
    functionLinenumberEnd: 2384
    functionName: google::protobuf::RepeatedPtrField<Element>::ClearedCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrField<Element>::ClearedCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::AddCleared<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2389
    functionName: google::protobuf::RepeatedPtrField<Element>::AddCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::AddCleared<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::AddCleared(Element* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::ReleaseCleared<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2394
    functionName: google::protobuf::RepeatedPtrField<Element>::ReleaseCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::ReleaseCleared<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::ReleaseCleared()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2397
    functionDepth: 3
    functionLinenumber: 2397
    functionLinenumberEnd: 2399
    functionName: google::protobuf::RepeatedPtrField<Element>::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Reserve(int new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2402
    functionDepth: 1
    functionLinenumber: 2402
    functionLinenumberEnd: 2404
    functionName: google::protobuf::RepeatedPtrField<Element>::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Capacity
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrField<Element>::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(void* const* it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: implicit_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    - Dst: static_cast<OtherElement*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrIterator<OtherElement>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2443
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - implicit_cast<Element*>
    - static_cast<OtherElement*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(const RepeatedPtrIterator<OtherElement>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2446
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2447
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2453
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2454
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2458
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2459
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2462
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2463
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2466
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2467
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2468
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2469
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2475
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2479
    functionName: operator+(iterator it, const difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, const difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2483
    functionName: operator+(const difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(const difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2487
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2491
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2494
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2497
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2524
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - VoidPtr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2525
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator(VoidPtr* it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2528
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2529
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2535
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2536
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2540
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2541
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2544
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2545
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2548
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2549
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2550
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2551
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2557
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2561
    functionName: operator+(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2565
    functionName: operator+(difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2569
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2573
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2576
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2579
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2590,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
        -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2596,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2598,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2602
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 12
    functionsReached:
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    - reinterpret_cast<char*>
    - "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
      -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::InternalSwap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(void* const* it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: implicit_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    - Dst: static_cast<OtherElement*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrIterator<OtherElement>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2443
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - implicit_cast<Element*>
    - static_cast<OtherElement*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(const RepeatedPtrIterator<OtherElement>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2446
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2447
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2453
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2454
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2458
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2459
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2462
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2463
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2466
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2467
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2468
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2469
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2475
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2479
    functionName: operator+(iterator it, const difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, const difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2483
    functionName: operator+(const difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(const difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2487
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2491
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2494
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2497
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2524
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - VoidPtr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2525
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator(VoidPtr* it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2528
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2529
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2535
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2536
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2540
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2541
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2544
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2545
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2548
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2549
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2550
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2551
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2557
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2561
    functionName: operator+(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2565
    functionName: operator+(difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2569
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2573
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2576
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2579
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2590,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
        -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2596,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2598,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2602
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 12
    functionsReached:
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    - reinterpret_cast<char*>
    - "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
      -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::InternalSwap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2609,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2607
    functionDepth: 0
    functionLinenumber: 2607
    functionLinenumberEnd: 2610
    functionName: google::protobuf::RepeatedPtrField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - iterator
    - raw_data
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2614,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2612
    functionDepth: 0
    functionLinenumber: 2612
    functionLinenumberEnd: 2615
    functionName: google::protobuf::RepeatedPtrField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 5
    functionsReached:
    - iterator
    - raw_data
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2620
      start: 2617
    functionDepth: 1
    functionLinenumber: 2617
    functionLinenumberEnd: 2620
    functionName: google::protobuf::RepeatedPtrField<Element>::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::begin
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::cbegin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2624,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2624,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2625
      start: 2622
    functionDepth: 2
    functionLinenumber: 2622
    functionLinenumberEnd: 2625
    functionName: google::protobuf::RepeatedPtrField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - iterator
    - raw_data
    - google::protobuf::RepeatedPtrField<Element>::size
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2629,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2629,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2627
    functionDepth: 2
    functionLinenumber: 2627
    functionLinenumberEnd: 2630
    functionName: google::protobuf::RepeatedPtrField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 2
    functionsReached:
    - iterator
    - raw_data
    - google::protobuf::RepeatedPtrField<Element>::size
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2632
    functionDepth: 3
    functionLinenumber: 2632
    functionLinenumberEnd: 2635
    functionName: google::protobuf::RepeatedPtrField<Element>::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::end
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::cend()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2640,1
    - Dst: raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2638
    functionDepth: 0
    functionLinenumber: 2638
    functionLinenumberEnd: 2641
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - raw_mutable_data
    - pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::pointer_iterator
    signature: typename RepeatedPtrField<Element>::pointer_iterator RepeatedPtrField<Element>::pointer_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2645,1
    - Dst: const_cast<const void* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2645,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2646
      start: 2643
    functionDepth: 0
    functionLinenumber: 2643
    functionLinenumberEnd: 2646
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<const void* const*>
    - raw_data
    - const_pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_pointer_iterator
    signature: typename RepeatedPtrField<Element>::const_pointer_iterator RepeatedPtrField<Element>::pointer_begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2650,1
    - Dst: raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2650,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2648
    functionDepth: 2
    functionLinenumber: 2648
    functionLinenumberEnd: 2651
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - raw_mutable_data
    - google::protobuf::RepeatedPtrField<Element>::size
    - pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::pointer_iterator
    signature: typename RepeatedPtrField<Element>::pointer_iterator RepeatedPtrField<Element>::pointer_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2655,1
    - Dst: const_cast<const void* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2656,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2656,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2653
    functionDepth: 2
    functionLinenumber: 2653
    functionLinenumberEnd: 2657
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<const void* const*>
    - google::protobuf::RepeatedPtrField<Element>::size
    - raw_data
    - const_pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_pointer_iterator
    signature: typename RepeatedPtrField<Element>::const_pointer_iterator RepeatedPtrField<Element>::pointer_end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RepeatedFieldBackInsertIterator(\n      RepeatedField<T>* const
      mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2677
    functionDepth: 0
    functionLinenumber: 2677
    functionLinenumberEnd: 2680
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2681
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2682
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2685
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2697
    functionName: google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBackInsertIterator(RepeatedPtrField<T>* const
      mutable_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2701
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2706
    functionName: "& operator=(\n      const T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: "RepeatedPtrFieldBackInsertIterator<T> & operator=(\n      const T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2710
    functionName: '& operator=(T&& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    - std::move
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(T&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2711
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2712
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2715
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2729
    functionName: google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2734
    functionName: "& operator=(\n      T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - AddAllocated
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n      T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2735
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2736
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(int /*
      unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2753
    functionName: google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2758
    functionName: "& operator=(\n      T const* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    - UnsafeArenaAddAllocated
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n
      \     T const* const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2765
    functionDepth: 0
    functionLinenumber: 2765
    functionLinenumberEnd: 2768
    functionName: "& operator++(\n      int /* unused */)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(\n
      \     int /* unused */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RepeatedFieldBackInsertIterator(\n      RepeatedField<T>* const
      mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2677
    functionDepth: 0
    functionLinenumber: 2677
    functionLinenumberEnd: 2680
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2681
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2682
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2685
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2697
    functionName: google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBackInsertIterator(RepeatedPtrField<T>* const
      mutable_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2701
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2706
    functionName: "& operator=(\n      const T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: "RepeatedPtrFieldBackInsertIterator<T> & operator=(\n      const T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2710
    functionName: '& operator=(T&& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    - std::move
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(T&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2711
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2712
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2715
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2729
    functionName: google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2734
    functionName: "& operator=(\n      T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - AddAllocated
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n      T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2735
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2736
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(int /*
      unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2753
    functionName: google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2758
    functionName: "& operator=(\n      T const* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    - UnsafeArenaAddAllocated
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n
      \     T const* const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2765
    functionDepth: 0
    functionLinenumber: 2765
    functionLinenumberEnd: 2768
    functionName: "& operator++(\n      int /* unused */)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(\n
      \     int /* unused */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::RepeatedFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2782
    functionName: google::protobuf::RepeatedFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::RepeatedFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::RepeatedFieldBackInsertIterator<T>
    signature: "internal::RepeatedFieldBackInsertIterator<T> RepeatedFieldBackInserter(\n
      \   RepeatedField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::RepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2790
    functionName: google::protobuf::RepeatedPtrFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::RepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::RepeatedPtrFieldBackInsertIterator<T> RepeatedPtrFieldBackInserter(\n
      \   RepeatedPtrField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::RepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2799
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2799
    functionName: google::protobuf::RepeatedFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::RepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::RepeatedPtrFieldBackInsertIterator<T> RepeatedFieldBackInserter(\n
      \   RepeatedPtrField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::AllocatedRepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2810
    functionName: google::protobuf::AllocatedRepeatedPtrFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::AllocatedRepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::AllocatedRepeatedPtrFieldBackInsertIterator<T> AllocatedRepeatedPtrFieldBackInserter(\n
      \   RepeatedPtrField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2824
    functionDepth: 0
    functionLinenumber: 2824
    functionLinenumberEnd: 2829
    functionName: google::protobuf::UnsafeArenaAllocatedRepeatedPtrFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
      UnsafeArenaAllocatedRepeatedPtrFieldBackInserter(\n    RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 12
    functionsReached:
    - std::distance
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end, std::forward_iterator_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CalculateReserve(Iter /*begin*/, Iter /*end*/,\n                            std::input_iterator_tag
      /*unused*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    - Dst: Category
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 13
    functionsReached:
    - Category
    - google::protobuf::internal::CalculateReserve
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:124,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::SwapBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void SwapBlock(char* p, char* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::memswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename std::enable_if<(kSize == 0), void>::type
    signature: typename std::enable_if<(kSize == 0), void>::type memswap(char*, char*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reg_type
    - ','
    - max_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: PROTO_MEMSWAP_DEF_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTO_MEMSWAP_DEF_SIZE(reg_type, max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 13
    functionsReached:
    - std::distance
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end, std::forward_iterator_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int CalculateReserve(Iter /*begin*/, Iter /*end*/,\n                            std::input_iterator_tag
      /*unused*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    - Dst: Category
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::CalculateReserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 14
    functionsReached:
    - Category
    - google::protobuf::internal::CalculateReserve
    linkageType: ''
    returnType: int
    signature: int CalculateReserve(Iter begin, Iter end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:124,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:125,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::SwapBlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void SwapBlock(char* p, char* q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::memswap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename std::enable_if<(kSize == 0), void>::type
    signature: typename std::enable_if<(kSize == 0), void>::type memswap(char*, char*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - reg_type
    - ','
    - max_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: PROTO_MEMSWAP_DEF_SIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTO_MEMSWAP_DEF_SIZE(reg_type, max_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: '& operator[](int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:278,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: google::protobuf::RepeatedField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rbegin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:280,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: google::protobuf::RepeatedField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:282,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: google::protobuf::RepeatedField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - begin
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:284,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: google::protobuf::RepeatedField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    - begin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:292,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: google::protobuf::RepeatedField::SpaceUsedExcludingSelf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsedExcludingSelf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Arena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:312,1
    - Dst: google::protobuf::RepeatedField::rep
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: google::protobuf::RepeatedField::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - static_cast<Arena*>
    - google::protobuf::RepeatedField::rep
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:352,1
    - Dst: google::protobuf::RepeatedField::unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: google::protobuf::RepeatedField::elements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_GT
    - google::protobuf::RepeatedField::unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * elements() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: google::protobuf::RepeatedField::unsafe_elements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - static_cast<Element*>
    linkageType: ''
    returnType: Element
    signature: Element * unsafe_elements() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:367,1
    - Dst: google::protobuf::RepeatedField::elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:367,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: google::protobuf::RepeatedField::rep
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - reinterpret_cast<Rep*>
    - google::protobuf::RepeatedField::elements
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: Rep
    signature: Rep * rep() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Element*::~Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:389,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:395,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:395,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:397,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - rep
    - size
    argTypes:
    - Rep*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: google::protobuf::RepeatedField::InternalDeallocate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Element*::~Element
    - ::operator delete
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void InternalDeallocate(Rep* rep, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rf
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: google::protobuf::RepeatedField::FastAdderImpl::FastAdderImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: void
    signature: void FastAdderImpl(RepeatedField* rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 449
    functionName: ~FastAdderImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FastAdderImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:454,1
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - val
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 459
    functionName: google::protobuf::RepeatedField::FastAdderImpl::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    - Reserve
    linkageType: ''
    returnType: void
    signature: void Add(Element val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rf
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 475
    functionName: google::protobuf::RepeatedField::FastAdderImpl<I, false>::FastAdderImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FastAdderImpl(RepeatedField* rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 476
    functionName: google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
    linkageType: ''
    returnType: void
    signature: void Add(const Element& val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:637,1
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:741,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 798
    functionName: google::protobuf::internal::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    - reinterpret_cast<const typename TypeHandler::Type*>
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - SpaceAllocated
    - AddAllocatedInternal<TypeHandler>
    - Add
    - reinterpret_cast<typename TypeHandler::Type*>
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedPtrFieldBase
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 588
    functionName: ~RepeatedPtrFieldBase()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - SpaceAllocated
    linkageType: ''
    returnType: void
    signature: void ~RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: google::protobuf::internal::AddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - AddAllocatedInternal<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void AddAllocated(typename TypeHandler::Type* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: google::protobuf::internal::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * ReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 750
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(const void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 808
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - Arena::CreateMaybeMessage<Type>
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<GenericType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - Arena::Create<GenericType>
    - std::move
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena, GenericType&& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - GenericType*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: google::protobuf::internal::GenericTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(GenericType* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 821
    functionName: google::protobuf::internal::GenericTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::GenericTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 13
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const GenericType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 838
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - New
    linkageType: ''
    returnType: GenericType
    signature: "GenericType * GenericTypeHandler<GenericType>::NewFromPrototype(\n
      \   const GenericType* /* prototype */, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - GenericType
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<GenericType>::Merge(const GenericType& from,\n
      \                                           GenericType* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 854
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GenericTypeHandler<MessageLite>::GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: "void * GenericTypeHandler<MessageLite>::GetMaybeArenaPointer(\n    MessageLite*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 866
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void GenericTypeHandler<std::string>::Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 890
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 893
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - std::move
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena, std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: google::protobuf::internal::StringTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::StringTypeHandler::New
    linkageType: ''
    returnType: std::string
    signature: "std::string * NewFromPrototype(const std::string*,\n                                              Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 898
    functionName: google::protobuf::internal::StringTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(std::string*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(std::string* /* value */)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: google::protobuf::internal::StringTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(std::string* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 907
    functionName: google::protobuf::internal::StringTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 910
    functionName: google::protobuf::internal::StringTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Merge(const std::string& from, std::string* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 913
    functionName: google::protobuf::internal::StringTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const std::string& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:637,1
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:741,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 798
    functionName: google::protobuf::internal::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    - reinterpret_cast<const typename TypeHandler::Type*>
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - SpaceAllocated
    - AddAllocatedInternal<TypeHandler>
    - Add
    - reinterpret_cast<typename TypeHandler::Type*>
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedPtrFieldBase
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SpaceAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 588
    functionName: ~RepeatedPtrFieldBase()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - SpaceAllocated
    linkageType: ''
    returnType: void
    signature: void ~RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocatedInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: google::protobuf::internal::AddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 1
    functionsReached:
    - AddAllocatedInternal<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void AddAllocated(typename TypeHandler::Type* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseLastInternal<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: google::protobuf::internal::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - ReleaseLastInternal<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * ReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 719
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 750
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 754
    functionName: google::protobuf::internal::cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type*>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * cast(const void* element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMaybeMessage<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 808
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - Arena::CreateMaybeMessage<Type>
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<GenericType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 811
    functionName: google::protobuf::internal::GenericTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - Arena::Create<GenericType>
    - std::move
    linkageType: ''
    returnType: GenericType
    signature: GenericType * New(Arena* arena, GenericType&& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - GenericType*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: google::protobuf::internal::GenericTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(GenericType* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 821
    functionName: google::protobuf::internal::GenericTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::GetArena<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Arena::GetArena<Type>
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 826
    functionName: google::protobuf::internal::GenericTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::Clear
    linkageType: ''
    returnType: void
    signature: void Clear(GenericType* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - GenericType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const GenericType& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 838
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - New
    linkageType: ''
    returnType: GenericType
    signature: "GenericType * GenericTypeHandler<GenericType>::NewFromPrototype(\n
      \   const GenericType* /* prototype */, Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenericType*::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - GenericType
    - GenericType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 843
    functionName: google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GenericType*::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void GenericTypeHandler<GenericType>::Merge(const GenericType& from,\n
      \                                           GenericType* to)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 854
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GenericTypeHandler<MessageLite>::GetArena(MessageLite* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageLite*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - MessageLite*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: "void * GenericTypeHandler<MessageLite>::GetMaybeArenaPointer(\n    MessageLite*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 866
    functionName: google::protobuf::internal::GenericTypeHandler<std::string>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void GenericTypeHandler<std::string>::Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 890
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::Create<std::string>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - arena
    - ' value'
    argTypes:
    - Arena*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 893
    functionName: google::protobuf::internal::StringTypeHandler::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - std::move
    - Arena::Create<std::string>
    linkageType: ''
    returnType: std::string
    signature: std::string * New(Arena* arena, std::string&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StringTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 897
    functionName: google::protobuf::internal::StringTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::StringTypeHandler::New
    linkageType: ''
    returnType: std::string
    signature: "std::string * NewFromPrototype(const std::string*,\n                                              Arena*
      arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 898
    functionName: google::protobuf::internal::StringTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(std::string*)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(std::string* /* value */)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - value
    - arena
    argTypes:
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: google::protobuf::internal::StringTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(std::string* value, Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 907
    functionName: google::protobuf::internal::StringTypeHandler::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::string*::clear
    linkageType: ''
    returnType: void
    signature: void Clear(std::string* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' from'
    - to
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 910
    functionName: google::protobuf::internal::StringTypeHandler::Merge
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Merge(const std::string& from, std::string* to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringSpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 913
    functionName: google::protobuf::internal::StringTypeHandler::SpaceUsedLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - StringSpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: size_t
    signature: size_t SpaceUsedLong(const std::string& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 944
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 945
    functionName: '& operator[](int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Mutable
    linkageType: ''
    returnType: Element
    signature: Element & operator[](int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1009,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1009
    functionName: google::protobuf::RepeatedPtrField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rbegin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1011,1
    - Dst: end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: google::protobuf::RepeatedPtrField::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - end
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1013,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1013
    functionName: google::protobuf::RepeatedPtrField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - begin
    - reverse_iterator
    linkageType: ''
    returnType: reverse_iterator
    signature: reverse_iterator rend()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1015,1
    - Dst: begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1016
    functionName: google::protobuf::RepeatedPtrField::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    - begin
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1035,1
    - Dst: SpaceUsedExcludingSelfLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1036
    functionName: google::protobuf::RepeatedPtrField::SpaceUsedExcludingSelf
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - SpaceUsedExcludingSelfLong
    linkageType: ''
    returnType: int
    signature: int SpaceUsedExcludingSelf() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1156
    functionName: google::protobuf::RepeatedPtrField::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    linkageType: ''
    returnType: void
    signature: void InternalSwap(RepeatedPtrField* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1184
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1188
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1194,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1194,1
    - Dst: google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1195,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1195,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    - Dst: google::protobuf::RepeatedField<Element>::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1191
    functionDepth: 3
    functionLinenumber: 1191
    functionLinenumberEnd: 1198
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyArray
    - google::protobuf::RepeatedField<Element>::Reserve
    - google::protobuf::RepeatedField<Element>::size
    - google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
    - Get
    - google::protobuf::RepeatedField<Element>::Mutable
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(const RepeatedField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - begin
    - ' end'
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1202
    functionDepth: 2
    functionLinenumber: 1202
    functionLinenumberEnd: 1205
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::Add
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(Iter begin, const Iter&
      end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InternalDeallocate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1210,1
    - Dst: rep
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1212
    functionName: RepeatedField<Element>::~RepeatedField()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - InternalDeallocate
    - rep
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::~RepeatedField()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1219
    functionName: "& RepeatedField<Element>::operator=(\n    const RepeatedField&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: RepeatedField<Element>
    signature: "RepeatedField<Element> & RepeatedField<Element>::operator=(\n    const
      RepeatedField& other)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1227,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1228,1
    - Dst: google::protobuf::RepeatedField<Element>::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1222
    functionDepth: 4
    functionLinenumber: 1222
    functionLinenumberEnd: 1232
    functionName: google::protobuf::RepeatedField<Element>::RepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyFrom
    - google::protobuf::RepeatedField<Element>::InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RepeatedField(RepeatedField&& other) noexcept
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: '& RepeatedField<Element>::GetArena'
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1240,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1240,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1241,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1247
    functionName: "& RepeatedField<Element>::operator=(\n    RepeatedField&& other)
      noexcept"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - '& RepeatedField<Element>::GetArena'
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: RepeatedField<Element>
    signature: "RepeatedField<Element> & RepeatedField<Element>::operator=(\n    RepeatedField&&
      other) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1252
    functionName: google::protobuf::RepeatedField<Element>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RepeatedField<Element>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1257
    functionName: google::protobuf::RepeatedField<Element>::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedField<Element>::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1262
    functionName: google::protobuf::RepeatedField<Element>::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedField<Element>::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1266,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1268
    functionName: google::protobuf::RepeatedField<Element>::AddAlreadyReserved
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::AddAlreadyReserved(const Element& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1272,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1274
    functionName: google::protobuf::RepeatedField<Element>::AddAlreadyReserved
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::AddAlreadyReserved()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1278,1
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1287
    functionName: google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - GOOGLE_DCHECK_GE
    - unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::AddNAlreadyReserved(int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1291,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1293,1
    - Dst: std::fill
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1294,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1294,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - new_size
    - ' value'
    argTypes:
    - int
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1290
    functionDepth: 3
    functionLinenumber: 1290
    functionLinenumberEnd: 1297
    functionName: google::protobuf::RepeatedField<Element>::Resize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - elements
    - GOOGLE_DCHECK_GE
    - std::fill
    - google::protobuf::RepeatedField<Element>::Reserve
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Resize(int new_size, const Element& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1301,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1302,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1304
    functionName: '& RepeatedField<Element>::Get(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedField<Element>::Get(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1308,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1309,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1311
    functionName: '& RepeatedField<Element>::at(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedField<Element>::at(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1315,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1316,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1318
    functionName: '& RepeatedField<Element>::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedField<Element>::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1322,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1323,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1325
    functionName: google::protobuf::RepeatedField<Element>::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1329,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1330,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - index
    - ' value'
    argTypes:
    - int
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1332
    functionName: google::protobuf::RepeatedField<Element>::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - elements
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Set(int index, const Element& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1337,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1341,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1342,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1342,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1347
    functionName: google::protobuf::RepeatedField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - elements
    - std::move
    - static_cast<int>
    - google::protobuf::RepeatedField<Element>::Reserve
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Add(const Element& value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1352,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1352,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1350
    functionDepth: 3
    functionLinenumber: 1350
    functionLinenumberEnd: 1356
    functionName: google::protobuf::RepeatedField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - elements
    - static_cast<int>
    - google::protobuf::RepeatedField<Element>::Reserve
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::Add()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1361,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1367,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1367,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1374,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1374,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1374,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1375,1
    - Dst: FastAdder::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - begin
    - end
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1360
    functionDepth: 3
    functionLinenumber: 1360
    functionLinenumberEnd: 1380
    functionName: google::protobuf::RepeatedField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::CalculateReserve
    - google::protobuf::RepeatedField<Element>::Reserve
    - FastAdder::Add
    - elements
    - google::protobuf::RepeatedField<Element>::size
    - std::copy
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Add(Iter begin, Iter end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1386
    functionName: google::protobuf::RepeatedField<Element>::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GT
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::RemoveLast()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1391,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1392,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1393,1
    - Dst: google::protobuf::RepeatedField<Element>::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1397,1
    - Dst: google::protobuf::RepeatedField<Element>::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1403,1
    - Dst: google::protobuf::RepeatedField<Element>::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1403,1
    - Dst: google::protobuf::RepeatedField<Element>::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1389
    functionDepth: 2
    functionLinenumber: 1389
    functionLinenumberEnd: 1406
    functionName: google::protobuf::RepeatedField<Element>::ExtractSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedField<Element>::Truncate
    - google::protobuf::RepeatedField<Element>::Get
    - google::protobuf::RepeatedField<Element>::Set
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: "void RepeatedField<Element>::ExtractSubrange(int start, int num,\n
      \                                            Element* elements)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1411
    functionName: google::protobuf::RepeatedField<Element>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1415,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1417,1
    - Dst: google::protobuf::RepeatedField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1418,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1418,1
    - Dst: google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1419,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1419,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    - Dst: google::protobuf::RepeatedField<Element>::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    - Dst: google::protobuf::RepeatedField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1414
    functionDepth: 3
    functionLinenumber: 1414
    functionLinenumberEnd: 1422
    functionName: google::protobuf::RepeatedField<Element>::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyArray
    - GOOGLE_DCHECK_NE
    - google::protobuf::RepeatedField<Element>::Reserve
    - google::protobuf::RepeatedField<Element>::size
    - google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
    - Get
    - google::protobuf::RepeatedField<Element>::Mutable
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::MergeFrom(const RepeatedField& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1427,1
    - Dst: google::protobuf::RepeatedField<Element>::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1429
    functionName: google::protobuf::RepeatedField<Element>::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - google::protobuf::RepeatedField<Element>::Clear
    - google::protobuf::RepeatedField<Element>::MergeFrom
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::CopyFrom(const RepeatedField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - position
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1435
    functionName: google::protobuf::RepeatedField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::RepeatedField<Element>::erase
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: "typename RepeatedField<Element>::iterator RepeatedField<Element>::erase(\n
      \   const_iterator position)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1440,1
    - Dst: google::protobuf::RepeatedField<Element>::Truncate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::cend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1442,1
    - Dst: google::protobuf::RepeatedField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1438
    functionDepth: 2
    functionLinenumber: 1438
    functionLinenumberEnd: 1445
    functionName: google::protobuf::RepeatedField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::RepeatedField<Element>::begin
    - google::protobuf::RepeatedField<Element>::Truncate
    - std::copy
    - google::protobuf::RepeatedField<Element>::cbegin
    - google::protobuf::RepeatedField<Element>::cend
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: "typename RepeatedField<Element>::iterator RepeatedField<Element>::erase(\n
      \   const_iterator first, const_iterator last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1450
    functionName: google::protobuf::RepeatedField<Element>::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1455
    functionName: google::protobuf::RepeatedField<Element>::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedField<Element>::data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1459,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1460,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1460,1
    - Dst: RepeatedField*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1460,1
    - Dst: "internal::memswap<offsetof(RepeatedField, arena_or_elements_) +\n                    sizeof(this->arena_or_elements_)
        -\n                    offsetof(RepeatedField, current_size_)>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1465,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1468,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1458
    functionDepth: 1
    functionLinenumber: 1458
    functionLinenumberEnd: 1470
    functionName: google::protobuf::RepeatedField<Element>::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 10
    functionsReached:
    - "internal::memswap<offsetof(RepeatedField, arena_or_elements_) +\n                    sizeof(this->arena_or_elements_)
      -\n                    offsetof(RepeatedField, current_size_)>"
    - GOOGLE_DCHECK
    - RepeatedField*::GetArena
    - GetArena
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::InternalSwap(RepeatedField* other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1475,1
    - Dst: RepeatedField*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1475,1
    - Dst: google::protobuf::RepeatedField<Element>::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1476,1
    - Dst: RepeatedField*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1478,1
    - Dst: RepeatedField::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1479,1
    - Dst: google::protobuf::RepeatedField<Element>::CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1480,1
    - Dst: RepeatedField*::UnsafeArenaSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1473
    functionDepth: 4
    functionLinenumber: 1473
    functionLinenumberEnd: 1483
    functionName: google::protobuf::RepeatedField<Element>::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedField*::UnsafeArenaSwap
    - RepeatedField*::GetArena
    - google::protobuf::RepeatedField<Element>::CopyFrom
    - RepeatedField::MergeFrom
    - google::protobuf::RepeatedField<Element>::InternalSwap
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Swap(RepeatedField* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1489
    functionName: google::protobuf::RepeatedField<Element>::UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedField<Element>::InternalSwap
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::UnsafeArenaSwap(RepeatedField* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1494,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1494,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1495
    functionName: google::protobuf::RepeatedField<Element>::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - swap
    - elements
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::SwapElements(int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1501
    functionName: google::protobuf::RepeatedField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: typename RepeatedField<Element>::iterator RepeatedField<Element>::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1506
    functionName: google::protobuf::RepeatedField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1511
    functionName: google::protobuf::RepeatedField<Element>::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::cbegin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1515
    functionName: google::protobuf::RepeatedField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::iterator
    signature: typename RepeatedField<Element>::iterator RepeatedField<Element>::end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1520
    functionName: google::protobuf::RepeatedField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unsafe_elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1525
    functionName: google::protobuf::RepeatedField<Element>::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - unsafe_elements
    linkageType: ''
    returnType: typename RepeatedField<Element>::const_iterator
    signature: typename RepeatedField<Element>::const_iterator RepeatedField<Element>::cend()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1530
    functionName: google::protobuf::RepeatedField<Element>::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedField<Element>::SpaceUsedExcludingSelfLong() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1547,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1550,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - total_size
    - new_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1553
    functionName: google::protobuf::internal::CalculateReserveSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_GT
    - std::max
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: int
    signature: int CalculateReserveSize(int total_size, int new_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1547,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1550,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - total_size
    - new_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1553
    functionName: google::protobuf::internal::CalculateReserveSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_GT
    - std::max
    - std::numeric_limits<int>::max
    linkageType: ''
    returnType: int
    signature: int CalculateReserveSize(int total_size, int new_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rep
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1561,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1563,1
    - Dst: google::protobuf::internal::CalculateReserveSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1564,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1565,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1566,1
    - Dst: std::numeric_limits<size_t>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1567,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1570,1
    - Dst: static_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1572,1
    - Dst: ::operator new
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1572,1
    - Dst: reinterpret_cast<Rep*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1574,1
    - Dst: Arena::CreateArray<char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1574,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1593,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1596,1
    - Dst: google::protobuf::RepeatedField<Element>::MoveArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1599,1
    - Dst: elements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1599,1
    - Dst: InternalDeallocate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1559
    functionDepth: 2
    functionLinenumber: 1559
    functionLinenumberEnd: 1605
    functionName: google::protobuf::RepeatedField<Element>::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 24
    functionsReached:
    - ::operator new
    - Arena::CreateArray<char>
    - google::protobuf::internal::CalculateReserveSize
    - reinterpret_cast<Rep*>
    - elements
    - Element::Element
    - std::numeric_limits<size_t>::max
    - google::protobuf::RepeatedField<Element>::MoveArray
    - static_cast<size_t>
    - static_cast<Rep*>
    - GetArena
    - GOOGLE_DCHECK_LE
    - InternalDeallocate
    - rep
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Reserve(int new_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1613
    functionName: google::protobuf::RepeatedField<Element>::Truncate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void RepeatedField<Element>::Truncate(int new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedField<Element>::CopyArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1619
    functionName: google::protobuf::RepeatedField<Element>::MoveArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::RepeatedField<Element>::CopyArray
    linkageType: ''
    returnType: void
    signature: "void RepeatedField<Element>::MoveArray(Element* to, Element* from,\n
      \                                             int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::ElementCopier<Element>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1625
    functionName: google::protobuf::RepeatedField<Element>::CopyArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 12
    functionsReached:
    - internal::ElementCopier<Element>
    linkageType: ''
    returnType: void
    signature: "void RepeatedField<Element>::CopyArray(Element* to, const Element*
      from,\n                                              int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::copy
    linkageType: ''
    returnType: void
    signature: "void ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1640
    functionName: operator()(Element* to, const Element* from, int array_size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - memcpy
    linkageType: ''
    returnType: void
    signature: void operator()(Element* to, const Element* from, int array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1634
    functionName: "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - std::copy
    linkageType: ''
    returnType: void
    signature: "void ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n
      \                                                       const Element* from,\n
      \                                                       int array_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - array_size
    argTypes:
    - Element*
    - Element*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1640
    functionName: operator()(Element* to, const Element* from, int array_size)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - memcpy
    linkageType: ''
    returnType: void
    signature: void operator()(Element* to, const Element* from, int array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1651
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1654
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    - ::operator delete
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1677,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1675
    functionDepth: 2
    functionLinenumber: 1675
    functionLinenumberEnd: 1681
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Swap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1690,1
    - Dst: RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1691,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1692,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1693,1
    - Dst: RepeatedPtrFieldBase*::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1694,1
    - Dst: RepeatedPtrFieldBase::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1684
    functionDepth: 2
    functionLinenumber: 1684
    functionLinenumberEnd: 1696
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    - google::protobuf::internal::RepeatedPtrFieldBase::Clear
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - RepeatedPtrFieldBase::MergeFrom
    - RepeatedPtrFieldBase*::InternalSwap
    - RepeatedPtrFieldBase::Destroy
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapFallback(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RepeatedPtrFieldBase::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1700
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1705,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1706,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1703
    functionDepth: 1
    functionLinenumber: 1703
    functionLinenumberEnd: 1708
    functionName: "& RepeatedPtrFieldBase::Get(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::Get(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1713,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1714,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1716
    functionName: "& RepeatedPtrFieldBase::at(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::at(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1720,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1721,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1723
    functionName: '& RepeatedPtrFieldBase::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type & RepeatedPtrFieldBase::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1727,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1728,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1730
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1734,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1735,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1737
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Delete(int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1743,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1746,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1740
    functionDepth: 3
    functionLinenumber: 1740
    functionLinenumberEnd: 1753
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::Add(\n    typename
      TypeHandler::Type* prototype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1763,1
    - Dst: google::protobuf::internal::GenericTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename TypeHandler::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1757
    functionDepth: 3
    functionLinenumber: 1757
    functionLinenumberEnd: 1769
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::GenericTypeHandler::New
    - cast<TypeHandler>
    - std::move
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Add(typename TypeHandler::Type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1773,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1775
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RemoveLast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1780,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1789
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - GOOGLE_DCHECK_GE
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1799,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1798
    functionDepth: 3
    functionLinenumber: 1798
    functionLinenumberEnd: 1803
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::MergeFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1805
    functionDepth: 2
    functionLinenumber: 1805
    functionLinenumberEnd: 1819
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInternal(\n    const RepeatedPtrFieldBase&
      other,\n    void (RepeatedPtrFieldBase::*inner_loop)(void**, void**, int, int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1831,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1833,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1834,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1836,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1840,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1842,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - our_elems
    - other_elems
    - length
    - already_allocated
    argTypes:
    - void**
    - void**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1846
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - reinterpret_cast<typename TypeHandler::Type*>
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInnerLoop(void** our_elems,\n
      \                                             void** other_elems, int length,\n
      \                                             int already_allocated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Clear<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1851,1
    - Dst: RepeatedPtrFieldBase::MergeFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1853
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::MergeFrom<TypeHandler>
    - RepeatedPtrFieldBase::Clear<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CopyFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1859
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * const* RepeatedPtrFieldBase::raw_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1863
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 6
    functionsReached:
    - const_cast<void**>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::raw_mutable_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1870
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type**>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type ** RepeatedPtrFieldBase::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1878
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type* const*>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * const* RepeatedPtrFieldBase::data()\n
      \   const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1883
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapElements(int index1, int index2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1887,1
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1886
    functionDepth: 2
    functionLinenumber: 1886
    functionLinenumberEnd: 1896
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    - static_cast<size_t>
    - cast<TypeHandler>
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1905
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::AddFromCleared()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Arena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1913,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1909
    functionDepth: 2
    functionLinenumber: 1909
    functionLinenumberEnd: 1931
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Arena*>
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::true_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1943,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1946,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1947,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1948,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - value
    - value_arena
    - my_arena
    argTypes:
    - typename TypeHandler::Type*
    - Arena*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1935
    functionDepth: 4
    functionLinenumber: 1935
    functionLinenumberEnd: 1953
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - Arena*::Own
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedSlowWithCopy(\n    // Pass
      value_arena and my_arena to avoid duplicate virtual call (value) or\n    //
      load (mine).\n    typename TypeHandler::Type* value, Arena* value_arena, Arena*
      my_arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1957
    functionDepth: 4
    functionLinenumber: 1957
    functionLinenumberEnd: 1975
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::false_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1983,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1978
    functionDepth: 3
    functionLinenumber: 1978
    functionLinenumberEnd: 2003
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::UnsafeArenaAddAllocated(\n    typename
      TypeHandler::Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2010,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2012,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2017,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2007
    functionDepth: 2
    functionLinenumber: 2007
    functionLinenumberEnd: 2021
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2028
    functionDepth: 2
    functionLinenumber: 2028
    functionLinenumberEnd: 2035
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::false_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2040,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2050
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 14
    functionsReached:
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: 'typename TypeHandler::Type *

      RepeatedPtrFieldBase::UnsafeArenaReleaseLast()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2054
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::ClearedCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2057
    functionDepth: 3
    functionLinenumber: 2057
    functionLinenumberEnd: 2067
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - GOOGLE_DCHECK
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddCleared(\n    typename TypeHandler::Type*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2075,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2076,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2070
    functionDepth: 1
    functionLinenumber: 2070
    functionLinenumberEnd: 2078
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    - GOOGLE_DCHECK_GT
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseCleared()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1651
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1654
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RepeatedPtrFieldBase(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1662,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1666,1
    - Dst: ::operator delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    - Dst: static_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1672
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Destroy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    - ::operator delete
    - static_cast<void*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Destroy()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1676,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1677,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1675
    functionDepth: 2
    functionLinenumber: 1675
    functionLinenumberEnd: 1681
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Swap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1685,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1690,1
    - Dst: RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1691,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1692,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1693,1
    - Dst: RepeatedPtrFieldBase*::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1694,1
    - Dst: RepeatedPtrFieldBase::Destroy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1684
    functionDepth: 2
    functionLinenumber: 1684
    functionLinenumberEnd: 1696
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    - google::protobuf::internal::RepeatedPtrFieldBase::Clear
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - RepeatedPtrFieldBase::MergeFrom
    - RepeatedPtrFieldBase*::InternalSwap
    - RepeatedPtrFieldBase::Destroy
    - GetArena
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapFallback(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1698
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool RepeatedPtrFieldBase::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1700
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1705,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1706,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1703
    functionDepth: 1
    functionLinenumber: 1703
    functionLinenumberEnd: 1708
    functionName: "& RepeatedPtrFieldBase::Get(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::Get(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1713,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1714,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1716
    functionName: "& RepeatedPtrFieldBase::at(\n    int index) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type & RepeatedPtrFieldBase::at(\n    int index)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1720,1
    - Dst: GOOGLE_CHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1721,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1723
    functionName: '& RepeatedPtrFieldBase::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK_GE
    - GOOGLE_CHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type & RepeatedPtrFieldBase::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1727,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1728,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1730
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1734,1
    - Dst: GOOGLE_DCHECK_LT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1735,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1737
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - GOOGLE_DCHECK_LT
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Delete(int index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1743,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1746,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1740
    functionDepth: 3
    functionLinenumber: 1740
    functionLinenumberEnd: 1753
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::Add(\n    typename
      TypeHandler::Type* prototype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1759,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1763,1
    - Dst: google::protobuf::internal::GenericTypeHandler::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - typename TypeHandler::Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1757
    functionDepth: 3
    functionLinenumber: 1757
    functionLinenumberEnd: 1769
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::GenericTypeHandler::New
    - cast<TypeHandler>
    - std::move
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Add(typename TypeHandler::Type&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1773,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1775
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::RemoveLast()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1780,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1789
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DCHECK_GE
    - cast<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::Clear()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1799,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1798
    functionDepth: 3
    functionLinenumber: 1798
    functionLinenumberEnd: 1803
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::MergeFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1805
    functionDepth: 2
    functionLinenumber: 1805
    functionLinenumberEnd: 1819
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInternal(\n    const RepeatedPtrFieldBase&
      other,\n    void (RepeatedPtrFieldBase::*inner_loop)(void**, void**, int, int))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1831,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1833,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1834,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1836,1
    - Dst: reinterpret_cast<typename TypeHandler::Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1840,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1842,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - our_elems
    - other_elems
    - length
    - already_allocated
    argTypes:
    - void**
    - void**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1846
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - reinterpret_cast<typename TypeHandler::Type*>
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::MergeFromInnerLoop(void** our_elems,\n
      \                                             void** other_elems, int length,\n
      \                                             int already_allocated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Clear<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1851,1
    - Dst: RepeatedPtrFieldBase::MergeFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrFieldBase
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1853
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::MergeFrom<TypeHandler>
    - RepeatedPtrFieldBase::Clear<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::CopyFrom(const RepeatedPtrFieldBase& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1855
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1859
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * const* RepeatedPtrFieldBase::raw_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<void**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 1863
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - const_cast<void**>
    linkageType: ''
    returnType: void
    signature: void ** RepeatedPtrFieldBase::raw_mutable_data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<typename TypeHandler::Type**>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1866
    functionDepth: 1
    functionLinenumber: 1866
    functionLinenumberEnd: 1870
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<typename TypeHandler::Type**>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type ** RepeatedPtrFieldBase::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const typename TypeHandler::Type* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1878
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const typename TypeHandler::Type* const*>
    - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * const* RepeatedPtrFieldBase::data()\n
      \   const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1883
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - swap
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::SwapElements(int index1, int index2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1887,1
    - Dst: google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1886
    functionDepth: 2
    functionLinenumber: 1886
    functionLinenumberEnd: 1896
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
    - static_cast<size_t>
    - cast<TypeHandler>
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1905
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::AddFromCleared()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Arena*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1912,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1913,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1909
    functionDepth: 2
    functionLinenumber: 1909
    functionLinenumberEnd: 1931
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Arena*>
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::true_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Arena*::Own
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1943,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1946,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1947,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1948,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - value
    - value_arena
    - my_arena
    argTypes:
    - typename TypeHandler::Type*
    - Arena*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1935
    functionDepth: 4
    functionLinenumber: 1935
    functionLinenumberEnd: 1953
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - Arena*::Own
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedSlowWithCopy(\n    // Pass
      value_arena and my_arena to avoid duplicate virtual call (value) or\n    //
      load (mine).\n    typename TypeHandler::Type* value, Arena* value_arena, Arena*
      my_arena)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1957
    functionDepth: 4
    functionLinenumber: 1957
    functionLinenumberEnd: 1975
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddAllocatedInternal(\n    typename TypeHandler::Type*
      value, std::false_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1983,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:1990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1978
    functionDepth: 3
    functionLinenumber: 1978
    functionLinenumberEnd: 2003
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
    - cast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::UnsafeArenaAddAllocated(\n    typename
      TypeHandler::Type* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2010,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2012,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2017,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2007
    functionDepth: 2
    functionLinenumber: 2007
    functionLinenumberEnd: 2021
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2030,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2028
    functionDepth: 2
    functionLinenumber: 2028
    functionLinenumberEnd: 2035
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: "typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseLastInternal(\n
      \   std::false_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2040,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2050
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 16
    functionsReached:
    - GOOGLE_DCHECK_GT
    - cast<TypeHandler>
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: 'typename TypeHandler::Type *

      RepeatedPtrFieldBase::UnsafeArenaReleaseLast()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2054
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrFieldBase::ClearedCount() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2059,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2061,1
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - typename TypeHandler::Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2057
    functionDepth: 3
    functionLinenumber: 2057
    functionLinenumberEnd: 2067
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    - GOOGLE_DCHECK
    - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
    - GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrFieldBase::AddCleared(\n    typename TypeHandler::Type*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2071,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2074,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2075,1
    - Dst: GOOGLE_DCHECK_GT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2076,1
    - Dst: cast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2070
    functionDepth: 1
    functionLinenumber: 2070
    functionLinenumberEnd: 2078
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - cast<TypeHandler>
    - GOOGLE_DCHECK_GT
    - GOOGLE_DCHECK
    - GetArena
    linkageType: ''
    returnType: typename TypeHandler::Type
    signature: typename TypeHandler::Type * RepeatedPtrFieldBase::ReleaseCleared()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2094
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::RepeatedPtrField()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2098
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::RepeatedPtrField(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::MergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2101
    functionDepth: 1
    functionLinenumber: 2101
    functionLinenumberEnd: 2105
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::MergeFrom
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::RepeatedPtrField(\n    const RepeatedPtrField&
      other)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CalculateReserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2111,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2113,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - begin
    - ' end'
    argTypes:
    - Iter
    - Iter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2109
    functionDepth: 4
    functionLinenumber: 2109
    functionLinenumberEnd: 2118
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::Reserve
    - google::protobuf::RepeatedPtrField<Element>::Add
    - google::protobuf::internal::CalculateReserve
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::RepeatedPtrField(Iter begin,\n                                                   const
      Iter& end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Destroy<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2121
    functionDepth: 0
    functionLinenumber: 2121
    functionLinenumberEnd: 2123
    functionName: RepeatedPtrField<Element>::~RepeatedPtrField()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Destroy<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::~RepeatedPtrField()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2130
    functionName: "& RepeatedPtrField<Element>::operator=(\n    const RepeatedPtrField&
      other)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - CopyFrom
    linkageType: ''
    returnType: RepeatedPtrField<Element>
    signature: "RepeatedPtrField<Element> & RepeatedPtrField<Element>::operator=(\n
      \   const RepeatedPtrField& other)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2139,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2140,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2133
    functionDepth: 1
    functionLinenumber: 2133
    functionLinenumberEnd: 2144
    functionName: google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::CopyFrom
    - google::protobuf::RepeatedPtrField<Element>::GetArena
    - InternalSwap
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::RepeatedPtrField(\n    RepeatedPtrField&&
      other) noexcept"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: '& RepeatedPtrField<Element>::GetArena'
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2152,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2152,1
    - Dst: CopyFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2153,1
    - Dst: InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2159
    functionName: "& RepeatedPtrField<Element>::operator=(\n    RepeatedPtrField&&
      other) noexcept"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - '& RepeatedPtrField<Element>::GetArena'
    - CopyFrom
    - InternalSwap
    - GetArena
    linkageType: ''
    returnType: RepeatedPtrField<Element>
    signature: "RepeatedPtrField<Element> & RepeatedPtrField<Element>::operator=(\n
      \   RepeatedPtrField&& other) noexcept"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2162
    functionDepth: 1
    functionLinenumber: 2162
    functionLinenumberEnd: 2164
    functionName: google::protobuf::RepeatedPtrField<Element>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::empty
    linkageType: ''
    returnType: bool
    signature: bool RepeatedPtrField<Element>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2167
    functionDepth: 1
    functionLinenumber: 2167
    functionLinenumberEnd: 2169
    functionName: google::protobuf::RepeatedPtrField<Element>::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::size
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrField<Element>::size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Get<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2174
    functionName: '& RepeatedPtrField<Element>::Get(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Get<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedPtrField<Element>::Get(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::at<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2177
    functionDepth: 0
    functionLinenumber: 2177
    functionLinenumberEnd: 2179
    functionName: '& RepeatedPtrField<Element>::at(int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::at<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedPtrField<Element>::at(int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::at<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2184
    functionName: '& RepeatedPtrField<Element>::at(int index)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::at<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element & RepeatedPtrField<Element>::at(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2188
    functionDepth: 0
    functionLinenumber: 2188
    functionLinenumberEnd: 2190
    functionName: google::protobuf::RepeatedPtrField<Element>::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Mutable<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::Mutable(int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Add<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2195
    functionName: google::protobuf::RepeatedPtrField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - RepeatedPtrFieldBase::Add<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::Add()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Add<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2199,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Element
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2200
    functionName: google::protobuf::RepeatedPtrField<Element>::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - RepeatedPtrFieldBase::Add<TypeHandler>
    - std::move
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Add(Element&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::RemoveLast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2205
    functionName: google::protobuf::RepeatedPtrField<Element>::RemoveLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::RemoveLast<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::RemoveLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2209,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2210,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2211,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2211,1
    - Dst: RepeatedPtrFieldBase::Delete<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2213,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - start
    - num
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2208
    functionDepth: 2
    functionLinenumber: 2208
    functionLinenumberEnd: 2216
    functionName: google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedPtrField<Element>::size
    - google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
    - GOOGLE_DCHECK_LE
    - RepeatedPtrFieldBase::Delete<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::DeleteSubrange(int start, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2224
      start: 2219
    functionDepth: 3
    functionLinenumber: 2219
    functionLinenumberEnd: 2224
    functionName: google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::ExtractSubrange(int start, int num,\n
      \                                                      Element** elements)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2231,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2232,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2233,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2233,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2238,1
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2243,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2245,1
    - Dst: google::protobuf::internal::ImplicitWeakTypeHandler::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2246,1
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2251,1
    - Dst: CloseGap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2229
    functionDepth: 2
    functionLinenumber: 2229
    functionLinenumberEnd: 2257
    functionName: google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - CloseGap
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedPtrField<Element>::size
    - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
    - RepeatedPtrFieldBase::Mutable<TypeHandler>
    - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
    - GOOGLE_DCHECK_LE
    - google::protobuf::RepeatedPtrField<Element>::GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::ExtractSubrangeInternal(\n    int
      start, int num, Element** elements, std::true_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2268,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2268,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2262
    functionDepth: 3
    functionLinenumber: 2262
    functionLinenumberEnd: 2272
    functionName: google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
    - GOOGLE_DCHECK
    - google::protobuf::RepeatedPtrField<Element>::GetArena
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::ExtractSubrangeInternal(\n    int
      start, int num, Element** elements, std::false_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2277,1
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2278,1
    - Dst: GOOGLE_DCHECK_LE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2279,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2279,1
    - Dst: RepeatedPtrFieldBase::Mutable<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2285,1
    - Dst: CloseGap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - start
    - num
    - elements
    argTypes:
    - int
    - int
    - Element**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2275
    functionDepth: 2
    functionLinenumber: 2275
    functionLinenumberEnd: 2290
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - CloseGap
    - GOOGLE_DCHECK_GE
    - google::protobuf::RepeatedPtrField<Element>::size
    - RepeatedPtrFieldBase::Mutable<TypeHandler>
    - GOOGLE_DCHECK_LE
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::UnsafeArenaExtractSubrange(\n    int
      start, int num, Element** elements)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Clear<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2293
    functionDepth: 0
    functionLinenumber: 2293
    functionLinenumberEnd: 2295
    functionName: google::protobuf::RepeatedPtrField<Element>::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Clear<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::MergeFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2301
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2301
    functionName: google::protobuf::RepeatedPtrField<Element>::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - RepeatedPtrFieldBase::MergeFrom<TypeHandler>
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::MergeFrom(\n    const RepeatedPtrField&
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::CopyFrom<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrField
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2306
    functionName: google::protobuf::RepeatedPtrField<Element>::CopyFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - RepeatedPtrFieldBase::CopyFrom<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::CopyFrom(const RepeatedPtrField& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - position
    argTypes:
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2309
    functionDepth: 1
    functionLinenumber: 2309
    functionLinenumberEnd: 2312
    functionName: google::protobuf::RepeatedPtrField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::erase
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::erase(const_iterator
      position)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2317,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2317,1
    - Dst: std::distance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2318,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::cbegin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2318,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2319,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - first
    - last
    argTypes:
    - const_iterator
    - const_iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2321
      start: 2315
    functionDepth: 3
    functionLinenumber: 2315
    functionLinenumberEnd: 2321
    functionName: google::protobuf::RepeatedPtrField<Element>::erase
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::cbegin
    - std::distance
    - google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
    - google::protobuf::RepeatedPtrField<Element>::begin
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::erase(const_iterator
      first, const_iterator last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::mutable_data<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2326
    functionName: google::protobuf::RepeatedPtrField<Element>::mutable_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::mutable_data<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element ** RepeatedPtrField<Element>::mutable_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::data<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2331
    functionName: google::protobuf::RepeatedPtrField<Element>::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::data<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * const* RepeatedPtrField<Element>::data() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::Swap<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2337
    functionName: google::protobuf::RepeatedPtrField<Element>::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::Swap<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Swap(RepeatedPtrField* other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2340
    functionDepth: 2
    functionLinenumber: 2340
    functionLinenumberEnd: 2344
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    linkageType: ''
    returnType: void
    signature: "void RepeatedPtrField<Element>::UnsafeArenaSwap(\n    RepeatedPtrField*
      other)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - index1
    - index2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2347
    functionDepth: 1
    functionLinenumber: 2347
    functionLinenumberEnd: 2349
    functionName: google::protobuf::RepeatedPtrField<Element>::SwapElements
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::SwapElements(int index1, int index2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2352
    functionDepth: 0
    functionLinenumber: 2352
    functionLinenumberEnd: 2354
    functionName: google::protobuf::RepeatedPtrField<Element>::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 12
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * RepeatedPtrField<Element>::GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2359
    functionName: google::protobuf::RepeatedPtrField<Element>::SpaceUsedExcludingSelfLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong<TypeHandler>
    linkageType: ''
    returnType: size_t
    signature: size_t RepeatedPtrField<Element>::SpaceUsedExcludingSelfLong() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::AddAllocated<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2362
    functionDepth: 0
    functionLinenumber: 2362
    functionLinenumberEnd: 2364
    functionName: google::protobuf::RepeatedPtrField<Element>::AddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::AddAllocated<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::AddAllocated(Element* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::UnsafeArenaAddAllocated<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2369
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaAddAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::UnsafeArenaAddAllocated<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::UnsafeArenaAddAllocated(Element* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::ReleaseLast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2374
    functionName: google::protobuf::RepeatedPtrField<Element>::ReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::ReleaseLast<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::ReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::UnsafeArenaReleaseLast<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2379
    functionName: google::protobuf::RepeatedPtrField<Element>::UnsafeArenaReleaseLast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::UnsafeArenaReleaseLast<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::UnsafeArenaReleaseLast()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2382
    functionDepth: 1
    functionLinenumber: 2382
    functionLinenumberEnd: 2384
    functionName: google::protobuf::RepeatedPtrField<Element>::ClearedCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrField<Element>::ClearedCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::AddCleared<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2389
    functionName: google::protobuf::RepeatedPtrField<Element>::AddCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::AddCleared<TypeHandler>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::AddCleared(Element* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase::ReleaseCleared<TypeHandler>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2392
    functionDepth: 0
    functionLinenumber: 2392
    functionLinenumberEnd: 2394
    functionName: google::protobuf::RepeatedPtrField<Element>::ReleaseCleared
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase::ReleaseCleared<TypeHandler>
    linkageType: ''
    returnType: Element
    signature: Element * RepeatedPtrField<Element>::ReleaseCleared()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2397
    functionDepth: 3
    functionLinenumber: 2397
    functionLinenumberEnd: 2399
    functionName: google::protobuf::RepeatedPtrField<Element>::Reserve
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrField<Element>::Reserve(int new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::RepeatedPtrFieldBase::Capacity
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2402
    functionDepth: 1
    functionLinenumber: 2402
    functionLinenumberEnd: 2404
    functionName: google::protobuf::RepeatedPtrField<Element>::Capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedPtrFieldBase::Capacity
    linkageType: ''
    returnType: int
    signature: int RepeatedPtrField<Element>::Capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(void* const* it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: implicit_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    - Dst: static_cast<OtherElement*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrIterator<OtherElement>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2443
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - implicit_cast<Element*>
    - static_cast<OtherElement*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(const RepeatedPtrIterator<OtherElement>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2446
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2447
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2453
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2454
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2458
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2459
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2462
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2463
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2466
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2467
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2468
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2469
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2475
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2479
    functionName: operator+(iterator it, const difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, const difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2483
    functionName: operator+(const difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(const difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2487
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2491
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2494
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2497
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2524
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - VoidPtr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2525
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator(VoidPtr* it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2528
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2529
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2535
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2536
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2540
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2541
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2544
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2545
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2548
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2549
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2550
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2551
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2557
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2561
    functionName: operator+(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2565
    functionName: operator+(difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2569
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2573
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2576
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2579
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2590,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
        -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2596,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2598,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2602
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 16
    functionsReached:
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    - reinterpret_cast<char*>
    - "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
      -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::InternalSwap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2431
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2432
    functionDepth: 0
    functionLinenumber: 2432
    functionLinenumberEnd: 2432
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(void* const* it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: implicit_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    - Dst: static_cast<OtherElement*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RepeatedPtrIterator<OtherElement>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2443
    functionName: google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - implicit_cast<Element*>
    - static_cast<OtherElement*>
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrIterator(const RepeatedPtrIterator<OtherElement>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2446
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2447
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2453
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2454
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2458
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2459
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2462
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2463
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2466
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2467
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2468
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2469
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2475
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2479
    functionName: operator+(iterator it, const difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, const difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2483
    functionName: operator+(const difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(const difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2487
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2491
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2494
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2497
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2524
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - it
    argTypes:
    - VoidPtr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2525
    functionName: google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrOverPtrsIterator(VoidPtr* it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Element*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2528
    functionName: operator*() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<Element*>
    linkageType: ''
    returnType: reference
    signature: reference operator*() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2529
    functionName: operator->() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2535
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2536
    functionName: operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2540
    functionName: '& operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2541
    functionName: operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - iterator
    linkageType: ''
    returnType: iterator
    signature: iterator operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2544
    functionName: operator==(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2545
    functionName: operator!=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2548
      start: 2548
    functionDepth: 0
    functionLinenumber: 2548
    functionLinenumberEnd: 2548
    functionName: operator<(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2549
    functionName: operator<=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2550
    functionName: operator>(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2551
    functionName: operator>=(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2557
    functionName: '& operator+=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator+=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2561
    functionName: operator+(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - d
    - it
    argTypes:
    - difference_type
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2565
    functionName: operator+(difference_type d, iterator it)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator+(difference_type d, iterator it)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2569
    functionName: '& operator-=(difference_type d)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator & operator-=(difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - it
    - d
    argTypes:
    - iterator
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2573
    functionName: operator-(iterator it, difference_type d)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator operator-(iterator it, difference_type d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - difference_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2576
    functionName: operator[](difference_type d) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reference
    signature: reference operator[](difference_type d) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - iterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2579
    functionName: operator-(const iterator& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: difference_type
    signature: difference_type operator-(const iterator& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2590,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: RepeatedPtrFieldBase*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2591,1
    - Dst: "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
        -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2596,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2598,1
    - Dst: reinterpret_cast<char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - RepeatedPtrFieldBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2602
    functionName: google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 16
    functionsReached:
    - GOOGLE_DCHECK
    - RepeatedPtrFieldBase*::GetArena
    - GetArena
    - reinterpret_cast<char*>
    - "internal::memswap<offsetof(RepeatedPtrFieldBase, rep_) + sizeof(this->rep_)
      -\n                    offsetof(RepeatedPtrFieldBase, current_size_)>"
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBase::InternalSwap(RepeatedPtrFieldBase* other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2609,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2607
    functionDepth: 0
    functionLinenumber: 2607
    functionLinenumberEnd: 2610
    functionName: google::protobuf::RepeatedPtrField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - iterator
    - raw_data
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2614,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2612
    functionDepth: 0
    functionLinenumber: 2612
    functionLinenumberEnd: 2615
    functionName: google::protobuf::RepeatedPtrField<Element>::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 7
    functionsReached:
    - iterator
    - raw_data
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2620
      start: 2617
    functionDepth: 1
    functionLinenumber: 2617
    functionLinenumberEnd: 2620
    functionName: google::protobuf::RepeatedPtrField<Element>::cbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 4
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::begin
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::cbegin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2624,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2624,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2625
      start: 2622
    functionDepth: 2
    functionLinenumber: 2622
    functionLinenumberEnd: 2625
    functionName: google::protobuf::RepeatedPtrField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - iterator
    - raw_data
    - google::protobuf::RepeatedPtrField<Element>::size
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::iterator
    signature: typename RepeatedPtrField<Element>::iterator RepeatedPtrField<Element>::end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2629,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2629,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2627
    functionDepth: 2
    functionLinenumber: 2627
    functionLinenumberEnd: 2630
    functionName: google::protobuf::RepeatedPtrField<Element>::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 3
    functionsReached:
    - iterator
    - raw_data
    - google::protobuf::RepeatedPtrField<Element>::size
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::RepeatedPtrField<Element>::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2632
    functionDepth: 3
    functionLinenumber: 2632
    functionLinenumberEnd: 2635
    functionName: google::protobuf::RepeatedPtrField<Element>::cend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - google::protobuf::RepeatedPtrField<Element>::end
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_iterator
    signature: typename RepeatedPtrField<Element>::const_iterator RepeatedPtrField<Element>::cend()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2640,1
    - Dst: raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2638
    functionDepth: 0
    functionLinenumber: 2638
    functionLinenumberEnd: 2641
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - raw_mutable_data
    - pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::pointer_iterator
    signature: typename RepeatedPtrField<Element>::pointer_iterator RepeatedPtrField<Element>::pointer_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2645,1
    - Dst: const_cast<const void* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2645,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2646
      start: 2643
    functionDepth: 0
    functionLinenumber: 2643
    functionLinenumberEnd: 2646
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<const void* const*>
    - raw_data
    - const_pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_pointer_iterator
    signature: typename RepeatedPtrField<Element>::const_pointer_iterator RepeatedPtrField<Element>::pointer_begin()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2650,1
    - Dst: raw_mutable_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2650,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2648
    functionDepth: 2
    functionLinenumber: 2648
    functionLinenumberEnd: 2651
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - raw_mutable_data
    - google::protobuf::RepeatedPtrField<Element>::size
    - pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::pointer_iterator
    signature: typename RepeatedPtrField<Element>::pointer_iterator RepeatedPtrField<Element>::pointer_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_pointer_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2655,1
    - Dst: const_cast<const void* const*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2656,1
    - Dst: raw_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2656,1
    - Dst: google::protobuf::RepeatedPtrField<Element>::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2653
    functionDepth: 2
    functionLinenumber: 2653
    functionLinenumberEnd: 2657
    functionName: google::protobuf::RepeatedPtrField<Element>::pointer_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<const void* const*>
    - google::protobuf::RepeatedPtrField<Element>::size
    - raw_data
    - const_pointer_iterator
    linkageType: ''
    returnType: typename RepeatedPtrField<Element>::const_pointer_iterator
    signature: typename RepeatedPtrField<Element>::const_pointer_iterator RepeatedPtrField<Element>::pointer_end()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RepeatedFieldBackInsertIterator(\n      RepeatedField<T>* const
      mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2677
    functionDepth: 0
    functionLinenumber: 2677
    functionLinenumberEnd: 2680
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2681
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2682
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2685
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2697
    functionName: google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBackInsertIterator(RepeatedPtrField<T>* const
      mutable_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2701
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2706
    functionName: "& operator=(\n      const T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: "RepeatedPtrFieldBackInsertIterator<T> & operator=(\n      const T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2710
    functionName: '& operator=(T&& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    - std::move
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(T&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2711
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2712
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2715
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2729
    functionName: google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2734
    functionName: "& operator=(\n      T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - AddAllocated
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n      T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2735
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2736
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(int /*
      unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2753
    functionName: google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2758
    functionName: "& operator=(\n      T const* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    - UnsafeArenaAddAllocated
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n
      \     T const* const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2765
    functionDepth: 0
    functionLinenumber: 2765
    functionLinenumberEnd: 2768
    functionName: "& operator++(\n      int /* unused */)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(\n
      \     int /* unused */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2676
    functionName: google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RepeatedFieldBackInsertIterator(\n      RepeatedField<T>* const
      mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2677
    functionDepth: 0
    functionLinenumber: 2677
    functionLinenumberEnd: 2680
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2681
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2682
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2683
    functionDepth: 0
    functionLinenumber: 2683
    functionLinenumberEnd: 2685
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedFieldBackInsertIterator<T>
    signature: RepeatedFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2696
    functionDepth: 0
    functionLinenumber: 2696
    functionLinenumberEnd: 2697
    functionName: google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RepeatedPtrFieldBackInsertIterator(RepeatedPtrField<T>* const
      mutable_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2701
    functionName: '& operator=(const T& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2706
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2706
    functionName: "& operator=(\n      const T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: "RepeatedPtrFieldBackInsertIterator<T> & operator=(\n      const T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2707
    functionDepth: 0
    functionLinenumber: 2707
    functionLinenumberEnd: 2710
    functionName: '& operator=(T&& value)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - Add
    - std::move
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator=(T&& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2711
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2712
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2715
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RepeatedPtrFieldBackInsertIterator<T>
    signature: RepeatedPtrFieldBackInsertIterator<T> & operator++(int /* unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2729
    functionName: google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2734
    functionName: "& operator=(\n      T* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - AddAllocated
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n      T*
      const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 2735
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2736
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2739
    functionName: '& operator++(int /* unused */)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: AllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(int /*
      unused */)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2753
    functionName: google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator(\n      RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeArenaAddAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr_to_value
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2758
    functionName: "& operator=(\n      T const* const ptr_to_value)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    - UnsafeArenaAddAllocated
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator=(\n
      \     T const* const ptr_to_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2761
    functionName: '& operator*()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator*()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2764
    functionName: '& operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2765
    functionDepth: 0
    functionLinenumber: 2765
    functionLinenumberEnd: 2768
    functionName: "& operator++(\n      int /* unused */)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T> & operator++(\n
      \     int /* unused */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::RepeatedFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2782
    functionName: google::protobuf::RepeatedFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::RepeatedFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::RepeatedFieldBackInsertIterator<T>
    signature: "internal::RepeatedFieldBackInsertIterator<T> RepeatedFieldBackInserter(\n
      \   RepeatedField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::RepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2790
    functionName: google::protobuf::RepeatedPtrFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::RepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::RepeatedPtrFieldBackInsertIterator<T> RepeatedPtrFieldBackInserter(\n
      \   RepeatedPtrField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::RepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2799
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2799
    functionName: google::protobuf::RepeatedFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::RepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::RepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::RepeatedPtrFieldBackInsertIterator<T> RepeatedFieldBackInserter(\n
      \   RepeatedPtrField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::AllocatedRepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2810
    functionName: google::protobuf::AllocatedRepeatedPtrFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::AllocatedRepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::AllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::AllocatedRepeatedPtrFieldBackInsertIterator<T> AllocatedRepeatedPtrFieldBackInserter(\n
      \   RepeatedPtrField<T>* const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h:2827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutable_field
    argTypes:
    - RepeatedPtrField<T>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2824
    functionDepth: 0
    functionLinenumber: 2824
    functionLinenumberEnd: 2829
    functionName: google::protobuf::UnsafeArenaAllocatedRepeatedPtrFieldBackInserter
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    functionUses: 0
    functionsReached:
    - internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    linkageType: ''
    returnType: internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
    signature: "internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator<T>
      UnsafeArenaAllocatedRepeatedPtrFieldBackInserter(\n    RepeatedPtrField<T>*
      const mutable_field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 119
    functionName: google::protobuf::internal::AnyMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - FullMessageName
    - InternalUnpackTo
    - InternalIs
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT AnyMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' message'
    - type_url_prefix
    argTypes:
    - T
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message, StringPiece type_url_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::UnpackTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalUnpackTo
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool UnpackTo(T* message) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::Is
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalIs
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool Is() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 119
    functionName: google::protobuf::internal::AnyMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - FullMessageName
    - InternalUnpackTo
    - InternalIs
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT AnyMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' message'
    - type_url_prefix
    argTypes:
    - T
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message, StringPiece type_url_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::UnpackTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalUnpackTo
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool UnpackTo(T* message) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::Is
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalIs
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool Is() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 119
    functionName: google::protobuf::internal::AnyMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - FullMessageName
    - InternalUnpackTo
    - InternalIs
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT AnyMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' message'
    - type_url_prefix
    argTypes:
    - T
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message, StringPiece type_url_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::UnpackTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalUnpackTo
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool UnpackTo(T* message) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::Is
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalIs
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool Is() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 119
    functionName: google::protobuf::internal::AnyMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - FullMessageName
    - InternalUnpackTo
    - InternalIs
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT AnyMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' message'
    - type_url_prefix
    argTypes:
    - T
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message, StringPiece type_url_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::UnpackTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalUnpackTo
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool UnpackTo(T* message) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::Is
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalIs
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool Is() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 119
    functionName: google::protobuf::internal::AnyMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - FullMessageName
    - InternalUnpackTo
    - InternalIs
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT AnyMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' message'
    - type_url_prefix
    argTypes:
    - T
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message, StringPiece type_url_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::UnpackTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalUnpackTo
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool UnpackTo(T* message) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::Is
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalIs
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool Is() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 119
    functionName: google::protobuf::internal::AnyMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - FullMessageName
    - InternalUnpackTo
    - InternalIs
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT AnyMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' message'
    - type_url_prefix
    argTypes:
    - T
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message, StringPiece type_url_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::UnpackTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalUnpackTo
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool UnpackTo(T* message) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::Is
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalIs
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool Is() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 119
    functionName: google::protobuf::internal::AnyMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - FullMessageName
    - InternalUnpackTo
    - InternalIs
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT AnyMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' message'
    - type_url_prefix
    argTypes:
    - T
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message, StringPiece type_url_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::UnpackTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalUnpackTo
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool UnpackTo(T* message) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::Is
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalIs
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool Is() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 119
    functionName: google::protobuf::internal::AnyMetadata
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - FullMessageName
    - InternalUnpackTo
    - InternalIs
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT AnyMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' message'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalPackFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' message'
    - type_url_prefix
    argTypes:
    - T
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::PackFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalPackFrom
    - FullMessageName
    linkageType: ''
    returnType: void
    signature: void PackFrom(const T& message, StringPiece type_url_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalUnpackTo
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::UnpackTo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalUnpackTo
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool UnpackTo(T* message) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InternalIs
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    - Dst: FullMessageName
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: google::protobuf::internal::Is
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
    functionUses: 0
    functionsReached:
    - InternalIs
    - FullMessageName
    linkageType: ''
    returnType: bool
    signature: bool Is() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 16
    functionsReached:
    - reinterpret_cast<Type*>
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 16
    functionsReached:
    - reinterpret_cast<const Type*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(const MessageLite* msg, int64 offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - extension_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: google::protobuf::internal::GetExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: ExtensionSet
    signature: ExtensionSet * GetExtensionSet(MessageLite* msg, int64 extension_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:93,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedField*::Add
    linkageType: ''
    returnType: Type
    signature: Type * AddField(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:100,1
    - Dst: RepeatedPtrField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedPtrField*::Add
    linkageType: ''
    returnType: std::string
    signature: std::string * AddField<std::string>(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - offset
    - value
    argTypes:
    - MessageLite*
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::AddField
    linkageType: ''
    returnType: void
    signature: void AddField(MessageLite* msg, int64 offset, Type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:113,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - has_bits
    - has_bit_index
    argTypes:
    - uint32*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::SetBit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: void SetBit(uint32* has_bits, uint32 has_bit_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SetBit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:122,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::MutableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Raw
    - google::protobuf::internal::SetBit
    linkageType: ''
    returnType: Type
    signature: "Type * MutableField(MessageLite* msg, uint32* has_bits,\n                          uint32
      has_bit_index, int64 offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: google::protobuf::internal::SetField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: void
    signature: "void SetField(MessageLite* msg, uint32* has_bits, uint32 has_bit_index,\n
      \                    int64 offset, Type value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - msg
    - oneof_case
    - oneof_case_index
    - offset
    - field_number
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - int
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::SetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void SetOneofField(MessageLite* msg, uint32* oneof_case,\n                          uint32
      oneof_case_index, int64 offset,\n                          int field_number,
      Type value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:149,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' field'
    - arena
    - msg
    argTypes:
    - ParseTableField
    - Arena*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: google::protobuf::internal::ClearOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ClearOneofField(const ParseTableField& field, Arena* arena,\n
      \                           MessageLite* msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:182,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:188,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:189,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:192,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:194,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - ' table'
    - field_number
    - arena
    - msg
    - oneof_case
    - offset
    - default_ptr
    argTypes:
    - ParseTable
    - int
    - Arena*
    - MessageLite*
    - uint32*
    - int64
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::ResetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - static_cast<const std::string*>
    - messages::default_message
    - MessageLite*::New
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ResetOneofField(const ParseTable& table, int field_number,\n
      \                           Arena* arena, MessageLite* msg, uint32* oneof_case,\n
      \                           int64 offset, const void* default_ptr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:218,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:220,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:221,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:222,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:223,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:226,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:229,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:230,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:231,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:237,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:238,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:239,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:240,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:241,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:244,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:247,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:252,1
    - Dst: google::protobuf::internal::WireFormatLite::VerifyUtf8String
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 8
    argNames:
    - input
    - msg
    - arena
    - has_bits
    - has_bit_index
    - offset
    - default_ptr
    - field_name
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - Arena*
    - uint32*
    - uint32
    - int64
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::HandleString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<const std::string*>
    - PROTOBUF_ASSUME
    - ArenaStringPtr*::MutableNoCopy
    - StringPiece::data
    - ArenaStringPtr*::Get
    - google::protobuf::internal::Raw
    - google::protobuf::internal::WireFormatLite::ReadString
    - google::protobuf::internal::WireFormatLite::VerifyUtf8String
    - StringPiece::length
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::AddField
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: bool
    signature: "bool HandleString(io::CodedInputStream* input, MessageLite* msg,\n
      \                               Arena* arena, uint32* has_bits,\n                                uint32
      has_bit_index, int64 offset,\n                                const void* default_ptr,\n
      \                               const char* field_name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:270,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:271,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:278,1
    - Dst: google::protobuf::internal::SetField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:281,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:284,1
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: google::protobuf::internal::SetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:289,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:293,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 8
    argNames:
    - ' table'
    - input
    - msg
    - presence
    - presence_index
    - offset
    - tag
    - field_number
    argTypes:
    - ParseTable
    - io::CodedInputStream*
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 300
    functionName: google::protobuf::internal::HandleEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - google::protobuf::internal::SetOneofField
    - PROTOBUF_ASSUME
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - google::protobuf::internal::SetField
    - PROTOBUF_PREDICT_FALSE
    - validator
    - google::protobuf::internal::AddField
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    linkageType: ''
    returnType: bool
    signature: "bool HandleEnum(const ParseTable& table, io::CodedInputStream* input,\n
      \                      MessageLite* msg, uint32* presence,\n                       uint32
      presence_index, int64 offset, uint32 tag,\n                       int field_number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::New
    linkageType: ''
    returnType: Type
    signature: "Type * NewFromPrototype(const Type* prototype,\n                                       Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(Type* t, Arena* arena = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:327,1
    - Dst: const_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - prototype
    argTypes:
    - RepeatedPtrFieldBase*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - RepeatedPtrFieldBase*::Add
    - const_cast<MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * Add(RepeatedPtrFieldBase* field,\n                          const
      MessageLite* prototype)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:340,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:341,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:342,1
    - Dst: io::CodedInputStream*::ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:345,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:347,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:348,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:350,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:357,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:358,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:377,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:414,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:415,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:416,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:417,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:418,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:419,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:421,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:422,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:423,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:424,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:436,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:439,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:440,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:453,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:454,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:457,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:461,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:462,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:475,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:478,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:479,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:489,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:493,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:494,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:503,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:507,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:508,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:517,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:518,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:522,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:526,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:527,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:537,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:538,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:546,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:547,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:555,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:556,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:557,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:566,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:570,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:572,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:573,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:577,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:578,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:585,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:587,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:588,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:591,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:593,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:594,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:602,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:606,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:608,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:610,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:612,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:616,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:617,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:626,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:628,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:630,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:634,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:636,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:637,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:644,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:645,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:646,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:647,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:652,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:653,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:660,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:661,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:668,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:672,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:674,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:677,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:678,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:679,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:683,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:696,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:697,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:698,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:699,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:700,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:701,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:703,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:704,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:705,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:706,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:725,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:727,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:728,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:730,1
    - Dst: "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:731,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:736,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:737,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:740,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:743,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:751,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:754,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:759,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:764,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:770,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:771,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 198
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 776
    functionName: google::protobuf::internal::MergePartialFromCodedStreamInlined
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::HandleEnum
    - validator
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::ResetOneofField
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - HANDLE_PACKED_TYPE
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::HandleString
    - io::CodedInputStream*::SetLastTag
    - google::protobuf::internal::ImplicitWeakMessage::default_instance
    - MessageLite*::New
    - google::protobuf::io::EpsCopyOutputStream::Skip
    - google::protobuf::internal::MutableField
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - PROTOBUF_ASSUME
    - static_cast<unsigned char>
    - io::CodedInputStream*::ReadTagWithCutoffNoLastTag
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - messages::default_message
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::Raw
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::ReadVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::ParseExtension
    - static_cast<WireFormatLite::FieldType>
    - RepeatedField*::Add
    - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamInlined(MessageLite* msg,\n                                        const
      ParseTable& table,\n                                        io::CodedInputStream*
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 413
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 65
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(TYPE, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - ','
    - CPPTYPE_METHOD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 695
    functionName: HANDLE_PACKED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_PACKED_TYPE(TYPE, CPPTYPE, CPPTYPE_METHOD)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:784,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:787,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 779
    functionDepth: 6
    functionLinenumber: 779
    functionLinenumberEnd: 794
    functionName: google::protobuf::internal::MergePartialFromCodedStreamImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamInlined
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamImpl(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 25
    functionsReached:
    - reinterpret_cast<Type*>
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 25
    functionsReached:
    - reinterpret_cast<const Type*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(const MessageLite* msg, int64 offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - extension_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: google::protobuf::internal::GetExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: ExtensionSet
    signature: ExtensionSet * GetExtensionSet(MessageLite* msg, int64 extension_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:93,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedField*::Add
    linkageType: ''
    returnType: Type
    signature: Type * AddField(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:100,1
    - Dst: RepeatedPtrField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedPtrField*::Add
    linkageType: ''
    returnType: std::string
    signature: std::string * AddField<std::string>(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - offset
    - value
    argTypes:
    - MessageLite*
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::AddField
    linkageType: ''
    returnType: void
    signature: void AddField(MessageLite* msg, int64 offset, Type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:113,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - has_bits
    - has_bit_index
    argTypes:
    - uint32*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::SetBit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: void SetBit(uint32* has_bits, uint32 has_bit_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SetBit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:122,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::MutableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::Raw
    - google::protobuf::internal::SetBit
    linkageType: ''
    returnType: Type
    signature: "Type * MutableField(MessageLite* msg, uint32* has_bits,\n                          uint32
      has_bit_index, int64 offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: google::protobuf::internal::SetField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: void
    signature: "void SetField(MessageLite* msg, uint32* has_bits, uint32 has_bit_index,\n
      \                    int64 offset, Type value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - msg
    - oneof_case
    - oneof_case_index
    - offset
    - field_number
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - int
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::SetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void SetOneofField(MessageLite* msg, uint32* oneof_case,\n                          uint32
      oneof_case_index, int64 offset,\n                          int field_number,
      Type value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:149,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' field'
    - arena
    - msg
    argTypes:
    - ParseTableField
    - Arena*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: google::protobuf::internal::ClearOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ClearOneofField(const ParseTableField& field, Arena* arena,\n
      \                           MessageLite* msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:182,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:188,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:189,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:192,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:194,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - ' table'
    - field_number
    - arena
    - msg
    - oneof_case
    - offset
    - default_ptr
    argTypes:
    - ParseTable
    - int
    - Arena*
    - MessageLite*
    - uint32*
    - int64
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::ResetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - static_cast<const std::string*>
    - messages::default_message
    - MessageLite*::New
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ResetOneofField(const ParseTable& table, int field_number,\n
      \                           Arena* arena, MessageLite* msg, uint32* oneof_case,\n
      \                           int64 offset, const void* default_ptr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:218,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:220,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:221,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:222,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:223,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:226,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:229,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:230,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:231,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:237,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:238,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:239,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:240,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:241,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:244,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:247,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:252,1
    - Dst: google::protobuf::internal::WireFormatLite::VerifyUtf8String
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 8
    argNames:
    - input
    - msg
    - arena
    - has_bits
    - has_bit_index
    - offset
    - default_ptr
    - field_name
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - Arena*
    - uint32*
    - uint32
    - int64
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::HandleString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 1
    functionsReached:
    - static_cast<const std::string*>
    - PROTOBUF_ASSUME
    - ArenaStringPtr*::MutableNoCopy
    - StringPiece::data
    - ArenaStringPtr*::Get
    - google::protobuf::internal::Raw
    - google::protobuf::internal::WireFormatLite::ReadString
    - google::protobuf::internal::WireFormatLite::VerifyUtf8String
    - StringPiece::length
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::AddField
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: bool
    signature: "bool HandleString(io::CodedInputStream* input, MessageLite* msg,\n
      \                               Arena* arena, uint32* has_bits,\n                                uint32
      has_bit_index, int64 offset,\n                                const void* default_ptr,\n
      \                               const char* field_name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:270,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:271,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:278,1
    - Dst: google::protobuf::internal::SetField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:281,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:284,1
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: google::protobuf::internal::SetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:289,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:293,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 8
    argNames:
    - ' table'
    - input
    - msg
    - presence
    - presence_index
    - offset
    - tag
    - field_number
    argTypes:
    - ParseTable
    - io::CodedInputStream*
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 300
    functionName: google::protobuf::internal::HandleEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - google::protobuf::internal::SetOneofField
    - PROTOBUF_ASSUME
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - google::protobuf::internal::SetField
    - PROTOBUF_PREDICT_FALSE
    - validator
    - google::protobuf::internal::AddField
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    linkageType: ''
    returnType: bool
    signature: "bool HandleEnum(const ParseTable& table, io::CodedInputStream* input,\n
      \                      MessageLite* msg, uint32* presence,\n                       uint32
      presence_index, int64 offset, uint32 tag,\n                       int field_number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::New
    linkageType: ''
    returnType: Type
    signature: "Type * NewFromPrototype(const Type* prototype,\n                                       Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(Type* t, Arena* arena = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:327,1
    - Dst: const_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - prototype
    argTypes:
    - RepeatedPtrFieldBase*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 1
    functionsReached:
    - RepeatedPtrFieldBase*::Add
    - const_cast<MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * Add(RepeatedPtrFieldBase* field,\n                          const
      MessageLite* prototype)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:340,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:341,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:342,1
    - Dst: io::CodedInputStream*::ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:345,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:347,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:348,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:350,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:357,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:358,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:377,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:414,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:415,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:416,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:417,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:418,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:419,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:421,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:422,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:423,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:424,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:436,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:439,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:440,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:453,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:454,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:457,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:461,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:462,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:475,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:478,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:479,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:489,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:493,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:494,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:503,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:507,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:508,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:517,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:518,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:522,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:526,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:527,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:537,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:538,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:546,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:547,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:555,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:556,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:557,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:566,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:570,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:572,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:573,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:577,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:578,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:585,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:587,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:588,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:591,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:593,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:594,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:602,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:606,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:608,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:610,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:612,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:616,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:617,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:626,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:628,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:630,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:634,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:636,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:637,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:644,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:645,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:646,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:647,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:652,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:653,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:660,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:661,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:668,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:672,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:674,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:677,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:678,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:679,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:683,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:696,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:697,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:698,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:699,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:700,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:701,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:703,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:704,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:705,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:706,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:725,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:727,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:728,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:730,1
    - Dst: "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:731,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:736,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:737,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:740,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:743,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:751,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:754,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:759,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:764,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:770,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:771,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 198
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 776
    functionName: google::protobuf::internal::MergePartialFromCodedStreamInlined
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::HandleEnum
    - validator
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::ResetOneofField
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - HANDLE_PACKED_TYPE
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::HandleString
    - io::CodedInputStream*::SetLastTag
    - google::protobuf::internal::ImplicitWeakMessage::default_instance
    - MessageLite*::New
    - google::protobuf::io::EpsCopyOutputStream::Skip
    - google::protobuf::internal::MutableField
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - PROTOBUF_ASSUME
    - static_cast<unsigned char>
    - io::CodedInputStream*::ReadTagWithCutoffNoLastTag
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - messages::default_message
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::Raw
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::ReadVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::ParseExtension
    - static_cast<WireFormatLite::FieldType>
    - RepeatedField*::Add
    - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamInlined(MessageLite* msg,\n                                        const
      ParseTable& table,\n                                        io::CodedInputStream*
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 413
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(TYPE, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - ','
    - CPPTYPE_METHOD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 695
    functionName: HANDLE_PACKED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_PACKED_TYPE(TYPE, CPPTYPE, CPPTYPE_METHOD)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:784,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:787,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 779
    functionDepth: 6
    functionLinenumber: 779
    functionLinenumberEnd: 794
    functionName: google::protobuf::internal::MergePartialFromCodedStreamImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamInlined
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamImpl(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 34
    functionsReached:
    - reinterpret_cast<Type*>
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 34
    functionsReached:
    - reinterpret_cast<const Type*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(const MessageLite* msg, int64 offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - extension_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: google::protobuf::internal::GetExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: ExtensionSet
    signature: ExtensionSet * GetExtensionSet(MessageLite* msg, int64 extension_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:93,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedField*::Add
    linkageType: ''
    returnType: Type
    signature: Type * AddField(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:100,1
    - Dst: RepeatedPtrField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedPtrField*::Add
    linkageType: ''
    returnType: std::string
    signature: std::string * AddField<std::string>(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - offset
    - value
    argTypes:
    - MessageLite*
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::AddField
    linkageType: ''
    returnType: void
    signature: void AddField(MessageLite* msg, int64 offset, Type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:113,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - has_bits
    - has_bit_index
    argTypes:
    - uint32*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::SetBit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 2
    functionsReached:
    - static_cast<uint32>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: void SetBit(uint32* has_bits, uint32 has_bit_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SetBit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:122,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::MutableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::Raw
    - google::protobuf::internal::SetBit
    linkageType: ''
    returnType: Type
    signature: "Type * MutableField(MessageLite* msg, uint32* has_bits,\n                          uint32
      has_bit_index, int64 offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: google::protobuf::internal::SetField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: void
    signature: "void SetField(MessageLite* msg, uint32* has_bits, uint32 has_bit_index,\n
      \                    int64 offset, Type value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - msg
    - oneof_case
    - oneof_case_index
    - offset
    - field_number
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - int
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::SetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void SetOneofField(MessageLite* msg, uint32* oneof_case,\n                          uint32
      oneof_case_index, int64 offset,\n                          int field_number,
      Type value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:149,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' field'
    - arena
    - msg
    argTypes:
    - ParseTableField
    - Arena*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: google::protobuf::internal::ClearOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ClearOneofField(const ParseTableField& field, Arena* arena,\n
      \                           MessageLite* msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:182,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:188,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:189,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:192,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:194,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - ' table'
    - field_number
    - arena
    - msg
    - oneof_case
    - offset
    - default_ptr
    argTypes:
    - ParseTable
    - int
    - Arena*
    - MessageLite*
    - uint32*
    - int64
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::ResetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - static_cast<const std::string*>
    - messages::default_message
    - MessageLite*::New
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ResetOneofField(const ParseTable& table, int field_number,\n
      \                           Arena* arena, MessageLite* msg, uint32* oneof_case,\n
      \                           int64 offset, const void* default_ptr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:218,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:220,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:221,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:222,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:223,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:226,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:229,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:230,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:231,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:237,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:238,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:239,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:240,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:241,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:244,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:247,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:252,1
    - Dst: google::protobuf::internal::WireFormatLite::VerifyUtf8String
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 8
    argNames:
    - input
    - msg
    - arena
    - has_bits
    - has_bit_index
    - offset
    - default_ptr
    - field_name
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - Arena*
    - uint32*
    - uint32
    - int64
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::HandleString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 2
    functionsReached:
    - static_cast<const std::string*>
    - PROTOBUF_ASSUME
    - ArenaStringPtr*::MutableNoCopy
    - StringPiece::data
    - ArenaStringPtr*::Get
    - google::protobuf::internal::Raw
    - google::protobuf::internal::WireFormatLite::ReadString
    - google::protobuf::internal::WireFormatLite::VerifyUtf8String
    - StringPiece::length
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::AddField
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: bool
    signature: "bool HandleString(io::CodedInputStream* input, MessageLite* msg,\n
      \                               Arena* arena, uint32* has_bits,\n                                uint32
      has_bit_index, int64 offset,\n                                const void* default_ptr,\n
      \                               const char* field_name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:270,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:271,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:278,1
    - Dst: google::protobuf::internal::SetField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:281,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:284,1
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: google::protobuf::internal::SetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:289,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:293,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 8
    argNames:
    - ' table'
    - input
    - msg
    - presence
    - presence_index
    - offset
    - tag
    - field_number
    argTypes:
    - ParseTable
    - io::CodedInputStream*
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 300
    functionName: google::protobuf::internal::HandleEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - google::protobuf::internal::SetOneofField
    - PROTOBUF_ASSUME
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - google::protobuf::internal::SetField
    - PROTOBUF_PREDICT_FALSE
    - validator
    - google::protobuf::internal::AddField
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    linkageType: ''
    returnType: bool
    signature: "bool HandleEnum(const ParseTable& table, io::CodedInputStream* input,\n
      \                      MessageLite* msg, uint32* presence,\n                       uint32
      presence_index, int64 offset, uint32 tag,\n                       int field_number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::New
    linkageType: ''
    returnType: Type
    signature: "Type * NewFromPrototype(const Type* prototype,\n                                       Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(Type* t, Arena* arena = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:327,1
    - Dst: const_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - prototype
    argTypes:
    - RepeatedPtrFieldBase*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 2
    functionsReached:
    - RepeatedPtrFieldBase*::Add
    - const_cast<MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * Add(RepeatedPtrFieldBase* field,\n                          const
      MessageLite* prototype)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:340,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:341,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:342,1
    - Dst: io::CodedInputStream*::ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:345,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:347,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:348,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:350,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:357,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:358,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:377,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:414,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:415,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:416,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:417,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:418,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:419,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:421,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:422,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:423,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:424,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:436,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:439,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:440,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:453,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:454,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:457,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:461,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:462,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:475,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:478,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:479,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:489,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:493,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:494,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:503,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:507,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:508,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:517,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:518,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:522,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:526,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:527,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:537,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:538,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:546,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:547,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:555,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:556,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:557,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:566,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:570,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:572,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:573,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:577,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:578,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:585,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:587,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:588,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:591,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:593,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:594,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:602,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:606,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:608,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:610,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:612,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:616,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:617,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:626,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:628,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:630,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:634,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:636,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:637,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:644,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:645,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:646,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:647,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:652,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:653,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:660,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:661,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:668,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:672,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:674,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:677,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:678,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:679,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:683,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:696,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:697,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:698,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:699,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:700,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:701,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:703,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:704,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:705,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:706,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:725,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:727,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:728,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:730,1
    - Dst: "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:731,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:736,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:737,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:740,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:743,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:751,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:754,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:759,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:764,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:770,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:771,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 198
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 776
    functionName: google::protobuf::internal::MergePartialFromCodedStreamInlined
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::HandleEnum
    - validator
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::ResetOneofField
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - HANDLE_PACKED_TYPE
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::HandleString
    - io::CodedInputStream*::SetLastTag
    - google::protobuf::internal::ImplicitWeakMessage::default_instance
    - MessageLite*::New
    - google::protobuf::io::EpsCopyOutputStream::Skip
    - google::protobuf::internal::MutableField
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - PROTOBUF_ASSUME
    - static_cast<unsigned char>
    - io::CodedInputStream*::ReadTagWithCutoffNoLastTag
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - messages::default_message
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::Raw
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::ReadVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::ParseExtension
    - static_cast<WireFormatLite::FieldType>
    - RepeatedField*::Add
    - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamInlined(MessageLite* msg,\n                                        const
      ParseTable& table,\n                                        io::CodedInputStream*
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 413
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(TYPE, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - ','
    - CPPTYPE_METHOD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 695
    functionName: HANDLE_PACKED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_PACKED_TYPE(TYPE, CPPTYPE, CPPTYPE_METHOD)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:784,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:787,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 779
    functionDepth: 6
    functionLinenumber: 779
    functionLinenumberEnd: 794
    functionName: google::protobuf::internal::MergePartialFromCodedStreamImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamInlined
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamImpl(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 43
    functionsReached:
    - reinterpret_cast<Type*>
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 43
    functionsReached:
    - reinterpret_cast<const Type*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(const MessageLite* msg, int64 offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - extension_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: google::protobuf::internal::GetExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: ExtensionSet
    signature: ExtensionSet * GetExtensionSet(MessageLite* msg, int64 extension_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:93,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedField*::Add
    linkageType: ''
    returnType: Type
    signature: Type * AddField(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:100,1
    - Dst: RepeatedPtrField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedPtrField*::Add
    linkageType: ''
    returnType: std::string
    signature: std::string * AddField<std::string>(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - offset
    - value
    argTypes:
    - MessageLite*
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::AddField
    linkageType: ''
    returnType: void
    signature: void AddField(MessageLite* msg, int64 offset, Type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:113,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - has_bits
    - has_bit_index
    argTypes:
    - uint32*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::SetBit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 3
    functionsReached:
    - static_cast<uint32>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: void SetBit(uint32* has_bits, uint32 has_bit_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SetBit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:122,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::MutableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::Raw
    - google::protobuf::internal::SetBit
    linkageType: ''
    returnType: Type
    signature: "Type * MutableField(MessageLite* msg, uint32* has_bits,\n                          uint32
      has_bit_index, int64 offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: google::protobuf::internal::SetField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: void
    signature: "void SetField(MessageLite* msg, uint32* has_bits, uint32 has_bit_index,\n
      \                    int64 offset, Type value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - msg
    - oneof_case
    - oneof_case_index
    - offset
    - field_number
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - int
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::SetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void SetOneofField(MessageLite* msg, uint32* oneof_case,\n                          uint32
      oneof_case_index, int64 offset,\n                          int field_number,
      Type value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:149,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' field'
    - arena
    - msg
    argTypes:
    - ParseTableField
    - Arena*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: google::protobuf::internal::ClearOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ClearOneofField(const ParseTableField& field, Arena* arena,\n
      \                           MessageLite* msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:182,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:188,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:189,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:192,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:194,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - ' table'
    - field_number
    - arena
    - msg
    - oneof_case
    - offset
    - default_ptr
    argTypes:
    - ParseTable
    - int
    - Arena*
    - MessageLite*
    - uint32*
    - int64
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::ResetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - static_cast<const std::string*>
    - messages::default_message
    - MessageLite*::New
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ResetOneofField(const ParseTable& table, int field_number,\n
      \                           Arena* arena, MessageLite* msg, uint32* oneof_case,\n
      \                           int64 offset, const void* default_ptr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:218,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:220,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:221,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:222,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:223,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:226,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:229,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:230,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:231,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:237,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:238,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:239,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:240,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:241,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:244,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:247,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:252,1
    - Dst: google::protobuf::internal::WireFormatLite::VerifyUtf8String
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 8
    argNames:
    - input
    - msg
    - arena
    - has_bits
    - has_bit_index
    - offset
    - default_ptr
    - field_name
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - Arena*
    - uint32*
    - uint32
    - int64
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::HandleString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 3
    functionsReached:
    - static_cast<const std::string*>
    - PROTOBUF_ASSUME
    - ArenaStringPtr*::MutableNoCopy
    - StringPiece::data
    - ArenaStringPtr*::Get
    - google::protobuf::internal::Raw
    - google::protobuf::internal::WireFormatLite::ReadString
    - google::protobuf::internal::WireFormatLite::VerifyUtf8String
    - StringPiece::length
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::AddField
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: bool
    signature: "bool HandleString(io::CodedInputStream* input, MessageLite* msg,\n
      \                               Arena* arena, uint32* has_bits,\n                                uint32
      has_bit_index, int64 offset,\n                                const void* default_ptr,\n
      \                               const char* field_name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:270,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:271,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:278,1
    - Dst: google::protobuf::internal::SetField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:281,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:284,1
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: google::protobuf::internal::SetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:289,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:293,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 8
    argNames:
    - ' table'
    - input
    - msg
    - presence
    - presence_index
    - offset
    - tag
    - field_number
    argTypes:
    - ParseTable
    - io::CodedInputStream*
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 300
    functionName: google::protobuf::internal::HandleEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - google::protobuf::internal::SetOneofField
    - PROTOBUF_ASSUME
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - google::protobuf::internal::SetField
    - PROTOBUF_PREDICT_FALSE
    - validator
    - google::protobuf::internal::AddField
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    linkageType: ''
    returnType: bool
    signature: "bool HandleEnum(const ParseTable& table, io::CodedInputStream* input,\n
      \                      MessageLite* msg, uint32* presence,\n                       uint32
      presence_index, int64 offset, uint32 tag,\n                       int field_number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::New
    linkageType: ''
    returnType: Type
    signature: "Type * NewFromPrototype(const Type* prototype,\n                                       Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(Type* t, Arena* arena = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:327,1
    - Dst: const_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - prototype
    argTypes:
    - RepeatedPtrFieldBase*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 3
    functionsReached:
    - RepeatedPtrFieldBase*::Add
    - const_cast<MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * Add(RepeatedPtrFieldBase* field,\n                          const
      MessageLite* prototype)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:340,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:341,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:342,1
    - Dst: io::CodedInputStream*::ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:345,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:347,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:348,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:350,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:357,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:358,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:377,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:414,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:415,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:416,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:417,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:418,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:419,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:421,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:422,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:423,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:424,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:436,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:439,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:440,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:453,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:454,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:457,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:461,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:462,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:475,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:478,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:479,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:489,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:493,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:494,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:503,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:507,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:508,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:517,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:518,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:522,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:526,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:527,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:537,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:538,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:546,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:547,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:555,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:556,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:557,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:566,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:570,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:572,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:573,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:577,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:578,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:585,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:587,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:588,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:591,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:593,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:594,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:602,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:606,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:608,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:610,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:612,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:616,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:617,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:626,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:628,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:630,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:634,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:636,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:637,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:644,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:645,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:646,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:647,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:652,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:653,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:660,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:661,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:668,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:672,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:674,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:677,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:678,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:679,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:683,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:696,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:697,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:698,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:699,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:700,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:701,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:703,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:704,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:705,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:706,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:725,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:727,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:728,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:730,1
    - Dst: "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:731,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:736,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:737,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:740,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:743,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:751,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:754,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:759,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:764,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:770,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:771,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 198
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 776
    functionName: google::protobuf::internal::MergePartialFromCodedStreamInlined
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::HandleEnum
    - validator
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::ResetOneofField
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - HANDLE_PACKED_TYPE
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::HandleString
    - io::CodedInputStream*::SetLastTag
    - google::protobuf::internal::ImplicitWeakMessage::default_instance
    - MessageLite*::New
    - google::protobuf::io::EpsCopyOutputStream::Skip
    - google::protobuf::internal::MutableField
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - PROTOBUF_ASSUME
    - static_cast<unsigned char>
    - io::CodedInputStream*::ReadTagWithCutoffNoLastTag
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - messages::default_message
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::Raw
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::ReadVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::ParseExtension
    - static_cast<WireFormatLite::FieldType>
    - RepeatedField*::Add
    - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamInlined(MessageLite* msg,\n                                        const
      ParseTable& table,\n                                        io::CodedInputStream*
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 413
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(TYPE, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - ','
    - CPPTYPE_METHOD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 695
    functionName: HANDLE_PACKED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_PACKED_TYPE(TYPE, CPPTYPE, CPPTYPE_METHOD)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:784,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:787,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 779
    functionDepth: 6
    functionLinenumber: 779
    functionLinenumberEnd: 794
    functionName: google::protobuf::internal::MergePartialFromCodedStreamImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamInlined
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamImpl(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 52
    functionsReached:
    - reinterpret_cast<Type*>
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 52
    functionsReached:
    - reinterpret_cast<const Type*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(const MessageLite* msg, int64 offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - extension_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: google::protobuf::internal::GetExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: ExtensionSet
    signature: ExtensionSet * GetExtensionSet(MessageLite* msg, int64 extension_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:93,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedField*::Add
    linkageType: ''
    returnType: Type
    signature: Type * AddField(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:100,1
    - Dst: RepeatedPtrField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedPtrField*::Add
    linkageType: ''
    returnType: std::string
    signature: std::string * AddField<std::string>(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - offset
    - value
    argTypes:
    - MessageLite*
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 13
    functionsReached:
    - google::protobuf::internal::AddField
    linkageType: ''
    returnType: void
    signature: void AddField(MessageLite* msg, int64 offset, Type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:113,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - has_bits
    - has_bit_index
    argTypes:
    - uint32*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::SetBit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 4
    functionsReached:
    - static_cast<uint32>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: void SetBit(uint32* has_bits, uint32 has_bit_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SetBit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:122,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::MutableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::Raw
    - google::protobuf::internal::SetBit
    linkageType: ''
    returnType: Type
    signature: "Type * MutableField(MessageLite* msg, uint32* has_bits,\n                          uint32
      has_bit_index, int64 offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: google::protobuf::internal::SetField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: void
    signature: "void SetField(MessageLite* msg, uint32* has_bits, uint32 has_bit_index,\n
      \                    int64 offset, Type value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - msg
    - oneof_case
    - oneof_case_index
    - offset
    - field_number
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - int
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::SetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void SetOneofField(MessageLite* msg, uint32* oneof_case,\n                          uint32
      oneof_case_index, int64 offset,\n                          int field_number,
      Type value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:149,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' field'
    - arena
    - msg
    argTypes:
    - ParseTableField
    - Arena*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: google::protobuf::internal::ClearOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ClearOneofField(const ParseTableField& field, Arena* arena,\n
      \                           MessageLite* msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:182,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:188,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:189,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:192,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:194,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - ' table'
    - field_number
    - arena
    - msg
    - oneof_case
    - offset
    - default_ptr
    argTypes:
    - ParseTable
    - int
    - Arena*
    - MessageLite*
    - uint32*
    - int64
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::ResetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - static_cast<const std::string*>
    - messages::default_message
    - MessageLite*::New
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ResetOneofField(const ParseTable& table, int field_number,\n
      \                           Arena* arena, MessageLite* msg, uint32* oneof_case,\n
      \                           int64 offset, const void* default_ptr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:218,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:220,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:221,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:222,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:223,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:226,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:229,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:230,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:231,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:237,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:238,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:239,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:240,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:241,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:244,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:247,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:252,1
    - Dst: google::protobuf::internal::WireFormatLite::VerifyUtf8String
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 8
    argNames:
    - input
    - msg
    - arena
    - has_bits
    - has_bit_index
    - offset
    - default_ptr
    - field_name
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - Arena*
    - uint32*
    - uint32
    - int64
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::HandleString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 4
    functionsReached:
    - static_cast<const std::string*>
    - PROTOBUF_ASSUME
    - ArenaStringPtr*::MutableNoCopy
    - StringPiece::data
    - ArenaStringPtr*::Get
    - google::protobuf::internal::Raw
    - google::protobuf::internal::WireFormatLite::ReadString
    - google::protobuf::internal::WireFormatLite::VerifyUtf8String
    - StringPiece::length
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::AddField
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: bool
    signature: "bool HandleString(io::CodedInputStream* input, MessageLite* msg,\n
      \                               Arena* arena, uint32* has_bits,\n                                uint32
      has_bit_index, int64 offset,\n                                const void* default_ptr,\n
      \                               const char* field_name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:270,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:271,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:278,1
    - Dst: google::protobuf::internal::SetField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:281,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:284,1
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: google::protobuf::internal::SetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:289,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:293,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 8
    argNames:
    - ' table'
    - input
    - msg
    - presence
    - presence_index
    - offset
    - tag
    - field_number
    argTypes:
    - ParseTable
    - io::CodedInputStream*
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 300
    functionName: google::protobuf::internal::HandleEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - google::protobuf::internal::SetOneofField
    - PROTOBUF_ASSUME
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - google::protobuf::internal::SetField
    - PROTOBUF_PREDICT_FALSE
    - validator
    - google::protobuf::internal::AddField
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    linkageType: ''
    returnType: bool
    signature: "bool HandleEnum(const ParseTable& table, io::CodedInputStream* input,\n
      \                      MessageLite* msg, uint32* presence,\n                       uint32
      presence_index, int64 offset, uint32 tag,\n                       int field_number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::New
    linkageType: ''
    returnType: Type
    signature: "Type * NewFromPrototype(const Type* prototype,\n                                       Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(Type* t, Arena* arena = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:327,1
    - Dst: const_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - prototype
    argTypes:
    - RepeatedPtrFieldBase*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 4
    functionsReached:
    - RepeatedPtrFieldBase*::Add
    - const_cast<MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * Add(RepeatedPtrFieldBase* field,\n                          const
      MessageLite* prototype)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:340,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:341,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:342,1
    - Dst: io::CodedInputStream*::ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:345,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:347,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:348,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:350,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:357,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:358,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:377,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:414,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:415,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:416,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:417,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:418,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:419,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:421,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:422,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:423,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:424,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:436,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:439,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:440,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:453,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:454,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:457,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:461,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:462,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:475,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:478,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:479,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:489,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:493,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:494,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:503,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:507,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:508,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:517,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:518,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:522,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:526,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:527,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:537,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:538,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:546,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:547,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:555,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:556,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:557,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:566,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:570,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:572,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:573,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:577,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:578,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:585,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:587,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:588,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:591,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:593,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:594,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:602,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:606,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:608,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:610,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:612,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:616,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:617,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:626,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:628,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:630,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:634,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:636,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:637,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:644,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:645,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:646,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:647,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:652,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:653,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:660,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:661,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:668,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:672,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:674,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:677,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:678,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:679,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:683,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:696,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:697,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:698,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:699,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:700,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:701,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:703,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:704,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:705,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:706,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:725,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:727,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:728,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:730,1
    - Dst: "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:731,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:736,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:737,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:740,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:743,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:751,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:754,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:759,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:764,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:770,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:771,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 198
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 776
    functionName: google::protobuf::internal::MergePartialFromCodedStreamInlined
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 4
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::HandleEnum
    - validator
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::ResetOneofField
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - HANDLE_PACKED_TYPE
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::HandleString
    - io::CodedInputStream*::SetLastTag
    - google::protobuf::internal::ImplicitWeakMessage::default_instance
    - MessageLite*::New
    - google::protobuf::io::EpsCopyOutputStream::Skip
    - google::protobuf::internal::MutableField
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - PROTOBUF_ASSUME
    - static_cast<unsigned char>
    - io::CodedInputStream*::ReadTagWithCutoffNoLastTag
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - messages::default_message
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::Raw
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::ReadVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::ParseExtension
    - static_cast<WireFormatLite::FieldType>
    - RepeatedField*::Add
    - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamInlined(MessageLite* msg,\n                                        const
      ParseTable& table,\n                                        io::CodedInputStream*
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 413
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 69
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(TYPE, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - ','
    - CPPTYPE_METHOD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 695
    functionName: HANDLE_PACKED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_PACKED_TYPE(TYPE, CPPTYPE, CPPTYPE_METHOD)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:784,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:787,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 779
    functionDepth: 6
    functionLinenumber: 779
    functionLinenumberEnd: 794
    functionName: google::protobuf::internal::MergePartialFromCodedStreamImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamInlined
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamImpl(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 61
    functionsReached:
    - reinterpret_cast<Type*>
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 61
    functionsReached:
    - reinterpret_cast<const Type*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(const MessageLite* msg, int64 offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - extension_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: google::protobuf::internal::GetExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: ExtensionSet
    signature: ExtensionSet * GetExtensionSet(MessageLite* msg, int64 extension_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:93,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedField*::Add
    linkageType: ''
    returnType: Type
    signature: Type * AddField(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:100,1
    - Dst: RepeatedPtrField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedPtrField*::Add
    linkageType: ''
    returnType: std::string
    signature: std::string * AddField<std::string>(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - offset
    - value
    argTypes:
    - MessageLite*
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::AddField
    linkageType: ''
    returnType: void
    signature: void AddField(MessageLite* msg, int64 offset, Type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:113,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - has_bits
    - has_bit_index
    argTypes:
    - uint32*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::SetBit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 5
    functionsReached:
    - static_cast<uint32>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: void SetBit(uint32* has_bits, uint32 has_bit_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SetBit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:122,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::MutableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::Raw
    - google::protobuf::internal::SetBit
    linkageType: ''
    returnType: Type
    signature: "Type * MutableField(MessageLite* msg, uint32* has_bits,\n                          uint32
      has_bit_index, int64 offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: google::protobuf::internal::SetField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: void
    signature: "void SetField(MessageLite* msg, uint32* has_bits, uint32 has_bit_index,\n
      \                    int64 offset, Type value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - msg
    - oneof_case
    - oneof_case_index
    - offset
    - field_number
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - int
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::SetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void SetOneofField(MessageLite* msg, uint32* oneof_case,\n                          uint32
      oneof_case_index, int64 offset,\n                          int field_number,
      Type value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:149,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' field'
    - arena
    - msg
    argTypes:
    - ParseTableField
    - Arena*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: google::protobuf::internal::ClearOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ClearOneofField(const ParseTableField& field, Arena* arena,\n
      \                           MessageLite* msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:182,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:188,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:189,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:192,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:194,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - ' table'
    - field_number
    - arena
    - msg
    - oneof_case
    - offset
    - default_ptr
    argTypes:
    - ParseTable
    - int
    - Arena*
    - MessageLite*
    - uint32*
    - int64
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::ResetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - static_cast<const std::string*>
    - messages::default_message
    - MessageLite*::New
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ResetOneofField(const ParseTable& table, int field_number,\n
      \                           Arena* arena, MessageLite* msg, uint32* oneof_case,\n
      \                           int64 offset, const void* default_ptr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:218,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:220,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:221,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:222,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:223,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:226,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:229,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:230,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:231,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:237,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:238,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:239,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:240,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:241,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:244,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:247,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:252,1
    - Dst: google::protobuf::internal::WireFormatLite::VerifyUtf8String
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 8
    argNames:
    - input
    - msg
    - arena
    - has_bits
    - has_bit_index
    - offset
    - default_ptr
    - field_name
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - Arena*
    - uint32*
    - uint32
    - int64
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::HandleString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 5
    functionsReached:
    - static_cast<const std::string*>
    - PROTOBUF_ASSUME
    - ArenaStringPtr*::MutableNoCopy
    - StringPiece::data
    - ArenaStringPtr*::Get
    - google::protobuf::internal::Raw
    - google::protobuf::internal::WireFormatLite::ReadString
    - google::protobuf::internal::WireFormatLite::VerifyUtf8String
    - StringPiece::length
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::AddField
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: bool
    signature: "bool HandleString(io::CodedInputStream* input, MessageLite* msg,\n
      \                               Arena* arena, uint32* has_bits,\n                                uint32
      has_bit_index, int64 offset,\n                                const void* default_ptr,\n
      \                               const char* field_name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:270,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:271,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:278,1
    - Dst: google::protobuf::internal::SetField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:281,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:284,1
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: google::protobuf::internal::SetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:289,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:293,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 8
    argNames:
    - ' table'
    - input
    - msg
    - presence
    - presence_index
    - offset
    - tag
    - field_number
    argTypes:
    - ParseTable
    - io::CodedInputStream*
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 300
    functionName: google::protobuf::internal::HandleEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - google::protobuf::internal::SetOneofField
    - PROTOBUF_ASSUME
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - google::protobuf::internal::SetField
    - PROTOBUF_PREDICT_FALSE
    - validator
    - google::protobuf::internal::AddField
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    linkageType: ''
    returnType: bool
    signature: "bool HandleEnum(const ParseTable& table, io::CodedInputStream* input,\n
      \                      MessageLite* msg, uint32* presence,\n                       uint32
      presence_index, int64 offset, uint32 tag,\n                       int field_number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::New
    linkageType: ''
    returnType: Type
    signature: "Type * NewFromPrototype(const Type* prototype,\n                                       Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(Type* t, Arena* arena = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:327,1
    - Dst: const_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - prototype
    argTypes:
    - RepeatedPtrFieldBase*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 5
    functionsReached:
    - RepeatedPtrFieldBase*::Add
    - const_cast<MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * Add(RepeatedPtrFieldBase* field,\n                          const
      MessageLite* prototype)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:340,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:341,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:342,1
    - Dst: io::CodedInputStream*::ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:345,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:347,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:348,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:350,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:357,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:358,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:377,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:414,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:415,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:416,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:417,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:418,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:419,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:421,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:422,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:423,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:424,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:436,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:439,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:440,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:453,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:454,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:457,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:461,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:462,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:475,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:478,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:479,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:489,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:493,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:494,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:503,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:507,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:508,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:517,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:518,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:522,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:526,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:527,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:537,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:538,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:546,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:547,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:555,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:556,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:557,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:566,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:570,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:572,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:573,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:577,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:578,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:585,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:587,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:588,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:591,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:593,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:594,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:602,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:606,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:608,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:610,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:612,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:616,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:617,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:626,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:628,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:630,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:634,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:636,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:637,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:644,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:645,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:646,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:647,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:652,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:653,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:660,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:661,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:668,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:672,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:674,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:677,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:678,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:679,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:683,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:696,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:697,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:698,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:699,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:700,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:701,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:703,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:704,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:705,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:706,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:725,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:727,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:728,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:730,1
    - Dst: "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:731,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:736,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:737,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:740,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:743,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:751,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:754,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:759,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:764,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:770,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:771,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 198
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 776
    functionName: google::protobuf::internal::MergePartialFromCodedStreamInlined
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 5
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::HandleEnum
    - validator
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::ResetOneofField
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - HANDLE_PACKED_TYPE
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::HandleString
    - io::CodedInputStream*::SetLastTag
    - google::protobuf::internal::ImplicitWeakMessage::default_instance
    - MessageLite*::New
    - google::protobuf::io::EpsCopyOutputStream::Skip
    - google::protobuf::internal::MutableField
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - PROTOBUF_ASSUME
    - static_cast<unsigned char>
    - io::CodedInputStream*::ReadTagWithCutoffNoLastTag
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - messages::default_message
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::Raw
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::ReadVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::ParseExtension
    - static_cast<WireFormatLite::FieldType>
    - RepeatedField*::Add
    - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamInlined(MessageLite* msg,\n                                        const
      ParseTable& table,\n                                        io::CodedInputStream*
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 413
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(TYPE, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - ','
    - CPPTYPE_METHOD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 695
    functionName: HANDLE_PACKED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_PACKED_TYPE(TYPE, CPPTYPE, CPPTYPE_METHOD)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:784,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:787,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 779
    functionDepth: 6
    functionLinenumber: 779
    functionLinenumberEnd: 794
    functionName: google::protobuf::internal::MergePartialFromCodedStreamImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamInlined
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamImpl(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 70
    functionsReached:
    - reinterpret_cast<Type*>
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 70
    functionsReached:
    - reinterpret_cast<const Type*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(const MessageLite* msg, int64 offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - extension_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: google::protobuf::internal::GetExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: ExtensionSet
    signature: ExtensionSet * GetExtensionSet(MessageLite* msg, int64 extension_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:93,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedField*::Add
    linkageType: ''
    returnType: Type
    signature: Type * AddField(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:100,1
    - Dst: RepeatedPtrField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedPtrField*::Add
    linkageType: ''
    returnType: std::string
    signature: std::string * AddField<std::string>(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - offset
    - value
    argTypes:
    - MessageLite*
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 19
    functionsReached:
    - google::protobuf::internal::AddField
    linkageType: ''
    returnType: void
    signature: void AddField(MessageLite* msg, int64 offset, Type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:113,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - has_bits
    - has_bit_index
    argTypes:
    - uint32*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::SetBit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 6
    functionsReached:
    - static_cast<uint32>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: void SetBit(uint32* has_bits, uint32 has_bit_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SetBit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:122,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::MutableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 18
    functionsReached:
    - google::protobuf::internal::Raw
    - google::protobuf::internal::SetBit
    linkageType: ''
    returnType: Type
    signature: "Type * MutableField(MessageLite* msg, uint32* has_bits,\n                          uint32
      has_bit_index, int64 offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: google::protobuf::internal::SetField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: void
    signature: "void SetField(MessageLite* msg, uint32* has_bits, uint32 has_bit_index,\n
      \                    int64 offset, Type value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - msg
    - oneof_case
    - oneof_case_index
    - offset
    - field_number
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - int
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::SetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void SetOneofField(MessageLite* msg, uint32* oneof_case,\n                          uint32
      oneof_case_index, int64 offset,\n                          int field_number,
      Type value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:149,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' field'
    - arena
    - msg
    argTypes:
    - ParseTableField
    - Arena*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: google::protobuf::internal::ClearOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ClearOneofField(const ParseTableField& field, Arena* arena,\n
      \                           MessageLite* msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:182,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:188,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:189,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:192,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:194,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - ' table'
    - field_number
    - arena
    - msg
    - oneof_case
    - offset
    - default_ptr
    argTypes:
    - ParseTable
    - int
    - Arena*
    - MessageLite*
    - uint32*
    - int64
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::ResetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - static_cast<const std::string*>
    - messages::default_message
    - MessageLite*::New
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ResetOneofField(const ParseTable& table, int field_number,\n
      \                           Arena* arena, MessageLite* msg, uint32* oneof_case,\n
      \                           int64 offset, const void* default_ptr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:218,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:220,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:221,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:222,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:223,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:226,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:229,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:230,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:231,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:237,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:238,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:239,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:240,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:241,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:244,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:247,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:252,1
    - Dst: google::protobuf::internal::WireFormatLite::VerifyUtf8String
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 8
    argNames:
    - input
    - msg
    - arena
    - has_bits
    - has_bit_index
    - offset
    - default_ptr
    - field_name
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - Arena*
    - uint32*
    - uint32
    - int64
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::HandleString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 6
    functionsReached:
    - static_cast<const std::string*>
    - PROTOBUF_ASSUME
    - ArenaStringPtr*::MutableNoCopy
    - StringPiece::data
    - ArenaStringPtr*::Get
    - google::protobuf::internal::Raw
    - google::protobuf::internal::WireFormatLite::ReadString
    - google::protobuf::internal::WireFormatLite::VerifyUtf8String
    - StringPiece::length
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::AddField
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: bool
    signature: "bool HandleString(io::CodedInputStream* input, MessageLite* msg,\n
      \                               Arena* arena, uint32* has_bits,\n                                uint32
      has_bit_index, int64 offset,\n                                const void* default_ptr,\n
      \                               const char* field_name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:270,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:271,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:278,1
    - Dst: google::protobuf::internal::SetField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:281,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:284,1
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: google::protobuf::internal::SetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:289,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:293,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 8
    argNames:
    - ' table'
    - input
    - msg
    - presence
    - presence_index
    - offset
    - tag
    - field_number
    argTypes:
    - ParseTable
    - io::CodedInputStream*
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 300
    functionName: google::protobuf::internal::HandleEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - google::protobuf::internal::SetOneofField
    - PROTOBUF_ASSUME
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - google::protobuf::internal::SetField
    - PROTOBUF_PREDICT_FALSE
    - validator
    - google::protobuf::internal::AddField
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    linkageType: ''
    returnType: bool
    signature: "bool HandleEnum(const ParseTable& table, io::CodedInputStream* input,\n
      \                      MessageLite* msg, uint32* presence,\n                       uint32
      presence_index, int64 offset, uint32 tag,\n                       int field_number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::New
    linkageType: ''
    returnType: Type
    signature: "Type * NewFromPrototype(const Type* prototype,\n                                       Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(Type* t, Arena* arena = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:327,1
    - Dst: const_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - prototype
    argTypes:
    - RepeatedPtrFieldBase*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 6
    functionsReached:
    - RepeatedPtrFieldBase*::Add
    - const_cast<MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * Add(RepeatedPtrFieldBase* field,\n                          const
      MessageLite* prototype)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:340,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:341,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:342,1
    - Dst: io::CodedInputStream*::ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:345,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:347,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:348,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:350,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:357,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:358,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:377,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:414,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:415,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:416,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:417,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:418,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:419,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:421,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:422,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:423,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:424,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:436,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:439,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:440,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:453,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:454,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:457,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:461,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:462,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:475,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:478,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:479,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:489,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:493,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:494,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:503,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:507,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:508,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:517,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:518,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:522,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:526,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:527,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:537,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:538,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:546,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:547,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:555,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:556,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:557,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:566,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:570,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:572,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:573,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:577,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:578,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:585,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:587,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:588,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:591,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:593,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:594,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:602,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:606,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:608,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:610,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:612,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:616,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:617,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:626,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:628,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:630,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:634,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:636,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:637,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:644,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:645,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:646,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:647,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:652,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:653,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:660,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:661,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:668,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:672,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:674,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:677,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:678,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:679,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:683,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:696,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:697,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:698,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:699,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:700,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:701,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:703,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:704,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:705,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:706,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:725,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:727,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:728,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:730,1
    - Dst: "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:731,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:736,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:737,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:740,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:743,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:751,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:754,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:759,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:764,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:770,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:771,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 198
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 776
    functionName: google::protobuf::internal::MergePartialFromCodedStreamInlined
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 6
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::HandleEnum
    - validator
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::ResetOneofField
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - HANDLE_PACKED_TYPE
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::HandleString
    - io::CodedInputStream*::SetLastTag
    - google::protobuf::internal::ImplicitWeakMessage::default_instance
    - MessageLite*::New
    - google::protobuf::io::EpsCopyOutputStream::Skip
    - google::protobuf::internal::MutableField
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - PROTOBUF_ASSUME
    - static_cast<unsigned char>
    - io::CodedInputStream*::ReadTagWithCutoffNoLastTag
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - messages::default_message
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::Raw
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::ReadVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::ParseExtension
    - static_cast<WireFormatLite::FieldType>
    - RepeatedField*::Add
    - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamInlined(MessageLite* msg,\n                                        const
      ParseTable& table,\n                                        io::CodedInputStream*
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 413
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 71
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(TYPE, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - ','
    - CPPTYPE_METHOD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 695
    functionName: HANDLE_PACKED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_PACKED_TYPE(TYPE, CPPTYPE, CPPTYPE_METHOD)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:784,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:787,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 779
    functionDepth: 6
    functionLinenumber: 779
    functionLinenumberEnd: 794
    functionName: google::protobuf::internal::MergePartialFromCodedStreamImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamInlined
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamImpl(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    - Dst: reinterpret_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 79
    functionsReached:
    - reinterpret_cast<Type*>
    - reinterpret_cast<uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    - Dst: reinterpret_cast<const uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: google::protobuf::internal::Raw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 79
    functionsReached:
    - reinterpret_cast<const Type*>
    - reinterpret_cast<const uint8*>
    linkageType: ''
    returnType: Type
    signature: Type * Raw(const MessageLite* msg, int64 offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - extension_offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: google::protobuf::internal::GetExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: ExtensionSet
    signature: ExtensionSet * GetExtensionSet(MessageLite* msg, int64 extension_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:93,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedField*::Add
    linkageType: ''
    returnType: Type
    signature: Type * AddField(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:100,1
    - Dst: RepeatedPtrField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - offset
    argTypes:
    - MessageLite*
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::Raw
    - RepeatedPtrField*::Add
    linkageType: ''
    returnType: std::string
    signature: std::string * AddField<std::string>(MessageLite* msg, int64 offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - msg
    - offset
    - value
    argTypes:
    - MessageLite*
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::AddField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 22
    functionsReached:
    - google::protobuf::internal::AddField
    linkageType: ''
    returnType: void
    signature: void AddField(MessageLite* msg, int64 offset, Type value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:113,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - has_bits
    - has_bit_index
    argTypes:
    - uint32*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: google::protobuf::internal::SetBit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 7
    functionsReached:
    - static_cast<uint32>
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: void SetBit(uint32* has_bits, uint32 has_bit_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::SetBit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:122,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::MutableField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 21
    functionsReached:
    - google::protobuf::internal::Raw
    - google::protobuf::internal::SetBit
    linkageType: ''
    returnType: Type
    signature: "Type * MutableField(MessageLite* msg, uint32* has_bits,\n                          uint32
      has_bit_index, int64 offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - msg
    - has_bits
    - has_bit_index
    - offset
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: google::protobuf::internal::SetField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: void
    signature: "void SetField(MessageLite* msg, uint32* has_bits, uint32 has_bit_index,\n
      \                    int64 offset, Type value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - msg
    - oneof_case
    - oneof_case_index
    - offset
    - field_number
    - value
    argTypes:
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - int
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::SetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void SetOneofField(MessageLite* msg, uint32* oneof_case,\n                          uint32
      oneof_case_index, int64 offset,\n                          int field_number,
      Type value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:149,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ' field'
    - arena
    - msg
    argTypes:
    - ParseTableField
    - Arena*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: google::protobuf::internal::ClearOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ClearOneofField(const ParseTableField& field, Arena* arena,\n
      \                           MessageLite* msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:182,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:188,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:189,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:192,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:194,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - ' table'
    - field_number
    - arena
    - msg
    - oneof_case
    - offset
    - default_ptr
    argTypes:
    - ParseTable
    - int
    - Arena*
    - MessageLite*
    - uint32*
    - int64
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 198
    functionName: google::protobuf::internal::ResetOneofField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - static_cast<const std::string*>
    - messages::default_message
    - MessageLite*::New
    - google::protobuf::internal::Raw
    linkageType: ''
    returnType: void
    signature: "void ResetOneofField(const ParseTable& table, int field_number,\n
      \                           Arena* arena, MessageLite* msg, uint32* oneof_case,\n
      \                           int64 offset, const void* default_ptr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:218,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:220,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:221,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:222,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:223,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:226,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:229,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:230,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:231,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:237,1
    - Dst: ArenaStringPtr*::MutableNoCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:238,1
    - Dst: static_cast<const std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:239,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:240,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:241,1
    - Dst: ArenaStringPtr*::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:244,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:247,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:252,1
    - Dst: google::protobuf::internal::WireFormatLite::VerifyUtf8String
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:257,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 8
    argNames:
    - input
    - msg
    - arena
    - has_bits
    - has_bit_index
    - offset
    - default_ptr
    - field_name
    argTypes:
    - io::CodedInputStream*
    - MessageLite*
    - Arena*
    - uint32*
    - uint32
    - int64
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 262
    functionName: google::protobuf::internal::HandleString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 7
    functionsReached:
    - static_cast<const std::string*>
    - PROTOBUF_ASSUME
    - ArenaStringPtr*::MutableNoCopy
    - StringPiece::data
    - ArenaStringPtr*::Get
    - google::protobuf::internal::Raw
    - google::protobuf::internal::WireFormatLite::ReadString
    - google::protobuf::internal::WireFormatLite::VerifyUtf8String
    - StringPiece::length
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::AddField
    - google::protobuf::internal::MutableField
    linkageType: ''
    returnType: bool
    signature: "bool HandleString(io::CodedInputStream* input, MessageLite* msg,\n
      \                               Arena* arena, uint32* has_bits,\n                                uint32
      has_bit_index, int64 offset,\n                                const void* default_ptr,\n
      \                               const char* field_name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:270,1
    - Dst: WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:271,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:278,1
    - Dst: google::protobuf::internal::SetField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:281,1
    - Dst: google::protobuf::internal::AddField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:284,1
    - Dst: google::protobuf::internal::ClearOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:287,1
    - Dst: google::protobuf::internal::SetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:289,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:293,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 8
    argNames:
    - ' table'
    - input
    - msg
    - presence
    - presence_index
    - offset
    - tag
    - field_number
    argTypes:
    - ParseTable
    - io::CodedInputStream*
    - MessageLite*
    - uint32*
    - uint32
    - int64
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 300
    functionName: google::protobuf::internal::HandleEnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ClearOneofField
    - google::protobuf::internal::SetOneofField
    - PROTOBUF_ASSUME
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - google::protobuf::internal::SetField
    - PROTOBUF_PREDICT_FALSE
    - validator
    - google::protobuf::internal::AddField
    - WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>
    linkageType: ''
    returnType: bool
    signature: "bool HandleEnum(const ParseTable& table, io::CodedInputStream* input,\n
      \                      MessageLite* msg, uint32* presence,\n                       uint32
      presence_index, int64 offset, uint32 tag,\n                       int field_number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::GetMaybeArenaPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::GetMaybeArenaPointer
    linkageType: ''
    returnType: void
    signature: void * GetMaybeArenaPointer(Type* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Type*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prototype
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached:
    - Type*::New
    linkageType: ''
    returnType: Type
    signature: "Type * NewFromPrototype(const Type* prototype,\n                                       Arena*
      arena = NULL)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - Type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: google::protobuf::internal::RepeatedMessageTypeHandler::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Delete(Type* t, Arena* arena = NULL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrFieldBase*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:327,1
    - Dst: const_cast<MessageLite*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - field
    - prototype
    argTypes:
    - RepeatedPtrFieldBase*
    - MessageLite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 7
    functionsReached:
    - RepeatedPtrFieldBase*::Add
    - const_cast<MessageLite*>
    linkageType: ''
    returnType: MessageLite
    signature: "MessageLite * Add(RepeatedPtrFieldBase* field,\n                          const
      MessageLite* prototype)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK_GE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:340,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:341,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:342,1
    - Dst: io::CodedInputStream*::ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:345,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:347,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:348,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:350,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:357,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:358,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:377,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:414,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:415,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:416,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:417,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:418,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:419,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:421,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:422,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:423,1
    - Dst: HANDLE_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:424,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:436,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:439,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:440,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:453,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:454,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:457,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:461,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:462,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:475,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:478,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:479,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:489,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:493,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:494,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:503,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:507,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:508,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:517,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:518,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:522,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:526,1
    - Dst: google::protobuf::internal::HandleString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:527,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:537,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:538,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:546,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:547,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:555,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:556,1
    - Dst: google::protobuf::internal::HandleEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:557,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:566,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:570,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:572,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:573,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:577,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:578,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:585,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:587,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:588,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:591,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:593,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:594,1
    - Dst: google::protobuf::internal::MutableField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:602,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:606,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:608,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:610,1
    - Dst: MessageLite*::New
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:612,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:616,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:617,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:626,1
    - Dst: messages::default_message
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:628,1
    - Dst: google::protobuf::internal::ImplicitWeakMessage::default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:630,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:634,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:636,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:637,1
    - Dst: MessageLite*::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:644,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:645,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:646,1
    - Dst: google::protobuf::internal::ResetOneofField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:647,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:652,1
    - Dst: google::protobuf::internal::WireFormatLite::ReadMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:653,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:660,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:661,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:668,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:672,1
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:674,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:677,1
    - Dst: GOOGLE_DCHECK_NE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:678,1
    - Dst: GOOGLE_DCHECK_EQ
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:679,1
    - Dst: static_cast<WireFormatLite::FieldType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:683,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:696,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:697,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:698,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:699,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:700,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:701,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:703,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:704,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:705,1
    - Dst: HANDLE_PACKED_TYPE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:706,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: io::CodedInputStream*::ReadVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:719,1
    - Dst: google::protobuf::internal::Raw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:725,1
    - Dst: io::CodedInputStream*::PushLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:727,1
    - Dst: io::CodedInputStream*::BytesUntilLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:728,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:730,1
    - Dst: "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:731,1
    - Dst: validator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:736,1
    - Dst: RepeatedField*::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:737,1
    - Dst: google::protobuf::internal::WriteVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:740,1
    - Dst: io::CodedInputStream*::PopLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:743,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:751,1
    - Dst: PROTOBUF_ASSUME
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:754,1
    - Dst: io::CodedInputStream*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:759,1
    - Dst: google::protobuf::internal::ParseExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:764,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:770,1
    - Dst: google::protobuf::io::EpsCopyOutputStream::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:771,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 198
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 776
    functionName: google::protobuf::internal::MergePartialFromCodedStreamInlined
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 7
    functionsReached:
    - GOOGLE_DCHECK_GE
    - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
    - GOOGLE_DCHECK_NE
    - google::protobuf::internal::HandleEnum
    - validator
    - io::CodedInputStream*::PushLimit
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - google::protobuf::internal::ResetOneofField
    - google::protobuf::internal::WireFormatLite::ReadGroup
    - HANDLE_PACKED_TYPE
    - io::CodedInputStream*::PopLimit
    - google::protobuf::internal::HandleString
    - io::CodedInputStream*::SetLastTag
    - google::protobuf::internal::ImplicitWeakMessage::default_instance
    - MessageLite*::New
    - google::protobuf::io::EpsCopyOutputStream::Skip
    - google::protobuf::internal::MutableField
    - HANDLE_TYPE
    - io::CodedInputStream*::BytesUntilLimit
    - PROTOBUF_ASSUME
    - static_cast<unsigned char>
    - io::CodedInputStream*::ReadTagWithCutoffNoLastTag
    - google::protobuf::internal::WriteVarint
    - MessageLite*::GetArena
    - "WireFormatLite::ReadPrimitive<\n                        int, WireFormatLite::TYPE_ENUM>"
    - google::protobuf::internal::WireFormatLite::ReadMessage
    - messages::default_message
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::Raw
    - GOOGLE_DCHECK_EQ
    - io::CodedInputStream*::ReadVarint32
    - GOOGLE_DCHECK
    - google::protobuf::internal::ParseExtension
    - static_cast<WireFormatLite::FieldType>
    - RepeatedField*::Add
    - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamInlined(MessageLite* msg,\n                                        const
      ParseTable& table,\n                                        io::CodedInputStream*
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 413
    functionName: HANDLE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_TYPE(TYPE, CPPTYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TYPE
    - ','
    - CPPTYPE
    - ','
    - CPPTYPE_METHOD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 695
    functionName: HANDLE_PACKED_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_PACKED_TYPE(TYPE, CPPTYPE, CPPTYPE_METHOD)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:784,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:787,1
    - Dst: google::protobuf::internal::MergePartialFromCodedStreamInlined
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - ' table'
    - input
    argTypes:
    - MessageLite*
    - ParseTable
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 779
    functionDepth: 6
    functionLinenumber: 779
    functionLinenumberEnd: 794
    functionName: google::protobuf::internal::MergePartialFromCodedStreamImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::MergePartialFromCodedStreamInlined
    linkageType: ''
    returnType: bool
    signature: "bool MergePartialFromCodedStreamImpl(MessageLite* msg, const ParseTable&
      table,\n                                     io::CodedInputStream* input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void Move(T* src, int* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - int*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: void
    signature: void Move(int* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::Swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - T*::Swap
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:113,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:114,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:119,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - field_number
    - ' key'
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - Key
    - Value
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::GetCachedSize
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerialize(int field_number, const Key& key,\n                                  const
      Value& value, uint8* ptr,\n                                  io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:127,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    - google::protobuf::internal::ExtensionSet::ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:133,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 26
    functionsReached:
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: int
    signature: int GetCachedSize(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:186,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:192,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:197,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:198,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: ~MapEntryImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
    linkageType: ''
    returnType: void
    signature: void ~MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyTypeHandler::GetExternalReference
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - KeyTypeHandler::GetExternalReference
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ValueTypeHandler::DefaultIfNotInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - ValueTypeHandler::DefaultIfNotInitialized
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:211,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: google::protobuf::internal::MapEntryImpl::mutable_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType * mutable_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:215,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::MapEntryImpl::mutable_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_value
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType * mutable_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::MapEntryImpl::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    - Dst: ::google::protobuf::internal::DownCast<const Derived*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::MergeFromInternal
    - ::google::protobuf::internal::DownCast<const Derived*>
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:230,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:232,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:233,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:235,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:236,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:237,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:238,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:240,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:241,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:242,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:243,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:245,1
    - Dst: ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:247,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::MapEntryImpl::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::mutable_value
    - google::protobuf::internal::MapEntryImpl::mutable_key
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - ParseContext*::Done
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - static_cast<std::string*>
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - UnknownFieldParse
    - ParseContext*::SetLastTag
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - Derived::ValidateValue
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: google::protobuf::internal::MapEntryImpl::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - static_cast<size_t>
    - key
    - value
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - stream
    argTypes:
    - ::google::protobuf::uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::MapEntryImpl::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    - key
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: ::google::protobuf::uint8
    signature: "::google::protobuf::uint8 * _InternalSerialize(::google::protobuf::uint8*
      ptr,\n                              io::EpsCopyOutputStream* stream) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: google::protobuf::internal::MapEntryImpl::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - static_cast<int>
    - value
    - google::protobuf::internal::MapEntryImpl::GetCachedSize
    - key
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::MapEntryImpl::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Derived::Derived
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Derived::Derived
    linkageType: ''
    returnType: Base
    signature: Base * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Derived>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<Derived>
    linkageType: ''
    returnType: Base
    signature: Base * New(Arena* arena) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:303,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:306,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:308,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - MapEntryImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: google::protobuf::internal::MapEntryImpl::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - value
    - key
    linkageType: ''
    returnType: void
    signature: void MergeFromInternal(const MapEntryImpl& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:320,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: google::protobuf::internal::MapEntryImpl::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::Clear
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::clear_has_key
    - google::protobuf::internal::MapEntryImpl::clear_has_value
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MapField*::MutableMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mf
    argTypes:
    - MapField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MapEntryImpl::Parser::Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MapField*::MutableMap
    linkageType: ''
    returnType: void
    signature: void Parser(MapField* mf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: ~Parser()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::GetArena
    linkageType: ''
    returnType: void
    signature: void ~Parser()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:341,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:342,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:348,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:351,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:358,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:359,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:360,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:361,1
    - Dst: io::CodedInputStream*::ExpectAtEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:364,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:365,1
    - Dst: Key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:369,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:372,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:373,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:374,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:375,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 377
    functionName: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 1
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - io::CodedInputStream*::ExpectTag
    - reinterpret_cast<T>
    - io::CodedInputStream*::ExpectAtEnd
    - Key
    - reinterpret_cast<const char*>
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - size
    linkageType: ''
    returnType: bool
    signature: bool MergePartialFromCodedStream(io::CodedInputStream* input)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:381,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:386,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:391,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:392,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:393,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:394,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:395,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:400,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:402,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:408,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:413,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:415,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 418
    functionName: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - ParseContext*::Done
    - erase
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - reinterpret_cast<T>
    - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - Derived::ValidateValue
    - mutable_value
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - size
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:424,1
    - Dst: auto::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:425,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: auto::value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:428,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: auto::SerializeAsString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - InternalMetadata*::mutable_unknown_fields
    - auto::value
    - auto::_InternalParse
    - WriteLengthDelimited
    - auto::SerializeAsString
    - is_valid
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                       bool (*is_valid)(int), uint32 field_num,\n
      \                                       InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: MapEntryImpl
    signature: MapEntryImpl * NewEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key
    signature: Key & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Value
    signature: Value & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: '& entry_key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - key
    linkageType: ''
    returnType: Key
    signature: Key & entry_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: '& entry_value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: Value
    signature: Value & entry_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:450,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::Move
    - key
    - mutable_value
    linkageType: ''
    returnType: void
    signature: void UseKeyAndValueFromEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:459,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:461,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:463,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - mutable_key
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - mutable_value
    linkageType: ''
    returnType: bool
    signature: bool ReadBeyondKeyValuePair(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: google::protobuf::internal::MapEntryImpl::set_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: google::protobuf::internal::MapEntryImpl::has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: google::protobuf::internal::MapEntryImpl::set_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: google::protobuf::internal::MapEntryImpl::has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: google::protobuf::internal::MapEntryImpl::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: ~MapEntryLite()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Delete
    linkageType: ''
    returnType: void
    signature: void ~MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapEntryLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapEntryLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapEntryLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - PtrToKeyValuePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem(PtrToKeyValuePair p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:631,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:632,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:633,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' map_pair'
    argTypes:
    - MapPair<Key, Value>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: google::protobuf::internal::MapEntryHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: void
    signature: void MapEntryHelper(const MapPair<Key, Value>& map_pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void Move(T* src, int* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - int*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: void
    signature: void Move(int* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::Swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached:
    - T*::Swap
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:113,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:114,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:119,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - field_number
    - ' key'
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - Key
    - Value
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::GetCachedSize
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerialize(int field_number, const Key& key,\n                                  const
      Value& value, uint8* ptr,\n                                  io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:127,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    - google::protobuf::internal::ExtensionSet::ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:133,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 29
    functionsReached:
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: int
    signature: int GetCachedSize(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:186,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:192,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:197,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:198,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: ~MapEntryImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
    linkageType: ''
    returnType: void
    signature: void ~MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyTypeHandler::GetExternalReference
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - KeyTypeHandler::GetExternalReference
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ValueTypeHandler::DefaultIfNotInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - ValueTypeHandler::DefaultIfNotInitialized
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:211,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: google::protobuf::internal::MapEntryImpl::mutable_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType * mutable_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:215,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::MapEntryImpl::mutable_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_value
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType * mutable_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::MapEntryImpl::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    - Dst: ::google::protobuf::internal::DownCast<const Derived*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::MergeFromInternal
    - ::google::protobuf::internal::DownCast<const Derived*>
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:230,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:232,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:233,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:235,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:236,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:237,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:238,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:240,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:241,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:242,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:243,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:245,1
    - Dst: ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:247,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::MapEntryImpl::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::mutable_value
    - google::protobuf::internal::MapEntryImpl::mutable_key
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - ParseContext*::Done
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - static_cast<std::string*>
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - UnknownFieldParse
    - ParseContext*::SetLastTag
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - Derived::ValidateValue
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: google::protobuf::internal::MapEntryImpl::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - static_cast<size_t>
    - key
    - value
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - stream
    argTypes:
    - ::google::protobuf::uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::MapEntryImpl::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    - key
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: ::google::protobuf::uint8
    signature: "::google::protobuf::uint8 * _InternalSerialize(::google::protobuf::uint8*
      ptr,\n                              io::EpsCopyOutputStream* stream) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: google::protobuf::internal::MapEntryImpl::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - static_cast<int>
    - value
    - google::protobuf::internal::MapEntryImpl::GetCachedSize
    - key
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::MapEntryImpl::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Derived::Derived
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Derived::Derived
    linkageType: ''
    returnType: Base
    signature: Base * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Derived>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<Derived>
    linkageType: ''
    returnType: Base
    signature: Base * New(Arena* arena) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:303,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:306,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:308,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - MapEntryImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: google::protobuf::internal::MapEntryImpl::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - value
    - key
    linkageType: ''
    returnType: void
    signature: void MergeFromInternal(const MapEntryImpl& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:320,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: google::protobuf::internal::MapEntryImpl::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::Clear
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::clear_has_key
    - google::protobuf::internal::MapEntryImpl::clear_has_value
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MapField*::MutableMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mf
    argTypes:
    - MapField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MapEntryImpl::Parser::Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MapField*::MutableMap
    linkageType: ''
    returnType: void
    signature: void Parser(MapField* mf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: ~Parser()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: void
    signature: void ~Parser()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:341,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:342,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:348,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:351,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:358,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:359,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:360,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:361,1
    - Dst: io::CodedInputStream*::ExpectAtEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:364,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:365,1
    - Dst: Key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:369,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:372,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:373,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:374,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:375,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 377
    functionName: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - io::CodedInputStream*::ExpectTag
    - reinterpret_cast<T>
    - io::CodedInputStream*::ExpectAtEnd
    - Key
    - reinterpret_cast<const char*>
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - size
    linkageType: ''
    returnType: bool
    signature: bool MergePartialFromCodedStream(io::CodedInputStream* input)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:381,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:386,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:391,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:392,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:393,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:394,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:395,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:400,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:402,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:408,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:413,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:415,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 418
    functionName: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - ParseContext*::Done
    - erase
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - reinterpret_cast<T>
    - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - Derived::ValidateValue
    - mutable_value
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - size
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:424,1
    - Dst: auto::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:425,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: auto::value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:428,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: auto::SerializeAsString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - InternalMetadata*::mutable_unknown_fields
    - auto::value
    - auto::_InternalParse
    - WriteLengthDelimited
    - auto::SerializeAsString
    - is_valid
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                       bool (*is_valid)(int), uint32 field_num,\n
      \                                       InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: MapEntryImpl
    signature: MapEntryImpl * NewEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key
    signature: Key & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Value
    signature: Value & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: '& entry_key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - key
    linkageType: ''
    returnType: Key
    signature: Key & entry_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: '& entry_value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: Value
    signature: Value & entry_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:450,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::Move
    - key
    - mutable_value
    linkageType: ''
    returnType: void
    signature: void UseKeyAndValueFromEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:459,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:461,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:463,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - mutable_key
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - mutable_value
    linkageType: ''
    returnType: bool
    signature: bool ReadBeyondKeyValuePair(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: google::protobuf::internal::MapEntryImpl::set_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: google::protobuf::internal::MapEntryImpl::has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: google::protobuf::internal::MapEntryImpl::set_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: google::protobuf::internal::MapEntryImpl::has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: google::protobuf::internal::MapEntryImpl::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: ~MapEntryLite()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Delete
    linkageType: ''
    returnType: void
    signature: void ~MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapEntryLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapEntryLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapEntryLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - PtrToKeyValuePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem(PtrToKeyValuePair p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:631,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:632,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:633,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' map_pair'
    argTypes:
    - MapPair<Key, Value>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: google::protobuf::internal::MapEntryHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: void
    signature: void MapEntryHelper(const MapPair<Key, Value>& map_pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void Move(T* src, int* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - int*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: void
    signature: void Move(int* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::Swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached:
    - T*::Swap
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:113,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:114,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:119,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - field_number
    - ' key'
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - Key
    - Value
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::GetCachedSize
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerialize(int field_number, const Key& key,\n                                  const
      Value& value, uint8* ptr,\n                                  io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:127,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    - google::protobuf::internal::ExtensionSet::ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:133,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 32
    functionsReached:
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: int
    signature: int GetCachedSize(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:186,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:192,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:197,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:198,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: ~MapEntryImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
    linkageType: ''
    returnType: void
    signature: void ~MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyTypeHandler::GetExternalReference
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - KeyTypeHandler::GetExternalReference
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ValueTypeHandler::DefaultIfNotInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - ValueTypeHandler::DefaultIfNotInitialized
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:211,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: google::protobuf::internal::MapEntryImpl::mutable_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType * mutable_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:215,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::MapEntryImpl::mutable_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_value
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType * mutable_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::MapEntryImpl::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    - Dst: ::google::protobuf::internal::DownCast<const Derived*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::MergeFromInternal
    - ::google::protobuf::internal::DownCast<const Derived*>
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:230,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:232,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:233,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:235,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:236,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:237,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:238,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:240,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:241,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:242,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:243,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:245,1
    - Dst: ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:247,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::MapEntryImpl::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::mutable_value
    - google::protobuf::internal::MapEntryImpl::mutable_key
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - ParseContext*::Done
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - static_cast<std::string*>
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - UnknownFieldParse
    - ParseContext*::SetLastTag
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - Derived::ValidateValue
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: google::protobuf::internal::MapEntryImpl::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - static_cast<size_t>
    - key
    - value
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - stream
    argTypes:
    - ::google::protobuf::uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::MapEntryImpl::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    - key
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: ::google::protobuf::uint8
    signature: "::google::protobuf::uint8 * _InternalSerialize(::google::protobuf::uint8*
      ptr,\n                              io::EpsCopyOutputStream* stream) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: google::protobuf::internal::MapEntryImpl::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - static_cast<int>
    - value
    - google::protobuf::internal::MapEntryImpl::GetCachedSize
    - key
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::MapEntryImpl::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Derived::Derived
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Derived::Derived
    linkageType: ''
    returnType: Base
    signature: Base * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Derived>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<Derived>
    linkageType: ''
    returnType: Base
    signature: Base * New(Arena* arena) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:303,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:306,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:308,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - MapEntryImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: google::protobuf::internal::MapEntryImpl::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - value
    - key
    linkageType: ''
    returnType: void
    signature: void MergeFromInternal(const MapEntryImpl& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:320,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: google::protobuf::internal::MapEntryImpl::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::Clear
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::clear_has_key
    - google::protobuf::internal::MapEntryImpl::clear_has_value
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MapField*::MutableMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mf
    argTypes:
    - MapField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MapEntryImpl::Parser::Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MapField*::MutableMap
    linkageType: ''
    returnType: void
    signature: void Parser(MapField* mf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: ~Parser()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ~Parser()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:341,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:342,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:348,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:351,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:358,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:359,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:360,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:361,1
    - Dst: io::CodedInputStream*::ExpectAtEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:364,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:365,1
    - Dst: Key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:369,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:372,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:373,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:374,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:375,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 377
    functionName: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 5
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - io::CodedInputStream*::ExpectTag
    - reinterpret_cast<T>
    - io::CodedInputStream*::ExpectAtEnd
    - Key
    - reinterpret_cast<const char*>
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - size
    linkageType: ''
    returnType: bool
    signature: bool MergePartialFromCodedStream(io::CodedInputStream* input)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:381,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:386,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:391,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:392,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:393,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:394,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:395,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:400,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:402,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:408,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:413,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:415,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 418
    functionName: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - ParseContext*::Done
    - erase
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - reinterpret_cast<T>
    - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - Derived::ValidateValue
    - mutable_value
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - size
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:424,1
    - Dst: auto::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:425,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: auto::value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:428,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: auto::SerializeAsString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - InternalMetadata*::mutable_unknown_fields
    - auto::value
    - auto::_InternalParse
    - WriteLengthDelimited
    - auto::SerializeAsString
    - is_valid
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                       bool (*is_valid)(int), uint32 field_num,\n
      \                                       InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: MapEntryImpl
    signature: MapEntryImpl * NewEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key
    signature: Key & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Value
    signature: Value & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: '& entry_key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - key
    linkageType: ''
    returnType: Key
    signature: Key & entry_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: '& entry_value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: Value
    signature: Value & entry_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:450,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 11
    functionsReached:
    - google::protobuf::internal::Move
    - key
    - mutable_value
    linkageType: ''
    returnType: void
    signature: void UseKeyAndValueFromEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:459,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:461,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:463,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - mutable_key
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - mutable_value
    linkageType: ''
    returnType: bool
    signature: bool ReadBeyondKeyValuePair(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: google::protobuf::internal::MapEntryImpl::set_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: google::protobuf::internal::MapEntryImpl::has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: google::protobuf::internal::MapEntryImpl::set_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: google::protobuf::internal::MapEntryImpl::has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: google::protobuf::internal::MapEntryImpl::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: ~MapEntryLite()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Delete
    linkageType: ''
    returnType: void
    signature: void ~MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapEntryLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapEntryLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapEntryLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - PtrToKeyValuePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem(PtrToKeyValuePair p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:631,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:632,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:633,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' map_pair'
    argTypes:
    - MapPair<Key, Value>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: google::protobuf::internal::MapEntryHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: void
    signature: void MapEntryHelper(const MapPair<Key, Value>& map_pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 9
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void Move(T* src, int* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - int*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 9
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: void
    signature: void Move(int* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::Swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 9
    functionsReached:
    - T*::Swap
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 9
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:113,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:114,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:119,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - field_number
    - ' key'
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - Key
    - Value
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::GetCachedSize
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerialize(int field_number, const Key& key,\n                                  const
      Value& value, uint8* ptr,\n                                  io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:127,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    - google::protobuf::internal::ExtensionSet::ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:133,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 35
    functionsReached:
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: int
    signature: int GetCachedSize(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:186,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:192,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:197,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:198,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: ~MapEntryImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
    linkageType: ''
    returnType: void
    signature: void ~MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyTypeHandler::GetExternalReference
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - KeyTypeHandler::GetExternalReference
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ValueTypeHandler::DefaultIfNotInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - ValueTypeHandler::DefaultIfNotInitialized
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:211,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: google::protobuf::internal::MapEntryImpl::mutable_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType * mutable_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:215,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::MapEntryImpl::mutable_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_value
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType * mutable_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::MapEntryImpl::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    - Dst: ::google::protobuf::internal::DownCast<const Derived*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::MergeFromInternal
    - ::google::protobuf::internal::DownCast<const Derived*>
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:230,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:232,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:233,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:235,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:236,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:237,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:238,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:240,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:241,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:242,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:243,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:245,1
    - Dst: ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:247,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::MapEntryImpl::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::mutable_value
    - google::protobuf::internal::MapEntryImpl::mutable_key
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - ParseContext*::Done
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - static_cast<std::string*>
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - UnknownFieldParse
    - ParseContext*::SetLastTag
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - Derived::ValidateValue
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: google::protobuf::internal::MapEntryImpl::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - static_cast<size_t>
    - key
    - value
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - stream
    argTypes:
    - ::google::protobuf::uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::MapEntryImpl::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    - key
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: ::google::protobuf::uint8
    signature: "::google::protobuf::uint8 * _InternalSerialize(::google::protobuf::uint8*
      ptr,\n                              io::EpsCopyOutputStream* stream) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: google::protobuf::internal::MapEntryImpl::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - static_cast<int>
    - value
    - google::protobuf::internal::MapEntryImpl::GetCachedSize
    - key
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::MapEntryImpl::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Derived::Derived
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Derived::Derived
    linkageType: ''
    returnType: Base
    signature: Base * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Derived>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<Derived>
    linkageType: ''
    returnType: Base
    signature: Base * New(Arena* arena) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:303,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:306,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:308,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - MapEntryImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: google::protobuf::internal::MapEntryImpl::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - value
    - key
    linkageType: ''
    returnType: void
    signature: void MergeFromInternal(const MapEntryImpl& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:320,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: google::protobuf::internal::MapEntryImpl::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::Clear
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::clear_has_key
    - google::protobuf::internal::MapEntryImpl::clear_has_value
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MapField*::MutableMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mf
    argTypes:
    - MapField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MapEntryImpl::Parser::Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MapField*::MutableMap
    linkageType: ''
    returnType: void
    signature: void Parser(MapField* mf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: ~Parser()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ~Parser()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:341,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:342,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:348,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:351,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:358,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:359,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:360,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:361,1
    - Dst: io::CodedInputStream*::ExpectAtEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:364,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:365,1
    - Dst: Key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:369,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:372,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:373,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:374,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:375,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 377
    functionName: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 7
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - io::CodedInputStream*::ExpectTag
    - reinterpret_cast<T>
    - io::CodedInputStream*::ExpectAtEnd
    - Key
    - reinterpret_cast<const char*>
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - size
    linkageType: ''
    returnType: bool
    signature: bool MergePartialFromCodedStream(io::CodedInputStream* input)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:381,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:386,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:391,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:392,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:393,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:394,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:395,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:400,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:402,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:408,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:413,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:415,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 418
    functionName: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - ParseContext*::Done
    - erase
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - reinterpret_cast<T>
    - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - Derived::ValidateValue
    - mutable_value
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - size
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:424,1
    - Dst: auto::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:425,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: auto::value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:428,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: auto::SerializeAsString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - InternalMetadata*::mutable_unknown_fields
    - auto::value
    - auto::_InternalParse
    - WriteLengthDelimited
    - auto::SerializeAsString
    - is_valid
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                       bool (*is_valid)(int), uint32 field_num,\n
      \                                       InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 19
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: MapEntryImpl
    signature: MapEntryImpl * NewEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key
    signature: Key & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Value
    signature: Value & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: '& entry_key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - key
    linkageType: ''
    returnType: Key
    signature: Key & entry_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: '& entry_value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: Value
    signature: Value & entry_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:450,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::Move
    - key
    - mutable_value
    linkageType: ''
    returnType: void
    signature: void UseKeyAndValueFromEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:459,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:461,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:463,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - mutable_key
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - mutable_value
    linkageType: ''
    returnType: bool
    signature: bool ReadBeyondKeyValuePair(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: google::protobuf::internal::MapEntryImpl::set_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: google::protobuf::internal::MapEntryImpl::has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: google::protobuf::internal::MapEntryImpl::set_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: google::protobuf::internal::MapEntryImpl::has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: google::protobuf::internal::MapEntryImpl::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: ~MapEntryLite()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Delete
    linkageType: ''
    returnType: void
    signature: void ~MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapEntryLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapEntryLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapEntryLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - PtrToKeyValuePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem(PtrToKeyValuePair p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:631,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:632,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:633,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' map_pair'
    argTypes:
    - MapPair<Key, Value>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: google::protobuf::internal::MapEntryHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: void
    signature: void MapEntryHelper(const MapPair<Key, Value>& map_pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 12
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void Move(T* src, int* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - int*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 12
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: void
    signature: void Move(int* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::Swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 12
    functionsReached:
    - T*::Swap
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 12
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:113,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:114,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:119,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - field_number
    - ' key'
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - Key
    - Value
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::GetCachedSize
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerialize(int field_number, const Key& key,\n                                  const
      Value& value, uint8* ptr,\n                                  io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:127,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    - google::protobuf::internal::ExtensionSet::ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:133,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 38
    functionsReached:
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: int
    signature: int GetCachedSize(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:186,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:192,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:197,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:198,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: ~MapEntryImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
    linkageType: ''
    returnType: void
    signature: void ~MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyTypeHandler::GetExternalReference
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - KeyTypeHandler::GetExternalReference
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ValueTypeHandler::DefaultIfNotInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - ValueTypeHandler::DefaultIfNotInitialized
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:211,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: google::protobuf::internal::MapEntryImpl::mutable_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType * mutable_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:215,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::MapEntryImpl::mutable_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_value
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType * mutable_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::MapEntryImpl::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    - Dst: ::google::protobuf::internal::DownCast<const Derived*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::MergeFromInternal
    - ::google::protobuf::internal::DownCast<const Derived*>
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:230,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:232,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:233,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:235,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:236,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:237,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:238,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:240,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:241,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:242,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:243,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:245,1
    - Dst: ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:247,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::MapEntryImpl::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::mutable_value
    - google::protobuf::internal::MapEntryImpl::mutable_key
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - ParseContext*::Done
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - static_cast<std::string*>
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - UnknownFieldParse
    - ParseContext*::SetLastTag
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - Derived::ValidateValue
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: google::protobuf::internal::MapEntryImpl::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - static_cast<size_t>
    - key
    - value
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - stream
    argTypes:
    - ::google::protobuf::uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::MapEntryImpl::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    - key
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: ::google::protobuf::uint8
    signature: "::google::protobuf::uint8 * _InternalSerialize(::google::protobuf::uint8*
      ptr,\n                              io::EpsCopyOutputStream* stream) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: google::protobuf::internal::MapEntryImpl::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - static_cast<int>
    - value
    - google::protobuf::internal::MapEntryImpl::GetCachedSize
    - key
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::MapEntryImpl::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Derived::Derived
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Derived::Derived
    linkageType: ''
    returnType: Base
    signature: Base * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Derived>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<Derived>
    linkageType: ''
    returnType: Base
    signature: Base * New(Arena* arena) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:303,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:306,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:308,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - MapEntryImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: google::protobuf::internal::MapEntryImpl::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - value
    - key
    linkageType: ''
    returnType: void
    signature: void MergeFromInternal(const MapEntryImpl& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:320,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: google::protobuf::internal::MapEntryImpl::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::Clear
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::clear_has_key
    - google::protobuf::internal::MapEntryImpl::clear_has_value
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MapField*::MutableMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mf
    argTypes:
    - MapField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MapEntryImpl::Parser::Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MapField*::MutableMap
    linkageType: ''
    returnType: void
    signature: void Parser(MapField* mf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: ~Parser()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ~Parser()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:341,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:342,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:348,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:351,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:358,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:359,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:360,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:361,1
    - Dst: io::CodedInputStream*::ExpectAtEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:364,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:365,1
    - Dst: Key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:369,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:372,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:373,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:374,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:375,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 377
    functionName: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 9
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - io::CodedInputStream*::ExpectTag
    - reinterpret_cast<T>
    - io::CodedInputStream*::ExpectAtEnd
    - Key
    - reinterpret_cast<const char*>
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - size
    linkageType: ''
    returnType: bool
    signature: bool MergePartialFromCodedStream(io::CodedInputStream* input)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:381,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:386,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:391,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:392,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:393,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:394,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:395,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:400,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:402,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:408,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:413,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:415,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 418
    functionName: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - ParseContext*::Done
    - erase
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - reinterpret_cast<T>
    - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - Derived::ValidateValue
    - mutable_value
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - size
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:424,1
    - Dst: auto::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:425,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: auto::value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:428,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: auto::SerializeAsString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - InternalMetadata*::mutable_unknown_fields
    - auto::value
    - auto::_InternalParse
    - WriteLengthDelimited
    - auto::SerializeAsString
    - is_valid
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                       bool (*is_valid)(int), uint32 field_num,\n
      \                                       InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 24
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: MapEntryImpl
    signature: MapEntryImpl * NewEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key
    signature: Key & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Value
    signature: Value & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: '& entry_key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - key
    linkageType: ''
    returnType: Key
    signature: Key & entry_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: '& entry_value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: Value
    signature: Value & entry_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:450,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 19
    functionsReached:
    - google::protobuf::internal::Move
    - key
    - mutable_value
    linkageType: ''
    returnType: void
    signature: void UseKeyAndValueFromEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:459,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:461,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:463,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - mutable_key
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - mutable_value
    linkageType: ''
    returnType: bool
    signature: bool ReadBeyondKeyValuePair(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: google::protobuf::internal::MapEntryImpl::set_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: google::protobuf::internal::MapEntryImpl::has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: google::protobuf::internal::MapEntryImpl::set_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: google::protobuf::internal::MapEntryImpl::has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: google::protobuf::internal::MapEntryImpl::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: ~MapEntryLite()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Delete
    linkageType: ''
    returnType: void
    signature: void ~MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapEntryLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapEntryLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapEntryLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - PtrToKeyValuePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem(PtrToKeyValuePair p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:631,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:632,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:633,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' map_pair'
    argTypes:
    - MapPair<Key, Value>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: google::protobuf::internal::MapEntryHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: void
    signature: void MapEntryHelper(const MapPair<Key, Value>& map_pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 15
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void Move(T* src, int* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - int*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 15
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: void
    signature: void Move(int* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::Swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 15
    functionsReached:
    - T*::Swap
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 15
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:113,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:114,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:119,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - field_number
    - ' key'
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - Key
    - Value
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::GetCachedSize
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerialize(int field_number, const Key& key,\n                                  const
      Value& value, uint8* ptr,\n                                  io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:127,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    - google::protobuf::internal::ExtensionSet::ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:133,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 41
    functionsReached:
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: int
    signature: int GetCachedSize(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:186,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:192,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:197,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:198,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: ~MapEntryImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
    linkageType: ''
    returnType: void
    signature: void ~MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyTypeHandler::GetExternalReference
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - KeyTypeHandler::GetExternalReference
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ValueTypeHandler::DefaultIfNotInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - ValueTypeHandler::DefaultIfNotInitialized
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:211,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: google::protobuf::internal::MapEntryImpl::mutable_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType * mutable_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:215,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::MapEntryImpl::mutable_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_value
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType * mutable_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::MapEntryImpl::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    - Dst: ::google::protobuf::internal::DownCast<const Derived*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::MergeFromInternal
    - ::google::protobuf::internal::DownCast<const Derived*>
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:230,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:232,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:233,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:235,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:236,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:237,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:238,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:240,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:241,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:242,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:243,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:245,1
    - Dst: ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:247,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::MapEntryImpl::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::mutable_value
    - google::protobuf::internal::MapEntryImpl::mutable_key
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - ParseContext*::Done
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - static_cast<std::string*>
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - UnknownFieldParse
    - ParseContext*::SetLastTag
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - Derived::ValidateValue
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: google::protobuf::internal::MapEntryImpl::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - static_cast<size_t>
    - key
    - value
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - stream
    argTypes:
    - ::google::protobuf::uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::MapEntryImpl::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    - key
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: ::google::protobuf::uint8
    signature: "::google::protobuf::uint8 * _InternalSerialize(::google::protobuf::uint8*
      ptr,\n                              io::EpsCopyOutputStream* stream) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: google::protobuf::internal::MapEntryImpl::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - static_cast<int>
    - value
    - google::protobuf::internal::MapEntryImpl::GetCachedSize
    - key
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::MapEntryImpl::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Derived::Derived
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Derived::Derived
    linkageType: ''
    returnType: Base
    signature: Base * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Derived>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<Derived>
    linkageType: ''
    returnType: Base
    signature: Base * New(Arena* arena) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:303,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:306,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:308,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - MapEntryImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: google::protobuf::internal::MapEntryImpl::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - value
    - key
    linkageType: ''
    returnType: void
    signature: void MergeFromInternal(const MapEntryImpl& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:320,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: google::protobuf::internal::MapEntryImpl::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::Clear
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::clear_has_key
    - google::protobuf::internal::MapEntryImpl::clear_has_value
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MapField*::MutableMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mf
    argTypes:
    - MapField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MapEntryImpl::Parser::Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MapField*::MutableMap
    linkageType: ''
    returnType: void
    signature: void Parser(MapField* mf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: ~Parser()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ~Parser()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:341,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:342,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:348,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:351,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:358,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:359,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:360,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:361,1
    - Dst: io::CodedInputStream*::ExpectAtEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:364,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:365,1
    - Dst: Key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:369,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:372,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:373,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:374,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:375,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 377
    functionName: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 11
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - io::CodedInputStream*::ExpectTag
    - reinterpret_cast<T>
    - io::CodedInputStream*::ExpectAtEnd
    - Key
    - reinterpret_cast<const char*>
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - size
    linkageType: ''
    returnType: bool
    signature: bool MergePartialFromCodedStream(io::CodedInputStream* input)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:381,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:386,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:391,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:392,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:393,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:394,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:395,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:400,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:402,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:408,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:413,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:415,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 418
    functionName: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - ParseContext*::Done
    - erase
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - reinterpret_cast<T>
    - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - Derived::ValidateValue
    - mutable_value
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - size
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:424,1
    - Dst: auto::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:425,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: auto::value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:428,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: auto::SerializeAsString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - InternalMetadata*::mutable_unknown_fields
    - auto::value
    - auto::_InternalParse
    - WriteLengthDelimited
    - auto::SerializeAsString
    - is_valid
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                       bool (*is_valid)(int), uint32 field_num,\n
      \                                       InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 29
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: MapEntryImpl
    signature: MapEntryImpl * NewEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key
    signature: Key & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Value
    signature: Value & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: '& entry_key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - key
    linkageType: ''
    returnType: Key
    signature: Key & entry_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: '& entry_value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: Value
    signature: Value & entry_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:450,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 23
    functionsReached:
    - google::protobuf::internal::Move
    - key
    - mutable_value
    linkageType: ''
    returnType: void
    signature: void UseKeyAndValueFromEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:459,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:461,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:463,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - mutable_key
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - mutable_value
    linkageType: ''
    returnType: bool
    signature: bool ReadBeyondKeyValuePair(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: google::protobuf::internal::MapEntryImpl::set_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: google::protobuf::internal::MapEntryImpl::has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: google::protobuf::internal::MapEntryImpl::set_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: google::protobuf::internal::MapEntryImpl::has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: google::protobuf::internal::MapEntryImpl::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: ~MapEntryLite()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Delete
    linkageType: ''
    returnType: void
    signature: void ~MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapEntryLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapEntryLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapEntryLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - PtrToKeyValuePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem(PtrToKeyValuePair p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:631,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:632,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:633,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' map_pair'
    argTypes:
    - MapPair<Key, Value>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: google::protobuf::internal::MapEntryHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: void
    signature: void MapEntryHelper(const MapPair<Key, Value>& map_pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 18
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void Move(T* src, int* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - int*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 18
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: void
    signature: void Move(int* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::Swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 18
    functionsReached:
    - T*::Swap
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 18
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:113,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:114,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:119,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - field_number
    - ' key'
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - Key
    - Value
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::GetCachedSize
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerialize(int field_number, const Key& key,\n                                  const
      Value& value, uint8* ptr,\n                                  io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:127,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    - google::protobuf::internal::ExtensionSet::ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:133,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 44
    functionsReached:
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: int
    signature: int GetCachedSize(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:186,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:192,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:197,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:198,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: ~MapEntryImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
    linkageType: ''
    returnType: void
    signature: void ~MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyTypeHandler::GetExternalReference
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - KeyTypeHandler::GetExternalReference
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ValueTypeHandler::DefaultIfNotInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - ValueTypeHandler::DefaultIfNotInitialized
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:211,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: google::protobuf::internal::MapEntryImpl::mutable_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType * mutable_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:215,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::MapEntryImpl::mutable_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_value
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType * mutable_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::MapEntryImpl::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    - Dst: ::google::protobuf::internal::DownCast<const Derived*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::MergeFromInternal
    - ::google::protobuf::internal::DownCast<const Derived*>
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:230,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:232,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:233,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:235,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:236,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:237,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:238,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:240,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:241,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:242,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:243,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:245,1
    - Dst: ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:247,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::MapEntryImpl::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::mutable_value
    - google::protobuf::internal::MapEntryImpl::mutable_key
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - ParseContext*::Done
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - static_cast<std::string*>
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - UnknownFieldParse
    - ParseContext*::SetLastTag
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - Derived::ValidateValue
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: google::protobuf::internal::MapEntryImpl::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - static_cast<size_t>
    - key
    - value
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - stream
    argTypes:
    - ::google::protobuf::uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::MapEntryImpl::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    - key
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: ::google::protobuf::uint8
    signature: "::google::protobuf::uint8 * _InternalSerialize(::google::protobuf::uint8*
      ptr,\n                              io::EpsCopyOutputStream* stream) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: google::protobuf::internal::MapEntryImpl::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - static_cast<int>
    - value
    - google::protobuf::internal::MapEntryImpl::GetCachedSize
    - key
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::MapEntryImpl::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Derived::Derived
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Derived::Derived
    linkageType: ''
    returnType: Base
    signature: Base * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Derived>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<Derived>
    linkageType: ''
    returnType: Base
    signature: Base * New(Arena* arena) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:303,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:306,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:308,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - MapEntryImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: google::protobuf::internal::MapEntryImpl::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - value
    - key
    linkageType: ''
    returnType: void
    signature: void MergeFromInternal(const MapEntryImpl& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:320,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: google::protobuf::internal::MapEntryImpl::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::Clear
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::clear_has_key
    - google::protobuf::internal::MapEntryImpl::clear_has_value
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MapField*::MutableMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mf
    argTypes:
    - MapField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MapEntryImpl::Parser::Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MapField*::MutableMap
    linkageType: ''
    returnType: void
    signature: void Parser(MapField* mf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: ~Parser()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ~Parser()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:341,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:342,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:348,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:351,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:358,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:359,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:360,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:361,1
    - Dst: io::CodedInputStream*::ExpectAtEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:364,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:365,1
    - Dst: Key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:369,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:372,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:373,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:374,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:375,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 377
    functionName: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 13
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - io::CodedInputStream*::ExpectTag
    - reinterpret_cast<T>
    - io::CodedInputStream*::ExpectAtEnd
    - Key
    - reinterpret_cast<const char*>
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - size
    linkageType: ''
    returnType: bool
    signature: bool MergePartialFromCodedStream(io::CodedInputStream* input)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:381,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:386,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:391,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:392,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:393,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:394,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:395,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:400,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:402,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:408,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:413,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:415,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 418
    functionName: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - ParseContext*::Done
    - erase
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - reinterpret_cast<T>
    - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - Derived::ValidateValue
    - mutable_value
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - size
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:424,1
    - Dst: auto::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:425,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: auto::value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:428,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: auto::SerializeAsString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - InternalMetadata*::mutable_unknown_fields
    - auto::value
    - auto::_InternalParse
    - WriteLengthDelimited
    - auto::SerializeAsString
    - is_valid
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                       bool (*is_valid)(int), uint32 field_num,\n
      \                                       InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 34
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: MapEntryImpl
    signature: MapEntryImpl * NewEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key
    signature: Key & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Value
    signature: Value & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: '& entry_key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - key
    linkageType: ''
    returnType: Key
    signature: Key & entry_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: '& entry_value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: Value
    signature: Value & entry_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:450,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 27
    functionsReached:
    - google::protobuf::internal::Move
    - key
    - mutable_value
    linkageType: ''
    returnType: void
    signature: void UseKeyAndValueFromEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:459,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:461,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:463,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - mutable_key
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - mutable_value
    linkageType: ''
    returnType: bool
    signature: bool ReadBeyondKeyValuePair(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: google::protobuf::internal::MapEntryImpl::set_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: google::protobuf::internal::MapEntryImpl::has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: google::protobuf::internal::MapEntryImpl::set_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: google::protobuf::internal::MapEntryImpl::has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: google::protobuf::internal::MapEntryImpl::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: ~MapEntryLite()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Delete
    linkageType: ''
    returnType: void
    signature: void ~MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapEntryLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapEntryLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapEntryLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - PtrToKeyValuePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem(PtrToKeyValuePair p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:631,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:632,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:633,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' map_pair'
    argTypes:
    - MapPair<Key, Value>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: google::protobuf::internal::MapEntryHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: void
    signature: void MapEntryHelper(const MapPair<Key, Value>& map_pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 21
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void Move(T* src, int* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - int*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 21
    functionsReached:
    - static_cast<T>
    linkageType: ''
    returnType: void
    signature: void Move(int* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T*::Swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 21
    functionsReached:
    - T*::Swap
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - T*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::Move
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 21
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Move(T* src, T* dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::EpsCopyOutputStream*::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:113,1
    - Dst: google::protobuf::internal::WireFormatLite::WriteTagToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:114,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:116,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:119,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - field_number
    - ' key'
    - ' value'
    - ptr
    - stream
    argTypes:
    - int
    - Key
    - Value
    - uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: google::protobuf::internal::InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::WireFormatLite::WriteTagToArray
    - google::protobuf::internal::GetCachedSize
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - io::EpsCopyOutputStream*::EnsureSpace
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: uint8
    signature: "uint8 * InternalSerialize(int field_number, const Key& key,\n                                  const
      Value& value, uint8* ptr,\n                                  io::EpsCopyOutputStream*
      stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:126,1
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:127,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: google::protobuf::internal::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    - google::protobuf::internal::ExtensionSet::ByteSize
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:133,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key'
    - ' value'
    argTypes:
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 47
    functionsReached:
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: int
    signature: int GetCachedSize(const Key& key, const Value& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:186,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:192,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::Constinit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::protobuf::internal::MapEntryImpl::MapEntryImpl
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
    linkageType: ''
    returnType: void
    signature: void MapEntryImpl(Arena* arena)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:197,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:198,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::DeleteNoArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: ~MapEntryImpl()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
    linkageType: ''
    returnType: void
    signature: void ~MapEntryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KeyTypeHandler::GetExternalReference
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - KeyTypeHandler::GetExternalReference
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ValueTypeHandler::DefaultIfNotInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - ValueTypeHandler::DefaultIfNotInitialized
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:211,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: google::protobuf::internal::MapEntryImpl::mutable_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    linkageType: ''
    returnType: KeyMapEntryAccessorType
    signature: KeyMapEntryAccessorType * mutable_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:215,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::MapEntryImpl::mutable_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_value
    linkageType: ''
    returnType: ValueMapEntryAccessorType
    signature: ValueMapEntryAccessorType * mutable_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: google::protobuf::internal::MapEntryImpl::GetTypeName
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeName() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    - Dst: ::google::protobuf::internal::DownCast<const Derived*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MessageLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::MergeFromInternal
    - ::google::protobuf::internal::DownCast<const Derived*>
    linkageType: ''
    returnType: void
    signature: void CheckTypeAndMergeFrom(const MessageLite& other) override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:230,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:232,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:233,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:235,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:236,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:237,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:238,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:240,1
    - Dst: google::protobuf::internal::MapEntryImpl::mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:241,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:242,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:243,1
    - Dst: google::protobuf::internal::WireFormatLite::GetTagWireType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:245,1
    - Dst: ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:247,1
    - Dst: UnknownFieldParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: static_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:250,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 256
    functionName: google::protobuf::internal::MapEntryImpl::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::mutable_value
    - google::protobuf::internal::MapEntryImpl::mutable_key
    - google::protobuf::internal::WireFormatLite::GetTagWireType
    - ParseContext*::Done
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - static_cast<std::string*>
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - UnknownFieldParse
    - ParseContext*::SetLastTag
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - Derived::ValidateValue
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx) final
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:260,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: google::protobuf::internal::ExtensionSet::ByteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: google::protobuf::internal::MapEntryImpl::ByteSizeLong
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ByteSize
    - static_cast<size_t>
    - key
    - value
    linkageType: ''
    returnType: size_t
    signature: size_t ByteSizeLong() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:267,1
    - Dst: sentencepiece::filesystem::PosixWritableFile::Write
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - stream
    argTypes:
    - ::google::protobuf::uint8*
    - io::EpsCopyOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: google::protobuf::internal::MapEntryImpl::_InternalSerialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    - key
    - sentencepiece::filesystem::PosixWritableFile::Write
    linkageType: ''
    returnType: ::google::protobuf::uint8
    signature: "::google::protobuf::uint8 * _InternalSerialize(::google::protobuf::uint8*
      ptr,\n                              io::EpsCopyOutputStream* stream) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:275,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:276,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:278,1
    - Dst: google::protobuf::internal::MapEntryImpl::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: google::protobuf::internal::MapEntryImpl::GetCachedSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - static_cast<int>
    - value
    - google::protobuf::internal::MapEntryImpl::GetCachedSize
    - key
    linkageType: ''
    returnType: int
    signature: int GetCachedSize() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::SentencePieceText_SentencePiece::IsInitialized
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::MapEntryImpl::IsInitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::IsInitialized
    linkageType: ''
    returnType: bool
    signature: bool IsInitialized() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Derived::Derived
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Derived::Derived
    linkageType: ''
    returnType: Base
    signature: Base * New() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Arena::CreateMessage<Derived>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: google::protobuf::internal::MapEntryImpl::New
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Arena::CreateMessage<Derived>
    linkageType: ''
    returnType: Base
    signature: Base * New(Arena* arena) const override
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:303,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:304,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:305,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:306,1
    - Dst: google::protobuf::internal::MapEntryImpl::has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:308,1
    - Dst: google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,
        Type>::EnsureMutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:309,1
    - Dst: google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:310,1
    - Dst: google::protobuf::internal::MapEntryImpl::set_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - MapEntryImpl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: google::protobuf::internal::MapEntryImpl::MergeFromInternal
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::GetArena
    - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
    - google::protobuf::internal::MapEntryImpl::has_value
    - google::protobuf::internal::MapEntryImpl::has_key
    - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
    - google::protobuf::internal::MapEntryImpl::set_has_key
    - google::protobuf::internal::MapEntryImpl::set_has_value
    - value
    - key
    linkageType: ''
    returnType: void
    signature: void MergeFromInternal(const MapEntryImpl& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:318,1
    - Dst: sentencepiece::unigram::Lattice::Clear
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:319,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:320,1
    - Dst: google::protobuf::internal::MapEntryImpl::clear_has_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: google::protobuf::internal::MapEntryImpl::Clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::Lattice::Clear
    - google::protobuf::GetArena
    - google::protobuf::internal::MapEntryImpl::clear_has_key
    - google::protobuf::internal::MapEntryImpl::clear_has_value
    linkageType: ''
    returnType: void
    signature: void Clear() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MapField*::MutableMap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mf
    argTypes:
    - MapField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: google::protobuf::internal::MapEntryImpl::Parser::Parser
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MapField*::MutableMap
    linkageType: ''
    returnType: void
    signature: void Parser(MapField* mf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: ~Parser()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - GetArena
    linkageType: ''
    returnType: void
    signature: void ~Parser()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedInputStream*::ExpectTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:341,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:342,1
    - Dst: io::CodedInputStream*::GetDirectBufferPointerInline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:348,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:351,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:352,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:354,1
    - Dst: io::CodedInputStream*::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:358,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:359,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:360,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:361,1
    - Dst: io::CodedInputStream*::ExpectAtEnd
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:364,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:365,1
    - Dst: Key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:369,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:372,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:373,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:374,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:375,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 377
    functionName: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 15
    functionsReached:
    - io::CodedInputStream*::Skip
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - io::CodedInputStream*::ExpectTag
    - reinterpret_cast<T>
    - io::CodedInputStream*::ExpectAtEnd
    - Key
    - reinterpret_cast<const char*>
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - io::CodedInputStream*::GetDirectBufferPointerInline
    - size
    linkageType: ''
    returnType: bool
    signature: bool MergePartialFromCodedStream(io::CodedInputStream* input)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:380,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:381,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: Derived::ValidateKey
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:382,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:385,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:386,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:388,1
    - Dst: sentencepiece::MultiFileSentenceIterator::TryRead
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:391,1
    - Dst: reinterpret_cast<T>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:392,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:393,1
    - Dst: Derived::ValidateValue
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:394,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:395,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:398,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:400,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:401,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:402,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:408,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:410,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:413,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:415,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 418
    functionName: google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - ParseContext*::Done
    - erase
    - sentencepiece::MultiFileSentenceIterator::TryRead
    - Derived::ValidateKey
    - reinterpret_cast<T>
    - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
    - PROTOBUF_PREDICT_FALSE
    - mutable_key
    - PROTOBUF_PREDICT_TRUE
    - Derived::ValidateValue
    - mutable_value
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - size
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:424,1
    - Dst: auto::_InternalParse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:425,1
    - Dst: is_valid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: auto::value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:427,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:428,1
    - Dst: WriteLengthDelimited
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: auto::SerializeAsString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:430,1
    - Dst: InternalMetadata*::mutable_unknown_fields
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ptr
    - ctx
    - field_num
    - metadata
    argTypes:
    - char*
    - ParseContext*
    - uint32
    - InternalMetadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - InternalMetadata*::mutable_unknown_fields
    - auto::value
    - auto::_InternalParse
    - WriteLengthDelimited
    - auto::SerializeAsString
    - is_valid
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: char
    signature: "char * ParseWithEnumValidation(const char* ptr, ParseContext* ctx,\n
      \                                       bool (*is_valid)(int), uint32 field_num,\n
      \                                       InternalMetadata* metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 436
    functionName: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 39
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    linkageType: ''
    returnType: MapEntryImpl
    signature: MapEntryImpl * NewEntry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 438
    functionName: '& key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key
    signature: Key & key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: '& value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Value
    signature: Value & value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 441
    functionName: '& entry_key() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - key
    linkageType: ''
    returnType: Key
    signature: Key & entry_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: '& entry_value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - value
    linkageType: ''
    returnType: Value
    signature: Value & entry_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:450,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 453
    functionName: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 31
    functionsReached:
    - google::protobuf::internal::Move
    - key
    - mutable_value
    linkageType: ''
    returnType: void
    signature: void UseKeyAndValueFromEntry()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::NewEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:459,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: mutable_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:460,1
    - Dst: erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:461,1
    - Dst: google::protobuf::internal::Move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: mutable_key
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:462,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:463,1
    - Dst: google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - io::CodedInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
    - google::protobuf::internal::Move
    - erase
    - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
    - mutable_key
    - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
    - mutable_value
    linkageType: ''
    returnType: bool
    signature: bool ReadBeyondKeyValuePair(io::CodedInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: google::protobuf::internal::MapEntryImpl::set_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: google::protobuf::internal::MapEntryImpl::has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 489
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_key
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_key()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 490
    functionName: google::protobuf::internal::MapEntryImpl::set_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 491
    functionName: google::protobuf::internal::MapEntryImpl::has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: google::protobuf::internal::MapEntryImpl::clear_has_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_has_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetArena
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 495
    functionName: google::protobuf::internal::MapEntryImpl::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetArena
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - arena
    argTypes:
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 526
    functionName: google::protobuf::internal::MapEntryLite::MapEntryLite
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MapEntryLite(Arena* arena)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 527
    functionName: ~MapEntryLite()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - Delete
    linkageType: ''
    returnType: void
    signature: void ~MapEntryLite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MergeFromInternal
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MapEntryLite
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 528
    functionName: google::protobuf::internal::MapEntryLite::MergeFrom
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - MergeFromInternal
    linkageType: ''
    returnType: void
    signature: void MergeFrom(const MapEntryLite& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 556
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - PtrToKeyValuePair
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 557
    functionName: google::protobuf::internal::SortItem
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SortItem(PtrToKeyValuePair p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - T
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: operator()(const T& a, const T& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const T& a, const T& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:588,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 591
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:598,1
    - Dst: ArenaStringPtr::UnsafeSetTaggedPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 601
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - TaggedPtr::Set
    - ArenaStringPtr::UnsafeSetTaggedPointer
    - const_cast<std::string*>
    linkageType: ''
    returnType: ArenaStringPtr
    signature: ArenaStringPtr From(const std::string& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: google::protobuf::internal::From
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - const_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * From(const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:631,1
    - Dst: google::protobuf::internal::GetCachedSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:632,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:633,1
    - Dst: sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' map_pair'
    argTypes:
    - MapPair<Key, Value>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 629
    functionDepth: 2
    functionLinenumber: 629
    functionLinenumberEnd: 634
    functionName: google::protobuf::internal::MapEntryHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    functionUses: 0
    functionsReached:
    - sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
    - google::protobuf::internal::GetCachedSize
    linkageType: ''
    returnType: void
    signature: void MapEntryHelper(const MapPair<Key, Value>& map_pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: google::protobuf::internal::HasBits::HasBits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HasBits()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: operator!=(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::HasBits::Or
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Or(const HasBits<doublewords>& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::HasBits<1>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<1>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::HasBits<2>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<2>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::HasBits<3>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<3>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::HasBits<4>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<4>::empty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::HasBits<doublewords>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<doublewords>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: google::protobuf::internal::HasBits::HasBits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HasBits()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: operator!=(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::HasBits::Or
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Or(const HasBits<doublewords>& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::HasBits<1>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<1>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::HasBits<2>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<2>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::HasBits<3>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<3>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::HasBits<4>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<4>::empty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::HasBits<doublewords>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<doublewords>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: google::protobuf::internal::HasBits::HasBits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HasBits()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: operator!=(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::HasBits::Or
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Or(const HasBits<doublewords>& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::HasBits<1>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<1>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::HasBits<2>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<2>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::HasBits<3>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<3>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::HasBits<4>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<4>::empty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::HasBits<doublewords>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<doublewords>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: google::protobuf::internal::HasBits::HasBits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HasBits()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: operator!=(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::HasBits::Or
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Or(const HasBits<doublewords>& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::HasBits<1>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<1>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::HasBits<2>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<2>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::HasBits<3>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<3>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::HasBits<4>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<4>::empty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::HasBits<doublewords>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<doublewords>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: google::protobuf::internal::HasBits::HasBits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HasBits()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: operator!=(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::HasBits::Or
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Or(const HasBits<doublewords>& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::HasBits<1>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<1>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::HasBits<2>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<2>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::HasBits<3>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<3>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::HasBits<4>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<4>::empty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::HasBits<doublewords>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<doublewords>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: google::protobuf::internal::HasBits::HasBits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HasBits()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: operator!=(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::HasBits::Or
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Or(const HasBits<doublewords>& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::HasBits<1>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<1>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::HasBits<2>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<2>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::HasBits<3>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<3>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::HasBits<4>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<4>::empty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::HasBits<doublewords>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<doublewords>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: google::protobuf::internal::HasBits::HasBits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HasBits()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: operator!=(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::HasBits::Or
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Or(const HasBits<doublewords>& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::HasBits<1>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<1>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::HasBits<2>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<2>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::HasBits<3>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<3>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::HasBits<4>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<4>::empty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::HasBits<doublewords>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<doublewords>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: google::protobuf::internal::HasBits::HasBits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HasBits()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: '& operator[](int index) const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 & operator[](int index) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: operator==(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool operator==(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: operator!=(const HasBits<doublewords>& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const HasBits<doublewords>& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' rhs'
    argTypes:
    - HasBits<doublewords>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: google::protobuf::internal::HasBits::Or
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Or(const HasBits<doublewords>& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::HasBits<1>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<1>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::HasBits<2>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<2>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::internal::HasBits<3>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<3>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::HasBits<4>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<4>::empty() const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: google::protobuf::internal::HasBits<doublewords>::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasBits<doublewords>::empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type_param
    - isrepeated
    - ispacked
    argTypes:
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo(FieldType type_param, bool isrepeated, bool ispacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::ExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GeneratedExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::GeneratedExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::GeneratedExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT GeneratedExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~GeneratedExtensionFinder() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GeneratedExtensionFinder() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: google::protobuf::internal::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: LazyMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:516,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:531,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - ParseMessageSetItem
    - Cur
    - Done
    - google::protobuf::internal::SetLastTag
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - InternalSerializeMessageSetWithCachedSizesToArray
    - EpsCopy
    - ParseGroup
    - google::protobuf::internal::_InternalSerialize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - PROTOBUF_DEPRECATED_MSG
    - LazyMessageExtension
    - google::protobuf::internal::ParseField
    - google::protobuf::internal::ByteSizeLong
    - SetCur
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionSet
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    - internal::ParseContext*::ParseGroup
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - internal::ParseContext*::Done
    - google::protobuf::internal::ParseField
    - internal::ParseContext*::SetLastTag
    linkageType: ''
    returnType: char
    signature: "char * ParseMessageSet(const char* ptr, const Msg* containing_type,\n
      \                             InternalMetadata* metadata,\n                              internal::ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start_field_number
    - end_field_number
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: google::protobuf::internal::SerializeWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - google::protobuf::internal::_InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void SerializeWithCachedSizes(int start_field_number, int end_field_number,\n
      \                               io::CodedOutputStream* output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: google::protobuf::internal::SerializeMessageSetWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - InternalSerializeMessageSetWithCachedSizesToArray
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeMessageSetWithCachedSizes(io::CodedOutputStream* output)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: ~LazyMessageExtension()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LazyMessageExtension()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 532
    functionName: google::protobuf::internal::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - google::protobuf::internal::ByteSizeLong
    linkageType: ''
    returnType: int
    signature: int ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - KeyValue
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(const KeyValue& lhs, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - key
    argTypes:
    - KeyValue
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: operator()(const KeyValue& lhs, int key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, int key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ' rhs'
    argTypes:
    - int
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 642
    functionName: operator()(int key, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(int key, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 667
    functionName: google::protobuf::internal::is_large
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_large() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: large::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: google::protobuf::internal::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - large::size
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:682,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - begin
    - end
    - func
    argTypes:
    - Iterator
    - Iterator
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - func
    - std::move
    linkageType: ''
    returnType: KeyValueFunctor
    signature: "KeyValueFunctor ForEach(Iterator begin, Iterator end,\n                                 KeyValueFunctor
      func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 702
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wire_type
    - field
    - containing_type
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - uint32
    - MessageLite*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: google::protobuf::internal::FindExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool FindExtension(int wire_type, uint32 field,\n                     const
      MessageLite* containing_type,\n                     const internal::ParseContext*
      /*ctx*/,\n                     ExtensionInfo* extension, bool* was_packed_on_wire)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: google::protobuf::internal::ParseFieldMaybeLazily
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: char
    signature: "char * ParseFieldMaybeLazily(uint64 tag, const char* ptr,\n                                    const
      MessageLite* containing_type,\n                                    internal::InternalMetadata*
      metadata,\n                                    internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 820
        line_start: 820
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 827
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 828
        line_start: 828
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type_param
    - isrepeated
    - ispacked
    argTypes:
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo(FieldType type_param, bool isrepeated, bool ispacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::ExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GeneratedExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::GeneratedExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::GeneratedExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT GeneratedExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~GeneratedExtensionFinder() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GeneratedExtensionFinder() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: google::protobuf::internal::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: LazyMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:516,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:531,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - ParseMessageSetItem
    - Cur
    - Done
    - google::protobuf::internal::SetLastTag
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - InternalSerializeMessageSetWithCachedSizesToArray
    - EpsCopy
    - ParseGroup
    - google::protobuf::internal::_InternalSerialize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - PROTOBUF_DEPRECATED_MSG
    - LazyMessageExtension
    - google::protobuf::internal::ParseField
    - google::protobuf::internal::ByteSizeLong
    - SetCur
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionSet
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    - internal::ParseContext*::ParseGroup
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - internal::ParseContext*::Done
    - google::protobuf::internal::ParseField
    - internal::ParseContext*::SetLastTag
    linkageType: ''
    returnType: char
    signature: "char * ParseMessageSet(const char* ptr, const Msg* containing_type,\n
      \                             InternalMetadata* metadata,\n                              internal::ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start_field_number
    - end_field_number
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: google::protobuf::internal::SerializeWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - google::protobuf::internal::_InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void SerializeWithCachedSizes(int start_field_number, int end_field_number,\n
      \                               io::CodedOutputStream* output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: google::protobuf::internal::SerializeMessageSetWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - InternalSerializeMessageSetWithCachedSizesToArray
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeMessageSetWithCachedSizes(io::CodedOutputStream* output)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: ~LazyMessageExtension()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LazyMessageExtension()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 532
    functionName: google::protobuf::internal::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - google::protobuf::internal::ByteSizeLong
    linkageType: ''
    returnType: int
    signature: int ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - KeyValue
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(const KeyValue& lhs, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - key
    argTypes:
    - KeyValue
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: operator()(const KeyValue& lhs, int key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, int key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ' rhs'
    argTypes:
    - int
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 642
    functionName: operator()(int key, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(int key, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 667
    functionName: google::protobuf::internal::is_large
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_large() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: large::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: google::protobuf::internal::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - large::size
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:682,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - begin
    - end
    - func
    argTypes:
    - Iterator
    - Iterator
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - func
    - std::move
    linkageType: ''
    returnType: KeyValueFunctor
    signature: "KeyValueFunctor ForEach(Iterator begin, Iterator end,\n                                 KeyValueFunctor
      func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 702
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wire_type
    - field
    - containing_type
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - uint32
    - MessageLite*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: google::protobuf::internal::FindExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool FindExtension(int wire_type, uint32 field,\n                     const
      MessageLite* containing_type,\n                     const internal::ParseContext*
      /*ctx*/,\n                     ExtensionInfo* extension, bool* was_packed_on_wire)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: google::protobuf::internal::ParseFieldMaybeLazily
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: char
    signature: "char * ParseFieldMaybeLazily(uint64 tag, const char* ptr,\n                                    const
      MessageLite* containing_type,\n                                    internal::InternalMetadata*
      metadata,\n                                    internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 820
        line_start: 820
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 827
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 828
        line_start: 828
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 854
    functionName: google::protobuf::ExtensionSet::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ExtensionSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:860,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - std::string
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 861
    functionName: google::protobuf::ExtensionSet::SetString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableString
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetString(int number, FieldType type,\n                                    std::string
      value,\n                                    const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MutableRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:864,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - index
    - value
    argTypes:
    - int
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 865
    functionName: google::protobuf::ExtensionSet::SetRepeatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableRepeatedString
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetRepeatedString(int number, int index,\n                                            std::string
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:869,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - std::string
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 870
    functionName: google::protobuf::ExtensionSet::AddString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached:
    - google::protobuf::ExtensionSet::AddString
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::AddString(int number, FieldType type,\n                                    std::string
      value,\n                                    const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:947,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: google::protobuf::PrimitiveTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:976,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 978
    functionName: google::protobuf::RepeatedPrimitiveTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 993
    functionName: google::protobuf::RepeatedPrimitiveDefaults
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedPrimitiveDefaults
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - METHOD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1043
    functionName: PROTOBUF_DEFINE_PRIMITIVE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_DEFINE_PRIMITIVE_TYPE(TYPE, METHOD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1066,1
    - Dst: SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1070,1
    - Dst: MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1074,1
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1081
    functionName: google::protobuf::StringTypeTraits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableString
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    - internal_default_instance
    - SetString
    - GetString
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringTypeTraits
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - default_value
    argTypes:
    - int
    - ExtensionSet
    - ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1067
    functionName: google::protobuf::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - GetString
    linkageType: ''
    returnType: std::string
    signature: "std::string & Get(int number, const ExtensionSet& set,\n                                       ConstType
      default_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - ' value'
    - set
    argTypes:
    - int
    - FieldType
    - std::string
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1071
    functionName: google::protobuf::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::SetString
    linkageType: ''
    returnType: void
    signature: "void Set(int number, FieldType field_type,\n                         const
      std::string& value, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1075
    functionName: google::protobuf::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - ExtensionSet*::MutableString
    linkageType: ''
    returnType: std::string
    signature: "std::string * Mutable(int number, FieldType field_type,\n                                     ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 2
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: google::protobuf::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1093,1
    - Dst: SetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1097,1
    - Dst: MutableRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1100,1
    - Dst: AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1104,1
    - Dst: AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1108,1
    - Dst: reinterpret_cast<const RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1112,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    - Dst: reinterpret_cast<RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1118,1
    - Dst: MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1119,1
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1133
    functionName: google::protobuf::RepeatedStringTypeTraits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableRepeatedString
    - reinterpret_cast<const RepeatedPtrField<std::string>*>
    - GetRawRepeatedField
    - reinterpret_cast<RepeatedPtrField<std::string>*>
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    - AddString
    - internal_default_instance
    - GetDefaultRepeatedField
    - SetRepeatedString
    - GetRepeatedString
    - MutableRawRepeatedField
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedStringTypeTraits
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - index
    argTypes:
    - int
    - ExtensionSet
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1094
    functionName: google::protobuf::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - GetRepeatedString
    linkageType: ''
    returnType: std::string
    signature: "std::string & Get(int number, const ExtensionSet& set,\n                                       int
      index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::SetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - index
    - ' value'
    - set
    argTypes:
    - int
    - int
    - std::string
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1098
    functionName: google::protobuf::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::SetRepeatedString
    linkageType: ''
    returnType: void
    signature: "void Set(int number, int index, const std::string& value,\n                         ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::MutableRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - index
    - set
    argTypes:
    - int
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1101
    functionName: google::protobuf::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - ExtensionSet*::MutableRepeatedString
    linkageType: ''
    returnType: std::string
    signature: std::string * Mutable(int number, int index, ExtensionSet* set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - ' value'
    - set
    argTypes:
    - int
    - FieldType
    - std::string
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: google::protobuf::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - ExtensionSet*::AddString
    linkageType: ''
    returnType: void
    signature: "void Add(int number, FieldType field_type, bool /*is_packed*/,\n                         const
      std::string& value, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: google::protobuf::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - ExtensionSet*::AddString
    linkageType: ''
    returnType: std::string
    signature: "std::string * Add(int number, FieldType field_type,\n                                 ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1112,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' set'
    argTypes:
    - int
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1114
    functionName: google::protobuf::GetRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const RepeatedPtrField<std::string>*>
    - GetRawRepeatedField
    - GetDefaultRepeatedField
    linkageType: ''
    returnType: RepeatedPtrField<std::string>
    signature: "RepeatedPtrField<std::string> & GetRepeated(\n      int number, const
      ExtensionSet& set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1118,1
    - Dst: ExtensionSet*::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - is_packed
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1120
    functionName: google::protobuf::MutableRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<RepeatedPtrField<std::string>*>
    - ExtensionSet*::MutableRawRepeatedField
    linkageType: ''
    returnType: RepeatedPtrField<std::string>
    signature: "RepeatedPtrField<std::string> * MutableRepeated(\n      int number,
      FieldType field_type, bool is_packed, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1125
    functionDepth: 2
    functionLinenumber: 1125
    functionLinenumberEnd: 1128
    functionName: google::protobuf::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1149,1
    - Dst: GetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - default_value
    argTypes:
    - int
    - ExtensionSet
    - ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1150
    functionName: google::protobuf::EnumTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<Type>
    - GetEnum
    linkageType: ''
    returnType: ConstType
    signature: "ConstType Get(int number, const ExtensionSet& set,\n                              ConstType
      default_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1153,1
    - Dst: IsValid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1153,1
    - Dst: ExtensionSet*::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - number
    - field_type
    - value
    - set
    argTypes:
    - int
    - FieldType
    - ConstType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1155
    functionName: google::protobuf::EnumTypeTraits::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - IsValid
    - GOOGLE_DCHECK
    - ExtensionSet*::SetEnum
    linkageType: ''
    returnType: void
    signature: "void Set(int number, FieldType field_type, ConstType value,\n                         ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1158,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1157
    functionDepth: 2
    functionLinenumber: 1157
    functionLinenumberEnd: 1160
    functionName: google::protobuf::EnumTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    - internal_default_instance
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1173,1
    - Dst: GetRepeatedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - index
    argTypes:
    - int
    - ExtensionSet
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1174
    functionName: google::protobuf::RepeatedEnumTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<Type>
    - GetRepeatedEnum
    linkageType: ''
    returnType: ConstType
    signature: ConstType Get(int number, const ExtensionSet& set, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1177,1
    - Dst: IsValid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1177,1
    - Dst: ExtensionSet*::SetRepeatedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - number
    - index
    - value
    - set
    argTypes:
    - int
    - int
    - ConstType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1179
    functionName: google::protobuf::RepeatedEnumTypeTraits::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - IsValid
    - ExtensionSet*::SetRepeatedEnum
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: "void Set(int number, int index, ConstType value,\n                         ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1182,1
    - Dst: IsValid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1182,1
    - Dst: ExtensionSet*::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - number
    - field_type
    - is_packed
    - value
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ConstType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1184
    functionName: google::protobuf::RepeatedEnumTypeTraits::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - IsValid
    - ExtensionSet*::AddEnum
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: "void Add(int number, FieldType field_type, bool is_packed,\n                         ConstType
      value, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1191,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1192,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' set'
    argTypes:
    - int
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1193
    functionName: "& GetRepeated(\n      int number, const ExtensionSet& set)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - GetRawRepeatedField
    - reinterpret_cast<const RepeatedField<Type>*>
    - GetDefaultRepeatedField
    linkageType: ''
    returnType: RepeatedField<Type>
    signature: "RepeatedField<Type> & GetRepeated(\n      int number, const ExtensionSet&
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RepeatedField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1199,1
    - Dst: ExtensionSet*::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - is_packed
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1201
    functionName: google::protobuf::RepeatedEnumTypeTraits::MutableRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<RepeatedField<Type>*>
    - ExtensionSet*::MutableRawRepeatedField
    linkageType: ''
    returnType: RepeatedField<Type>
    signature: "RepeatedField<Type> * MutableRepeated(int number,\n                                                     FieldType
      field_type,\n                                                     bool is_packed,\n
      \                                                    ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1210,1
    - Dst: google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1212
    functionName: google::protobuf::RepeatedEnumTypeTraits::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
    - reinterpret_cast<const RepeatedField<Type>*>
    linkageType: ''
    returnType: RepeatedFieldType
    signature: RepeatedFieldType * GetDefaultRepeatedField()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1215,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1217
    functionName: google::protobuf::RepeatedEnumTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    - internal_default_instance
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1235,1
    - Dst: GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - default_value
    argTypes:
    - int
    - ExtensionSet
    - ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1236
    functionName: google::protobuf::MessageTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<const Type&>
    - GetMessage
    linkageType: ''
    returnType: ConstType
    signature: "ConstType Get(int number, const ExtensionSet& set,\n                              ConstType
      default_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1239,1
    - Dst: ExtensionSet*::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1239,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1241
    functionName: google::protobuf::MessageTypeTraits::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::MutableMessage
    - static_cast<Type*>
    - internal_default_instance
    linkageType: ''
    returnType: MutableType
    signature: "MutableType Mutable(int number, FieldType field_type,\n                                    ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::SetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - message
    - set
    argTypes:
    - int
    - FieldType
    - MutableType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1245
    functionName: google::protobuf::MessageTypeTraits::SetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::SetAllocatedMessage
    linkageType: ''
    returnType: void
    signature: "void SetAllocated(int number, FieldType field_type,\n                                  MutableType
      message, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::UnsafeArenaSetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - message
    - set
    argTypes:
    - int
    - FieldType
    - MutableType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1250
    functionName: google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::UnsafeArenaSetAllocatedMessage
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaSetAllocated(int number, FieldType field_type,\n                                             MutableType
      message,\n                                             ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1253,1
    - Dst: ExtensionSet*::ReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1254,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - set
    argTypes:
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1255
    functionName: google::protobuf::MessageTypeTraits::Release
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ReleaseMessage
    - static_cast<Type*>
    - internal_default_instance
    linkageType: ''
    returnType: MutableType
    signature: "MutableType Release(int number, FieldType /* field_type */,\n                                    ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1259,1
    - Dst: ExtensionSet*::UnsafeArenaReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1260,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - set
    argTypes:
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1261
    functionName: google::protobuf::MessageTypeTraits::UnsafeArenaRelease
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<Type*>
    - internal_default_instance
    - ExtensionSet*::UnsafeArenaReleaseMessage
    linkageType: ''
    returnType: MutableType
    signature: "MutableType UnsafeArenaRelease(int number,\n                                               FieldType
      /* field_type */,\n                                               ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1264,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1264,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1263
    functionDepth: 2
    functionLinenumber: 1263
    functionLinenumberEnd: 1267
    functionName: google::protobuf::MessageTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1283,1
    - Dst: GetRepeatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - index
    argTypes:
    - int
    - ExtensionSet
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1284
    functionName: google::protobuf::RepeatedMessageTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<const Type&>
    - GetRepeatedMessage
    linkageType: ''
    returnType: ConstType
    signature: ConstType Get(int number, const ExtensionSet& set, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1286,1
    - Dst: ExtensionSet*::MutableRepeatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - index
    - set
    argTypes:
    - int
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1287
    functionName: google::protobuf::RepeatedMessageTypeTraits::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::MutableRepeatedMessage
    - static_cast<Type*>
    linkageType: ''
    returnType: MutableType
    signature: MutableType Mutable(int number, int index, ExtensionSet* set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1290,1
    - Dst: ExtensionSet*::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1291,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1292
    functionName: google::protobuf::RepeatedMessageTypeTraits::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<Type*>
    - internal_default_instance
    - ExtensionSet*::AddMessage
    linkageType: ''
    returnType: MutableType
    signature: "MutableType Add(int number, FieldType field_type,\n                                ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedPtrField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1300,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1301,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' set'
    argTypes:
    - int
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1302
    functionName: "& GetRepeated(\n      int number, const ExtensionSet& set)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const RepeatedPtrField<Type>*>
    - GetRawRepeatedField
    - GetDefaultRepeatedField
    linkageType: ''
    returnType: RepeatedPtrField<Type>
    signature: "RepeatedPtrField<Type> & GetRepeated(\n      int number, const ExtensionSet&
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RepeatedPtrField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1307,1
    - Dst: ExtensionSet*::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - is_packed
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1309
    functionName: google::protobuf::RepeatedMessageTypeTraits::MutableRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::MutableRawRepeatedField
    - reinterpret_cast<RepeatedPtrField<Type>*>
    linkageType: ''
    returnType: RepeatedPtrField<Type>
    signature: "RepeatedPtrField<Type> * MutableRepeated(int number,\n                                                        FieldType
      field_type,\n                                                        bool is_packed,\n
      \                                                       ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1314,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1314,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1313
    functionDepth: 2
    functionLinenumber: 1313
    functionLinenumberEnd: 1317
    functionName: google::protobuf::RepeatedMessageTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1323,1
    - Dst: RepeatedFieldType::RepeatedFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1325
    functionName: google::protobuf::RepeatedMessageTypeTraits<Type>::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - RepeatedFieldType::RepeatedFieldType
    - OnShutdownDelete
    linkageType: ''
    returnType: typename RepeatedMessageTypeTraits<Type>::RepeatedFieldType
    signature: 'typename RepeatedMessageTypeTraits<Type>::RepeatedFieldType *

      RepeatedMessageTypeTraits<Type>::GetDefaultRepeatedField()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ExtensionIdentifier::Register
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - typename TypeTraits::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1354
    functionName: google::protobuf::ExtensionIdentifier::ExtensionIdentifier
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::ExtensionIdentifier::Register
    linkageType: ''
    returnType: void
    signature: void ExtensionIdentifier(int number, typename TypeTraits::ConstType
      default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1355
    functionName: google::protobuf::ExtensionIdentifier::number
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1358
    functionName: google::protobuf::ExtensionIdentifier::default_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename TypeTraits::ConstType
    signature: typename TypeTraits::ConstType default_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeTraits::template Register<ExtendeeType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1362
    functionName: google::protobuf::ExtensionIdentifier::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached:
    - TypeTraits::template Register<ExtendeeType>
    linkageType: ''
    returnType: void
    signature: void Register(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CLASSNAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1411
    functionName: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(CLASSNAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1418,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1418,1
    - Dst: default_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1415
    functionDepth: 2
    functionLinenumber: 1415
    functionLinenumberEnd: 1420
    functionName: google::protobuf::GetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Get
    - default_value
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::ConstType
    signature: "typename _proto_TypeTraits::Singular::ConstType GetExtension(        \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1428,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1425
    functionDepth: 2
    functionLinenumber: 1425
    functionLinenumberEnd: 1430
    functionName: google::protobuf::MutableExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Mutable
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::MutableType
    signature: "typename _proto_TypeTraits::Singular::MutableType MutableExtension(
      \ \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1439,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Singular::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1440
    functionName: google::protobuf::SetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ExtensionSet
    - number
    linkageType: ''
    returnType: void
    signature: "void SetExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Singular::ConstType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1449,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Singular::MutableType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1445
    functionDepth: 3
    functionLinenumber: 1445
    functionLinenumberEnd: 1451
    functionName: google::protobuf::SetAllocatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::SetAllocated
    - number
    linkageType: ''
    returnType: void
    signature: "void SetAllocatedExtension(                                          \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Singular::MutableType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1459,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Singular::MutableType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1461
    functionName: google::protobuf::UnsafeArenaSetAllocatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - number
    - google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaSetAllocatedExtension(                               \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Singular::MutableType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Release
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1468,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1465
    functionDepth: 2
    functionLinenumber: 1465
    functionLinenumberEnd: 1470
    functionName: google::protobuf::ReleaseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - number
    - google::protobuf::internal::ArenaStringPtr::Release
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::MutableType
    signature: "typename _proto_TypeTraits::Singular::MutableType ReleaseExtension(
      \ \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageTypeTraits::UnsafeArenaRelease
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1478,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1480
    functionName: google::protobuf::UnsafeArenaReleaseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageTypeTraits::UnsafeArenaRelease
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::MutableType
    signature: "typename _proto_TypeTraits::Singular::MutableType UnsafeArenaReleaseExtension(
      \                                               \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<
      \          \\\n          CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>&
      id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1490,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - index
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1491
    functionName: google::protobuf::GetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Get
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::ConstType
    signature: "typename _proto_TypeTraits::Repeated::ConstType GetExtension(        \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     int index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1500,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - index
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1496
    functionDepth: 2
    functionLinenumber: 1496
    functionLinenumberEnd: 1501
    functionName: google::protobuf::MutableExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Mutable
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::MutableType
    signature: "typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
      \ \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     int index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1510,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' id'
    - index
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - int
    - typename _proto_TypeTraits::Repeated::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1511
    functionName: google::protobuf::SetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ExtensionSet
    - number
    linkageType: ''
    returnType: void
    signature: "void SetExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     int index, typename _proto_TypeTraits::Repeated::ConstType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::ReservoirSampler::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1519,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1520
    functionName: google::protobuf::AddExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::random::ReservoirSampler::Add
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::MutableType
    signature: "typename _proto_TypeTraits::Repeated::MutableType AddExtension(      \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::ReservoirSampler::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1529,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Repeated::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1525
    functionDepth: 1
    functionLinenumber: 1525
    functionLinenumberEnd: 1531
    functionName: google::protobuf::AddExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::random::ReservoirSampler::Add
    - number
    linkageType: ''
    returnType: void
    signature: "void AddExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Repeated::ConstType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetRepeated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1540,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1541
    functionName: google::protobuf::GetRepeatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetRepeated
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::RepeatedFieldType
    signature: "typename _proto_TypeTraits::Repeated::RepeatedFieldType &       \\\n
      \ GetRepeatedExtension(                                                       \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MutableRepeated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1550,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1552
    functionName: google::protobuf::MutableRepeatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - number
    - google::protobuf::MutableRepeated
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::RepeatedFieldType
    signature: "typename _proto_TypeTraits::Repeated::RepeatedFieldType *             \\\n
      \ MutableRepeatedExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type_param
    - isrepeated
    - ispacked
    argTypes:
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo(FieldType type_param, bool isrepeated, bool ispacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::ExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GeneratedExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::GeneratedExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::GeneratedExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT GeneratedExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~GeneratedExtensionFinder() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GeneratedExtensionFinder() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: google::protobuf::internal::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: LazyMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:516,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:531,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - ParseMessageSetItem
    - Cur
    - Done
    - google::protobuf::internal::SetLastTag
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - InternalSerializeMessageSetWithCachedSizesToArray
    - EpsCopy
    - ParseGroup
    - google::protobuf::internal::_InternalSerialize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - PROTOBUF_DEPRECATED_MSG
    - LazyMessageExtension
    - google::protobuf::internal::ParseField
    - google::protobuf::internal::ByteSizeLong
    - SetCur
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionSet
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    - internal::ParseContext*::ParseGroup
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - internal::ParseContext*::Done
    - google::protobuf::internal::ParseField
    - internal::ParseContext*::SetLastTag
    linkageType: ''
    returnType: char
    signature: "char * ParseMessageSet(const char* ptr, const Msg* containing_type,\n
      \                             InternalMetadata* metadata,\n                              internal::ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start_field_number
    - end_field_number
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: google::protobuf::internal::SerializeWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - google::protobuf::internal::_InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void SerializeWithCachedSizes(int start_field_number, int end_field_number,\n
      \                               io::CodedOutputStream* output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: google::protobuf::internal::SerializeMessageSetWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - InternalSerializeMessageSetWithCachedSizesToArray
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeMessageSetWithCachedSizes(io::CodedOutputStream* output)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: ~LazyMessageExtension()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LazyMessageExtension()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 532
    functionName: google::protobuf::internal::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - google::protobuf::internal::ByteSizeLong
    linkageType: ''
    returnType: int
    signature: int ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - KeyValue
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(const KeyValue& lhs, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - key
    argTypes:
    - KeyValue
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: operator()(const KeyValue& lhs, int key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, int key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ' rhs'
    argTypes:
    - int
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 642
    functionName: operator()(int key, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(int key, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 667
    functionName: google::protobuf::internal::is_large
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_large() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: large::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: google::protobuf::internal::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - large::size
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:682,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - begin
    - end
    - func
    argTypes:
    - Iterator
    - Iterator
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 4
    functionsReached:
    - func
    - std::move
    linkageType: ''
    returnType: KeyValueFunctor
    signature: "KeyValueFunctor ForEach(Iterator begin, Iterator end,\n                                 KeyValueFunctor
      func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 702
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wire_type
    - field
    - containing_type
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - uint32
    - MessageLite*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: google::protobuf::internal::FindExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool FindExtension(int wire_type, uint32 field,\n                     const
      MessageLite* containing_type,\n                     const internal::ParseContext*
      /*ctx*/,\n                     ExtensionInfo* extension, bool* was_packed_on_wire)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: google::protobuf::internal::ParseFieldMaybeLazily
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: char
    signature: "char * ParseFieldMaybeLazily(uint64 tag, const char* ptr,\n                                    const
      MessageLite* containing_type,\n                                    internal::InternalMetadata*
      metadata,\n                                    internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 820
        line_start: 820
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 827
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 828
        line_start: 828
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type_param
    - isrepeated
    - ispacked
    argTypes:
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo(FieldType type_param, bool isrepeated, bool ispacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::ExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GeneratedExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::GeneratedExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::GeneratedExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT GeneratedExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~GeneratedExtensionFinder() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GeneratedExtensionFinder() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: google::protobuf::internal::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: LazyMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:516,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:531,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - ParseMessageSetItem
    - Cur
    - Done
    - google::protobuf::internal::SetLastTag
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - InternalSerializeMessageSetWithCachedSizesToArray
    - EpsCopy
    - ParseGroup
    - google::protobuf::internal::_InternalSerialize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - PROTOBUF_DEPRECATED_MSG
    - LazyMessageExtension
    - google::protobuf::internal::ParseField
    - google::protobuf::internal::ByteSizeLong
    - SetCur
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionSet
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    - internal::ParseContext*::ParseGroup
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - internal::ParseContext*::Done
    - google::protobuf::internal::ParseField
    - internal::ParseContext*::SetLastTag
    linkageType: ''
    returnType: char
    signature: "char * ParseMessageSet(const char* ptr, const Msg* containing_type,\n
      \                             InternalMetadata* metadata,\n                              internal::ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start_field_number
    - end_field_number
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: google::protobuf::internal::SerializeWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - google::protobuf::internal::_InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void SerializeWithCachedSizes(int start_field_number, int end_field_number,\n
      \                               io::CodedOutputStream* output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: google::protobuf::internal::SerializeMessageSetWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - InternalSerializeMessageSetWithCachedSizesToArray
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeMessageSetWithCachedSizes(io::CodedOutputStream* output)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: ~LazyMessageExtension()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LazyMessageExtension()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 532
    functionName: google::protobuf::internal::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - google::protobuf::internal::ByteSizeLong
    linkageType: ''
    returnType: int
    signature: int ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - KeyValue
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(const KeyValue& lhs, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - key
    argTypes:
    - KeyValue
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: operator()(const KeyValue& lhs, int key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, int key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ' rhs'
    argTypes:
    - int
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 642
    functionName: operator()(int key, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(int key, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 667
    functionName: google::protobuf::internal::is_large
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_large() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: large::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: google::protobuf::internal::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - large::size
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:682,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - begin
    - end
    - func
    argTypes:
    - Iterator
    - Iterator
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 6
    functionsReached:
    - func
    - std::move
    linkageType: ''
    returnType: KeyValueFunctor
    signature: "KeyValueFunctor ForEach(Iterator begin, Iterator end,\n                                 KeyValueFunctor
      func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 702
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wire_type
    - field
    - containing_type
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - uint32
    - MessageLite*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: google::protobuf::internal::FindExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool FindExtension(int wire_type, uint32 field,\n                     const
      MessageLite* containing_type,\n                     const internal::ParseContext*
      /*ctx*/,\n                     ExtensionInfo* extension, bool* was_packed_on_wire)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: google::protobuf::internal::ParseFieldMaybeLazily
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: char
    signature: "char * ParseFieldMaybeLazily(uint64 tag, const char* ptr,\n                                    const
      MessageLite* containing_type,\n                                    internal::InternalMetadata*
      metadata,\n                                    internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 820
        line_start: 820
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 827
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 828
        line_start: 828
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 854
    functionName: google::protobuf::ExtensionSet::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ExtensionSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:860,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - std::string
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 861
    functionName: google::protobuf::ExtensionSet::SetString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableString
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetString(int number, FieldType type,\n                                    std::string
      value,\n                                    const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MutableRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:864,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - index
    - value
    argTypes:
    - int
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 865
    functionName: google::protobuf::ExtensionSet::SetRepeatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableRepeatedString
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetRepeatedString(int number, int index,\n                                            std::string
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:869,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - std::string
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 870
    functionName: google::protobuf::ExtensionSet::AddString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - google::protobuf::ExtensionSet::AddString
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::AddString(int number, FieldType type,\n                                    std::string
      value,\n                                    const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:947,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: google::protobuf::PrimitiveTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:976,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 978
    functionName: google::protobuf::RepeatedPrimitiveTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 993
    functionName: google::protobuf::RepeatedPrimitiveDefaults
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedPrimitiveDefaults
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - METHOD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1043
    functionName: PROTOBUF_DEFINE_PRIMITIVE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_DEFINE_PRIMITIVE_TYPE(TYPE, METHOD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1066,1
    - Dst: SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1070,1
    - Dst: MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1074,1
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1081
    functionName: google::protobuf::StringTypeTraits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableString
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    - internal_default_instance
    - SetString
    - GetString
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringTypeTraits
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - default_value
    argTypes:
    - int
    - ExtensionSet
    - ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1067
    functionName: google::protobuf::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - GetString
    linkageType: ''
    returnType: std::string
    signature: "std::string & Get(int number, const ExtensionSet& set,\n                                       ConstType
      default_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - ' value'
    - set
    argTypes:
    - int
    - FieldType
    - std::string
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1071
    functionName: google::protobuf::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::SetString
    linkageType: ''
    returnType: void
    signature: "void Set(int number, FieldType field_type,\n                         const
      std::string& value, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1075
    functionName: google::protobuf::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - ExtensionSet*::MutableString
    linkageType: ''
    returnType: std::string
    signature: "std::string * Mutable(int number, FieldType field_type,\n                                     ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 2
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: google::protobuf::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1093,1
    - Dst: SetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1097,1
    - Dst: MutableRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1100,1
    - Dst: AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1104,1
    - Dst: AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1108,1
    - Dst: reinterpret_cast<const RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1112,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    - Dst: reinterpret_cast<RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1118,1
    - Dst: MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1119,1
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1133
    functionName: google::protobuf::RepeatedStringTypeTraits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableRepeatedString
    - reinterpret_cast<const RepeatedPtrField<std::string>*>
    - GetRawRepeatedField
    - reinterpret_cast<RepeatedPtrField<std::string>*>
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    - AddString
    - internal_default_instance
    - GetDefaultRepeatedField
    - SetRepeatedString
    - GetRepeatedString
    - MutableRawRepeatedField
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedStringTypeTraits
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - index
    argTypes:
    - int
    - ExtensionSet
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1094
    functionName: google::protobuf::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - GetRepeatedString
    linkageType: ''
    returnType: std::string
    signature: "std::string & Get(int number, const ExtensionSet& set,\n                                       int
      index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::SetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - index
    - ' value'
    - set
    argTypes:
    - int
    - int
    - std::string
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1098
    functionName: google::protobuf::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::SetRepeatedString
    linkageType: ''
    returnType: void
    signature: "void Set(int number, int index, const std::string& value,\n                         ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::MutableRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - index
    - set
    argTypes:
    - int
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1101
    functionName: google::protobuf::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - ExtensionSet*::MutableRepeatedString
    linkageType: ''
    returnType: std::string
    signature: std::string * Mutable(int number, int index, ExtensionSet* set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - ' value'
    - set
    argTypes:
    - int
    - FieldType
    - std::string
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: google::protobuf::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - ExtensionSet*::AddString
    linkageType: ''
    returnType: void
    signature: "void Add(int number, FieldType field_type, bool /*is_packed*/,\n                         const
      std::string& value, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: google::protobuf::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - ExtensionSet*::AddString
    linkageType: ''
    returnType: std::string
    signature: "std::string * Add(int number, FieldType field_type,\n                                 ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1112,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' set'
    argTypes:
    - int
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1114
    functionName: google::protobuf::GetRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<const RepeatedPtrField<std::string>*>
    - GetRawRepeatedField
    - GetDefaultRepeatedField
    linkageType: ''
    returnType: RepeatedPtrField<std::string>
    signature: "RepeatedPtrField<std::string> & GetRepeated(\n      int number, const
      ExtensionSet& set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1118,1
    - Dst: ExtensionSet*::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - is_packed
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1120
    functionName: google::protobuf::MutableRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached:
    - reinterpret_cast<RepeatedPtrField<std::string>*>
    - ExtensionSet*::MutableRawRepeatedField
    linkageType: ''
    returnType: RepeatedPtrField<std::string>
    signature: "RepeatedPtrField<std::string> * MutableRepeated(\n      int number,
      FieldType field_type, bool is_packed, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1125
    functionDepth: 2
    functionLinenumber: 1125
    functionLinenumberEnd: 1128
    functionName: google::protobuf::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1149,1
    - Dst: GetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - default_value
    argTypes:
    - int
    - ExtensionSet
    - ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1150
    functionName: google::protobuf::EnumTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<Type>
    - GetEnum
    linkageType: ''
    returnType: ConstType
    signature: "ConstType Get(int number, const ExtensionSet& set,\n                              ConstType
      default_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1153,1
    - Dst: IsValid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1153,1
    - Dst: ExtensionSet*::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - number
    - field_type
    - value
    - set
    argTypes:
    - int
    - FieldType
    - ConstType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1155
    functionName: google::protobuf::EnumTypeTraits::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - IsValid
    - GOOGLE_DCHECK
    - ExtensionSet*::SetEnum
    linkageType: ''
    returnType: void
    signature: "void Set(int number, FieldType field_type, ConstType value,\n                         ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1158,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1157
    functionDepth: 2
    functionLinenumber: 1157
    functionLinenumberEnd: 1160
    functionName: google::protobuf::EnumTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    - internal_default_instance
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1173,1
    - Dst: GetRepeatedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - index
    argTypes:
    - int
    - ExtensionSet
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1174
    functionName: google::protobuf::RepeatedEnumTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<Type>
    - GetRepeatedEnum
    linkageType: ''
    returnType: ConstType
    signature: ConstType Get(int number, const ExtensionSet& set, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1177,1
    - Dst: IsValid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1177,1
    - Dst: ExtensionSet*::SetRepeatedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - number
    - index
    - value
    - set
    argTypes:
    - int
    - int
    - ConstType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1179
    functionName: google::protobuf::RepeatedEnumTypeTraits::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - IsValid
    - ExtensionSet*::SetRepeatedEnum
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: "void Set(int number, int index, ConstType value,\n                         ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1182,1
    - Dst: IsValid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1182,1
    - Dst: ExtensionSet*::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - number
    - field_type
    - is_packed
    - value
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ConstType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1184
    functionName: google::protobuf::RepeatedEnumTypeTraits::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - IsValid
    - ExtensionSet*::AddEnum
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: "void Add(int number, FieldType field_type, bool is_packed,\n                         ConstType
      value, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1191,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1192,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' set'
    argTypes:
    - int
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1193
    functionName: "& GetRepeated(\n      int number, const ExtensionSet& set)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - GetRawRepeatedField
    - reinterpret_cast<const RepeatedField<Type>*>
    - GetDefaultRepeatedField
    linkageType: ''
    returnType: RepeatedField<Type>
    signature: "RepeatedField<Type> & GetRepeated(\n      int number, const ExtensionSet&
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RepeatedField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1199,1
    - Dst: ExtensionSet*::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - is_packed
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1201
    functionName: google::protobuf::RepeatedEnumTypeTraits::MutableRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<RepeatedField<Type>*>
    - ExtensionSet*::MutableRawRepeatedField
    linkageType: ''
    returnType: RepeatedField<Type>
    signature: "RepeatedField<Type> * MutableRepeated(int number,\n                                                     FieldType
      field_type,\n                                                     bool is_packed,\n
      \                                                    ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1210,1
    - Dst: google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1212
    functionName: google::protobuf::RepeatedEnumTypeTraits::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
    - reinterpret_cast<const RepeatedField<Type>*>
    linkageType: ''
    returnType: RepeatedFieldType
    signature: RepeatedFieldType * GetDefaultRepeatedField()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1215,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1217
    functionName: google::protobuf::RepeatedEnumTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    - internal_default_instance
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1235,1
    - Dst: GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - default_value
    argTypes:
    - int
    - ExtensionSet
    - ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1236
    functionName: google::protobuf::MessageTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<const Type&>
    - GetMessage
    linkageType: ''
    returnType: ConstType
    signature: "ConstType Get(int number, const ExtensionSet& set,\n                              ConstType
      default_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1239,1
    - Dst: ExtensionSet*::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1239,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1241
    functionName: google::protobuf::MessageTypeTraits::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::MutableMessage
    - static_cast<Type*>
    - internal_default_instance
    linkageType: ''
    returnType: MutableType
    signature: "MutableType Mutable(int number, FieldType field_type,\n                                    ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::SetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - message
    - set
    argTypes:
    - int
    - FieldType
    - MutableType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1245
    functionName: google::protobuf::MessageTypeTraits::SetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::SetAllocatedMessage
    linkageType: ''
    returnType: void
    signature: "void SetAllocated(int number, FieldType field_type,\n                                  MutableType
      message, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::UnsafeArenaSetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - message
    - set
    argTypes:
    - int
    - FieldType
    - MutableType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1250
    functionName: google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached:
    - ExtensionSet*::UnsafeArenaSetAllocatedMessage
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaSetAllocated(int number, FieldType field_type,\n                                             MutableType
      message,\n                                             ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1253,1
    - Dst: ExtensionSet*::ReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1254,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - set
    argTypes:
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1255
    functionName: google::protobuf::MessageTypeTraits::Release
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ReleaseMessage
    - static_cast<Type*>
    - internal_default_instance
    linkageType: ''
    returnType: MutableType
    signature: "MutableType Release(int number, FieldType /* field_type */,\n                                    ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1259,1
    - Dst: ExtensionSet*::UnsafeArenaReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1260,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - set
    argTypes:
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1261
    functionName: google::protobuf::MessageTypeTraits::UnsafeArenaRelease
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached:
    - static_cast<Type*>
    - internal_default_instance
    - ExtensionSet*::UnsafeArenaReleaseMessage
    linkageType: ''
    returnType: MutableType
    signature: "MutableType UnsafeArenaRelease(int number,\n                                               FieldType
      /* field_type */,\n                                               ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1264,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1264,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1263
    functionDepth: 2
    functionLinenumber: 1263
    functionLinenumberEnd: 1267
    functionName: google::protobuf::MessageTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1283,1
    - Dst: GetRepeatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - index
    argTypes:
    - int
    - ExtensionSet
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1284
    functionName: google::protobuf::RepeatedMessageTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<const Type&>
    - GetRepeatedMessage
    linkageType: ''
    returnType: ConstType
    signature: ConstType Get(int number, const ExtensionSet& set, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1286,1
    - Dst: ExtensionSet*::MutableRepeatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - index
    - set
    argTypes:
    - int
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1287
    functionName: google::protobuf::RepeatedMessageTypeTraits::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::MutableRepeatedMessage
    - static_cast<Type*>
    linkageType: ''
    returnType: MutableType
    signature: MutableType Mutable(int number, int index, ExtensionSet* set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1290,1
    - Dst: ExtensionSet*::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1291,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1292
    functionName: google::protobuf::RepeatedMessageTypeTraits::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<Type*>
    - internal_default_instance
    - ExtensionSet*::AddMessage
    linkageType: ''
    returnType: MutableType
    signature: "MutableType Add(int number, FieldType field_type,\n                                ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedPtrField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1300,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1301,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' set'
    argTypes:
    - int
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1302
    functionName: "& GetRepeated(\n      int number, const ExtensionSet& set)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const RepeatedPtrField<Type>*>
    - GetRawRepeatedField
    - GetDefaultRepeatedField
    linkageType: ''
    returnType: RepeatedPtrField<Type>
    signature: "RepeatedPtrField<Type> & GetRepeated(\n      int number, const ExtensionSet&
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RepeatedPtrField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1307,1
    - Dst: ExtensionSet*::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - is_packed
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1309
    functionName: google::protobuf::RepeatedMessageTypeTraits::MutableRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::MutableRawRepeatedField
    - reinterpret_cast<RepeatedPtrField<Type>*>
    linkageType: ''
    returnType: RepeatedPtrField<Type>
    signature: "RepeatedPtrField<Type> * MutableRepeated(int number,\n                                                        FieldType
      field_type,\n                                                        bool is_packed,\n
      \                                                       ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1314,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1314,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1313
    functionDepth: 2
    functionLinenumber: 1313
    functionLinenumberEnd: 1317
    functionName: google::protobuf::RepeatedMessageTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1323,1
    - Dst: RepeatedFieldType::RepeatedFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1325
    functionName: google::protobuf::RepeatedMessageTypeTraits<Type>::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - RepeatedFieldType::RepeatedFieldType
    - OnShutdownDelete
    linkageType: ''
    returnType: typename RepeatedMessageTypeTraits<Type>::RepeatedFieldType
    signature: 'typename RepeatedMessageTypeTraits<Type>::RepeatedFieldType *

      RepeatedMessageTypeTraits<Type>::GetDefaultRepeatedField()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ExtensionIdentifier::Register
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - typename TypeTraits::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1354
    functionName: google::protobuf::ExtensionIdentifier::ExtensionIdentifier
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::ExtensionIdentifier::Register
    linkageType: ''
    returnType: void
    signature: void ExtensionIdentifier(int number, typename TypeTraits::ConstType
      default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1355
    functionName: google::protobuf::ExtensionIdentifier::number
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1358
    functionName: google::protobuf::ExtensionIdentifier::default_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename TypeTraits::ConstType
    signature: typename TypeTraits::ConstType default_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeTraits::template Register<ExtendeeType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1362
    functionName: google::protobuf::ExtensionIdentifier::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - TypeTraits::template Register<ExtendeeType>
    linkageType: ''
    returnType: void
    signature: void Register(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CLASSNAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1411
    functionName: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(CLASSNAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1418,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1418,1
    - Dst: default_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1415
    functionDepth: 2
    functionLinenumber: 1415
    functionLinenumberEnd: 1420
    functionName: google::protobuf::GetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Get
    - default_value
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::ConstType
    signature: "typename _proto_TypeTraits::Singular::ConstType GetExtension(        \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1428,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1425
    functionDepth: 2
    functionLinenumber: 1425
    functionLinenumberEnd: 1430
    functionName: google::protobuf::MutableExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Mutable
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::MutableType
    signature: "typename _proto_TypeTraits::Singular::MutableType MutableExtension(
      \ \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1439,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Singular::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1440
    functionName: google::protobuf::SetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ExtensionSet
    - number
    linkageType: ''
    returnType: void
    signature: "void SetExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Singular::ConstType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1449,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Singular::MutableType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1445
    functionDepth: 3
    functionLinenumber: 1445
    functionLinenumberEnd: 1451
    functionName: google::protobuf::SetAllocatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::SetAllocated
    - number
    linkageType: ''
    returnType: void
    signature: "void SetAllocatedExtension(                                          \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Singular::MutableType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1459,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Singular::MutableType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1461
    functionName: google::protobuf::UnsafeArenaSetAllocatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - number
    - google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaSetAllocatedExtension(                               \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Singular::MutableType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Release
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1468,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1465
    functionDepth: 2
    functionLinenumber: 1465
    functionLinenumberEnd: 1470
    functionName: google::protobuf::ReleaseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - number
    - google::protobuf::internal::ArenaStringPtr::Release
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::MutableType
    signature: "typename _proto_TypeTraits::Singular::MutableType ReleaseExtension(
      \ \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageTypeTraits::UnsafeArenaRelease
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1478,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1480
    functionName: google::protobuf::UnsafeArenaReleaseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageTypeTraits::UnsafeArenaRelease
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::MutableType
    signature: "typename _proto_TypeTraits::Singular::MutableType UnsafeArenaReleaseExtension(
      \                                               \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<
      \          \\\n          CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>&
      id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1490,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - index
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1491
    functionName: google::protobuf::GetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Get
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::ConstType
    signature: "typename _proto_TypeTraits::Repeated::ConstType GetExtension(        \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     int index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1500,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - index
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1496
    functionDepth: 2
    functionLinenumber: 1496
    functionLinenumberEnd: 1501
    functionName: google::protobuf::MutableExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Mutable
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::MutableType
    signature: "typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
      \ \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     int index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1510,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' id'
    - index
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - int
    - typename _proto_TypeTraits::Repeated::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1511
    functionName: google::protobuf::SetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ExtensionSet
    - number
    linkageType: ''
    returnType: void
    signature: "void SetExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     int index, typename _proto_TypeTraits::Repeated::ConstType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::ReservoirSampler::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1519,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1520
    functionName: google::protobuf::AddExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::random::ReservoirSampler::Add
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::MutableType
    signature: "typename _proto_TypeTraits::Repeated::MutableType AddExtension(      \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::ReservoirSampler::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1529,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Repeated::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1525
    functionDepth: 1
    functionLinenumber: 1525
    functionLinenumberEnd: 1531
    functionName: google::protobuf::AddExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::random::ReservoirSampler::Add
    - number
    linkageType: ''
    returnType: void
    signature: "void AddExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Repeated::ConstType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetRepeated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1540,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1541
    functionName: google::protobuf::GetRepeatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetRepeated
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::RepeatedFieldType
    signature: "typename _proto_TypeTraits::Repeated::RepeatedFieldType &       \\\n
      \ GetRepeatedExtension(                                                       \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MutableRepeated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1550,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1552
    functionName: google::protobuf::MutableRepeatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - number
    - google::protobuf::MutableRepeated
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::RepeatedFieldType
    signature: "typename _proto_TypeTraits::Repeated::RepeatedFieldType *             \\\n
      \ MutableRepeatedExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StrongReference
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' extension'
    argTypes:
    - "google::protobuf::internal::ExtensionIdentifier<\n        ExtendeeType, TypeTraitsType,
      field_type, is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1584
    functionName: google::LinkExtensionReflection
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::StrongReference
    linkageType: ''
    returnType: void
    signature: "void LinkExtensionReflection(\n    const google::protobuf::internal::ExtensionIdentifier<\n
      \       ExtendeeType, TypeTraitsType, field_type, is_packed>& extension)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type_param
    - isrepeated
    - ispacked
    argTypes:
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo(FieldType type_param, bool isrepeated, bool ispacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::ExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GeneratedExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::GeneratedExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::GeneratedExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT GeneratedExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~GeneratedExtensionFinder() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GeneratedExtensionFinder() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: google::protobuf::internal::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: LazyMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:516,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:531,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - ParseMessageSetItem
    - Cur
    - Done
    - google::protobuf::internal::SetLastTag
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - InternalSerializeMessageSetWithCachedSizesToArray
    - EpsCopy
    - ParseGroup
    - google::protobuf::internal::_InternalSerialize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - PROTOBUF_DEPRECATED_MSG
    - LazyMessageExtension
    - google::protobuf::internal::ParseField
    - google::protobuf::internal::ByteSizeLong
    - SetCur
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionSet
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    - internal::ParseContext*::ParseGroup
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - internal::ParseContext*::Done
    - google::protobuf::internal::ParseField
    - internal::ParseContext*::SetLastTag
    linkageType: ''
    returnType: char
    signature: "char * ParseMessageSet(const char* ptr, const Msg* containing_type,\n
      \                             InternalMetadata* metadata,\n                              internal::ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start_field_number
    - end_field_number
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: google::protobuf::internal::SerializeWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - google::protobuf::internal::_InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void SerializeWithCachedSizes(int start_field_number, int end_field_number,\n
      \                               io::CodedOutputStream* output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: google::protobuf::internal::SerializeMessageSetWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - InternalSerializeMessageSetWithCachedSizesToArray
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeMessageSetWithCachedSizes(io::CodedOutputStream* output)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: ~LazyMessageExtension()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LazyMessageExtension()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 532
    functionName: google::protobuf::internal::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - google::protobuf::internal::ByteSizeLong
    linkageType: ''
    returnType: int
    signature: int ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - KeyValue
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(const KeyValue& lhs, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - key
    argTypes:
    - KeyValue
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: operator()(const KeyValue& lhs, int key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, int key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ' rhs'
    argTypes:
    - int
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 642
    functionName: operator()(int key, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(int key, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 667
    functionName: google::protobuf::internal::is_large
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_large() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: large::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: google::protobuf::internal::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - large::size
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:682,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - begin
    - end
    - func
    argTypes:
    - Iterator
    - Iterator
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - func
    - std::move
    linkageType: ''
    returnType: KeyValueFunctor
    signature: "KeyValueFunctor ForEach(Iterator begin, Iterator end,\n                                 KeyValueFunctor
      func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 9
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 702
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wire_type
    - field
    - containing_type
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - uint32
    - MessageLite*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: google::protobuf::internal::FindExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool FindExtension(int wire_type, uint32 field,\n                     const
      MessageLite* containing_type,\n                     const internal::ParseContext*
      /*ctx*/,\n                     ExtensionInfo* extension, bool* was_packed_on_wire)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: google::protobuf::internal::ParseFieldMaybeLazily
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: char
    signature: "char * ParseFieldMaybeLazily(uint64 tag, const char* ptr,\n                                    const
      MessageLite* containing_type,\n                                    internal::InternalMetadata*
      metadata,\n                                    internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 820
        line_start: 820
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 827
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 828
        line_start: 828
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 10
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type_param
    - isrepeated
    - ispacked
    argTypes:
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo(FieldType type_param, bool isrepeated, bool ispacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::ExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GeneratedExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::GeneratedExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::GeneratedExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT GeneratedExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~GeneratedExtensionFinder() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GeneratedExtensionFinder() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: google::protobuf::internal::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: LazyMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:516,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:531,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - ParseMessageSetItem
    - Cur
    - Done
    - google::protobuf::internal::SetLastTag
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - InternalSerializeMessageSetWithCachedSizesToArray
    - EpsCopy
    - ParseGroup
    - google::protobuf::internal::_InternalSerialize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - PROTOBUF_DEPRECATED_MSG
    - LazyMessageExtension
    - google::protobuf::internal::ParseField
    - google::protobuf::internal::ByteSizeLong
    - SetCur
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionSet
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    - internal::ParseContext*::ParseGroup
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - internal::ParseContext*::Done
    - google::protobuf::internal::ParseField
    - internal::ParseContext*::SetLastTag
    linkageType: ''
    returnType: char
    signature: "char * ParseMessageSet(const char* ptr, const Msg* containing_type,\n
      \                             InternalMetadata* metadata,\n                              internal::ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start_field_number
    - end_field_number
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: google::protobuf::internal::SerializeWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - google::protobuf::internal::_InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void SerializeWithCachedSizes(int start_field_number, int end_field_number,\n
      \                               io::CodedOutputStream* output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: google::protobuf::internal::SerializeMessageSetWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - InternalSerializeMessageSetWithCachedSizesToArray
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeMessageSetWithCachedSizes(io::CodedOutputStream* output)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: ~LazyMessageExtension()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LazyMessageExtension()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 532
    functionName: google::protobuf::internal::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - google::protobuf::internal::ByteSizeLong
    linkageType: ''
    returnType: int
    signature: int ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - KeyValue
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(const KeyValue& lhs, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - key
    argTypes:
    - KeyValue
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: operator()(const KeyValue& lhs, int key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, int key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ' rhs'
    argTypes:
    - int
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 642
    functionName: operator()(int key, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(int key, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 667
    functionName: google::protobuf::internal::is_large
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_large() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: large::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: google::protobuf::internal::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - large::size
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:682,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - begin
    - end
    - func
    argTypes:
    - Iterator
    - Iterator
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 10
    functionsReached:
    - func
    - std::move
    linkageType: ''
    returnType: KeyValueFunctor
    signature: "KeyValueFunctor ForEach(Iterator begin, Iterator end,\n                                 KeyValueFunctor
      func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 11
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 702
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wire_type
    - field
    - containing_type
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - uint32
    - MessageLite*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: google::protobuf::internal::FindExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool FindExtension(int wire_type, uint32 field,\n                     const
      MessageLite* containing_type,\n                     const internal::ParseContext*
      /*ctx*/,\n                     ExtensionInfo* extension, bool* was_packed_on_wire)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: google::protobuf::internal::ParseFieldMaybeLazily
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: char
    signature: "char * ParseFieldMaybeLazily(uint64 tag, const char* ptr,\n                                    const
      MessageLite* containing_type,\n                                    internal::InternalMetadata*
      metadata,\n                                    internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 820
        line_start: 820
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 827
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 828
        line_start: 828
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 12
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 854
    functionName: google::protobuf::ExtensionSet::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ExtensionSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:860,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - std::string
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 861
    functionName: google::protobuf::ExtensionSet::SetString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableString
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetString(int number, FieldType type,\n                                    std::string
      value,\n                                    const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MutableRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:864,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - index
    - value
    argTypes:
    - int
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 865
    functionName: google::protobuf::ExtensionSet::SetRepeatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableRepeatedString
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetRepeatedString(int number, int index,\n                                            std::string
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:869,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - std::string
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 870
    functionName: google::protobuf::ExtensionSet::AddString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - google::protobuf::ExtensionSet::AddString
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::AddString(int number, FieldType type,\n                                    std::string
      value,\n                                    const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:947,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: google::protobuf::PrimitiveTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:976,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 978
    functionName: google::protobuf::RepeatedPrimitiveTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 993
    functionName: google::protobuf::RepeatedPrimitiveDefaults
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedPrimitiveDefaults
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - METHOD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1043
    functionName: PROTOBUF_DEFINE_PRIMITIVE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_DEFINE_PRIMITIVE_TYPE(TYPE, METHOD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1066,1
    - Dst: SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1070,1
    - Dst: MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1074,1
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1081
    functionName: google::protobuf::StringTypeTraits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableString
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    - internal_default_instance
    - SetString
    - GetString
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringTypeTraits
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - default_value
    argTypes:
    - int
    - ExtensionSet
    - ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1067
    functionName: google::protobuf::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - GetString
    linkageType: ''
    returnType: std::string
    signature: "std::string & Get(int number, const ExtensionSet& set,\n                                       ConstType
      default_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - ' value'
    - set
    argTypes:
    - int
    - FieldType
    - std::string
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1071
    functionName: google::protobuf::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::SetString
    linkageType: ''
    returnType: void
    signature: "void Set(int number, FieldType field_type,\n                         const
      std::string& value, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1075
    functionName: google::protobuf::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - ExtensionSet*::MutableString
    linkageType: ''
    returnType: std::string
    signature: "std::string * Mutable(int number, FieldType field_type,\n                                     ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 2
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: google::protobuf::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1093,1
    - Dst: SetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1097,1
    - Dst: MutableRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1100,1
    - Dst: AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1104,1
    - Dst: AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1108,1
    - Dst: reinterpret_cast<const RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1112,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    - Dst: reinterpret_cast<RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1118,1
    - Dst: MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1119,1
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1133
    functionName: google::protobuf::RepeatedStringTypeTraits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableRepeatedString
    - reinterpret_cast<const RepeatedPtrField<std::string>*>
    - GetRawRepeatedField
    - reinterpret_cast<RepeatedPtrField<std::string>*>
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    - AddString
    - internal_default_instance
    - GetDefaultRepeatedField
    - SetRepeatedString
    - GetRepeatedString
    - MutableRawRepeatedField
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedStringTypeTraits
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - index
    argTypes:
    - int
    - ExtensionSet
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1094
    functionName: google::protobuf::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - GetRepeatedString
    linkageType: ''
    returnType: std::string
    signature: "std::string & Get(int number, const ExtensionSet& set,\n                                       int
      index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::SetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - index
    - ' value'
    - set
    argTypes:
    - int
    - int
    - std::string
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1098
    functionName: google::protobuf::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::SetRepeatedString
    linkageType: ''
    returnType: void
    signature: "void Set(int number, int index, const std::string& value,\n                         ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::MutableRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - index
    - set
    argTypes:
    - int
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1101
    functionName: google::protobuf::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - ExtensionSet*::MutableRepeatedString
    linkageType: ''
    returnType: std::string
    signature: std::string * Mutable(int number, int index, ExtensionSet* set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - ' value'
    - set
    argTypes:
    - int
    - FieldType
    - std::string
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: google::protobuf::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - ExtensionSet*::AddString
    linkageType: ''
    returnType: void
    signature: "void Add(int number, FieldType field_type, bool /*is_packed*/,\n                         const
      std::string& value, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: google::protobuf::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - ExtensionSet*::AddString
    linkageType: ''
    returnType: std::string
    signature: "std::string * Add(int number, FieldType field_type,\n                                 ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1112,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' set'
    argTypes:
    - int
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1114
    functionName: google::protobuf::GetRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<const RepeatedPtrField<std::string>*>
    - GetRawRepeatedField
    - GetDefaultRepeatedField
    linkageType: ''
    returnType: RepeatedPtrField<std::string>
    signature: "RepeatedPtrField<std::string> & GetRepeated(\n      int number, const
      ExtensionSet& set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1118,1
    - Dst: ExtensionSet*::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - is_packed
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1120
    functionName: google::protobuf::MutableRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - reinterpret_cast<RepeatedPtrField<std::string>*>
    - ExtensionSet*::MutableRawRepeatedField
    linkageType: ''
    returnType: RepeatedPtrField<std::string>
    signature: "RepeatedPtrField<std::string> * MutableRepeated(\n      int number,
      FieldType field_type, bool is_packed, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1125
    functionDepth: 2
    functionLinenumber: 1125
    functionLinenumberEnd: 1128
    functionName: google::protobuf::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1149,1
    - Dst: GetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - default_value
    argTypes:
    - int
    - ExtensionSet
    - ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1150
    functionName: google::protobuf::EnumTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<Type>
    - GetEnum
    linkageType: ''
    returnType: ConstType
    signature: "ConstType Get(int number, const ExtensionSet& set,\n                              ConstType
      default_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1153,1
    - Dst: IsValid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1153,1
    - Dst: ExtensionSet*::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - number
    - field_type
    - value
    - set
    argTypes:
    - int
    - FieldType
    - ConstType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1155
    functionName: google::protobuf::EnumTypeTraits::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - IsValid
    - GOOGLE_DCHECK
    - ExtensionSet*::SetEnum
    linkageType: ''
    returnType: void
    signature: "void Set(int number, FieldType field_type, ConstType value,\n                         ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1158,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1157
    functionDepth: 2
    functionLinenumber: 1157
    functionLinenumberEnd: 1160
    functionName: google::protobuf::EnumTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    - internal_default_instance
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1173,1
    - Dst: GetRepeatedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - index
    argTypes:
    - int
    - ExtensionSet
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1174
    functionName: google::protobuf::RepeatedEnumTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<Type>
    - GetRepeatedEnum
    linkageType: ''
    returnType: ConstType
    signature: ConstType Get(int number, const ExtensionSet& set, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1177,1
    - Dst: IsValid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1177,1
    - Dst: ExtensionSet*::SetRepeatedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - number
    - index
    - value
    - set
    argTypes:
    - int
    - int
    - ConstType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1179
    functionName: google::protobuf::RepeatedEnumTypeTraits::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - IsValid
    - ExtensionSet*::SetRepeatedEnum
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: "void Set(int number, int index, ConstType value,\n                         ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1182,1
    - Dst: IsValid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1182,1
    - Dst: ExtensionSet*::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - number
    - field_type
    - is_packed
    - value
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ConstType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1184
    functionName: google::protobuf::RepeatedEnumTypeTraits::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - IsValid
    - ExtensionSet*::AddEnum
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: "void Add(int number, FieldType field_type, bool is_packed,\n                         ConstType
      value, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1191,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1192,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' set'
    argTypes:
    - int
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1193
    functionName: "& GetRepeated(\n      int number, const ExtensionSet& set)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - GetRawRepeatedField
    - reinterpret_cast<const RepeatedField<Type>*>
    - GetDefaultRepeatedField
    linkageType: ''
    returnType: RepeatedField<Type>
    signature: "RepeatedField<Type> & GetRepeated(\n      int number, const ExtensionSet&
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RepeatedField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1199,1
    - Dst: ExtensionSet*::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - is_packed
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1201
    functionName: google::protobuf::RepeatedEnumTypeTraits::MutableRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<RepeatedField<Type>*>
    - ExtensionSet*::MutableRawRepeatedField
    linkageType: ''
    returnType: RepeatedField<Type>
    signature: "RepeatedField<Type> * MutableRepeated(int number,\n                                                     FieldType
      field_type,\n                                                     bool is_packed,\n
      \                                                    ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1210,1
    - Dst: google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1212
    functionName: google::protobuf::RepeatedEnumTypeTraits::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
    - reinterpret_cast<const RepeatedField<Type>*>
    linkageType: ''
    returnType: RepeatedFieldType
    signature: RepeatedFieldType * GetDefaultRepeatedField()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1215,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1217
    functionName: google::protobuf::RepeatedEnumTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    - internal_default_instance
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1235,1
    - Dst: GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - default_value
    argTypes:
    - int
    - ExtensionSet
    - ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1236
    functionName: google::protobuf::MessageTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<const Type&>
    - GetMessage
    linkageType: ''
    returnType: ConstType
    signature: "ConstType Get(int number, const ExtensionSet& set,\n                              ConstType
      default_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1239,1
    - Dst: ExtensionSet*::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1239,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1241
    functionName: google::protobuf::MessageTypeTraits::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::MutableMessage
    - static_cast<Type*>
    - internal_default_instance
    linkageType: ''
    returnType: MutableType
    signature: "MutableType Mutable(int number, FieldType field_type,\n                                    ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::SetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - message
    - set
    argTypes:
    - int
    - FieldType
    - MutableType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1245
    functionName: google::protobuf::MessageTypeTraits::SetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::SetAllocatedMessage
    linkageType: ''
    returnType: void
    signature: "void SetAllocated(int number, FieldType field_type,\n                                  MutableType
      message, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::UnsafeArenaSetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - message
    - set
    argTypes:
    - int
    - FieldType
    - MutableType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1250
    functionName: google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - ExtensionSet*::UnsafeArenaSetAllocatedMessage
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaSetAllocated(int number, FieldType field_type,\n                                             MutableType
      message,\n                                             ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1253,1
    - Dst: ExtensionSet*::ReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1254,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - set
    argTypes:
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1255
    functionName: google::protobuf::MessageTypeTraits::Release
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ReleaseMessage
    - static_cast<Type*>
    - internal_default_instance
    linkageType: ''
    returnType: MutableType
    signature: "MutableType Release(int number, FieldType /* field_type */,\n                                    ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1259,1
    - Dst: ExtensionSet*::UnsafeArenaReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1260,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - set
    argTypes:
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1261
    functionName: google::protobuf::MessageTypeTraits::UnsafeArenaRelease
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - static_cast<Type*>
    - internal_default_instance
    - ExtensionSet*::UnsafeArenaReleaseMessage
    linkageType: ''
    returnType: MutableType
    signature: "MutableType UnsafeArenaRelease(int number,\n                                               FieldType
      /* field_type */,\n                                               ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1264,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1264,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1263
    functionDepth: 2
    functionLinenumber: 1263
    functionLinenumberEnd: 1267
    functionName: google::protobuf::MessageTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1283,1
    - Dst: GetRepeatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - index
    argTypes:
    - int
    - ExtensionSet
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1284
    functionName: google::protobuf::RepeatedMessageTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<const Type&>
    - GetRepeatedMessage
    linkageType: ''
    returnType: ConstType
    signature: ConstType Get(int number, const ExtensionSet& set, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1286,1
    - Dst: ExtensionSet*::MutableRepeatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - index
    - set
    argTypes:
    - int
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1287
    functionName: google::protobuf::RepeatedMessageTypeTraits::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::MutableRepeatedMessage
    - static_cast<Type*>
    linkageType: ''
    returnType: MutableType
    signature: MutableType Mutable(int number, int index, ExtensionSet* set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1290,1
    - Dst: ExtensionSet*::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1291,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1292
    functionName: google::protobuf::RepeatedMessageTypeTraits::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<Type*>
    - internal_default_instance
    - ExtensionSet*::AddMessage
    linkageType: ''
    returnType: MutableType
    signature: "MutableType Add(int number, FieldType field_type,\n                                ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedPtrField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1300,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1301,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' set'
    argTypes:
    - int
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1302
    functionName: "& GetRepeated(\n      int number, const ExtensionSet& set)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const RepeatedPtrField<Type>*>
    - GetRawRepeatedField
    - GetDefaultRepeatedField
    linkageType: ''
    returnType: RepeatedPtrField<Type>
    signature: "RepeatedPtrField<Type> & GetRepeated(\n      int number, const ExtensionSet&
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RepeatedPtrField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1307,1
    - Dst: ExtensionSet*::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - is_packed
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1309
    functionName: google::protobuf::RepeatedMessageTypeTraits::MutableRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::MutableRawRepeatedField
    - reinterpret_cast<RepeatedPtrField<Type>*>
    linkageType: ''
    returnType: RepeatedPtrField<Type>
    signature: "RepeatedPtrField<Type> * MutableRepeated(int number,\n                                                        FieldType
      field_type,\n                                                        bool is_packed,\n
      \                                                       ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1314,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1314,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1313
    functionDepth: 2
    functionLinenumber: 1313
    functionLinenumberEnd: 1317
    functionName: google::protobuf::RepeatedMessageTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1323,1
    - Dst: RepeatedFieldType::RepeatedFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1325
    functionName: google::protobuf::RepeatedMessageTypeTraits<Type>::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - RepeatedFieldType::RepeatedFieldType
    - OnShutdownDelete
    linkageType: ''
    returnType: typename RepeatedMessageTypeTraits<Type>::RepeatedFieldType
    signature: 'typename RepeatedMessageTypeTraits<Type>::RepeatedFieldType *

      RepeatedMessageTypeTraits<Type>::GetDefaultRepeatedField()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ExtensionIdentifier::Register
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - typename TypeTraits::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1354
    functionName: google::protobuf::ExtensionIdentifier::ExtensionIdentifier
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::ExtensionIdentifier::Register
    linkageType: ''
    returnType: void
    signature: void ExtensionIdentifier(int number, typename TypeTraits::ConstType
      default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1355
    functionName: google::protobuf::ExtensionIdentifier::number
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1358
    functionName: google::protobuf::ExtensionIdentifier::default_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename TypeTraits::ConstType
    signature: typename TypeTraits::ConstType default_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeTraits::template Register<ExtendeeType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1362
    functionName: google::protobuf::ExtensionIdentifier::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - TypeTraits::template Register<ExtendeeType>
    linkageType: ''
    returnType: void
    signature: void Register(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CLASSNAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1411
    functionName: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(CLASSNAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1418,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1418,1
    - Dst: default_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1415
    functionDepth: 2
    functionLinenumber: 1415
    functionLinenumberEnd: 1420
    functionName: google::protobuf::GetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Get
    - default_value
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::ConstType
    signature: "typename _proto_TypeTraits::Singular::ConstType GetExtension(        \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1428,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1425
    functionDepth: 2
    functionLinenumber: 1425
    functionLinenumberEnd: 1430
    functionName: google::protobuf::MutableExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Mutable
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::MutableType
    signature: "typename _proto_TypeTraits::Singular::MutableType MutableExtension(
      \ \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1439,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Singular::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1440
    functionName: google::protobuf::SetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ExtensionSet
    - number
    linkageType: ''
    returnType: void
    signature: "void SetExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Singular::ConstType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1449,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Singular::MutableType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1445
    functionDepth: 3
    functionLinenumber: 1445
    functionLinenumberEnd: 1451
    functionName: google::protobuf::SetAllocatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::SetAllocated
    - number
    linkageType: ''
    returnType: void
    signature: "void SetAllocatedExtension(                                          \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Singular::MutableType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1459,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Singular::MutableType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1461
    functionName: google::protobuf::UnsafeArenaSetAllocatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - number
    - google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaSetAllocatedExtension(                               \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Singular::MutableType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Release
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1468,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1465
    functionDepth: 2
    functionLinenumber: 1465
    functionLinenumberEnd: 1470
    functionName: google::protobuf::ReleaseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - number
    - google::protobuf::internal::ArenaStringPtr::Release
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::MutableType
    signature: "typename _proto_TypeTraits::Singular::MutableType ReleaseExtension(
      \ \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageTypeTraits::UnsafeArenaRelease
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1478,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1480
    functionName: google::protobuf::UnsafeArenaReleaseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageTypeTraits::UnsafeArenaRelease
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::MutableType
    signature: "typename _proto_TypeTraits::Singular::MutableType UnsafeArenaReleaseExtension(
      \                                               \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<
      \          \\\n          CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>&
      id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1490,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - index
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1491
    functionName: google::protobuf::GetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Get
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::ConstType
    signature: "typename _proto_TypeTraits::Repeated::ConstType GetExtension(        \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     int index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1500,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - index
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1496
    functionDepth: 2
    functionLinenumber: 1496
    functionLinenumberEnd: 1501
    functionName: google::protobuf::MutableExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Mutable
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::MutableType
    signature: "typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
      \ \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     int index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1510,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' id'
    - index
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - int
    - typename _proto_TypeTraits::Repeated::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1511
    functionName: google::protobuf::SetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ExtensionSet
    - number
    linkageType: ''
    returnType: void
    signature: "void SetExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     int index, typename _proto_TypeTraits::Repeated::ConstType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::ReservoirSampler::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1519,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1520
    functionName: google::protobuf::AddExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::random::ReservoirSampler::Add
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::MutableType
    signature: "typename _proto_TypeTraits::Repeated::MutableType AddExtension(      \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::ReservoirSampler::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1529,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Repeated::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1525
    functionDepth: 1
    functionLinenumber: 1525
    functionLinenumberEnd: 1531
    functionName: google::protobuf::AddExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::random::ReservoirSampler::Add
    - number
    linkageType: ''
    returnType: void
    signature: "void AddExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Repeated::ConstType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetRepeated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1540,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1541
    functionName: google::protobuf::GetRepeatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetRepeated
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::RepeatedFieldType
    signature: "typename _proto_TypeTraits::Repeated::RepeatedFieldType &       \\\n
      \ GetRepeatedExtension(                                                       \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MutableRepeated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1550,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1552
    functionName: google::protobuf::MutableRepeatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - number
    - google::protobuf::MutableRepeated
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::RepeatedFieldType
    signature: "typename _proto_TypeTraits::Repeated::RepeatedFieldType *             \\\n
      \ MutableRepeatedExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type_param
    - isrepeated
    - ispacked
    argTypes:
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo(FieldType type_param, bool isrepeated, bool ispacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::ExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GeneratedExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::GeneratedExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::GeneratedExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT GeneratedExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~GeneratedExtensionFinder() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GeneratedExtensionFinder() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: google::protobuf::internal::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: LazyMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:516,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:531,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - ParseMessageSetItem
    - Cur
    - Done
    - google::protobuf::internal::SetLastTag
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - InternalSerializeMessageSetWithCachedSizesToArray
    - EpsCopy
    - ParseGroup
    - google::protobuf::internal::_InternalSerialize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - PROTOBUF_DEPRECATED_MSG
    - LazyMessageExtension
    - google::protobuf::internal::ParseField
    - google::protobuf::internal::ByteSizeLong
    - SetCur
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionSet
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    - internal::ParseContext*::ParseGroup
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - internal::ParseContext*::Done
    - google::protobuf::internal::ParseField
    - internal::ParseContext*::SetLastTag
    linkageType: ''
    returnType: char
    signature: "char * ParseMessageSet(const char* ptr, const Msg* containing_type,\n
      \                             InternalMetadata* metadata,\n                              internal::ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start_field_number
    - end_field_number
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: google::protobuf::internal::SerializeWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - google::protobuf::internal::_InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void SerializeWithCachedSizes(int start_field_number, int end_field_number,\n
      \                               io::CodedOutputStream* output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: google::protobuf::internal::SerializeMessageSetWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - InternalSerializeMessageSetWithCachedSizesToArray
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeMessageSetWithCachedSizes(io::CodedOutputStream* output)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: ~LazyMessageExtension()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LazyMessageExtension()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 532
    functionName: google::protobuf::internal::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - google::protobuf::internal::ByteSizeLong
    linkageType: ''
    returnType: int
    signature: int ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - KeyValue
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(const KeyValue& lhs, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - key
    argTypes:
    - KeyValue
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: operator()(const KeyValue& lhs, int key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, int key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ' rhs'
    argTypes:
    - int
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 642
    functionName: operator()(int key, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(int key, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 667
    functionName: google::protobuf::internal::is_large
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_large() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: large::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: google::protobuf::internal::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - large::size
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:682,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - begin
    - end
    - func
    argTypes:
    - Iterator
    - Iterator
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 12
    functionsReached:
    - func
    - std::move
    linkageType: ''
    returnType: KeyValueFunctor
    signature: "KeyValueFunctor ForEach(Iterator begin, Iterator end,\n                                 KeyValueFunctor
      func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 13
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 702
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wire_type
    - field
    - containing_type
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - uint32
    - MessageLite*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: google::protobuf::internal::FindExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool FindExtension(int wire_type, uint32 field,\n                     const
      MessageLite* containing_type,\n                     const internal::ParseContext*
      /*ctx*/,\n                     ExtensionInfo* extension, bool* was_packed_on_wire)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: google::protobuf::internal::ParseFieldMaybeLazily
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: char
    signature: "char * ParseFieldMaybeLazily(uint64 tag, const char* ptr,\n                                    const
      MessageLite* containing_type,\n                                    internal::InternalMetadata*
      metadata,\n                                    internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 820
        line_start: 820
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 827
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 828
        line_start: 828
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 14
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - type_param
    - isrepeated
    - ispacked
    argTypes:
    - FieldType
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::ExtensionInfo
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionInfo(FieldType type_param, bool isrepeated, bool ispacked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: google::protobuf::internal::ExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::ExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::GeneratedExtensionFinder
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: google::protobuf::internal::GeneratedExtensionFinder
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::GeneratedExtensionFinder
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT GeneratedExtensionFinder
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~GeneratedExtensionFinder() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GeneratedExtensionFinder() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: google::protobuf::internal::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: LazyMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:516,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:531,1
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 549
    functionName: google::protobuf::internal::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - ParseMessageSetItem
    - Cur
    - Done
    - google::protobuf::internal::SetLastTag
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - InternalSerializeMessageSetWithCachedSizesToArray
    - EpsCopy
    - ParseGroup
    - google::protobuf::internal::_InternalSerialize
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - PROTOBUF_DEPRECATED_MSG
    - LazyMessageExtension
    - google::protobuf::internal::ParseField
    - google::protobuf::internal::ByteSizeLong
    - SetCur
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ExtensionSet
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::GetArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Arena
    signature: Arena * GetArena() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    - Dst: internal::ParseContext*::Done
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:418,1
    - Dst: ReadTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:420,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:421,1
    - Dst: internal::ParseContext*::ParseGroup
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:423,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:424,1
    - Dst: internal::ParseContext*::SetLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:427,1
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:430,1
    - Dst: GOOGLE_PROTOBUF_PARSER_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - char*
    - Msg*
    - InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 435
    functionName: google::protobuf::internal::ParseMessageSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    - internal::ParseContext*::ParseGroup
    - GOOGLE_PROTOBUF_PARSER_ASSERT
    - ReadTag
    - internal::ParseContext*::Done
    - google::protobuf::internal::ParseField
    - internal::ParseContext*::SetLastTag
    linkageType: ''
    returnType: char
    signature: "char * ParseMessageSet(const char* ptr, const Msg* containing_type,\n
      \                             InternalMetadata* metadata,\n                              internal::ParseContext*
      ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParseMessageSetItem
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ctx
    argTypes:
    - char*
    - ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: google::protobuf::internal::_InternalParse
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ParseMessageSetItem
    linkageType: ''
    returnType: char
    signature: char * _InternalParse(const char* ptr, ParseContext* ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: google::protobuf::internal::_InternalSerialize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:461,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - start_field_number
    - end_field_number
    - output
    argTypes:
    - int
    - int
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: google::protobuf::internal::SerializeWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - google::protobuf::internal::_InternalSerialize
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: "void SerializeWithCachedSizes(int start_field_number, int end_field_number,\n
      \                               io::CodedOutputStream* output) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: io::CodedOutputStream*::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: InternalSerializeMessageSetWithCachedSizesToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:476,1
    - Dst: io::CodedOutputStream*::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    - Dst: io::CodedOutputStream*::EpsCopy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - output
    argTypes:
    - io::CodedOutputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: google::protobuf::internal::SerializeMessageSetWithCachedSizes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - io::CodedOutputStream*::Cur
    - InternalSerializeMessageSetWithCachedSizesToArray
    - io::CodedOutputStream*::SetCur
    - io::CodedOutputStream*::EpsCopy
    linkageType: ''
    returnType: void
    signature: void SerializeMessageSetWithCachedSizes(io::CodedOutputStream* output)
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: ~LazyMessageExtension()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~LazyMessageExtension()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ToIntSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    - Dst: google::protobuf::internal::ByteSizeLong
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 532
    functionName: google::protobuf::internal::ByteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ToIntSize
    - google::protobuf::internal::ByteSizeLong
    linkageType: ''
    returnType: int
    signature: int ByteSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - KeyValue
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: operator()(const KeyValue& lhs, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - key
    argTypes:
    - KeyValue
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: operator()(const KeyValue& lhs, int key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const KeyValue& lhs, int key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - ' rhs'
    argTypes:
    - int
    - KeyValue
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 642
    functionName: operator()(int key, const KeyValue& rhs) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(int key, const KeyValue& rhs) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 667
    functionName: google::protobuf::internal::is_large
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_large() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    - Dst: large::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 674
    functionName: google::protobuf::internal::Size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - large::size
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: size_t
    signature: size_t Size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:682,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - begin
    - end
    - func
    argTypes:
    - Iterator
    - Iterator
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 14
    functionsReached:
    - func
    - std::move
    linkageType: ''
    returnType: KeyValueFunctor
    signature: "KeyValueFunctor ForEach(Iterator begin, Iterator end,\n                                 KeyValueFunctor
      func)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:689,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:690,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 15
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:698,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: large::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:699,1
    - Dst: google::protobuf::internal::ForEach
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: google::protobuf::internal::flat_end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - func
    argTypes:
    - KeyValueFunctor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 702
    functionName: google::protobuf::internal::ForEach
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::flat_end
    - google::protobuf::internal::flat_begin
    - large::end
    - large::begin
    - google::protobuf::internal::ForEach
    - std::move
    - PROTOBUF_PREDICT_FALSE
    - google::protobuf::internal::is_large
    linkageType: ''
    returnType: KeyValueFunctor
    signature: KeyValueFunctor ForEach(KeyValueFunctor func) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindExtensionInfoFromFieldNumber
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - wire_type
    - field
    - containing_type
    - extension
    - was_packed_on_wire
    argTypes:
    - int
    - uint32
    - MessageLite*
    - ExtensionInfo*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: google::protobuf::internal::FindExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - FindExtensionInfoFromFieldNumber
    linkageType: ''
    returnType: bool
    signature: "bool FindExtension(int wire_type, uint32 field,\n                     const
      MessageLite* containing_type,\n                     const internal::ParseContext*
      /*ctx*/,\n                     ExtensionInfo* extension, bool* was_packed_on_wire)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ParseField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tag
    - ptr
    - containing_type
    - metadata
    - ctx
    argTypes:
    - uint64
    - char*
    - MessageLite*
    - internal::InternalMetadata*
    - internal::ParseContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: google::protobuf::internal::ParseFieldMaybeLazily
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ParseField
    linkageType: ''
    returnType: char
    signature: "char * ParseFieldMaybeLazily(uint64 tag, const char* ptr,\n                                    const
      MessageLite* containing_type,\n                                    internal::InternalMetadata*
      metadata,\n                                    internal::ParseContext* ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 820
        line_start: 820
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: google::protobuf::internal::flat_begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 827
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    - Dst: google::protobuf::internal::is_large
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!is_large())
      pos:
        line_end: 828
        line_start: 828
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: google::protobuf::internal::flat_end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 16
    functionsReached:
    - google::protobuf::internal::is_large
    - assert
    linkageType: ''
    returnType: KeyValue
    signature: KeyValue * flat_end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 854
    functionName: google::protobuf::ExtensionSet::ExtensionSet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExtensionSet::ExtensionSet()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:860,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - std::string
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 861
    functionName: google::protobuf::ExtensionSet::SetString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableString
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetString(int number, FieldType type,\n                                    std::string
      value,\n                                    const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MutableRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:864,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - index
    - value
    argTypes:
    - int
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 865
    functionName: google::protobuf::ExtensionSet::SetRepeatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableRepeatedString
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::SetRepeatedString(int number, int index,\n                                            std::string
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ExtensionSet::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:869,1
    - Dst: std::move
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - type
    - value
    - descriptor
    argTypes:
    - int
    - FieldType
    - std::string
    - FieldDescriptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 870
    functionName: google::protobuf::ExtensionSet::AddString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 4
    functionsReached:
    - google::protobuf::ExtensionSet::AddString
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ExtensionSet::AddString(int number, FieldType type,\n                                    std::string
      value,\n                                    const FieldDescriptor* descriptor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:947,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: google::protobuf::PrimitiveTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:976,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 978
    functionName: google::protobuf::RepeatedPrimitiveTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 993
    functionName: google::protobuf::RepeatedPrimitiveDefaults
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedPrimitiveDefaults
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - METHOD
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1043
    functionName: PROTOBUF_DEFINE_PRIMITIVE_TYPE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_DEFINE_PRIMITIVE_TYPE(TYPE, METHOD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1066,1
    - Dst: SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1070,1
    - Dst: MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1074,1
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1081
    functionName: google::protobuf::StringTypeTraits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableString
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    - internal_default_instance
    - SetString
    - GetString
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringTypeTraits
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - default_value
    argTypes:
    - int
    - ExtensionSet
    - ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1067
    functionName: google::protobuf::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - GetString
    linkageType: ''
    returnType: std::string
    signature: "std::string & Get(int number, const ExtensionSet& set,\n                                       ConstType
      default_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::SetString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - ' value'
    - set
    argTypes:
    - int
    - FieldType
    - std::string
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1071
    functionName: google::protobuf::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::SetString
    linkageType: ''
    returnType: void
    signature: "void Set(int number, FieldType field_type,\n                         const
      std::string& value, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::MutableString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1075
    functionName: google::protobuf::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - ExtensionSet*::MutableString
    linkageType: ''
    returnType: std::string
    signature: "std::string * Mutable(int number, FieldType field_type,\n                                     ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 2
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: google::protobuf::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1093,1
    - Dst: SetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1097,1
    - Dst: MutableRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1100,1
    - Dst: AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1104,1
    - Dst: AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1108,1
    - Dst: reinterpret_cast<const RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1112,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    - Dst: reinterpret_cast<RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1118,1
    - Dst: MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1119,1
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1083
    functionDepth: 2
    functionLinenumber: 1083
    functionLinenumberEnd: 1133
    functionName: google::protobuf::RepeatedStringTypeTraits
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - MutableRepeatedString
    - reinterpret_cast<const RepeatedPtrField<std::string>*>
    - GetRawRepeatedField
    - reinterpret_cast<RepeatedPtrField<std::string>*>
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    - AddString
    - internal_default_instance
    - GetDefaultRepeatedField
    - SetRepeatedString
    - GetRepeatedString
    - MutableRawRepeatedField
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT RepeatedStringTypeTraits
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - index
    argTypes:
    - int
    - ExtensionSet
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1094
    functionName: google::protobuf::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - GetRepeatedString
    linkageType: ''
    returnType: std::string
    signature: "std::string & Get(int number, const ExtensionSet& set,\n                                       int
      index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::SetRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - index
    - ' value'
    - set
    argTypes:
    - int
    - int
    - std::string
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1098
    functionName: google::protobuf::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::SetRepeatedString
    linkageType: ''
    returnType: void
    signature: "void Set(int number, int index, const std::string& value,\n                         ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::MutableRepeatedString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - index
    - set
    argTypes:
    - int
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1101
    functionName: google::protobuf::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 2
    functionsReached:
    - ExtensionSet*::MutableRepeatedString
    linkageType: ''
    returnType: std::string
    signature: std::string * Mutable(int number, int index, ExtensionSet* set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - ' value'
    - set
    argTypes:
    - int
    - FieldType
    - std::string
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: google::protobuf::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - ExtensionSet*::AddString
    linkageType: ''
    returnType: void
    signature: "void Add(int number, FieldType field_type, bool /*is_packed*/,\n                         const
      std::string& value, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::AddString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: google::protobuf::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 8
    functionsReached:
    - ExtensionSet*::AddString
    linkageType: ''
    returnType: std::string
    signature: "std::string * Add(int number, FieldType field_type,\n                                 ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1112,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' set'
    argTypes:
    - int
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1114
    functionName: google::protobuf::GetRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<const RepeatedPtrField<std::string>*>
    - GetRawRepeatedField
    - GetDefaultRepeatedField
    linkageType: ''
    returnType: RepeatedPtrField<std::string>
    signature: "RepeatedPtrField<std::string> & GetRepeated(\n      int number, const
      ExtensionSet& set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RepeatedPtrField<std::string>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1118,1
    - Dst: ExtensionSet*::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - is_packed
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1120
    functionName: google::protobuf::MutableRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<RepeatedPtrField<std::string>*>
    - ExtensionSet*::MutableRawRepeatedField
    linkageType: ''
    returnType: RepeatedPtrField<std::string>
    signature: "RepeatedPtrField<std::string> * MutableRepeated(\n      int number,
      FieldType field_type, bool is_packed, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1125
    functionDepth: 2
    functionLinenumber: 1125
    functionLinenumberEnd: 1128
    functionName: google::protobuf::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1149,1
    - Dst: GetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - default_value
    argTypes:
    - int
    - ExtensionSet
    - ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1150
    functionName: google::protobuf::EnumTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<Type>
    - GetEnum
    linkageType: ''
    returnType: ConstType
    signature: "ConstType Get(int number, const ExtensionSet& set,\n                              ConstType
      default_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1153,1
    - Dst: IsValid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1153,1
    - Dst: ExtensionSet*::SetEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - number
    - field_type
    - value
    - set
    argTypes:
    - int
    - FieldType
    - ConstType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1155
    functionName: google::protobuf::EnumTypeTraits::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - IsValid
    - GOOGLE_DCHECK
    - ExtensionSet*::SetEnum
    linkageType: ''
    returnType: void
    signature: "void Set(int number, FieldType field_type, ConstType value,\n                         ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1158,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1157
    functionDepth: 2
    functionLinenumber: 1157
    functionLinenumberEnd: 1160
    functionName: google::protobuf::EnumTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    - internal_default_instance
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1173,1
    - Dst: GetRepeatedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - index
    argTypes:
    - int
    - ExtensionSet
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1174
    functionName: google::protobuf::RepeatedEnumTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<Type>
    - GetRepeatedEnum
    linkageType: ''
    returnType: ConstType
    signature: ConstType Get(int number, const ExtensionSet& set, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1177,1
    - Dst: IsValid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1177,1
    - Dst: ExtensionSet*::SetRepeatedEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - number
    - index
    - value
    - set
    argTypes:
    - int
    - int
    - ConstType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1179
    functionName: google::protobuf::RepeatedEnumTypeTraits::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - IsValid
    - ExtensionSet*::SetRepeatedEnum
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: "void Set(int number, int index, ConstType value,\n                         ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1182,1
    - Dst: IsValid
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1182,1
    - Dst: ExtensionSet*::AddEnum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - number
    - field_type
    - is_packed
    - value
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ConstType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1184
    functionName: google::protobuf::RepeatedEnumTypeTraits::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - IsValid
    - ExtensionSet*::AddEnum
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: void
    signature: "void Add(int number, FieldType field_type, bool is_packed,\n                         ConstType
      value, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1191,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1192,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' set'
    argTypes:
    - int
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1193
    functionName: "& GetRepeated(\n      int number, const ExtensionSet& set)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - GetRawRepeatedField
    - reinterpret_cast<const RepeatedField<Type>*>
    - GetDefaultRepeatedField
    linkageType: ''
    returnType: RepeatedField<Type>
    signature: "RepeatedField<Type> & GetRepeated(\n      int number, const ExtensionSet&
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RepeatedField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1199,1
    - Dst: ExtensionSet*::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - is_packed
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1201
    functionName: google::protobuf::RepeatedEnumTypeTraits::MutableRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<RepeatedField<Type>*>
    - ExtensionSet*::MutableRawRepeatedField
    linkageType: ''
    returnType: RepeatedField<Type>
    signature: "RepeatedField<Type> * MutableRepeated(int number,\n                                                     FieldType
      field_type,\n                                                     bool is_packed,\n
      \                                                    ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1210,1
    - Dst: google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1212
    functionName: google::protobuf::RepeatedEnumTypeTraits::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
    - reinterpret_cast<const RepeatedField<Type>*>
    linkageType: ''
    returnType: RepeatedFieldType
    signature: RepeatedFieldType * GetDefaultRepeatedField()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterEnumExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1215,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1217
    functionName: google::protobuf::RepeatedEnumTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
    - internal_default_instance
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1235,1
    - Dst: GetMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - default_value
    argTypes:
    - int
    - ExtensionSet
    - ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1236
    functionName: google::protobuf::MessageTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<const Type&>
    - GetMessage
    linkageType: ''
    returnType: ConstType
    signature: "ConstType Get(int number, const ExtensionSet& set,\n                              ConstType
      default_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1239,1
    - Dst: ExtensionSet*::MutableMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1239,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1241
    functionName: google::protobuf::MessageTypeTraits::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::MutableMessage
    - static_cast<Type*>
    - internal_default_instance
    linkageType: ''
    returnType: MutableType
    signature: "MutableType Mutable(int number, FieldType field_type,\n                                    ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::SetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - message
    - set
    argTypes:
    - int
    - FieldType
    - MutableType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1245
    functionName: google::protobuf::MessageTypeTraits::SetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::SetAllocatedMessage
    linkageType: ''
    returnType: void
    signature: "void SetAllocated(int number, FieldType field_type,\n                                  MutableType
      message, ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExtensionSet*::UnsafeArenaSetAllocatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - message
    - set
    argTypes:
    - int
    - FieldType
    - MutableType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1250
    functionName: google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - ExtensionSet*::UnsafeArenaSetAllocatedMessage
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaSetAllocated(int number, FieldType field_type,\n                                             MutableType
      message,\n                                             ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1253,1
    - Dst: ExtensionSet*::ReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1254,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - set
    argTypes:
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1255
    functionName: google::protobuf::MessageTypeTraits::Release
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::ReleaseMessage
    - static_cast<Type*>
    - internal_default_instance
    linkageType: ''
    returnType: MutableType
    signature: "MutableType Release(int number, FieldType /* field_type */,\n                                    ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1259,1
    - Dst: ExtensionSet*::UnsafeArenaReleaseMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1260,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - set
    argTypes:
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1261
    functionName: google::protobuf::MessageTypeTraits::UnsafeArenaRelease
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 3
    functionsReached:
    - static_cast<Type*>
    - internal_default_instance
    - ExtensionSet*::UnsafeArenaReleaseMessage
    linkageType: ''
    returnType: MutableType
    signature: "MutableType UnsafeArenaRelease(int number,\n                                               FieldType
      /* field_type */,\n                                               ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1264,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1264,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1263
    functionDepth: 2
    functionLinenumber: 1263
    functionLinenumberEnd: 1267
    functionName: google::protobuf::MessageTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const Type&>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1283,1
    - Dst: GetRepeatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - ' set'
    - index
    argTypes:
    - int
    - ExtensionSet
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1284
    functionName: google::protobuf::RepeatedMessageTypeTraits::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<const Type&>
    - GetRepeatedMessage
    linkageType: ''
    returnType: ConstType
    signature: ConstType Get(int number, const ExtensionSet& set, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1286,1
    - Dst: ExtensionSet*::MutableRepeatedMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - index
    - set
    argTypes:
    - int
    - int
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1287
    functionName: google::protobuf::RepeatedMessageTypeTraits::Mutable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::MutableRepeatedMessage
    - static_cast<Type*>
    linkageType: ''
    returnType: MutableType
    signature: MutableType Mutable(int number, int index, ExtensionSet* set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Type*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1290,1
    - Dst: ExtensionSet*::AddMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1291,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - field_type
    - set
    argTypes:
    - int
    - FieldType
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1292
    functionName: google::protobuf::RepeatedMessageTypeTraits::Add
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - static_cast<Type*>
    - internal_default_instance
    - ExtensionSet*::AddMessage
    linkageType: ''
    returnType: MutableType
    signature: "MutableType Add(int number, FieldType field_type,\n                                ExtensionSet*
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const RepeatedPtrField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1300,1
    - Dst: GetRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1301,1
    - Dst: GetDefaultRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - ' set'
    argTypes:
    - int
    - ExtensionSet
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1302
    functionName: "& GetRepeated(\n      int number, const ExtensionSet& set)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const RepeatedPtrField<Type>*>
    - GetRawRepeatedField
    - GetDefaultRepeatedField
    linkageType: ''
    returnType: RepeatedPtrField<Type>
    signature: "RepeatedPtrField<Type> & GetRepeated(\n      int number, const ExtensionSet&
      set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<RepeatedPtrField<Type>*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1307,1
    - Dst: ExtensionSet*::MutableRawRepeatedField
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - number
    - field_type
    - is_packed
    - set
    argTypes:
    - int
    - FieldType
    - bool
    - ExtensionSet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1309
    functionName: google::protobuf::RepeatedMessageTypeTraits::MutableRepeated
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - ExtensionSet*::MutableRawRepeatedField
    - reinterpret_cast<RepeatedPtrField<Type>*>
    linkageType: ''
    returnType: RepeatedPtrField<Type>
    signature: "RepeatedPtrField<Type> * MutableRepeated(int number,\n                                                        FieldType
      field_type,\n                                                        bool is_packed,\n
      \                                                       ExtensionSet* set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::RegisterMessageExtension
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1314,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1314,1
    - Dst: internal_default_instance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - number
    - type
    - is_packed
    argTypes:
    - int
    - FieldType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1313
    functionDepth: 2
    functionLinenumber: 1313
    functionLinenumberEnd: 1317
    functionName: google::protobuf::RepeatedMessageTypeTraits::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - internal_default_instance
    - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
    linkageType: ''
    returnType: void
    signature: void Register(int number, FieldType type, bool is_packed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OnShutdownDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1323,1
    - Dst: RepeatedFieldType::RepeatedFieldType
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1325
    functionName: google::protobuf::RepeatedMessageTypeTraits<Type>::GetDefaultRepeatedField
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - RepeatedFieldType::RepeatedFieldType
    - OnShutdownDelete
    linkageType: ''
    returnType: typename RepeatedMessageTypeTraits<Type>::RepeatedFieldType
    signature: 'typename RepeatedMessageTypeTraits<Type>::RepeatedFieldType *

      RepeatedMessageTypeTraits<Type>::GetDefaultRepeatedField()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ExtensionIdentifier::Register
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - number
    - default_value
    argTypes:
    - int
    - typename TypeTraits::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1354
    functionName: google::protobuf::ExtensionIdentifier::ExtensionIdentifier
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::ExtensionIdentifier::Register
    linkageType: ''
    returnType: void
    signature: void ExtensionIdentifier(int number, typename TypeTraits::ConstType
      default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1355
    functionName: google::protobuf::ExtensionIdentifier::number
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int number() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1358
    functionName: google::protobuf::ExtensionIdentifier::default_value
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: typename TypeTraits::ConstType
    signature: typename TypeTraits::ConstType default_value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TypeTraits::template Register<ExtendeeType>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1362
    functionName: google::protobuf::ExtensionIdentifier::Register
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 4
    functionsReached:
    - TypeTraits::template Register<ExtendeeType>
    linkageType: ''
    returnType: void
    signature: void Register(int number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CLASSNAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1411
    functionName: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(CLASSNAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1418,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1418,1
    - Dst: default_value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1415
    functionDepth: 2
    functionLinenumber: 1415
    functionLinenumberEnd: 1420
    functionName: google::protobuf::GetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Get
    - default_value
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::ConstType
    signature: "typename _proto_TypeTraits::Singular::ConstType GetExtension(        \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1428,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1425
    functionDepth: 2
    functionLinenumber: 1425
    functionLinenumberEnd: 1430
    functionName: google::protobuf::MutableExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Mutable
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::MutableType
    signature: "typename _proto_TypeTraits::Singular::MutableType MutableExtension(
      \ \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1439,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Singular::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1440
    functionName: google::protobuf::SetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ExtensionSet
    - number
    linkageType: ''
    returnType: void
    signature: "void SetExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Singular::ConstType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::SetAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1449,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Singular::MutableType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1445
    functionDepth: 3
    functionLinenumber: 1445
    functionLinenumberEnd: 1451
    functionName: google::protobuf::SetAllocatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::SetAllocated
    - number
    linkageType: ''
    returnType: void
    signature: "void SetAllocatedExtension(                                          \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Singular::MutableType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1459,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Singular::MutableType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1461
    functionName: google::protobuf::UnsafeArenaSetAllocatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - number
    - google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
    linkageType: ''
    returnType: void
    signature: "void UnsafeArenaSetAllocatedExtension(                               \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Singular::MutableType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Release
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1468,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1465
    functionDepth: 2
    functionLinenumber: 1465
    functionLinenumberEnd: 1470
    functionName: google::protobuf::ReleaseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - number
    - google::protobuf::internal::ArenaStringPtr::Release
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::MutableType
    signature: "typename _proto_TypeTraits::Singular::MutableType ReleaseExtension(
      \ \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MessageTypeTraits::UnsafeArenaRelease
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1478,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1480
    functionName: google::protobuf::UnsafeArenaReleaseExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::MessageTypeTraits::UnsafeArenaRelease
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Singular::MutableType
    signature: "typename _proto_TypeTraits::Singular::MutableType UnsafeArenaReleaseExtension(
      \                                               \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<
      \          \\\n          CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>&
      id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::unigram::BoundedPriorityQueue::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1490,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - index
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1491
    functionName: google::protobuf::GetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::unigram::BoundedPriorityQueue::Get
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::ConstType
    signature: "typename _proto_TypeTraits::Repeated::ConstType GetExtension(        \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     int index) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1500,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - index
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1496
    functionDepth: 2
    functionLinenumber: 1496
    functionLinenumberEnd: 1501
    functionName: google::protobuf::MutableExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Mutable
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::MutableType
    signature: "typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
      \ \\\n      const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     int index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ExtensionSet::ExtensionSet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1510,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' id'
    - index
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - int
    - typename _proto_TypeTraits::Repeated::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1511
    functionName: google::protobuf::SetExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ExtensionSet::ExtensionSet
    - number
    linkageType: ''
    returnType: void
    signature: "void SetExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     int index, typename _proto_TypeTraits::Repeated::ConstType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::ReservoirSampler::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1519,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1520
    functionName: google::protobuf::AddExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::random::ReservoirSampler::Add
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::MutableType
    signature: "typename _proto_TypeTraits::Repeated::MutableType AddExtension(      \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sentencepiece::random::ReservoirSampler::Add
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1529,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' id'
    - value
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    - typename _proto_TypeTraits::Repeated::ConstType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1525
    functionDepth: 1
    functionLinenumber: 1525
    functionLinenumberEnd: 1531
    functionName: google::protobuf::AddExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - sentencepiece::random::ReservoirSampler::Add
    - number
    linkageType: ''
    returnType: void
    signature: "void AddExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id,         \\\n
      \     typename _proto_TypeTraits::Repeated::ConstType value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetRepeated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1540,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1541
    functionName: google::protobuf::GetRepeatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetRepeated
    - number
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::RepeatedFieldType
    signature: "typename _proto_TypeTraits::Repeated::RepeatedFieldType &       \\\n
      \ GetRepeatedExtension(                                                       \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::MutableRepeated
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1550,1
    - Dst: number
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' id'
    argTypes:
    - "::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n          CLASSNAME,
      _proto_TypeTraits, _field_type, _is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1552
    functionName: google::protobuf::MutableRepeatedExtension
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - number
    - google::protobuf::MutableRepeated
    linkageType: ''
    returnType: typename _proto_TypeTraits::Repeated::RepeatedFieldType
    signature: "typename _proto_TypeTraits::Repeated::RepeatedFieldType *             \\\n
      \ MutableRepeatedExtension(                                                   \\\n
      \     const ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier<           \\\n
      \         CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::StrongReference
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' extension'
    argTypes:
    - "google::protobuf::internal::ExtensionIdentifier<\n        ExtendeeType, TypeTraitsType,
      field_type, is_packed>"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1584
    functionName: google::LinkExtensionReflection
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::StrongReference
    linkageType: ''
    returnType: void
    signature: "void LinkExtensionReflection(\n    const google::protobuf::internal::ExtensionIdentifier<\n
      \       ExtendeeType, TypeTraitsType, field_type, is_packed>& extension)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::LazyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::atomic::load
    - Init
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyString
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - Init
    - load
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void TaggedPtr(const std::string* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:95,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::TaggedPtr::SetTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::TaggedPtr::Set
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: void
    signature: void SetTagged(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::TaggedPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Set(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::TaggedPtr::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: T
    signature: T * Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::TaggedPtr::IsTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: bool
    signature: bool IsTagged() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::TaggedPtr::UnsafeGet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * UnsafeGet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::TaggedPtr::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::TaggedPtr::as_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 3
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t as_int() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 299
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - UnsafeGet
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT ArenaStringPtr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '& Get() const PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: std::string
    signature: std::string & Get() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: std::string
    signature: std::string * GetPointer() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TaggedPtr<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::UnsafeSetTaggedPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsafeSetTaggedPointer(TaggedPtr<std::string> value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: google::protobuf::internal::IsDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - UnsafeGet
    linkageType: ''
    returnType: bool
    signature: bool IsDefault(const std::string* default_value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: google::protobuf::internal::IsDonatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsDonatedString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::UnsafeSetDefault(const std::string* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: ArenaStringPtr*::IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:324,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:326,1
    - Dst: ArenaStringPtr*::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:327,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:329,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - other
    - default_value
    - arena
    argTypes:
    - ArenaStringPtr*
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 334
    functionName: google::protobuf::internal::ArenaStringPtr::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - ArenaStringPtr*::IsDefault
    - IsDefault
    - ArenaStringPtr*::Mutable
    - swap
    - std::string*::swap
    - google::protobuf::internal::ArenaStringPtr::Mutable
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Swap(ArenaStringPtr* other,\n                                 const
      std::string* default_value,\n                                 Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearNonDefaultToEmpty()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:347,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:348,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:349,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 354
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoArenaNoDefault(\n    const
      std::string* default_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:357,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: google::protobuf::internal::ArenaStringPtr::DestroyNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::DestroyNoArena(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: IsTagged
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 74
    functionsReached:
    - UnsafeGet
    - GOOGLE_DCHECK
    - IsTagged
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::UnsafeMutablePointer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::LazyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::atomic::load
    - Init
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyString
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - Init
    - load
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void TaggedPtr(const std::string* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:95,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::TaggedPtr::SetTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::TaggedPtr::Set
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: void
    signature: void SetTagged(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::TaggedPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Set(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::TaggedPtr::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: T
    signature: T * Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::TaggedPtr::IsTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: bool
    signature: bool IsTagged() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::TaggedPtr::UnsafeGet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * UnsafeGet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::TaggedPtr::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::TaggedPtr::as_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 6
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t as_int() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 299
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - UnsafeGet
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT ArenaStringPtr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '& Get() const PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Get
    linkageType: ''
    returnType: std::string
    signature: std::string & Get() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: std::string
    signature: std::string * GetPointer() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TaggedPtr<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::UnsafeSetTaggedPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsafeSetTaggedPointer(TaggedPtr<std::string> value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: google::protobuf::internal::IsDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - UnsafeGet
    linkageType: ''
    returnType: bool
    signature: bool IsDefault(const std::string* default_value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: google::protobuf::internal::IsDonatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsDonatedString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::UnsafeSetDefault(const std::string* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: ArenaStringPtr*::IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:324,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:326,1
    - Dst: ArenaStringPtr*::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:327,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:329,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - other
    - default_value
    - arena
    argTypes:
    - ArenaStringPtr*
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 334
    functionName: google::protobuf::internal::ArenaStringPtr::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - ArenaStringPtr*::IsDefault
    - IsDefault
    - ArenaStringPtr*::Mutable
    - swap
    - std::string*::swap
    - google::protobuf::internal::ArenaStringPtr::Mutable
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Swap(ArenaStringPtr* other,\n                                 const
      std::string* default_value,\n                                 Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearNonDefaultToEmpty()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:347,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:348,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:349,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 354
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoArenaNoDefault(\n    const
      std::string* default_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:357,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: google::protobuf::internal::ArenaStringPtr::DestroyNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::DestroyNoArena(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: IsTagged
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 76
    functionsReached:
    - UnsafeGet
    - GOOGLE_DCHECK
    - IsTagged
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::UnsafeMutablePointer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::LazyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::atomic::load
    - Init
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyString
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - Init
    - load
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void TaggedPtr(const std::string* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:95,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::TaggedPtr::SetTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::TaggedPtr::Set
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: void
    signature: void SetTagged(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::TaggedPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Set(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::TaggedPtr::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: T
    signature: T * Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::TaggedPtr::IsTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: bool
    signature: bool IsTagged() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::TaggedPtr::UnsafeGet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * UnsafeGet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::TaggedPtr::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::TaggedPtr::as_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 9
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t as_int() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 299
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - UnsafeGet
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT ArenaStringPtr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '& Get() const PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & Get() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: std::string
    signature: std::string * GetPointer() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TaggedPtr<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::UnsafeSetTaggedPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsafeSetTaggedPointer(TaggedPtr<std::string> value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: google::protobuf::internal::IsDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - UnsafeGet
    linkageType: ''
    returnType: bool
    signature: bool IsDefault(const std::string* default_value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: google::protobuf::internal::IsDonatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsDonatedString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::UnsafeSetDefault(const std::string* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: ArenaStringPtr*::IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:324,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:326,1
    - Dst: ArenaStringPtr*::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:327,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:329,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - other
    - default_value
    - arena
    argTypes:
    - ArenaStringPtr*
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 334
    functionName: google::protobuf::internal::ArenaStringPtr::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - ArenaStringPtr*::IsDefault
    - IsDefault
    - ArenaStringPtr*::Mutable
    - swap
    - std::string*::swap
    - google::protobuf::internal::ArenaStringPtr::Mutable
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Swap(ArenaStringPtr* other,\n                                 const
      std::string* default_value,\n                                 Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearNonDefaultToEmpty()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:347,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:348,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:349,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 354
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoArenaNoDefault(\n    const
      std::string* default_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:357,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: google::protobuf::internal::ArenaStringPtr::DestroyNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::DestroyNoArena(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: IsTagged
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 78
    functionsReached:
    - UnsafeGet
    - GOOGLE_DCHECK
    - IsTagged
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::UnsafeMutablePointer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::LazyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::atomic::load
    - Init
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyString
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - Init
    - load
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void TaggedPtr(const std::string* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:95,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::TaggedPtr::SetTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::TaggedPtr::Set
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: void
    signature: void SetTagged(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::TaggedPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Set(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::TaggedPtr::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: T
    signature: T * Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::TaggedPtr::IsTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: bool
    signature: bool IsTagged() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::TaggedPtr::UnsafeGet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * UnsafeGet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::TaggedPtr::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::TaggedPtr::as_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 12
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t as_int() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 299
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - UnsafeGet
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT ArenaStringPtr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '& Get() const PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & Get() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: std::string
    signature: std::string * GetPointer() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TaggedPtr<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::UnsafeSetTaggedPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsafeSetTaggedPointer(TaggedPtr<std::string> value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: google::protobuf::internal::IsDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - UnsafeGet
    linkageType: ''
    returnType: bool
    signature: bool IsDefault(const std::string* default_value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: google::protobuf::internal::IsDonatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsDonatedString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::UnsafeSetDefault(const std::string* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: ArenaStringPtr*::IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:324,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:326,1
    - Dst: ArenaStringPtr*::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:327,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:329,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - other
    - default_value
    - arena
    argTypes:
    - ArenaStringPtr*
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 334
    functionName: google::protobuf::internal::ArenaStringPtr::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - ArenaStringPtr*::IsDefault
    - IsDefault
    - ArenaStringPtr*::Mutable
    - swap
    - std::string*::swap
    - google::protobuf::internal::ArenaStringPtr::Mutable
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Swap(ArenaStringPtr* other,\n                                 const
      std::string* default_value,\n                                 Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearNonDefaultToEmpty()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:347,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:348,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:349,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 354
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoArenaNoDefault(\n    const
      std::string* default_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:357,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: google::protobuf::internal::ArenaStringPtr::DestroyNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::DestroyNoArena(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: IsTagged
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 80
    functionsReached:
    - UnsafeGet
    - GOOGLE_DCHECK
    - IsTagged
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::UnsafeMutablePointer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::LazyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::atomic::load
    - Init
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyString
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - Init
    - load
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void TaggedPtr(const std::string* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:95,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::TaggedPtr::SetTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::TaggedPtr::Set
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: void
    signature: void SetTagged(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::TaggedPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Set(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::TaggedPtr::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: T
    signature: T * Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::TaggedPtr::IsTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: bool
    signature: bool IsTagged() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::TaggedPtr::UnsafeGet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * UnsafeGet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::TaggedPtr::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::TaggedPtr::as_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 15
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t as_int() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 299
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - UnsafeGet
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT ArenaStringPtr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '& Get() const PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & Get() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: std::string
    signature: std::string * GetPointer() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TaggedPtr<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::UnsafeSetTaggedPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsafeSetTaggedPointer(TaggedPtr<std::string> value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: google::protobuf::internal::IsDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - UnsafeGet
    linkageType: ''
    returnType: bool
    signature: bool IsDefault(const std::string* default_value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: google::protobuf::internal::IsDonatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsDonatedString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::UnsafeSetDefault(const std::string* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: ArenaStringPtr*::IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:324,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:326,1
    - Dst: ArenaStringPtr*::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:327,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:329,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - other
    - default_value
    - arena
    argTypes:
    - ArenaStringPtr*
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 334
    functionName: google::protobuf::internal::ArenaStringPtr::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - ArenaStringPtr*::IsDefault
    - IsDefault
    - ArenaStringPtr*::Mutable
    - swap
    - std::string*::swap
    - google::protobuf::internal::ArenaStringPtr::Mutable
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Swap(ArenaStringPtr* other,\n                                 const
      std::string* default_value,\n                                 Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearNonDefaultToEmpty()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:347,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:348,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:349,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 354
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoArenaNoDefault(\n    const
      std::string* default_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:357,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: google::protobuf::internal::ArenaStringPtr::DestroyNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::DestroyNoArena(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: IsTagged
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 82
    functionsReached:
    - UnsafeGet
    - GOOGLE_DCHECK
    - IsTagged
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::UnsafeMutablePointer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::LazyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::atomic::load
    - Init
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyString
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - Init
    - load
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void TaggedPtr(const std::string* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:95,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::TaggedPtr::SetTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::TaggedPtr::Set
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: void
    signature: void SetTagged(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::TaggedPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Set(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::TaggedPtr::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: T
    signature: T * Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::TaggedPtr::IsTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: bool
    signature: bool IsTagged() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::TaggedPtr::UnsafeGet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * UnsafeGet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::TaggedPtr::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::TaggedPtr::as_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 18
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t as_int() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 299
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - UnsafeGet
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT ArenaStringPtr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '& Get() const PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & Get() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: std::string
    signature: std::string * GetPointer() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TaggedPtr<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::UnsafeSetTaggedPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsafeSetTaggedPointer(TaggedPtr<std::string> value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: google::protobuf::internal::IsDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - UnsafeGet
    linkageType: ''
    returnType: bool
    signature: bool IsDefault(const std::string* default_value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: google::protobuf::internal::IsDonatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsDonatedString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::UnsafeSetDefault(const std::string* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: ArenaStringPtr*::IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:324,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:326,1
    - Dst: ArenaStringPtr*::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:327,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:329,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - other
    - default_value
    - arena
    argTypes:
    - ArenaStringPtr*
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 334
    functionName: google::protobuf::internal::ArenaStringPtr::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - ArenaStringPtr*::IsDefault
    - IsDefault
    - ArenaStringPtr*::Mutable
    - swap
    - std::string*::swap
    - google::protobuf::internal::ArenaStringPtr::Mutable
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Swap(ArenaStringPtr* other,\n                                 const
      std::string* default_value,\n                                 Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearNonDefaultToEmpty()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:347,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:348,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:349,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 354
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoArenaNoDefault(\n    const
      std::string* default_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:357,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: google::protobuf::internal::ArenaStringPtr::DestroyNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::DestroyNoArena(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: IsTagged
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 84
    functionsReached:
    - UnsafeGet
    - GOOGLE_DCHECK
    - IsTagged
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::UnsafeMutablePointer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::LazyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::atomic::load
    - Init
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyString
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - Init
    - load
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void TaggedPtr(const std::string* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:95,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::TaggedPtr::SetTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::TaggedPtr::Set
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: void
    signature: void SetTagged(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::TaggedPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Set(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::TaggedPtr::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: T
    signature: T * Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::TaggedPtr::IsTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: bool
    signature: bool IsTagged() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::TaggedPtr::UnsafeGet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * UnsafeGet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::TaggedPtr::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::TaggedPtr::as_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 21
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t as_int() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 299
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - UnsafeGet
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT ArenaStringPtr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '& Get() const PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & Get() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: std::string
    signature: std::string * GetPointer() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TaggedPtr<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::UnsafeSetTaggedPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsafeSetTaggedPointer(TaggedPtr<std::string> value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: google::protobuf::internal::IsDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - UnsafeGet
    linkageType: ''
    returnType: bool
    signature: bool IsDefault(const std::string* default_value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: google::protobuf::internal::IsDonatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsDonatedString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::UnsafeSetDefault(const std::string* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: ArenaStringPtr*::IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:324,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:326,1
    - Dst: ArenaStringPtr*::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:327,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:329,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - other
    - default_value
    - arena
    argTypes:
    - ArenaStringPtr*
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 334
    functionName: google::protobuf::internal::ArenaStringPtr::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - ArenaStringPtr*::IsDefault
    - IsDefault
    - ArenaStringPtr*::Mutable
    - swap
    - std::string*::swap
    - google::protobuf::internal::ArenaStringPtr::Mutable
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Swap(ArenaStringPtr* other,\n                                 const
      std::string* default_value,\n                                 Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearNonDefaultToEmpty()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:347,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:348,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:349,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 354
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoArenaNoDefault(\n    const
      std::string* default_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:357,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: google::protobuf::internal::ArenaStringPtr::DestroyNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::DestroyNoArena(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: IsTagged
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 86
    functionsReached:
    - UnsafeGet
    - GOOGLE_DCHECK
    - IsTagged
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::UnsafeMutablePointer()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::atomic::load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 85
    functionName: google::protobuf::internal::LazyString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::atomic::load
    - Init
    - PROTOBUF_PREDICT_FALSE
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LazyString
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:76,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    - Dst: Init
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: google::protobuf::internal::get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - Init
    - load
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TaggedPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: google::protobuf::internal::TaggedPtr::TaggedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void TaggedPtr(const std::string* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:95,1
    - Dst: reinterpret_cast<void*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::TaggedPtr::SetTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<void*>
    - google::protobuf::internal::TaggedPtr::Set
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: void
    signature: void SetTagged(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: google::protobuf::internal::TaggedPtr::Set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Set(T* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::TaggedPtr::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<T*>
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: T
    signature: T * Get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::TaggedPtr::as_int
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::TaggedPtr::IsTagged
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::TaggedPtr::as_int
    linkageType: ''
    returnType: bool
    signature: bool IsTagged() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::internal::TaggedPtr::UnsafeGet
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * UnsafeGet() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: google::protobuf::internal::TaggedPtr::IsNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNull()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uintptr_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: google::protobuf::internal::TaggedPtr::as_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 24
    functionsReached:
    - reinterpret_cast<uintptr_t>
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t as_int() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 299
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    - UnsafeGet
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT ArenaStringPtr
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: google::protobuf::internal::ArenaStringPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: '& Get() const PROTOBUF_ALWAYS_INLINE'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: std::string
    signature: std::string & Get() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::Get
    linkageType: ''
    returnType: std::string
    signature: std::string * GetPointer() const PROTOBUF_ALWAYS_INLINE
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - TaggedPtr<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: google::protobuf::internal::UnsafeSetTaggedPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsafeSetTaggedPointer(TaggedPtr<std::string> value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: google::protobuf::internal::IsDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - UnsafeGet
    linkageType: ''
    returnType: bool
    signature: bool IsDefault(const std::string* default_value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 290
    functionName: google::protobuf::internal::IsDonatedString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsDonatedString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    - Dst: const_cast<std::string*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::ArenaStringPtr::Set
    - const_cast<std::string*>
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::UnsafeSetDefault(const std::string* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: ArenaStringPtr*::IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:317,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:324,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:326,1
    - Dst: ArenaStringPtr*::Mutable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:327,1
    - Dst: std::string*::swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:329,1
    - Dst: swap
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - other
    - default_value
    - arena
    argTypes:
    - ArenaStringPtr*
    - std::string*
    - Arena*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 334
    functionName: google::protobuf::internal::ArenaStringPtr::Swap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - ArenaStringPtr*::IsDefault
    - IsDefault
    - ArenaStringPtr*::Mutable
    - swap
    - std::string*::swap
    - google::protobuf::internal::ArenaStringPtr::Mutable
    linkageType: ''
    returnType: void
    signature: "void ArenaStringPtr::Swap(ArenaStringPtr* other,\n                                 const
      std::string* default_value,\n                                 Arena* arena)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - Get
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::ClearNonDefaultToEmpty()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:347,1
    - Dst: std::string::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:348,1
    - Dst: google::protobuf::internal::ArenaStringPtr::Set
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:349,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 354
    functionName: google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - std::string::string
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    - google::protobuf::internal::ArenaStringPtr::Set
    linkageType: ''
    returnType: std::string
    signature: "std::string * ArenaStringPtr::MutableNoArenaNoDefault(\n    const
      std::string* default_value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsDefault
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:357,1
    - Dst: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - default_value
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: google::protobuf::internal::ArenaStringPtr::DestroyNoArena
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 0
    functionsReached:
    - IsDefault
    - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    linkageType: ''
    returnType: void
    signature: void ArenaStringPtr::DestroyNoArena(const std::string* default_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: IsTagged
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:363,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:364,1
    - Dst: UnsafeGet
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    functionUses: 88
    functionsReached:
    - UnsafeGet
    - GOOGLE_DCHECK
    - IsTagged
    linkageType: ''
    returnType: std::string
    signature: std::string * ArenaStringPtr::UnsafeMutablePointer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:129,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 180
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 1
    functionsReached:
    - google::protobuf::io::ZeroCopyInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: ~ZeroCopyInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyInputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:186,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 1
    functionsReached:
    - google::protobuf::io::ZeroCopyOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~ZeroCopyOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:129,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 180
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::io::ZeroCopyInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: ~ZeroCopyInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyInputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:186,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::io::ZeroCopyOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~ZeroCopyOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:129,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 180
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 3
    functionsReached:
    - google::protobuf::io::ZeroCopyInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: ~ZeroCopyInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyInputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:186,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 3
    functionsReached:
    - google::protobuf::io::ZeroCopyOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~ZeroCopyOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:129,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 180
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::io::ZeroCopyInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: ~ZeroCopyInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyInputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:186,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::io::ZeroCopyOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~ZeroCopyOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:129,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 180
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 5
    functionsReached:
    - google::protobuf::io::ZeroCopyInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: ~ZeroCopyInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyInputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:186,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 5
    functionsReached:
    - google::protobuf::io::ZeroCopyOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~ZeroCopyOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:129,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 180
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::io::ZeroCopyInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: ~ZeroCopyInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyInputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:186,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::io::ZeroCopyOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~ZeroCopyOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:129,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 180
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 7
    functionsReached:
    - google::protobuf::io::ZeroCopyInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: ~ZeroCopyInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyInputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:186,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 7
    functionsReached:
    - google::protobuf::io::ZeroCopyOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~ZeroCopyOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:129,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 180
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::ZeroCopyInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: ~ZeroCopyInputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyInputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::ZeroCopyOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:186,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 245
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::ZeroCopyOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~ZeroCopyOutputStream()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyOutputStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:394,1
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 644
    functionName: google::protobuf::io::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - ReadTagNoLastTag
    - google::protobuf::io::SetTotalBytesLimit
    - PROTOBUF_DEPRECATED_MSG
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: google::protobuf::io::ReadTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE ReadTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cutoff
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE std::pair<uint32, bool> ReadTagWithCutoff(uint32
      cutoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: google::protobuf::io::SetConsumed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetConsumed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::io::SetTotalBytesLimit
    linkageType: ''
    returnType: void
    signature: void SetTotalBytesLimit(int total_bytes_limit, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: google::protobuf::io::RecursionBudget
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RecursionBudget()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: google::protobuf::io::GetDefaultRecursionLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetDefaultRecursionLimit()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:946,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 140
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 956
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::EnsureSpace
    - google::protobuf::io::WriteTag
    - encode
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::UnsafeVarint
    - static_cast<uint8*>
    - google::protobuf::io::TagSize
    - size
    - WriteAliasedRaw
    - google::protobuf::io::WriteVarintPacked
    - static_cast<uint32>
    - WriteRawLittleEndian<element_size>
    - google::protobuf::io::WriteString
    - static_cast<uint8>
    - WriteRawFallback
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - SetInitialBuffer
    - google::protobuf::io::WriteRaw
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - GOOGLE_DCHECK
    - EnsureSpaceFallback
    - data
    - google::protobuf::io::WriteStringMaybeAliased
    - WriteStringOutline
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - deterministic
    - pp
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 663
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(ZeroCopyOutputStream* stream, bool deterministic,\n
      \                     uint8** pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - deterministic
    argTypes:
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream(void* data, int size, bool deterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - size
    - stream
    - deterministic
    - pp
    argTypes:
    - void*
    - int
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(void* data, int size, ZeroCopyOutputStream*
      stream,\n                      bool deterministic, uint8** pp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::io::EnsureSpace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 1
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - EnsureSpaceFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * EnsureSpace(uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: google::protobuf::io::WriteRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 1
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - WriteRawFallback
    - std::memcpy
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRaw(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: google::protobuf::io::WriteRawMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteAliasedRaw
    - google::protobuf::io::WriteRaw
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRawMaybeAliased(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 725
    functionName: google::protobuf::io::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 1
    functionsReached:
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - size
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteStringMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 728
    functionName: google::protobuf::io::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteStringMaybeAliased
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytesMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 1
    functionsReached:
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - WriteStringOutline
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteString(uint32 num, const T& s,\n                                            uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: google::protobuf::io::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteString
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytes(uint32 num, const T& s, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: google::protobuf::io::WriteInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt32Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: google::protobuf::io::WriteUInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: google::protobuf::io::WriteSInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: google::protobuf::io::WriteInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt64Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: google::protobuf::io::WriteUInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: google::protobuf::io::WriteSInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::io::WriteEnumPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteEnumPacked(int num, const T& r, int
      size,\n                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' r'
    - ptr
    argTypes:
    - int
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: google::protobuf::io::WriteFixedPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - WriteRawLittleEndian<element_size>
    - data
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteFixedPacked(int num, const T& r,\n                                                 uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: google::protobuf::io::HadError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HadError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: google::protobuf::io::SetSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSerializationDeterministic(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: google::protobuf::io::IsSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSerializationDeterministic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: google::protobuf::io::GetSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: std::ptrdiff_t
    signature: std::ptrdiff_t GetSize(uint8* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 847
    functionName: google::protobuf::io::Error
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 * Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 855
    functionName: google::protobuf::io::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TagSize(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - wt
    - ptr
    argTypes:
    - uint32
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: google::protobuf::io::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 1
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * WriteTag(uint32 num, uint32 wt, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - size
    - ptr
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: google::protobuf::io::WriteLengthDelim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::WriteTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteLengthDelim(int num, uint32 size,\n
      \                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - num
    - ' r'
    - size
    - ptr
    - ' encode'
    argTypes:
    - int
    - T
    - int
    - uint8*
    - E
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 877
    functionDepth: 3
    functionLinenumber: 877
    functionLinenumberEnd: 888
    functionName: google::protobuf::io::WriteVarintPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - data
    - encode
    - google::protobuf::io::WriteLengthDelim
    - google::protobuf::io::UnsafeVarint
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteVarintPacked(int num, const T& r, int
      size,\n                                                  uint8* ptr, const E&
      encode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 890
    functionName: google::protobuf::io::Encode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 Encode32(uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 891
    functionName: google::protobuf::io::Encode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Encode64(uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: google::protobuf::io::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 ZigZagEncode32(int32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: google::protobuf::io::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 ZigZagEncode64(int64 v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 921
    functionName: google::protobuf::io::UnsafeVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 5
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * UnsafeVarint(T value, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 932
    functionName: google::protobuf::io::UnsafeWriteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * UnsafeWriteSize(uint32 value,\n                                                       uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:394,1
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 644
    functionName: google::protobuf::io::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - ReadTagNoLastTag
    - google::protobuf::io::SetTotalBytesLimit
    - PROTOBUF_DEPRECATED_MSG
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: google::protobuf::io::ReadTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE ReadTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cutoff
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE std::pair<uint32, bool> ReadTagWithCutoff(uint32
      cutoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: google::protobuf::io::SetConsumed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetConsumed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::io::SetTotalBytesLimit
    linkageType: ''
    returnType: void
    signature: void SetTotalBytesLimit(int total_bytes_limit, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: google::protobuf::io::RecursionBudget
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RecursionBudget()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: google::protobuf::io::GetDefaultRecursionLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetDefaultRecursionLimit()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:946,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 140
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 956
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::EnsureSpace
    - google::protobuf::io::WriteTag
    - encode
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::UnsafeVarint
    - static_cast<uint8*>
    - google::protobuf::io::TagSize
    - size
    - WriteAliasedRaw
    - google::protobuf::io::WriteVarintPacked
    - static_cast<uint32>
    - WriteRawLittleEndian<element_size>
    - google::protobuf::io::WriteString
    - static_cast<uint8>
    - WriteRawFallback
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - SetInitialBuffer
    - google::protobuf::io::WriteRaw
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - GOOGLE_DCHECK
    - EnsureSpaceFallback
    - data
    - google::protobuf::io::WriteStringMaybeAliased
    - WriteStringOutline
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - deterministic
    - pp
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 663
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(ZeroCopyOutputStream* stream, bool deterministic,\n
      \                     uint8** pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - deterministic
    argTypes:
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream(void* data, int size, bool deterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - size
    - stream
    - deterministic
    - pp
    argTypes:
    - void*
    - int
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(void* data, int size, ZeroCopyOutputStream*
      stream,\n                      bool deterministic, uint8** pp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::io::EnsureSpace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - EnsureSpaceFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * EnsureSpace(uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: google::protobuf::io::WriteRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 3
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - WriteRawFallback
    - std::memcpy
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRaw(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: google::protobuf::io::WriteRawMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteAliasedRaw
    - google::protobuf::io::WriteRaw
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRawMaybeAliased(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 725
    functionName: google::protobuf::io::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 3
    functionsReached:
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - size
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteStringMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 728
    functionName: google::protobuf::io::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteStringMaybeAliased
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytesMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 3
    functionsReached:
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - WriteStringOutline
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteString(uint32 num, const T& s,\n                                            uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: google::protobuf::io::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteString
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytes(uint32 num, const T& s, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: google::protobuf::io::WriteInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt32Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 4
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: google::protobuf::io::WriteUInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 4
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: google::protobuf::io::WriteSInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 4
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: google::protobuf::io::WriteInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt64Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 4
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: google::protobuf::io::WriteUInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 4
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: google::protobuf::io::WriteSInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 4
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::io::WriteEnumPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteEnumPacked(int num, const T& r, int
      size,\n                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' r'
    - ptr
    argTypes:
    - int
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: google::protobuf::io::WriteFixedPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - WriteRawLittleEndian<element_size>
    - data
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteFixedPacked(int num, const T& r,\n                                                 uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: google::protobuf::io::HadError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HadError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: google::protobuf::io::SetSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSerializationDeterministic(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: google::protobuf::io::IsSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSerializationDeterministic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: google::protobuf::io::GetSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: std::ptrdiff_t
    signature: std::ptrdiff_t GetSize(uint8* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 847
    functionName: google::protobuf::io::Error
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 * Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 855
    functionName: google::protobuf::io::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TagSize(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - wt
    - ptr
    argTypes:
    - uint32
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: google::protobuf::io::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 3
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * WriteTag(uint32 num, uint32 wt, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - size
    - ptr
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: google::protobuf::io::WriteLengthDelim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 5
    functionsReached:
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::WriteTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteLengthDelim(int num, uint32 size,\n
      \                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - num
    - ' r'
    - size
    - ptr
    - ' encode'
    argTypes:
    - int
    - T
    - int
    - uint8*
    - E
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 877
    functionDepth: 3
    functionLinenumber: 877
    functionLinenumberEnd: 888
    functionName: google::protobuf::io::WriteVarintPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - data
    - encode
    - google::protobuf::io::WriteLengthDelim
    - google::protobuf::io::UnsafeVarint
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteVarintPacked(int num, const T& r, int
      size,\n                                                  uint8* ptr, const E&
      encode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 890
    functionName: google::protobuf::io::Encode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 Encode32(uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 891
    functionName: google::protobuf::io::Encode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Encode64(uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: google::protobuf::io::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 ZigZagEncode32(int32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: google::protobuf::io::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 ZigZagEncode64(int64 v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 921
    functionName: google::protobuf::io::UnsafeVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 10
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * UnsafeVarint(T value, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 932
    functionName: google::protobuf::io::UnsafeWriteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * UnsafeWriteSize(uint32 value,\n                                                       uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 978
    functionName: "* EpsCopyOutputStream::WriteRawLittleEndian<1>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian<1>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:984,1
    - Dst: WriteRawLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 988
    functionName: "* EpsCopyOutputStream::WriteRawLittleEndian<4>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRawLittleEndian32
    - WriteRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian<4>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:994,1
    - Dst: WriteRawLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 998
    functionName: "* EpsCopyOutputStream::WriteRawLittleEndian<8>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRaw
    - WriteRawLittleEndian64
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian<8>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushAndResetBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1061,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1062,1
    - Dst: google::protobuf::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1063,1
    - Dst: google::protobuf::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1071,1
    - Dst: google::protobuf::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1079,1
    - Dst: google::protobuf::GetDirectBufferPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1090,1
    - Dst: google::protobuf::GetDirectBufferForNBytesAndAdvance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1101,1
    - Dst: google::protobuf::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1106,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1129,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1136,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    - Dst: google::protobuf::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    - Dst: google::protobuf::EnableAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1202,1
    - Dst: google::protobuf::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1226,1
    - Dst: google::protobuf::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1231,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1235,1
    - Dst: std::atomic::store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1261,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1264
    functionName: google::protobuf::CodedOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteLittleEndian32ToArray
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::Cur
    - google::protobuf::EnableAliasing
    - FlushAndResetBuffer
    - google::protobuf::IsSerializationDeterministic
    - google::protobuf::SetSerializationDeterministic
    - std::atomic::store
    - google::protobuf::WriteRaw
    - google::protobuf::Skip
    - google::protobuf::Trim
    - google::protobuf::ByteCount
    - google::protobuf::GetDirectBufferPointer
    - static_cast<int>
    - GOOGLE_DCHECK
    - google::protobuf::GetDirectBufferForNBytesAndAdvance
    - WriteLittleEndian64ToArray
    - google::protobuf::HadError
    - EnsureSpace
    - load
    - google::protobuf::SetCur
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushAndResetBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1061,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1062,1
    - Dst: google::protobuf::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1064
    functionName: google::protobuf::HadError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - FlushAndResetBuffer
    - GOOGLE_DCHECK
    - google::protobuf::HadError
    linkageType: ''
    returnType: bool
    signature: bool HadError()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1071
    functionName: google::protobuf::Trim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Trim
    linkageType: ''
    returnType: void
    signature: void Trim()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1079
    functionName: google::protobuf::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Skip
    linkageType: ''
    returnType: bool
    signature: bool Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetDirectBufferPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: google::protobuf::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::GetDirectBufferPointer
    linkageType: ''
    returnType: bool
    signature: bool GetDirectBufferPointer(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetDirectBufferForNBytesAndAdvance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1102
    functionName: google::protobuf::GetDirectBufferForNBytesAndAdvance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::GetDirectBufferForNBytesAndAdvance
    linkageType: ''
    returnType: uint8
    signature: uint8 * GetDirectBufferForNBytesAndAdvance(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1107
    functionName: google::protobuf::WriteRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::WriteRaw
    linkageType: ''
    returnType: void
    signature: void WriteRaw(const void* buffer, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1129,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1131
    functionName: google::protobuf::WriteLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteLittleEndian32ToArray
    - EnsureSpace
    - google::protobuf::Cur
    - google::protobuf::SetCur
    linkageType: ''
    returnType: void
    signature: void WriteLittleEndian32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1136,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    functionName: google::protobuf::WriteLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - EnsureSpace
    - WriteLittleEndian64ToArray
    - google::protobuf::SetCur
    - google::protobuf::Cur
    linkageType: ''
    returnType: void
    signature: void WriteLittleEndian64(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    - Dst: google::protobuf::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1191
    functionName: google::protobuf::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::ByteCount
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::EnableAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1202
    functionName: google::protobuf::EnableAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::EnableAliasing
    linkageType: ''
    returnType: void
    signature: void EnableAliasing(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1227
    functionName: google::protobuf::SetSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::SetSerializationDeterministic
    linkageType: ''
    returnType: void
    signature: void SetSerializationDeterministic(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    functionName: google::protobuf::IsSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::IsSerializationDeterministic
    linkageType: ''
    returnType: bool
    signature: bool IsSerializationDeterministic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1237
    functionName: google::protobuf::IsDefaultSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 32
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool IsDefaultSerializationDeterministic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1242
    functionName: google::protobuf::Cur
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 * Cur() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1243
    functionName: google::protobuf::SetCur
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCur(uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1244
    functionName: google::protobuf::EpsCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: EpsCopyOutputStream
    signature: EpsCopyOutputStream * EpsCopy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1262
    functionName: google::protobuf::SetDefaultSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void SetDefaultSerializationDeterministic()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1272,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1276,1
    - Dst: ReadVarint32Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1280,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1283
    functionName: google::protobuf::CodedInputStream::ReadVarint32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - ReadVarint32Fallback
    - static_cast<uint32>
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint32(uint32* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1286,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1288,1
    - Dst: ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1285
    functionDepth: 1
    functionLinenumber: 1285
    functionLinenumberEnd: 1294
    functionName: google::protobuf::CodedInputStream::ReadVarint64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadVarint64Fallback
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint64(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1297,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1301,1
    - Dst: ReadVarintSizeAsIntFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1307
    functionName: google::protobuf::CodedInputStream::ReadVarintSizeAsInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - ReadVarintSizeAsIntFallback
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarintSizeAsInt(int* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1313,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1316,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1317,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1318,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1322
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached:
    - static_cast<uint32>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedInputStream::ReadLittleEndian32FromArray(\n    const
      uint8* buffer, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1327,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1330,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1331,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1332,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1333,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1334,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1335,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1336,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1337,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1338,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1341
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached:
    - static_cast<uint64>
    - static_cast<uint32>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedInputStream::ReadLittleEndian64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1345,1
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1345,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1345,1
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1346,1
    - Dst: ReadLittleEndian32Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1349,1
    - Dst: ReadLittleEndian32Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1354
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::BufferSize
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    - ReadLittleEndian32Fallback
    - static_cast<int>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian32(uint32* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1358,1
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1358,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1358,1
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1359,1
    - Dst: ReadLittleEndian64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1362,1
    - Dst: ReadLittleEndian64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1367
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - google::protobuf::CodedInputStream::BufferSize
    - static_cast<int>
    - ReadLittleEndian64Fallback
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian64(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1371,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1374,1
    - Dst: ReadTagFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1380
    functionName: google::protobuf::CodedInputStream::ReadTagNoLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - ReadTagFallback
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagNoLastTag()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1388,1
    - Dst: static_cast<int8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1393,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1396,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1397,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1402,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1403,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1406,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1414,1
    - Dst: ReadTagFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1418,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1419,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - cutoff
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1420
    functionName: google::protobuf::CodedInputStream::ReadTagWithCutoffNoLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagFallback
    - std::make_pair
    - google::protobuf::CodedInputStream::Advance
    - static_cast<int8>
    - static_cast<uint32>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: std::pair<uint32, bool>
    signature: "std::pair<uint32, bool> CodedInputStream::ReadTagWithCutoffNoLastTag(\n
      \   uint32 cutoff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expected
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1424
    functionName: google::protobuf::CodedInputStream::LastTagWas
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::LastTagWas(uint32 expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1428
    functionName: google::protobuf::CodedInputStream::ConsumedEntireMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ConsumedEntireMessage()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1432,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1434,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1440,1
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1440,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1441,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1442,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - expected
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1452
    functionName: google::protobuf::CodedInputStream::ExpectTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    - google::protobuf::CodedInputStream::BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ExpectTag(uint32 expected)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1461,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - expected
    argTypes:
    - uint8*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1467
    functionName: google::protobuf::CodedInputStream::ExpectTagFromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - static_cast<uint8>
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedInputStream::ExpectTagFromArray(const uint8* buffer,\n
      \                                                        uint32 expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1473
    functionName: google::protobuf::CodedInputStream::GetDirectBufferPointerInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void CodedInputStream::GetDirectBufferPointerInline(const void** data,\n
      \                                                          int* size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1487
    functionName: google::protobuf::CodedInputStream::ExpectAtEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ExpectAtEnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1491
    functionName: google::protobuf::CodedInputStream::CurrentPosition
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::BufferSize
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::CurrentPosition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - amount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1493
    functionName: google::protobuf::CodedInputStream::Advance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::Advance(int amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: google::protobuf::CodedInputStream::SetRecursionLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::SetRecursionLimit(int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1503
    functionName: google::protobuf::CodedInputStream::IncrementRecursionDepth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::IncrementRecursionDepth()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1507
    functionName: google::protobuf::CodedInputStream::DecrementRecursionDepth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::DecrementRecursionDepth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (recursion_budget_ < recursion_limit_)
      pos:
        line_end: 1509
        line_start: 1509
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    constantsTouched: []
    func_position:
      end: 1512
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1512
    functionName: google::protobuf::CodedInputStream::UnsafeDecrementRecursionDepth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::UnsafeDecrementRecursionDepth()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - factory
    argTypes:
    - DescriptorPool*
    - MessageFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1518
    functionName: google::protobuf::CodedInputStream::SetExtensionRegistry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CodedInputStream::SetExtensionRegistry(const DescriptorPool*
      pool,\n                                                   MessageFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1522
    functionName: google::protobuf::CodedInputStream::GetExtensionPool
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DescriptorPool
    signature: DescriptorPool * CodedInputStream::GetExtensionPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1526
    functionName: google::protobuf::CodedInputStream::GetExtensionFactory
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MessageFactory
    signature: MessageFactory * CodedInputStream::GetExtensionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1530
    functionName: google::protobuf::CodedInputStream::BufferSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BufferSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1550
    functionName: google::protobuf::CodedInputStream::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - Refresh
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::CodedInputStream(ZeroCopyInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - uint8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1570
    functionName: google::protobuf::CodedInputStream::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::CodedInputStream(const uint8* buffer, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1572
    functionName: google::protobuf::CodedInputStream::IsFlat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::IsFlat() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1577,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1581,1
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1586
    functionName: google::protobuf::CodedInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - SkipFallback
    - google::protobuf::CodedInputStream::BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1591
    functionName: google::protobuf::CodedOutputStream::WriteVarint32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 56
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteVarint32ToArray(uint32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1596
    functionName: google::protobuf::CodedOutputStream::WriteVarint64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteVarint64ToArray(uint64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1599,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1598
    functionDepth: 1
    functionLinenumber: 1598
    functionLinenumberEnd: 1600
    functionName: google::protobuf::CodedOutputStream::WriteVarint32SignExtended
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint64
    - static_cast<uint64>
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteVarint32SignExtended(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1604,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1602
    functionDepth: 2
    functionLinenumber: 1602
    functionLinenumberEnd: 1605
    functionName: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteVarint32SignExtendedToArray(\n    int32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1610,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1612,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1613,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1614,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1618
    functionName: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 40
    functionsReached:
    - static_cast<uint8>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteLittleEndian32ToArray(uint32 value,\n
      \                                                           uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1623,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1625,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1626,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1628,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1629,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1630,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1631,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1632,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1633,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1634,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1638
    functionName: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 40
    functionsReached:
    - static_cast<uint32>
    - static_cast<uint8>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteLittleEndian64ToArray(uint64 value,\n
      \                                                           uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1641,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1642,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1642,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1640
    functionDepth: 2
    functionLinenumber: 1640
    functionLinenumberEnd: 1643
    functionName: google::protobuf::CodedOutputStream::WriteVarint32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - EnsureSpace
    - Cur
    - SetCur
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteVarint32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1646,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1647,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1647,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1645
    functionDepth: 2
    functionLinenumber: 1645
    functionLinenumberEnd: 1648
    functionName: google::protobuf::CodedOutputStream::WriteVarint64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 1
    functionsReached:
    - EnsureSpace
    - Cur
    - SetCur
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteVarint64(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1650
    functionDepth: 3
    functionLinenumber: 1650
    functionLinenumberEnd: 1650
    functionName: google::protobuf::CodedOutputStream::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteTag(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1652
    functionDepth: 2
    functionLinenumber: 1652
    functionLinenumberEnd: 1654
    functionName: google::protobuf::CodedOutputStream::WriteTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * CodedOutputStream::WriteTagToArray(uint32 value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bits::Log2FloorNonZero
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1662,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1664
    functionName: google::protobuf::CodedOutputStream::VarintSize32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 88
    functionsReached:
    - static_cast<size_t>
    - Bits::Log2FloorNonZero
    linkageType: ''
    returnType: size_t
    signature: size_t CodedOutputStream::VarintSize32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bits::Log2FloorNonZero64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1672,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1674
    functionName: google::protobuf::CodedOutputStream::VarintSize64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached:
    - static_cast<size_t>
    - Bits::Log2FloorNonZero64
    linkageType: ''
    returnType: size_t
    signature: size_t CodedOutputStream::VarintSize64(uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1680,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1676
    functionDepth: 2
    functionLinenumber: 1676
    functionLinenumberEnd: 1682
    functionName: google::protobuf::CodedOutputStream::VarintSize32SignExtended
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: size_t CodedOutputStream::VarintSize32SignExtended(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1686
    functionName: google::protobuf::CodedOutputStream::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRaw
    - static_cast<int>
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteString(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1691
    functionName: google::protobuf::CodedOutputStream::WriteRawMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 1
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteRawMaybeAliased
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStream::WriteRawMaybeAliased(const void* data,\n                                                    int
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - size
    - target
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1697
    functionName: google::protobuf::CodedOutputStream::WriteRawToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteRawToArray(const void* data, int size,\n
      \                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteRawToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - target
    argTypes:
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1702
    functionName: google::protobuf::CodedOutputStream::WriteStringToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - data
    - static_cast<int>
    - google::protobuf::CodedOutputStream::WriteRawToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteStringToArray(const std::string& str,\n
      \                                                   uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:394,1
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 644
    functionName: google::protobuf::io::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - ReadTagNoLastTag
    - google::protobuf::io::SetTotalBytesLimit
    - PROTOBUF_DEPRECATED_MSG
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: google::protobuf::io::ReadTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE ReadTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cutoff
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE std::pair<uint32, bool> ReadTagWithCutoff(uint32
      cutoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: google::protobuf::io::SetConsumed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetConsumed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::io::SetTotalBytesLimit
    linkageType: ''
    returnType: void
    signature: void SetTotalBytesLimit(int total_bytes_limit, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: google::protobuf::io::RecursionBudget
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RecursionBudget()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: google::protobuf::io::GetDefaultRecursionLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetDefaultRecursionLimit()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:946,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 140
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 956
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::EnsureSpace
    - google::protobuf::io::WriteTag
    - encode
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::UnsafeVarint
    - static_cast<uint8*>
    - google::protobuf::io::TagSize
    - size
    - WriteAliasedRaw
    - google::protobuf::io::WriteVarintPacked
    - static_cast<uint32>
    - WriteRawLittleEndian<element_size>
    - google::protobuf::io::WriteString
    - static_cast<uint8>
    - WriteRawFallback
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - SetInitialBuffer
    - google::protobuf::io::WriteRaw
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - GOOGLE_DCHECK
    - EnsureSpaceFallback
    - data
    - google::protobuf::io::WriteStringMaybeAliased
    - WriteStringOutline
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - deterministic
    - pp
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 663
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(ZeroCopyOutputStream* stream, bool deterministic,\n
      \                     uint8** pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - deterministic
    argTypes:
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream(void* data, int size, bool deterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - size
    - stream
    - deterministic
    - pp
    argTypes:
    - void*
    - int
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(void* data, int size, ZeroCopyOutputStream*
      stream,\n                      bool deterministic, uint8** pp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::io::EnsureSpace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 7
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - EnsureSpaceFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * EnsureSpace(uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: google::protobuf::io::WriteRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 5
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - WriteRawFallback
    - std::memcpy
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRaw(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: google::protobuf::io::WriteRawMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteAliasedRaw
    - google::protobuf::io::WriteRaw
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRawMaybeAliased(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 725
    functionName: google::protobuf::io::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 5
    functionsReached:
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - size
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteStringMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 728
    functionName: google::protobuf::io::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteStringMaybeAliased
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytesMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 5
    functionsReached:
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - WriteStringOutline
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteString(uint32 num, const T& s,\n                                            uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: google::protobuf::io::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteString
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytes(uint32 num, const T& s, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: google::protobuf::io::WriteInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt32Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 4
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: google::protobuf::io::WriteUInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 4
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: google::protobuf::io::WriteSInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 4
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: google::protobuf::io::WriteInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt64Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 4
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: google::protobuf::io::WriteUInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 4
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: google::protobuf::io::WriteSInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 4
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::io::WriteEnumPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteEnumPacked(int num, const T& r, int
      size,\n                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' r'
    - ptr
    argTypes:
    - int
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: google::protobuf::io::WriteFixedPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - WriteRawLittleEndian<element_size>
    - data
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteFixedPacked(int num, const T& r,\n                                                 uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: google::protobuf::io::HadError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HadError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: google::protobuf::io::SetSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSerializationDeterministic(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: google::protobuf::io::IsSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSerializationDeterministic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: google::protobuf::io::GetSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: std::ptrdiff_t
    signature: std::ptrdiff_t GetSize(uint8* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 847
    functionName: google::protobuf::io::Error
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 * Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 855
    functionName: google::protobuf::io::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TagSize(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - wt
    - ptr
    argTypes:
    - uint32
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: google::protobuf::io::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 5
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * WriteTag(uint32 num, uint32 wt, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - size
    - ptr
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: google::protobuf::io::WriteLengthDelim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::WriteTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteLengthDelim(int num, uint32 size,\n
      \                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - num
    - ' r'
    - size
    - ptr
    - ' encode'
    argTypes:
    - int
    - T
    - int
    - uint8*
    - E
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 877
    functionDepth: 3
    functionLinenumber: 877
    functionLinenumberEnd: 888
    functionName: google::protobuf::io::WriteVarintPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - data
    - encode
    - google::protobuf::io::WriteLengthDelim
    - google::protobuf::io::UnsafeVarint
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteVarintPacked(int num, const T& r, int
      size,\n                                                  uint8* ptr, const E&
      encode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 890
    functionName: google::protobuf::io::Encode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 Encode32(uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 891
    functionName: google::protobuf::io::Encode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Encode64(uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: google::protobuf::io::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 ZigZagEncode32(int32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: google::protobuf::io::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 ZigZagEncode64(int64 v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 921
    functionName: google::protobuf::io::UnsafeVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 17
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * UnsafeVarint(T value, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 932
    functionName: google::protobuf::io::UnsafeWriteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 6
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * UnsafeWriteSize(uint32 value,\n                                                       uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:394,1
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 644
    functionName: google::protobuf::io::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - ReadTagNoLastTag
    - google::protobuf::io::SetTotalBytesLimit
    - PROTOBUF_DEPRECATED_MSG
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: google::protobuf::io::ReadTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE ReadTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cutoff
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE std::pair<uint32, bool> ReadTagWithCutoff(uint32
      cutoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: google::protobuf::io::SetConsumed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetConsumed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::SetTotalBytesLimit
    linkageType: ''
    returnType: void
    signature: void SetTotalBytesLimit(int total_bytes_limit, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: google::protobuf::io::RecursionBudget
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RecursionBudget()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: google::protobuf::io::GetDefaultRecursionLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetDefaultRecursionLimit()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:946,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 140
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 956
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::EnsureSpace
    - google::protobuf::io::WriteTag
    - encode
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::UnsafeVarint
    - static_cast<uint8*>
    - google::protobuf::io::TagSize
    - size
    - WriteAliasedRaw
    - google::protobuf::io::WriteVarintPacked
    - static_cast<uint32>
    - WriteRawLittleEndian<element_size>
    - google::protobuf::io::WriteString
    - static_cast<uint8>
    - WriteRawFallback
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - SetInitialBuffer
    - google::protobuf::io::WriteRaw
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - GOOGLE_DCHECK
    - EnsureSpaceFallback
    - data
    - google::protobuf::io::WriteStringMaybeAliased
    - WriteStringOutline
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - deterministic
    - pp
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 663
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(ZeroCopyOutputStream* stream, bool deterministic,\n
      \                     uint8** pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - deterministic
    argTypes:
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream(void* data, int size, bool deterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - size
    - stream
    - deterministic
    - pp
    argTypes:
    - void*
    - int
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(void* data, int size, ZeroCopyOutputStream*
      stream,\n                      bool deterministic, uint8** pp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::io::EnsureSpace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 10
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - EnsureSpaceFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * EnsureSpace(uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: google::protobuf::io::WriteRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 7
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - WriteRawFallback
    - std::memcpy
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRaw(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: google::protobuf::io::WriteRawMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteAliasedRaw
    - google::protobuf::io::WriteRaw
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRawMaybeAliased(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 725
    functionName: google::protobuf::io::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 7
    functionsReached:
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - size
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteStringMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 728
    functionName: google::protobuf::io::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteStringMaybeAliased
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytesMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 7
    functionsReached:
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - WriteStringOutline
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteString(uint32 num, const T& s,\n                                            uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: google::protobuf::io::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteString
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytes(uint32 num, const T& s, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: google::protobuf::io::WriteInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt32Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 4
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: google::protobuf::io::WriteUInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 4
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: google::protobuf::io::WriteSInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 4
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: google::protobuf::io::WriteInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt64Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 4
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: google::protobuf::io::WriteUInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 4
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: google::protobuf::io::WriteSInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 4
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::io::WriteEnumPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteEnumPacked(int num, const T& r, int
      size,\n                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' r'
    - ptr
    argTypes:
    - int
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: google::protobuf::io::WriteFixedPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - WriteRawLittleEndian<element_size>
    - data
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteFixedPacked(int num, const T& r,\n                                                 uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: google::protobuf::io::HadError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HadError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: google::protobuf::io::SetSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSerializationDeterministic(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: google::protobuf::io::IsSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSerializationDeterministic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: google::protobuf::io::GetSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: std::ptrdiff_t
    signature: std::ptrdiff_t GetSize(uint8* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 847
    functionName: google::protobuf::io::Error
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 * Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 855
    functionName: google::protobuf::io::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TagSize(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - wt
    - ptr
    argTypes:
    - uint32
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: google::protobuf::io::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 7
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * WriteTag(uint32 num, uint32 wt, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - size
    - ptr
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: google::protobuf::io::WriteLengthDelim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 11
    functionsReached:
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::WriteTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteLengthDelim(int num, uint32 size,\n
      \                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - num
    - ' r'
    - size
    - ptr
    - ' encode'
    argTypes:
    - int
    - T
    - int
    - uint8*
    - E
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 877
    functionDepth: 3
    functionLinenumber: 877
    functionLinenumberEnd: 888
    functionName: google::protobuf::io::WriteVarintPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 32
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - data
    - encode
    - google::protobuf::io::WriteLengthDelim
    - google::protobuf::io::UnsafeVarint
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteVarintPacked(int num, const T& r, int
      size,\n                                                  uint8* ptr, const E&
      encode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 890
    functionName: google::protobuf::io::Encode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 Encode32(uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 891
    functionName: google::protobuf::io::Encode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Encode64(uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: google::protobuf::io::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 ZigZagEncode32(int32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: google::protobuf::io::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 ZigZagEncode64(int64 v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 921
    functionName: google::protobuf::io::UnsafeVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 22
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * UnsafeVarint(T value, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 932
    functionName: google::protobuf::io::UnsafeWriteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * UnsafeWriteSize(uint32 value,\n                                                       uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 978
    functionName: "* EpsCopyOutputStream::WriteRawLittleEndian<1>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian<1>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:984,1
    - Dst: WriteRawLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 988
    functionName: "* EpsCopyOutputStream::WriteRawLittleEndian<4>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRawLittleEndian32
    - WriteRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian<4>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:994,1
    - Dst: WriteRawLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 998
    functionName: "* EpsCopyOutputStream::WriteRawLittleEndian<8>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRaw
    - WriteRawLittleEndian64
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian<8>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushAndResetBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1061,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1062,1
    - Dst: google::protobuf::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1063,1
    - Dst: google::protobuf::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1071,1
    - Dst: google::protobuf::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1079,1
    - Dst: google::protobuf::GetDirectBufferPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1090,1
    - Dst: google::protobuf::GetDirectBufferForNBytesAndAdvance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1101,1
    - Dst: google::protobuf::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1106,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1129,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1136,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    - Dst: google::protobuf::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    - Dst: google::protobuf::EnableAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1202,1
    - Dst: google::protobuf::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1226,1
    - Dst: google::protobuf::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1231,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1235,1
    - Dst: std::atomic::store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1261,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1046
    functionDepth: 2
    functionLinenumber: 1046
    functionLinenumberEnd: 1264
    functionName: google::protobuf::CodedOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteLittleEndian32ToArray
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::Cur
    - google::protobuf::EnableAliasing
    - FlushAndResetBuffer
    - google::protobuf::IsSerializationDeterministic
    - google::protobuf::SetSerializationDeterministic
    - std::atomic::store
    - google::protobuf::WriteRaw
    - google::protobuf::Skip
    - google::protobuf::Trim
    - google::protobuf::ByteCount
    - google::protobuf::GetDirectBufferPointer
    - static_cast<int>
    - GOOGLE_DCHECK
    - google::protobuf::GetDirectBufferForNBytesAndAdvance
    - WriteLittleEndian64ToArray
    - google::protobuf::HadError
    - EnsureSpace
    - load
    - google::protobuf::SetCur
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushAndResetBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1061,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1062,1
    - Dst: google::protobuf::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1064
    functionName: google::protobuf::HadError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - FlushAndResetBuffer
    - GOOGLE_DCHECK
    - google::protobuf::HadError
    linkageType: ''
    returnType: bool
    signature: bool HadError()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1071
    functionName: google::protobuf::Trim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Trim
    linkageType: ''
    returnType: void
    signature: void Trim()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1079
    functionName: google::protobuf::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Skip
    linkageType: ''
    returnType: bool
    signature: bool Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetDirectBufferPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: google::protobuf::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::GetDirectBufferPointer
    linkageType: ''
    returnType: bool
    signature: bool GetDirectBufferPointer(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetDirectBufferForNBytesAndAdvance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1102
    functionName: google::protobuf::GetDirectBufferForNBytesAndAdvance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::GetDirectBufferForNBytesAndAdvance
    linkageType: ''
    returnType: uint8
    signature: uint8 * GetDirectBufferForNBytesAndAdvance(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1107
    functionName: google::protobuf::WriteRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::WriteRaw
    linkageType: ''
    returnType: void
    signature: void WriteRaw(const void* buffer, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1129,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1131
    functionName: google::protobuf::WriteLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteLittleEndian32ToArray
    - EnsureSpace
    - google::protobuf::Cur
    - google::protobuf::SetCur
    linkageType: ''
    returnType: void
    signature: void WriteLittleEndian32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1136,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    functionName: google::protobuf::WriteLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - EnsureSpace
    - WriteLittleEndian64ToArray
    - google::protobuf::SetCur
    - google::protobuf::Cur
    linkageType: ''
    returnType: void
    signature: void WriteLittleEndian64(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    - Dst: google::protobuf::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1191
    functionName: google::protobuf::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::ByteCount
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::EnableAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1202
    functionName: google::protobuf::EnableAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::EnableAliasing
    linkageType: ''
    returnType: void
    signature: void EnableAliasing(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1227
    functionName: google::protobuf::SetSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::SetSerializationDeterministic
    linkageType: ''
    returnType: void
    signature: void SetSerializationDeterministic(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    functionName: google::protobuf::IsSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::IsSerializationDeterministic
    linkageType: ''
    returnType: bool
    signature: bool IsSerializationDeterministic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1237
    functionName: google::protobuf::IsDefaultSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 32
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool IsDefaultSerializationDeterministic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1242
    functionName: google::protobuf::Cur
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 * Cur() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1243
    functionName: google::protobuf::SetCur
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCur(uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1244
    functionName: google::protobuf::EpsCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: EpsCopyOutputStream
    signature: EpsCopyOutputStream * EpsCopy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1262
    functionName: google::protobuf::SetDefaultSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void SetDefaultSerializationDeterministic()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1272,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1276,1
    - Dst: ReadVarint32Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1280,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1283
    functionName: google::protobuf::CodedInputStream::ReadVarint32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - ReadVarint32Fallback
    - static_cast<uint32>
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint32(uint32* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1286,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1288,1
    - Dst: ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1285
    functionDepth: 1
    functionLinenumber: 1285
    functionLinenumberEnd: 1294
    functionName: google::protobuf::CodedInputStream::ReadVarint64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadVarint64Fallback
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint64(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1297,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1301,1
    - Dst: ReadVarintSizeAsIntFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1307
    functionName: google::protobuf::CodedInputStream::ReadVarintSizeAsInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - ReadVarintSizeAsIntFallback
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarintSizeAsInt(int* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1313,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1316,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1317,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1318,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1322
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 25
    functionsReached:
    - static_cast<uint32>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedInputStream::ReadLittleEndian32FromArray(\n    const
      uint8* buffer, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1327,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1330,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1331,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1332,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1333,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1334,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1335,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1336,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1337,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1338,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1341
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 25
    functionsReached:
    - static_cast<uint64>
    - static_cast<uint32>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedInputStream::ReadLittleEndian64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1345,1
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1345,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1345,1
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1346,1
    - Dst: ReadLittleEndian32Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1349,1
    - Dst: ReadLittleEndian32Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1354
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::BufferSize
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    - ReadLittleEndian32Fallback
    - static_cast<int>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian32(uint32* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1358,1
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1358,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1358,1
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1359,1
    - Dst: ReadLittleEndian64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1362,1
    - Dst: ReadLittleEndian64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1367
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - google::protobuf::CodedInputStream::BufferSize
    - static_cast<int>
    - ReadLittleEndian64Fallback
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian64(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1371,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1374,1
    - Dst: ReadTagFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1380
    functionName: google::protobuf::CodedInputStream::ReadTagNoLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - ReadTagFallback
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagNoLastTag()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1388,1
    - Dst: static_cast<int8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1393,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1396,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1397,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1402,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1403,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1406,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1414,1
    - Dst: ReadTagFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1418,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1419,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - cutoff
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1420
    functionName: google::protobuf::CodedInputStream::ReadTagWithCutoffNoLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagFallback
    - std::make_pair
    - google::protobuf::CodedInputStream::Advance
    - static_cast<int8>
    - static_cast<uint32>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: std::pair<uint32, bool>
    signature: "std::pair<uint32, bool> CodedInputStream::ReadTagWithCutoffNoLastTag(\n
      \   uint32 cutoff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expected
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1424
    functionName: google::protobuf::CodedInputStream::LastTagWas
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::LastTagWas(uint32 expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1428
    functionName: google::protobuf::CodedInputStream::ConsumedEntireMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ConsumedEntireMessage()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1432,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1434,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1440,1
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1440,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1441,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1442,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - expected
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1452
    functionName: google::protobuf::CodedInputStream::ExpectTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    - google::protobuf::CodedInputStream::BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ExpectTag(uint32 expected)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1461,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - expected
    argTypes:
    - uint8*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1467
    functionName: google::protobuf::CodedInputStream::ExpectTagFromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - static_cast<uint8>
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedInputStream::ExpectTagFromArray(const uint8* buffer,\n
      \                                                        uint32 expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1473
    functionName: google::protobuf::CodedInputStream::GetDirectBufferPointerInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void CodedInputStream::GetDirectBufferPointerInline(const void** data,\n
      \                                                          int* size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1487
    functionName: google::protobuf::CodedInputStream::ExpectAtEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ExpectAtEnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1491
    functionName: google::protobuf::CodedInputStream::CurrentPosition
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::BufferSize
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::CurrentPosition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - amount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1493
    functionName: google::protobuf::CodedInputStream::Advance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::Advance(int amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: google::protobuf::CodedInputStream::SetRecursionLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::SetRecursionLimit(int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1503
    functionName: google::protobuf::CodedInputStream::IncrementRecursionDepth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::IncrementRecursionDepth()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1507
    functionName: google::protobuf::CodedInputStream::DecrementRecursionDepth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::DecrementRecursionDepth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (recursion_budget_ < recursion_limit_)
      pos:
        line_end: 1509
        line_start: 1509
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    constantsTouched: []
    func_position:
      end: 1512
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1512
    functionName: google::protobuf::CodedInputStream::UnsafeDecrementRecursionDepth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::UnsafeDecrementRecursionDepth()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - factory
    argTypes:
    - DescriptorPool*
    - MessageFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1518
    functionName: google::protobuf::CodedInputStream::SetExtensionRegistry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CodedInputStream::SetExtensionRegistry(const DescriptorPool*
      pool,\n                                                   MessageFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1522
    functionName: google::protobuf::CodedInputStream::GetExtensionPool
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DescriptorPool
    signature: DescriptorPool * CodedInputStream::GetExtensionPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1526
    functionName: google::protobuf::CodedInputStream::GetExtensionFactory
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MessageFactory
    signature: MessageFactory * CodedInputStream::GetExtensionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1530
    functionName: google::protobuf::CodedInputStream::BufferSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 9
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BufferSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1550
    functionName: google::protobuf::CodedInputStream::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - Refresh
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::CodedInputStream(ZeroCopyInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - uint8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1570
    functionName: google::protobuf::CodedInputStream::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::CodedInputStream(const uint8* buffer, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1572
    functionName: google::protobuf::CodedInputStream::IsFlat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::IsFlat() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1577,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1581,1
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1586
    functionName: google::protobuf::CodedInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - SkipFallback
    - google::protobuf::CodedInputStream::BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1591
    functionName: google::protobuf::CodedOutputStream::WriteVarint32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 58
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteVarint32ToArray(uint32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1596
    functionName: google::protobuf::CodedOutputStream::WriteVarint64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 26
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteVarint64ToArray(uint64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1599,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1598
    functionDepth: 3
    functionLinenumber: 1598
    functionLinenumberEnd: 1600
    functionName: google::protobuf::CodedOutputStream::WriteVarint32SignExtended
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint64
    - static_cast<uint64>
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteVarint32SignExtended(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1604,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1602
    functionDepth: 2
    functionLinenumber: 1602
    functionLinenumberEnd: 1605
    functionName: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteVarint32SignExtendedToArray(\n    int32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1610,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1612,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1613,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1614,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1618
    functionName: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 40
    functionsReached:
    - static_cast<uint8>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteLittleEndian32ToArray(uint32 value,\n
      \                                                           uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1623,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1625,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1626,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1628,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1629,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1630,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1631,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1632,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1633,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1634,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1638
    functionName: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 40
    functionsReached:
    - static_cast<uint32>
    - static_cast<uint8>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteLittleEndian64ToArray(uint64 value,\n
      \                                                           uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1641,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1642,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1642,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1640
    functionDepth: 2
    functionLinenumber: 1640
    functionLinenumberEnd: 1643
    functionName: google::protobuf::CodedOutputStream::WriteVarint32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 1
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - EnsureSpace
    - Cur
    - SetCur
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteVarint32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1646,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1647,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1647,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1645
    functionDepth: 2
    functionLinenumber: 1645
    functionLinenumberEnd: 1648
    functionName: google::protobuf::CodedOutputStream::WriteVarint64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - EnsureSpace
    - Cur
    - SetCur
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteVarint64(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1650
    functionDepth: 3
    functionLinenumber: 1650
    functionLinenumberEnd: 1650
    functionName: google::protobuf::CodedOutputStream::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteTag(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1652
    functionDepth: 2
    functionLinenumber: 1652
    functionLinenumberEnd: 1654
    functionName: google::protobuf::CodedOutputStream::WriteTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * CodedOutputStream::WriteTagToArray(uint32 value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bits::Log2FloorNonZero
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1662,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1664
    functionName: google::protobuf::CodedOutputStream::VarintSize32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 89
    functionsReached:
    - static_cast<size_t>
    - Bits::Log2FloorNonZero
    linkageType: ''
    returnType: size_t
    signature: size_t CodedOutputStream::VarintSize32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bits::Log2FloorNonZero64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1672,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1674
    functionName: google::protobuf::CodedOutputStream::VarintSize64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached:
    - static_cast<size_t>
    - Bits::Log2FloorNonZero64
    linkageType: ''
    returnType: size_t
    signature: size_t CodedOutputStream::VarintSize64(uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1680,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1676
    functionDepth: 2
    functionLinenumber: 1676
    functionLinenumberEnd: 1682
    functionName: google::protobuf::CodedOutputStream::VarintSize32SignExtended
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: size_t CodedOutputStream::VarintSize32SignExtended(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1686
    functionName: google::protobuf::CodedOutputStream::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRaw
    - static_cast<int>
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteString(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1691
    functionName: google::protobuf::CodedOutputStream::WriteRawMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteRawMaybeAliased
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStream::WriteRawMaybeAliased(const void* data,\n                                                    int
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - size
    - target
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1697
    functionName: google::protobuf::CodedOutputStream::WriteRawToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteRawToArray(const void* data, int size,\n
      \                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteRawToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - target
    argTypes:
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1702
    functionName: google::protobuf::CodedOutputStream::WriteStringToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - data
    - static_cast<int>
    - google::protobuf::CodedOutputStream::WriteRawToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteStringToArray(const std::string& str,\n
      \                                                   uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:394,1
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 644
    functionName: google::protobuf::io::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - ReadTagNoLastTag
    - google::protobuf::io::SetTotalBytesLimit
    - PROTOBUF_DEPRECATED_MSG
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: google::protobuf::io::ReadTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE ReadTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cutoff
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE std::pair<uint32, bool> ReadTagWithCutoff(uint32
      cutoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: google::protobuf::io::SetConsumed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetConsumed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 10
    functionsReached:
    - google::protobuf::io::SetTotalBytesLimit
    linkageType: ''
    returnType: void
    signature: void SetTotalBytesLimit(int total_bytes_limit, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: google::protobuf::io::RecursionBudget
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RecursionBudget()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: google::protobuf::io::GetDefaultRecursionLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetDefaultRecursionLimit()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:946,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 140
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 956
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::EnsureSpace
    - google::protobuf::io::WriteTag
    - encode
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::UnsafeVarint
    - static_cast<uint8*>
    - google::protobuf::io::TagSize
    - size
    - WriteAliasedRaw
    - google::protobuf::io::WriteVarintPacked
    - static_cast<uint32>
    - WriteRawLittleEndian<element_size>
    - google::protobuf::io::WriteString
    - static_cast<uint8>
    - WriteRawFallback
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - SetInitialBuffer
    - google::protobuf::io::WriteRaw
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - GOOGLE_DCHECK
    - EnsureSpaceFallback
    - data
    - google::protobuf::io::WriteStringMaybeAliased
    - WriteStringOutline
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - deterministic
    - pp
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 663
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(ZeroCopyOutputStream* stream, bool deterministic,\n
      \                     uint8** pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - deterministic
    argTypes:
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream(void* data, int size, bool deterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - size
    - stream
    - deterministic
    - pp
    argTypes:
    - void*
    - int
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(void* data, int size, ZeroCopyOutputStream*
      stream,\n                      bool deterministic, uint8** pp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::io::EnsureSpace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 13
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - EnsureSpaceFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * EnsureSpace(uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: google::protobuf::io::WriteRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 9
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - WriteRawFallback
    - std::memcpy
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRaw(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: google::protobuf::io::WriteRawMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteAliasedRaw
    - google::protobuf::io::WriteRaw
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRawMaybeAliased(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 725
    functionName: google::protobuf::io::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 9
    functionsReached:
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - size
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteStringMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 728
    functionName: google::protobuf::io::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteStringMaybeAliased
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytesMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 9
    functionsReached:
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - WriteStringOutline
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteString(uint32 num, const T& s,\n                                            uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: google::protobuf::io::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteString
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytes(uint32 num, const T& s, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: google::protobuf::io::WriteInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt32Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 4
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: google::protobuf::io::WriteUInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 4
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: google::protobuf::io::WriteSInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 4
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: google::protobuf::io::WriteInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt64Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 4
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: google::protobuf::io::WriteUInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 4
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: google::protobuf::io::WriteSInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 4
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::io::WriteEnumPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteEnumPacked(int num, const T& r, int
      size,\n                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' r'
    - ptr
    argTypes:
    - int
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: google::protobuf::io::WriteFixedPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - WriteRawLittleEndian<element_size>
    - data
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteFixedPacked(int num, const T& r,\n                                                 uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: google::protobuf::io::HadError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HadError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: google::protobuf::io::SetSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSerializationDeterministic(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: google::protobuf::io::IsSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSerializationDeterministic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: google::protobuf::io::GetSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: std::ptrdiff_t
    signature: std::ptrdiff_t GetSize(uint8* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 847
    functionName: google::protobuf::io::Error
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 * Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 855
    functionName: google::protobuf::io::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TagSize(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - wt
    - ptr
    argTypes:
    - uint32
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: google::protobuf::io::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 9
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * WriteTag(uint32 num, uint32 wt, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - size
    - ptr
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: google::protobuf::io::WriteLengthDelim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 14
    functionsReached:
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::WriteTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteLengthDelim(int num, uint32 size,\n
      \                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - num
    - ' r'
    - size
    - ptr
    - ' encode'
    argTypes:
    - int
    - T
    - int
    - uint8*
    - E
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 877
    functionDepth: 3
    functionLinenumber: 877
    functionLinenumberEnd: 888
    functionName: google::protobuf::io::WriteVarintPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 40
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - data
    - encode
    - google::protobuf::io::WriteLengthDelim
    - google::protobuf::io::UnsafeVarint
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteVarintPacked(int num, const T& r, int
      size,\n                                                  uint8* ptr, const E&
      encode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 890
    functionName: google::protobuf::io::Encode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 Encode32(uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 891
    functionName: google::protobuf::io::Encode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Encode64(uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: google::protobuf::io::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 ZigZagEncode32(int32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: google::protobuf::io::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 ZigZagEncode64(int64 v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 921
    functionName: google::protobuf::io::UnsafeVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 29
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * UnsafeVarint(T value, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 932
    functionName: google::protobuf::io::UnsafeWriteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 10
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * UnsafeWriteSize(uint32 value,\n                                                       uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:394,1
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 644
    functionName: google::protobuf::io::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - ReadTagNoLastTag
    - google::protobuf::io::SetTotalBytesLimit
    - PROTOBUF_DEPRECATED_MSG
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: google::protobuf::io::ReadTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE ReadTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cutoff
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE std::pair<uint32, bool> ReadTagWithCutoff(uint32
      cutoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: google::protobuf::io::SetConsumed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetConsumed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 12
    functionsReached:
    - google::protobuf::io::SetTotalBytesLimit
    linkageType: ''
    returnType: void
    signature: void SetTotalBytesLimit(int total_bytes_limit, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: google::protobuf::io::RecursionBudget
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RecursionBudget()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: google::protobuf::io::GetDefaultRecursionLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetDefaultRecursionLimit()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:946,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 140
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 956
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::EnsureSpace
    - google::protobuf::io::WriteTag
    - encode
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::UnsafeVarint
    - static_cast<uint8*>
    - google::protobuf::io::TagSize
    - size
    - WriteAliasedRaw
    - google::protobuf::io::WriteVarintPacked
    - static_cast<uint32>
    - WriteRawLittleEndian<element_size>
    - google::protobuf::io::WriteString
    - static_cast<uint8>
    - WriteRawFallback
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - SetInitialBuffer
    - google::protobuf::io::WriteRaw
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - GOOGLE_DCHECK
    - EnsureSpaceFallback
    - data
    - google::protobuf::io::WriteStringMaybeAliased
    - WriteStringOutline
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - deterministic
    - pp
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 663
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(ZeroCopyOutputStream* stream, bool deterministic,\n
      \                     uint8** pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - deterministic
    argTypes:
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream(void* data, int size, bool deterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - size
    - stream
    - deterministic
    - pp
    argTypes:
    - void*
    - int
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(void* data, int size, ZeroCopyOutputStream*
      stream,\n                      bool deterministic, uint8** pp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::io::EnsureSpace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - EnsureSpaceFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * EnsureSpace(uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: google::protobuf::io::WriteRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 11
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - WriteRawFallback
    - std::memcpy
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRaw(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: google::protobuf::io::WriteRawMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteAliasedRaw
    - google::protobuf::io::WriteRaw
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRawMaybeAliased(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 725
    functionName: google::protobuf::io::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 11
    functionsReached:
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - size
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteStringMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 728
    functionName: google::protobuf::io::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteStringMaybeAliased
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytesMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 11
    functionsReached:
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - WriteStringOutline
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteString(uint32 num, const T& s,\n                                            uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: google::protobuf::io::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteString
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytes(uint32 num, const T& s, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: google::protobuf::io::WriteInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt32Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 4
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: google::protobuf::io::WriteUInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 4
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: google::protobuf::io::WriteSInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 4
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: google::protobuf::io::WriteInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt64Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 4
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: google::protobuf::io::WriteUInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 4
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: google::protobuf::io::WriteSInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 4
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::io::WriteEnumPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteEnumPacked(int num, const T& r, int
      size,\n                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' r'
    - ptr
    argTypes:
    - int
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: google::protobuf::io::WriteFixedPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - WriteRawLittleEndian<element_size>
    - data
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteFixedPacked(int num, const T& r,\n                                                 uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: google::protobuf::io::HadError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HadError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: google::protobuf::io::SetSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSerializationDeterministic(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: google::protobuf::io::IsSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSerializationDeterministic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: google::protobuf::io::GetSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: std::ptrdiff_t
    signature: std::ptrdiff_t GetSize(uint8* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 847
    functionName: google::protobuf::io::Error
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 * Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 855
    functionName: google::protobuf::io::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TagSize(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - wt
    - ptr
    argTypes:
    - uint32
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: google::protobuf::io::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 11
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * WriteTag(uint32 num, uint32 wt, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - size
    - ptr
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: google::protobuf::io::WriteLengthDelim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 17
    functionsReached:
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::WriteTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteLengthDelim(int num, uint32 size,\n
      \                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - num
    - ' r'
    - size
    - ptr
    - ' encode'
    argTypes:
    - int
    - T
    - int
    - uint8*
    - E
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 877
    functionDepth: 3
    functionLinenumber: 877
    functionLinenumberEnd: 888
    functionName: google::protobuf::io::WriteVarintPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 48
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - data
    - encode
    - google::protobuf::io::WriteLengthDelim
    - google::protobuf::io::UnsafeVarint
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteVarintPacked(int num, const T& r, int
      size,\n                                                  uint8* ptr, const E&
      encode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 890
    functionName: google::protobuf::io::Encode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 Encode32(uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 891
    functionName: google::protobuf::io::Encode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Encode64(uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: google::protobuf::io::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 ZigZagEncode32(int32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: google::protobuf::io::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 ZigZagEncode64(int64 v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 921
    functionName: google::protobuf::io::UnsafeVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 34
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * UnsafeVarint(T value, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 932
    functionName: google::protobuf::io::UnsafeWriteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 12
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * UnsafeWriteSize(uint32 value,\n                                                       uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 978
    functionName: "* EpsCopyOutputStream::WriteRawLittleEndian<1>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian<1>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:984,1
    - Dst: WriteRawLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 988
    functionName: "* EpsCopyOutputStream::WriteRawLittleEndian<4>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRawLittleEndian32
    - WriteRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian<4>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:994,1
    - Dst: WriteRawLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 998
    functionName: "* EpsCopyOutputStream::WriteRawLittleEndian<8>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRaw
    - WriteRawLittleEndian64
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian<8>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushAndResetBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1061,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1062,1
    - Dst: google::protobuf::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1063,1
    - Dst: google::protobuf::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1071,1
    - Dst: google::protobuf::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1079,1
    - Dst: google::protobuf::GetDirectBufferPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1090,1
    - Dst: google::protobuf::GetDirectBufferForNBytesAndAdvance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1101,1
    - Dst: google::protobuf::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1106,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1129,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1136,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    - Dst: google::protobuf::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    - Dst: google::protobuf::EnableAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1202,1
    - Dst: google::protobuf::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1226,1
    - Dst: google::protobuf::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1231,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1235,1
    - Dst: std::atomic::store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1261,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1046
    functionDepth: 2
    functionLinenumber: 1046
    functionLinenumberEnd: 1264
    functionName: google::protobuf::CodedOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteLittleEndian32ToArray
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::Cur
    - google::protobuf::EnableAliasing
    - FlushAndResetBuffer
    - google::protobuf::IsSerializationDeterministic
    - google::protobuf::SetSerializationDeterministic
    - std::atomic::store
    - google::protobuf::WriteRaw
    - google::protobuf::Skip
    - google::protobuf::Trim
    - google::protobuf::ByteCount
    - google::protobuf::GetDirectBufferPointer
    - static_cast<int>
    - GOOGLE_DCHECK
    - google::protobuf::GetDirectBufferForNBytesAndAdvance
    - WriteLittleEndian64ToArray
    - google::protobuf::HadError
    - EnsureSpace
    - load
    - google::protobuf::SetCur
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushAndResetBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1061,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1062,1
    - Dst: google::protobuf::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1064
    functionName: google::protobuf::HadError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 6
    functionsReached:
    - FlushAndResetBuffer
    - GOOGLE_DCHECK
    - google::protobuf::HadError
    linkageType: ''
    returnType: bool
    signature: bool HadError()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1071
    functionName: google::protobuf::Trim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::Trim
    linkageType: ''
    returnType: void
    signature: void Trim()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1079
    functionName: google::protobuf::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::Skip
    linkageType: ''
    returnType: bool
    signature: bool Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetDirectBufferPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: google::protobuf::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::GetDirectBufferPointer
    linkageType: ''
    returnType: bool
    signature: bool GetDirectBufferPointer(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetDirectBufferForNBytesAndAdvance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1102
    functionName: google::protobuf::GetDirectBufferForNBytesAndAdvance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::GetDirectBufferForNBytesAndAdvance
    linkageType: ''
    returnType: uint8
    signature: uint8 * GetDirectBufferForNBytesAndAdvance(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1107
    functionName: google::protobuf::WriteRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::WriteRaw
    linkageType: ''
    returnType: void
    signature: void WriteRaw(const void* buffer, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1129,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1131
    functionName: google::protobuf::WriteLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteLittleEndian32ToArray
    - EnsureSpace
    - google::protobuf::Cur
    - google::protobuf::SetCur
    linkageType: ''
    returnType: void
    signature: void WriteLittleEndian32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1136,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    functionName: google::protobuf::WriteLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - EnsureSpace
    - WriteLittleEndian64ToArray
    - google::protobuf::SetCur
    - google::protobuf::Cur
    linkageType: ''
    returnType: void
    signature: void WriteLittleEndian64(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    - Dst: google::protobuf::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1191
    functionName: google::protobuf::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::ByteCount
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::EnableAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1202
    functionName: google::protobuf::EnableAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::EnableAliasing
    linkageType: ''
    returnType: void
    signature: void EnableAliasing(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1227
    functionName: google::protobuf::SetSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::SetSerializationDeterministic
    linkageType: ''
    returnType: void
    signature: void SetSerializationDeterministic(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    functionName: google::protobuf::IsSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::IsSerializationDeterministic
    linkageType: ''
    returnType: bool
    signature: bool IsSerializationDeterministic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1237
    functionName: google::protobuf::IsDefaultSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 32
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool IsDefaultSerializationDeterministic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1242
    functionName: google::protobuf::Cur
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 * Cur() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1243
    functionName: google::protobuf::SetCur
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCur(uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1244
    functionName: google::protobuf::EpsCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: EpsCopyOutputStream
    signature: EpsCopyOutputStream * EpsCopy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1262
    functionName: google::protobuf::SetDefaultSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void SetDefaultSerializationDeterministic()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1272,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1276,1
    - Dst: ReadVarint32Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1280,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1283
    functionName: google::protobuf::CodedInputStream::ReadVarint32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - ReadVarint32Fallback
    - static_cast<uint32>
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint32(uint32* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1286,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1288,1
    - Dst: ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1285
    functionDepth: 1
    functionLinenumber: 1285
    functionLinenumberEnd: 1294
    functionName: google::protobuf::CodedInputStream::ReadVarint64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadVarint64Fallback
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint64(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1297,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1301,1
    - Dst: ReadVarintSizeAsIntFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1307
    functionName: google::protobuf::CodedInputStream::ReadVarintSizeAsInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - ReadVarintSizeAsIntFallback
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarintSizeAsInt(int* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1313,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1316,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1317,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1318,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1322
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 26
    functionsReached:
    - static_cast<uint32>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedInputStream::ReadLittleEndian32FromArray(\n    const
      uint8* buffer, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1327,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1330,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1331,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1332,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1333,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1334,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1335,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1336,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1337,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1338,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1341
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 26
    functionsReached:
    - static_cast<uint64>
    - static_cast<uint32>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedInputStream::ReadLittleEndian64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1345,1
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1345,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1345,1
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1346,1
    - Dst: ReadLittleEndian32Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1349,1
    - Dst: ReadLittleEndian32Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1354
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::BufferSize
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    - ReadLittleEndian32Fallback
    - static_cast<int>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian32(uint32* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1358,1
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1358,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1358,1
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1359,1
    - Dst: ReadLittleEndian64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1362,1
    - Dst: ReadLittleEndian64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1367
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - google::protobuf::CodedInputStream::BufferSize
    - static_cast<int>
    - ReadLittleEndian64Fallback
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian64(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1371,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1374,1
    - Dst: ReadTagFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1380
    functionName: google::protobuf::CodedInputStream::ReadTagNoLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - ReadTagFallback
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagNoLastTag()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1388,1
    - Dst: static_cast<int8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1393,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1396,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1397,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1402,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1403,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1406,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1414,1
    - Dst: ReadTagFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1418,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1419,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - cutoff
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1420
    functionName: google::protobuf::CodedInputStream::ReadTagWithCutoffNoLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagFallback
    - std::make_pair
    - google::protobuf::CodedInputStream::Advance
    - static_cast<int8>
    - static_cast<uint32>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: std::pair<uint32, bool>
    signature: "std::pair<uint32, bool> CodedInputStream::ReadTagWithCutoffNoLastTag(\n
      \   uint32 cutoff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expected
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1424
    functionName: google::protobuf::CodedInputStream::LastTagWas
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::LastTagWas(uint32 expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1428
    functionName: google::protobuf::CodedInputStream::ConsumedEntireMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ConsumedEntireMessage()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1432,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1434,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1440,1
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1440,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1441,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1442,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - expected
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1452
    functionName: google::protobuf::CodedInputStream::ExpectTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    - google::protobuf::CodedInputStream::BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ExpectTag(uint32 expected)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1461,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - expected
    argTypes:
    - uint8*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1467
    functionName: google::protobuf::CodedInputStream::ExpectTagFromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - static_cast<uint8>
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedInputStream::ExpectTagFromArray(const uint8* buffer,\n
      \                                                        uint32 expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1473
    functionName: google::protobuf::CodedInputStream::GetDirectBufferPointerInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void CodedInputStream::GetDirectBufferPointerInline(const void** data,\n
      \                                                          int* size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1487
    functionName: google::protobuf::CodedInputStream::ExpectAtEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ExpectAtEnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1491
    functionName: google::protobuf::CodedInputStream::CurrentPosition
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::BufferSize
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::CurrentPosition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - amount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1493
    functionName: google::protobuf::CodedInputStream::Advance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::Advance(int amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: google::protobuf::CodedInputStream::SetRecursionLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::SetRecursionLimit(int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1503
    functionName: google::protobuf::CodedInputStream::IncrementRecursionDepth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::IncrementRecursionDepth()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1507
    functionName: google::protobuf::CodedInputStream::DecrementRecursionDepth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::DecrementRecursionDepth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (recursion_budget_ < recursion_limit_)
      pos:
        line_end: 1509
        line_start: 1509
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    constantsTouched: []
    func_position:
      end: 1512
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1512
    functionName: google::protobuf::CodedInputStream::UnsafeDecrementRecursionDepth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::UnsafeDecrementRecursionDepth()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - factory
    argTypes:
    - DescriptorPool*
    - MessageFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1518
    functionName: google::protobuf::CodedInputStream::SetExtensionRegistry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CodedInputStream::SetExtensionRegistry(const DescriptorPool*
      pool,\n                                                   MessageFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1522
    functionName: google::protobuf::CodedInputStream::GetExtensionPool
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DescriptorPool
    signature: DescriptorPool * CodedInputStream::GetExtensionPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1526
    functionName: google::protobuf::CodedInputStream::GetExtensionFactory
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MessageFactory
    signature: MessageFactory * CodedInputStream::GetExtensionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1530
    functionName: google::protobuf::CodedInputStream::BufferSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 14
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BufferSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1550
    functionName: google::protobuf::CodedInputStream::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - Refresh
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::CodedInputStream(ZeroCopyInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - uint8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1570
    functionName: google::protobuf::CodedInputStream::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::CodedInputStream(const uint8* buffer, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1572
    functionName: google::protobuf::CodedInputStream::IsFlat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::IsFlat() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1577,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1581,1
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1586
    functionName: google::protobuf::CodedInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - SkipFallback
    - google::protobuf::CodedInputStream::BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1591
    functionName: google::protobuf::CodedOutputStream::WriteVarint32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 60
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteVarint32ToArray(uint32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1596
    functionName: google::protobuf::CodedOutputStream::WriteVarint64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 28
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteVarint64ToArray(uint64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1599,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1598
    functionDepth: 3
    functionLinenumber: 1598
    functionLinenumberEnd: 1600
    functionName: google::protobuf::CodedOutputStream::WriteVarint32SignExtended
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint64
    - static_cast<uint64>
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteVarint32SignExtended(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1604,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1602
    functionDepth: 2
    functionLinenumber: 1602
    functionLinenumberEnd: 1605
    functionName: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteVarint32SignExtendedToArray(\n    int32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1610,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1612,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1613,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1614,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1618
    functionName: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 40
    functionsReached:
    - static_cast<uint8>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteLittleEndian32ToArray(uint32 value,\n
      \                                                           uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1623,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1625,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1626,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1628,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1629,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1630,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1631,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1632,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1633,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1634,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1638
    functionName: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 40
    functionsReached:
    - static_cast<uint32>
    - static_cast<uint8>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteLittleEndian64ToArray(uint64 value,\n
      \                                                           uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1641,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1642,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1642,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1640
    functionDepth: 2
    functionLinenumber: 1640
    functionLinenumberEnd: 1643
    functionName: google::protobuf::CodedOutputStream::WriteVarint32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - EnsureSpace
    - Cur
    - SetCur
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteVarint32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1646,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1647,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1647,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1645
    functionDepth: 2
    functionLinenumber: 1645
    functionLinenumberEnd: 1648
    functionName: google::protobuf::CodedOutputStream::WriteVarint64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 3
    functionsReached:
    - EnsureSpace
    - Cur
    - SetCur
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteVarint64(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1650
    functionDepth: 3
    functionLinenumber: 1650
    functionLinenumberEnd: 1650
    functionName: google::protobuf::CodedOutputStream::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteTag(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1652
    functionDepth: 2
    functionLinenumber: 1652
    functionLinenumberEnd: 1654
    functionName: google::protobuf::CodedOutputStream::WriteTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * CodedOutputStream::WriteTagToArray(uint32 value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bits::Log2FloorNonZero
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1662,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1664
    functionName: google::protobuf::CodedOutputStream::VarintSize32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 90
    functionsReached:
    - static_cast<size_t>
    - Bits::Log2FloorNonZero
    linkageType: ''
    returnType: size_t
    signature: size_t CodedOutputStream::VarintSize32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bits::Log2FloorNonZero64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1672,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1674
    functionName: google::protobuf::CodedOutputStream::VarintSize64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached:
    - static_cast<size_t>
    - Bits::Log2FloorNonZero64
    linkageType: ''
    returnType: size_t
    signature: size_t CodedOutputStream::VarintSize64(uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1680,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1676
    functionDepth: 2
    functionLinenumber: 1676
    functionLinenumberEnd: 1682
    functionName: google::protobuf::CodedOutputStream::VarintSize32SignExtended
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: size_t CodedOutputStream::VarintSize32SignExtended(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1686
    functionName: google::protobuf::CodedOutputStream::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRaw
    - static_cast<int>
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteString(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1691
    functionName: google::protobuf::CodedOutputStream::WriteRawMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 3
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteRawMaybeAliased
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStream::WriteRawMaybeAliased(const void* data,\n                                                    int
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - size
    - target
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1697
    functionName: google::protobuf::CodedOutputStream::WriteRawToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteRawToArray(const void* data, int size,\n
      \                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteRawToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - target
    argTypes:
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1702
    functionName: google::protobuf::CodedOutputStream::WriteStringToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - data
    - static_cast<int>
    - google::protobuf::CodedOutputStream::WriteRawToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteStringToArray(const std::string& str,\n
      \                                                   uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:394,1
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 644
    functionName: google::protobuf::io::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - ReadTagNoLastTag
    - google::protobuf::io::SetTotalBytesLimit
    - PROTOBUF_DEPRECATED_MSG
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: google::protobuf::io::ReadTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE ReadTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cutoff
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE std::pair<uint32, bool> ReadTagWithCutoff(uint32
      cutoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: google::protobuf::io::SetConsumed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetConsumed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 14
    functionsReached:
    - google::protobuf::io::SetTotalBytesLimit
    linkageType: ''
    returnType: void
    signature: void SetTotalBytesLimit(int total_bytes_limit, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: google::protobuf::io::RecursionBudget
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RecursionBudget()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: google::protobuf::io::GetDefaultRecursionLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetDefaultRecursionLimit()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:946,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 140
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 956
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::EnsureSpace
    - google::protobuf::io::WriteTag
    - encode
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::UnsafeVarint
    - static_cast<uint8*>
    - google::protobuf::io::TagSize
    - size
    - WriteAliasedRaw
    - google::protobuf::io::WriteVarintPacked
    - static_cast<uint32>
    - WriteRawLittleEndian<element_size>
    - google::protobuf::io::WriteString
    - static_cast<uint8>
    - WriteRawFallback
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - SetInitialBuffer
    - google::protobuf::io::WriteRaw
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - GOOGLE_DCHECK
    - EnsureSpaceFallback
    - data
    - google::protobuf::io::WriteStringMaybeAliased
    - WriteStringOutline
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - deterministic
    - pp
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 663
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(ZeroCopyOutputStream* stream, bool deterministic,\n
      \                     uint8** pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - deterministic
    argTypes:
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream(void* data, int size, bool deterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - size
    - stream
    - deterministic
    - pp
    argTypes:
    - void*
    - int
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(void* data, int size, ZeroCopyOutputStream*
      stream,\n                      bool deterministic, uint8** pp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::io::EnsureSpace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 19
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - EnsureSpaceFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * EnsureSpace(uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: google::protobuf::io::WriteRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 13
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - WriteRawFallback
    - std::memcpy
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRaw(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: google::protobuf::io::WriteRawMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteAliasedRaw
    - google::protobuf::io::WriteRaw
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRawMaybeAliased(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 725
    functionName: google::protobuf::io::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 13
    functionsReached:
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - size
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteStringMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 728
    functionName: google::protobuf::io::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteStringMaybeAliased
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytesMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 13
    functionsReached:
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - WriteStringOutline
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteString(uint32 num, const T& s,\n                                            uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: google::protobuf::io::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteString
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytes(uint32 num, const T& s, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: google::protobuf::io::WriteInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt32Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 4
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: google::protobuf::io::WriteUInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 4
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: google::protobuf::io::WriteSInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 4
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: google::protobuf::io::WriteInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt64Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 4
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: google::protobuf::io::WriteUInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 4
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: google::protobuf::io::WriteSInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 4
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::io::WriteEnumPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteEnumPacked(int num, const T& r, int
      size,\n                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' r'
    - ptr
    argTypes:
    - int
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: google::protobuf::io::WriteFixedPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - WriteRawLittleEndian<element_size>
    - data
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteFixedPacked(int num, const T& r,\n                                                 uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: google::protobuf::io::HadError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HadError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: google::protobuf::io::SetSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSerializationDeterministic(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: google::protobuf::io::IsSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSerializationDeterministic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: google::protobuf::io::GetSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: std::ptrdiff_t
    signature: std::ptrdiff_t GetSize(uint8* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 847
    functionName: google::protobuf::io::Error
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 * Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 855
    functionName: google::protobuf::io::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TagSize(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - wt
    - ptr
    argTypes:
    - uint32
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: google::protobuf::io::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 13
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * WriteTag(uint32 num, uint32 wt, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - size
    - ptr
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: google::protobuf::io::WriteLengthDelim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 20
    functionsReached:
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::WriteTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteLengthDelim(int num, uint32 size,\n
      \                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - num
    - ' r'
    - size
    - ptr
    - ' encode'
    argTypes:
    - int
    - T
    - int
    - uint8*
    - E
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 877
    functionDepth: 3
    functionLinenumber: 877
    functionLinenumberEnd: 888
    functionName: google::protobuf::io::WriteVarintPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 56
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - data
    - encode
    - google::protobuf::io::WriteLengthDelim
    - google::protobuf::io::UnsafeVarint
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteVarintPacked(int num, const T& r, int
      size,\n                                                  uint8* ptr, const E&
      encode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 890
    functionName: google::protobuf::io::Encode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 Encode32(uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 891
    functionName: google::protobuf::io::Encode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Encode64(uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: google::protobuf::io::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 ZigZagEncode32(int32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: google::protobuf::io::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 ZigZagEncode64(int64 v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 921
    functionName: google::protobuf::io::UnsafeVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 41
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * UnsafeVarint(T value, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 932
    functionName: google::protobuf::io::UnsafeWriteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 14
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * UnsafeWriteSize(uint32 value,\n                                                       uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    - Dst: PROTOBUF_DEPRECATED_MSG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:394,1
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 644
    functionName: google::protobuf::io::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - ReadTagNoLastTag
    - google::protobuf::io::SetTotalBytesLimit
    - PROTOBUF_DEPRECATED_MSG
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: google::protobuf::io::ReadTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE ReadTag()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadTagWithCutoffNoLastTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cutoff
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagWithCutoffNoLastTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE std::pair<uint32, bool> ReadTagWithCutoff(uint32
      cutoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 328
    functionName: google::protobuf::io::SetLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetLastTag(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: google::protobuf::io::SetConsumed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetConsumed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetTotalBytesLimit
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - total_bytes_limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: google::protobuf::io::SetTotalBytesLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - google::protobuf::io::SetTotalBytesLimit
    linkageType: ''
    returnType: void
    signature: void SetTotalBytesLimit(int total_bytes_limit, int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 413
    functionName: google::protobuf::io::RecursionBudget
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int RecursionBudget()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 415
    functionName: google::protobuf::io::GetDefaultRecursionLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetDefaultRecursionLimit()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:946,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 140
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 956
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::io::EnsureSpace
    - google::protobuf::io::WriteTag
    - encode
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::UnsafeVarint
    - static_cast<uint8*>
    - google::protobuf::io::TagSize
    - size
    - WriteAliasedRaw
    - google::protobuf::io::WriteVarintPacked
    - static_cast<uint32>
    - WriteRawLittleEndian<element_size>
    - google::protobuf::io::WriteString
    - static_cast<uint8>
    - WriteRawFallback
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - PROTOBUF_PREDICT_FALSE
    - SetInitialBuffer
    - google::protobuf::io::WriteRaw
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - GOOGLE_DCHECK
    - EnsureSpaceFallback
    - data
    - google::protobuf::io::WriteStringMaybeAliased
    - WriteStringOutline
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT EpsCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - deterministic
    - pp
    argTypes:
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 663
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(ZeroCopyOutputStream* stream, bool deterministic,\n
      \                     uint8** pp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - size
    - deterministic
    argTypes:
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint8*>
    linkageType: ''
    returnType: void
    signature: void EpsCopyOutputStream(void* data, int size, bool deterministic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetInitialBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - data
    - size
    - stream
    - deterministic
    - pp
    argTypes:
    - void*
    - int
    - ZeroCopyOutputStream*
    - bool
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: google::protobuf::io::EpsCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - SetInitialBuffer
    linkageType: ''
    returnType: void
    signature: "void EpsCopyOutputStream(void* data, int size, ZeroCopyOutputStream*
      stream,\n                      bool deterministic, uint8** pp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:689,1
    - Dst: EnsureSpaceFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: google::protobuf::io::EnsureSpace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 22
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - EnsureSpaceFallback
    linkageType: ''
    returnType: PROTOBUF_MUST_USE_RESULT
    signature: PROTOBUF_MUST_USE_RESULT * EnsureSpace(uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:696,1
    - Dst: WriteRawFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:697,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: google::protobuf::io::WriteRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 15
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - WriteRawFallback
    - std::memcpy
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRaw(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WriteAliasedRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:708,1
    - Dst: google::protobuf::io::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: google::protobuf::io::WriteRawMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteAliasedRaw
    - google::protobuf::io::WriteRaw
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteRawMaybeAliased(const void* data, int size, uint8* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:716,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:717,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:718,1
    - Dst: WriteStringMaybeAliasedOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:719,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:721,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:722,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 725
    functionName: google::protobuf::io::WriteStringMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 15
    functionsReached:
    - WriteStringMaybeAliasedOutline
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - size
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteStringMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteStringMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 728
    functionName: google::protobuf::io::WriteBytesMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteStringMaybeAliased
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytesMaybeAliased(uint32 num, const std::string& s, uint8*
      ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:733,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:734,1
    - Dst: google::protobuf::io::TagSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:735,1
    - Dst: WriteStringOutline
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:736,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:738,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:739,1
    - Dst: std::memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 742
    functionName: google::protobuf::io::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 15
    functionsReached:
    - std::memcpy
    - static_cast<uint8>
    - data
    - google::protobuf::io::UnsafeVarint
    - google::protobuf::io::TagSize
    - PROTOBUF_PREDICT_FALSE
    - WriteStringOutline
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteString(uint32 num, const T& s,\n                                            uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - num
    - ' s'
    - ptr
    argTypes:
    - uint32
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: google::protobuf::io::WriteBytes
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteString
    linkageType: ''
    returnType: uint8
    signature: uint8 * WriteBytes(uint32 num, const T& s, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: google::protobuf::io::WriteInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt32Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 4
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: google::protobuf::io::WriteUInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 4
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: google::protobuf::io::WriteSInt32Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt32Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 4
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: google::protobuf::io::WriteInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteInt64Packed(int num, const T& r, int
      size,\n                                                 uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 769
    functionDepth: 4
    functionLinenumber: 769
    functionLinenumberEnd: 772
    functionName: google::protobuf::io::WriteUInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteUInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 4
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: google::protobuf::io::WriteSInt64Packed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteSInt64Packed(int num, const T& r, int
      size,\n                                                  uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteVarintPacked
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - num
    - ' r'
    - size
    - ptr
    argTypes:
    - int
    - T
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 779
    functionDepth: 4
    functionLinenumber: 779
    functionLinenumberEnd: 782
    functionName: google::protobuf::io::WriteEnumPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::WriteVarintPacked
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteEnumPacked(int num, const T& r, int
      size,\n                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:787,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:789,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:790,1
    - Dst: WriteRawLittleEndian<element_size>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - num
    - ' r'
    - ptr
    argTypes:
    - int
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: google::protobuf::io::WriteFixedPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - WriteRawLittleEndian<element_size>
    - data
    - google::protobuf::io::WriteLengthDelim
    - static_cast<int>
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteFixedPacked(int num, const T& r,\n                                                 uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: google::protobuf::io::HadError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HadError() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: google::protobuf::io::SetSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetSerializationDeterministic(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 818
    functionName: google::protobuf::io::IsSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsSerializationDeterministic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: google::protobuf::io::GetSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: std::ptrdiff_t
    signature: std::ptrdiff_t GetSize(uint8* ptr) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 847
    functionName: google::protobuf::io::Error
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 * Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 855
    functionName: google::protobuf::io::TagSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TagSize(uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:858,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - wt
    - ptr
    argTypes:
    - uint32
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: google::protobuf::io::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 15
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    - GOOGLE_DCHECK
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * WriteTag(uint32 num, uint32 wt, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::WriteTag
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:864,1
    - Dst: google::protobuf::io::UnsafeWriteSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - num
    - size
    - ptr
    argTypes:
    - int
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 2
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: google::protobuf::io::WriteLengthDelim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 23
    functionsReached:
    - google::protobuf::io::UnsafeWriteSize
    - google::protobuf::io::WriteTag
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteLengthDelim(int num, uint32 size,\n
      \                                                uint8* ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:879,1
    - Dst: google::protobuf::io::WriteLengthDelim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:880,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:881,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:882,1
    - Dst: google::protobuf::io::EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:884,1
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    - Dst: encode
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - num
    - ' r'
    - size
    - ptr
    - ' encode'
    argTypes:
    - int
    - T
    - int
    - uint8*
    - E
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 877
    functionDepth: 3
    functionLinenumber: 877
    functionLinenumberEnd: 888
    functionName: google::protobuf::io::WriteVarintPacked
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 64
    functionsReached:
    - google::protobuf::io::EnsureSpace
    - data
    - encode
    - google::protobuf::io::WriteLengthDelim
    - google::protobuf::io::UnsafeVarint
    - size
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * WriteVarintPacked(int num, const T& r, int
      size,\n                                                  uint8* ptr, const E&
      encode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 890
    functionName: google::protobuf::io::Encode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 Encode32(uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 891
    functionName: google::protobuf::io::Encode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Encode64(uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: google::protobuf::io::ZigZagEncode32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint32>
    linkageType: ''
    returnType: uint32
    signature: uint32 ZigZagEncode32(int32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: google::protobuf::io::ZigZagEncode64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 ZigZagEncode64(int64 v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:904,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:907,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:910,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:915,1
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:918,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - T
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 921
    functionName: google::protobuf::io::UnsafeVarint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 46
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: PROTOBUF_ALWAYS_INLINE * UnsafeVarint(T value, uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_FALSE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:925,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:926,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - value
    - ptr
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 932
    functionName: google::protobuf::io::UnsafeWriteSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - PROTOBUF_PREDICT_FALSE
    - static_cast<uint8>
    linkageType: ''
    returnType: PROTOBUF_ALWAYS_INLINE
    signature: "PROTOBUF_ALWAYS_INLINE * UnsafeWriteSize(uint32 value,\n                                                       uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 978
    functionName: "* EpsCopyOutputStream::WriteRawLittleEndian<1>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian<1>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:984,1
    - Dst: WriteRawLittleEndian32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 988
    functionName: "* EpsCopyOutputStream::WriteRawLittleEndian<4>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRawLittleEndian32
    - WriteRaw
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian<4>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:994,1
    - Dst: WriteRawLittleEndian64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - size
    - ptr
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 998
    functionName: "* EpsCopyOutputStream::WriteRawLittleEndian<8>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRaw
    - WriteRawLittleEndian64
    linkageType: ''
    returnType: uint8
    signature: "uint8 * EpsCopyOutputStream::WriteRawLittleEndian<8>(const void* data,\n
      \                                                          int size,\n                                                           uint8*
      ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushAndResetBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1061,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1062,1
    - Dst: google::protobuf::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1063,1
    - Dst: google::protobuf::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1071,1
    - Dst: google::protobuf::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1079,1
    - Dst: google::protobuf::GetDirectBufferPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1090,1
    - Dst: google::protobuf::GetDirectBufferForNBytesAndAdvance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1101,1
    - Dst: google::protobuf::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1106,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1129,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1136,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    - Dst: google::protobuf::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    - Dst: google::protobuf::EnableAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1202,1
    - Dst: google::protobuf::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1226,1
    - Dst: google::protobuf::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1231,1
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1235,1
    - Dst: std::atomic::store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1261,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1046
    functionDepth: 2
    functionLinenumber: 1046
    functionLinenumberEnd: 1264
    functionName: google::protobuf::CodedOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteLittleEndian32ToArray
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::Cur
    - google::protobuf::EnableAliasing
    - FlushAndResetBuffer
    - google::protobuf::IsSerializationDeterministic
    - google::protobuf::SetSerializationDeterministic
    - std::atomic::store
    - google::protobuf::WriteRaw
    - google::protobuf::Skip
    - google::protobuf::Trim
    - google::protobuf::ByteCount
    - google::protobuf::GetDirectBufferPointer
    - static_cast<int>
    - GOOGLE_DCHECK
    - google::protobuf::GetDirectBufferForNBytesAndAdvance
    - WriteLittleEndian64ToArray
    - google::protobuf::HadError
    - EnsureSpace
    - load
    - google::protobuf::SetCur
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CodedOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FlushAndResetBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1061,1
    - Dst: GOOGLE_DCHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1062,1
    - Dst: google::protobuf::HadError
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1064
    functionName: google::protobuf::HadError
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - FlushAndResetBuffer
    - GOOGLE_DCHECK
    - google::protobuf::HadError
    linkageType: ''
    returnType: bool
    signature: bool HadError()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Trim
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1071
    functionName: google::protobuf::Trim
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::Trim
    linkageType: ''
    returnType: void
    signature: void Trim()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Skip
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1079
    functionName: google::protobuf::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::Skip
    linkageType: ''
    returnType: bool
    signature: bool Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetDirectBufferPointer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: google::protobuf::GetDirectBufferPointer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::GetDirectBufferPointer
    linkageType: ''
    returnType: bool
    signature: bool GetDirectBufferPointer(void** data, int* size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetDirectBufferForNBytesAndAdvance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1102
    functionName: google::protobuf::GetDirectBufferForNBytesAndAdvance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::GetDirectBufferForNBytesAndAdvance
    linkageType: ''
    returnType: uint8
    signature: uint8 * GetDirectBufferForNBytesAndAdvance(int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1107
    functionName: google::protobuf::WriteRaw
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::WriteRaw
    linkageType: ''
    returnType: void
    signature: void WriteRaw(const void* buffer, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1129,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: WriteLittleEndian32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1131
    functionName: google::protobuf::WriteLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteLittleEndian32ToArray
    - EnsureSpace
    - google::protobuf::Cur
    - google::protobuf::SetCur
    linkageType: ''
    returnType: void
    signature: void WriteLittleEndian32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1136,1
    - Dst: google::protobuf::SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: WriteLittleEndian64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    - Dst: google::protobuf::Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    functionName: google::protobuf::WriteLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - EnsureSpace
    - WriteLittleEndian64ToArray
    - google::protobuf::SetCur
    - google::protobuf::Cur
    linkageType: ''
    returnType: void
    signature: void WriteLittleEndian64(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    - Dst: google::protobuf::ByteCount
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1191
    functionName: google::protobuf::ByteCount
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::ByteCount
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int ByteCount() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::EnableAliasing
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1202
    functionName: google::protobuf::EnableAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::EnableAliasing
    linkageType: ''
    returnType: void
    signature: void EnableAliasing(bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1227
    functionName: google::protobuf::SetSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::SetSerializationDeterministic
    linkageType: ''
    returnType: void
    signature: void SetSerializationDeterministic(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::IsSerializationDeterministic
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    functionName: google::protobuf::IsSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::IsSerializationDeterministic
    linkageType: ''
    returnType: bool
    signature: bool IsSerializationDeterministic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1237
    functionName: google::protobuf::IsDefaultSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 32
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool IsDefaultSerializationDeterministic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1242
    functionName: google::protobuf::Cur
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 * Cur() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1243
    functionName: google::protobuf::SetCur
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCur(uint8* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1244
    functionName: google::protobuf::EpsCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: EpsCopyOutputStream
    signature: EpsCopyOutputStream * EpsCopy()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1262
    functionName: google::protobuf::SetDefaultSerializationDeterministic
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void SetDefaultSerializationDeterministic()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1272,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1276,1
    - Dst: ReadVarint32Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1280,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1283
    functionName: google::protobuf::CodedInputStream::ReadVarint32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - ReadVarint32Fallback
    - static_cast<uint32>
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint32(uint32* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1286,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1288,1
    - Dst: ReadVarint64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1285
    functionDepth: 1
    functionLinenumber: 1285
    functionLinenumberEnd: 1294
    functionName: google::protobuf::CodedInputStream::ReadVarint64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadVarint64Fallback
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarint64(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1297,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1301,1
    - Dst: ReadVarintSizeAsIntFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1307
    functionName: google::protobuf::CodedInputStream::ReadVarintSizeAsInt
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - ReadVarintSizeAsIntFallback
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadVarintSizeAsInt(int* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1313,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1316,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1317,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1318,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1322
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 27
    functionsReached:
    - static_cast<uint32>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedInputStream::ReadLittleEndian32FromArray(\n    const
      uint8* buffer, uint32* value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1327,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1330,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1331,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1332,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1333,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1334,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1335,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1336,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1337,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1338,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - value
    argTypes:
    - uint8*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1341
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 27
    functionsReached:
    - static_cast<uint64>
    - static_cast<uint32>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedInputStream::ReadLittleEndian64FromArray(\n    const
      uint8* buffer, uint64* value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1345,1
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1345,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1345,1
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1346,1
    - Dst: ReadLittleEndian32Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1349,1
    - Dst: ReadLittleEndian32Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1354
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::BufferSize
    - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
    - ReadLittleEndian32Fallback
    - static_cast<int>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian32(uint32* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1358,1
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1358,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1358,1
    - Dst: google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1359,1
    - Dst: ReadLittleEndian64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1362,1
    - Dst: ReadLittleEndian64Fallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1367
    functionName: google::protobuf::CodedInputStream::ReadLittleEndian64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
    - google::protobuf::CodedInputStream::BufferSize
    - static_cast<int>
    - ReadLittleEndian64Fallback
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ReadLittleEndian64(uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1371,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1374,1
    - Dst: ReadTagFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1380
    functionName: google::protobuf::CodedInputStream::ReadTagNoLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - ReadTagFallback
    linkageType: ''
    returnType: uint32
    signature: uint32 CodedInputStream::ReadTagNoLastTag()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1388,1
    - Dst: static_cast<int8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1393,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1396,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1397,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1402,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1403,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1406,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1414,1
    - Dst: ReadTagFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1418,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1419,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - cutoff
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1420
    functionName: google::protobuf::CodedInputStream::ReadTagWithCutoffNoLastTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - ReadTagFallback
    - std::make_pair
    - google::protobuf::CodedInputStream::Advance
    - static_cast<int8>
    - static_cast<uint32>
    - PROTOBUF_PREDICT_TRUE
    linkageType: ''
    returnType: std::pair<uint32, bool>
    signature: "std::pair<uint32, bool> CodedInputStream::ReadTagWithCutoffNoLastTag(\n
      \   uint32 cutoff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expected
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1424
    functionName: google::protobuf::CodedInputStream::LastTagWas
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::LastTagWas(uint32 expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1428
    functionName: google::protobuf::CodedInputStream::ConsumedEntireMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ConsumedEntireMessage()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1432,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1434,1
    - Dst: PROTOBUF_PREDICT_TRUE
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1440,1
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1440,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1441,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1442,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - expected
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1452
    functionName: google::protobuf::CodedInputStream::ExpectTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - PROTOBUF_PREDICT_TRUE
    - static_cast<uint8>
    - google::protobuf::CodedInputStream::BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ExpectTag(uint32 expected)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1461,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - expected
    argTypes:
    - uint8*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1467
    functionName: google::protobuf::CodedInputStream::ExpectTagFromArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 8
    functionsReached:
    - static_cast<uint8>
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedInputStream::ExpectTagFromArray(const uint8* buffer,\n
      \                                                        uint32 expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1473
    functionName: google::protobuf::CodedInputStream::GetDirectBufferPointerInline
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: "void CodedInputStream::GetDirectBufferPointerInline(const void** data,\n
      \                                                          int* size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1487
    functionName: google::protobuf::CodedInputStream::ExpectAtEnd
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::ExpectAtEnd()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1491
    functionName: google::protobuf::CodedInputStream::CurrentPosition
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::BufferSize
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::CurrentPosition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - amount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1493
    functionName: google::protobuf::CodedInputStream::Advance
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::Advance(int amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1498
    functionName: google::protobuf::CodedInputStream::SetRecursionLimit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::SetRecursionLimit(int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1503
    functionName: google::protobuf::CodedInputStream::IncrementRecursionDepth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::IncrementRecursionDepth()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1507
    functionName: google::protobuf::CodedInputStream::DecrementRecursionDepth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::DecrementRecursionDepth()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (recursion_budget_ < recursion_limit_)
      pos:
        line_end: 1509
        line_start: 1509
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    constantsTouched: []
    func_position:
      end: 1512
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1512
    functionName: google::protobuf::CodedInputStream::UnsafeDecrementRecursionDepth
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::UnsafeDecrementRecursionDepth()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pool
    - factory
    argTypes:
    - DescriptorPool*
    - MessageFactory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1518
    functionName: google::protobuf::CodedInputStream::SetExtensionRegistry
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void CodedInputStream::SetExtensionRegistry(const DescriptorPool*
      pool,\n                                                   MessageFactory* factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1522
    functionName: google::protobuf::CodedInputStream::GetExtensionPool
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DescriptorPool
    signature: DescriptorPool * CodedInputStream::GetExtensionPool()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1526
    functionName: google::protobuf::CodedInputStream::GetExtensionFactory
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MessageFactory
    signature: MessageFactory * CodedInputStream::GetExtensionFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1530
    functionName: google::protobuf::CodedInputStream::BufferSize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 19
    functionsReached:
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int CodedInputStream::BufferSize() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Refresh
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - ZeroCopyInputStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1550
    functionName: google::protobuf::CodedInputStream::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - Refresh
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::CodedInputStream(ZeroCopyInputStream* input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - uint8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1570
    functionName: google::protobuf::CodedInputStream::CodedInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CodedInputStream::CodedInputStream(const uint8* buffer, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1572
    functionName: google::protobuf::CodedInputStream::IsFlat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::IsFlat() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedInputStream::BufferSize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1577,1
    - Dst: google::protobuf::CodedInputStream::Advance
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1581,1
    - Dst: SkipFallback
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1586
    functionName: google::protobuf::CodedInputStream::Skip
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedInputStream::Advance
    - SkipFallback
    - google::protobuf::CodedInputStream::BufferSize
    linkageType: ''
    returnType: bool
    signature: bool CodedInputStream::Skip(int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1591
    functionName: google::protobuf::CodedOutputStream::WriteVarint32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 62
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteVarint32ToArray(uint32 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::UnsafeVarint
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1596
    functionName: google::protobuf::CodedOutputStream::WriteVarint64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 30
    functionsReached:
    - google::protobuf::io::UnsafeVarint
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteVarint64ToArray(uint64 value,\n                                                      uint8*
      target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1599,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1598
    functionDepth: 3
    functionLinenumber: 1598
    functionLinenumberEnd: 1600
    functionName: google::protobuf::CodedOutputStream::WriteVarint32SignExtended
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint64
    - static_cast<uint64>
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteVarint32SignExtended(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1604,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - int32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1602
    functionDepth: 2
    functionLinenumber: 1602
    functionLinenumberEnd: 1605
    functionName: google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - static_cast<uint64>
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteVarint32SignExtendedToArray(\n    int32
      value, uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1610,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1612,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1613,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1614,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1618
    functionName: google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 40
    functionsReached:
    - static_cast<uint8>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteLittleEndian32ToArray(uint32 value,\n
      \                                                           uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1623,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1625,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1626,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1628,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1629,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1630,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1631,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1632,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1633,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1634,1
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint64
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1638
    functionName: google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 40
    functionsReached:
    - static_cast<uint32>
    - static_cast<uint8>
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteLittleEndian64ToArray(uint64 value,\n
      \                                                           uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1641,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1642,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1642,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1640
    functionDepth: 2
    functionLinenumber: 1640
    functionLinenumberEnd: 1643
    functionName: google::protobuf::CodedOutputStream::WriteVarint32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 3
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    - EnsureSpace
    - Cur
    - SetCur
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteVarint32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnsureSpace
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1646,1
    - Dst: SetCur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1647,1
    - Dst: google::protobuf::CodedOutputStream::WriteVarint64ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1647,1
    - Dst: Cur
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1645
    functionDepth: 2
    functionLinenumber: 1645
    functionLinenumberEnd: 1648
    functionName: google::protobuf::CodedOutputStream::WriteVarint64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - EnsureSpace
    - Cur
    - SetCur
    - google::protobuf::CodedOutputStream::WriteVarint64ToArray
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteVarint64(uint64 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1650
    functionDepth: 3
    functionLinenumber: 1650
    functionLinenumberEnd: 1650
    functionName: google::protobuf::CodedOutputStream::WriteTag
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteTag(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteVarint32ToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1652
    functionDepth: 2
    functionLinenumber: 1652
    functionLinenumberEnd: 1654
    functionName: google::protobuf::CodedOutputStream::WriteTagToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteVarint32ToArray
    linkageType: ''
    returnType: uint8
    signature: uint8 * CodedOutputStream::WriteTagToArray(uint32 value, uint8* target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bits::Log2FloorNonZero
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1662,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1664
    functionName: google::protobuf::CodedOutputStream::VarintSize32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 91
    functionsReached:
    - static_cast<size_t>
    - Bits::Log2FloorNonZero
    linkageType: ''
    returnType: size_t
    signature: size_t CodedOutputStream::VarintSize32(uint32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bits::Log2FloorNonZero64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1672,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1674
    functionName: google::protobuf::CodedOutputStream::VarintSize64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 24
    functionsReached:
    - static_cast<size_t>
    - Bits::Log2FloorNonZero64
    linkageType: ''
    returnType: size_t
    signature: size_t CodedOutputStream::VarintSize64(uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::VarintSize32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1680,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1676
    functionDepth: 2
    functionLinenumber: 1676
    functionLinenumberEnd: 1682
    functionName: google::protobuf::CodedOutputStream::VarintSize32SignExtended
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 16
    functionsReached:
    - google::protobuf::CodedOutputStream::VarintSize32
    - static_cast<uint32>
    linkageType: ''
    returnType: size_t
    signature: size_t CodedOutputStream::VarintSize32SignExtended(int32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteRaw
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1686
    functionName: google::protobuf::CodedOutputStream::WriteString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - WriteRaw
    - static_cast<int>
    - data
    - size
    linkageType: ''
    returnType: void
    signature: void CodedOutputStream::WriteString(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteRawMaybeAliased
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1691
    functionName: google::protobuf::CodedOutputStream::WriteRawMaybeAliased
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::CodedOutputStream::WriteRawMaybeAliased
    linkageType: ''
    returnType: void
    signature: "void CodedOutputStream::WriteRawMaybeAliased(const void* data,\n                                                    int
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - data
    - size
    - target
    argTypes:
    - void*
    - int
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1697
    functionName: google::protobuf::CodedOutputStream::WriteRawToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 3
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteRawToArray(const void* data, int size,\n
      \                                                uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CodedOutputStream::WriteRawToArray
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h:1701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - target
    argTypes:
    - std::string
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1702
    functionName: google::protobuf::CodedOutputStream::WriteStringToArray
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    functionUses: 0
    functionsReached:
    - data
    - static_cast<int>
    - google::protobuf::CodedOutputStream::WriteRawToArray
    - size
    linkageType: ''
    returnType: uint8
    signature: "uint8 * CodedOutputStream::WriteStringToArray(const std::string& str,\n
      \                                                   uint8* target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    - Dst: CopyingFileInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:100,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 125
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::GetErrno
    - CopyingFileInputStream
    - google::protobuf::io::SetCloseOnDelete
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 2
    functionsReached:
    - google::protobuf::io::SetCloseOnDelete
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 2
    functionsReached:
    - google::protobuf::io::GetErrno
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    - Dst: CopyingFileInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:100,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 125
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::GetErrno
    - CopyingFileInputStream
    - google::protobuf::io::SetCloseOnDelete
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 4
    functionsReached:
    - google::protobuf::io::SetCloseOnDelete
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 4
    functionsReached:
    - google::protobuf::io::GetErrno
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:162,1
    - Dst: google::protobuf::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:168,1
    - Dst: CopyingFileOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:173,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 193
    functionName: google::protobuf::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetErrno
    - google::protobuf::SetCloseOnDelete
    - CopyingFileOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: google::protobuf::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 2
    functionsReached:
    - google::protobuf::SetCloseOnDelete
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: google::protobuf::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 2
    functionsReached:
    - google::protobuf::GetErrno
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: google::protobuf::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: google::protobuf::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    - Dst: CopyingFileInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:100,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 125
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::GetErrno
    - CopyingFileInputStream
    - google::protobuf::io::SetCloseOnDelete
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 6
    functionsReached:
    - google::protobuf::io::SetCloseOnDelete
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 6
    functionsReached:
    - google::protobuf::io::GetErrno
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    - Dst: CopyingFileInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:100,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 125
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::GetErrno
    - CopyingFileInputStream
    - google::protobuf::io::SetCloseOnDelete
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::SetCloseOnDelete
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::GetErrno
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:162,1
    - Dst: google::protobuf::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:168,1
    - Dst: CopyingFileOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:173,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 193
    functionName: google::protobuf::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetErrno
    - google::protobuf::SetCloseOnDelete
    - CopyingFileOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: google::protobuf::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 4
    functionsReached:
    - google::protobuf::SetCloseOnDelete
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: google::protobuf::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 4
    functionsReached:
    - google::protobuf::GetErrno
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: google::protobuf::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: google::protobuf::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyingIstreamInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:223,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 235
    functionName: google::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - CopyingIstreamInputStream
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    - Dst: CopyingFileInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:100,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 125
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::GetErrno
    - CopyingFileInputStream
    - google::protobuf::io::SetCloseOnDelete
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 10
    functionsReached:
    - google::protobuf::io::SetCloseOnDelete
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 10
    functionsReached:
    - google::protobuf::io::GetErrno
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    - Dst: CopyingFileInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:100,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 125
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::GetErrno
    - CopyingFileInputStream
    - google::protobuf::io::SetCloseOnDelete
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 12
    functionsReached:
    - google::protobuf::io::SetCloseOnDelete
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 12
    functionsReached:
    - google::protobuf::io::GetErrno
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:162,1
    - Dst: google::protobuf::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:168,1
    - Dst: CopyingFileOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:173,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 193
    functionName: google::protobuf::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetErrno
    - google::protobuf::SetCloseOnDelete
    - CopyingFileOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: google::protobuf::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 6
    functionsReached:
    - google::protobuf::SetCloseOnDelete
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: google::protobuf::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 6
    functionsReached:
    - google::protobuf::GetErrno
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: google::protobuf::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: google::protobuf::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    - Dst: CopyingFileInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:100,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 125
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::GetErrno
    - CopyingFileInputStream
    - google::protobuf::io::SetCloseOnDelete
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 14
    functionsReached:
    - google::protobuf::io::SetCloseOnDelete
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 14
    functionsReached:
    - google::protobuf::io::GetErrno
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    - Dst: CopyingFileInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:100,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 125
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::GetErrno
    - CopyingFileInputStream
    - google::protobuf::io::SetCloseOnDelete
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 16
    functionsReached:
    - google::protobuf::io::SetCloseOnDelete
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 16
    functionsReached:
    - google::protobuf::io::GetErrno
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: google::protobuf::io::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: google::protobuf::io::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:162,1
    - Dst: google::protobuf::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:168,1
    - Dst: CopyingFileOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:173,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 193
    functionName: google::protobuf::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 0
    functionsReached:
    - google::protobuf::GetErrno
    - google::protobuf::SetCloseOnDelete
    - CopyingFileOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SetCloseOnDelete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: google::protobuf::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached:
    - google::protobuf::SetCloseOnDelete
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::GetErrno
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: google::protobuf::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached:
    - google::protobuf::GetErrno
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: google::protobuf::SetCloseOnDelete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetCloseOnDelete(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: google::protobuf::GetErrno
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetErrno() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyingIstreamInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:223,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 235
    functionName: google::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - CopyingIstreamInputStream
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CopyingOstreamOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:267,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 278
    functionName: ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 8
    functionsReached:
    - CopyingOstreamOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ConcatenatingInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:299,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: ConcatenatingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 1
    functionsReached:
    - ConcatenatingInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ConcatenatingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: ~ConcatenatingInputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConcatenatingInputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:76,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~ArrayInputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayInputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:110,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: ~ArrayOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StringOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StringOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: google::protobuf::io::CopyingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: google::protobuf::io::CopyingOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:351,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: google::protobuf::io::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 1
    functionsReached:
    - google::protobuf::io::LimitingInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: google::protobuf::io::mutable_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * mutable_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:398,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::io::as_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::mutable_string_data
    linkageType: ''
    returnType: std::pair<char*, bool>
    signature: std::pair<char*, bool> as_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:76,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~ArrayInputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayInputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:110,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: ~ArrayOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StringOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StringOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: google::protobuf::io::CopyingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: google::protobuf::io::CopyingOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:351,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: google::protobuf::io::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 2
    functionsReached:
    - google::protobuf::io::LimitingInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: google::protobuf::io::mutable_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * mutable_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:398,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::io::as_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::mutable_string_data
    linkageType: ''
    returnType: std::pair<char*, bool>
    signature: std::pair<char*, bool> as_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:76,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~ArrayInputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayInputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:110,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: ~ArrayOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StringOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StringOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: google::protobuf::io::CopyingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: google::protobuf::io::CopyingOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:351,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: google::protobuf::io::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 3
    functionsReached:
    - google::protobuf::io::LimitingInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: google::protobuf::io::mutable_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * mutable_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:398,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::io::as_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::mutable_string_data
    linkageType: ''
    returnType: std::pair<char*, bool>
    signature: std::pair<char*, bool> as_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:76,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~ArrayInputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayInputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:110,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: ~ArrayOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StringOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StringOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: google::protobuf::io::CopyingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: google::protobuf::io::CopyingOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:351,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: google::protobuf::io::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 4
    functionsReached:
    - google::protobuf::io::LimitingInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: google::protobuf::io::mutable_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * mutable_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:398,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::io::as_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::mutable_string_data
    linkageType: ''
    returnType: std::pair<char*, bool>
    signature: std::pair<char*, bool> as_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:76,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~ArrayInputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayInputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:110,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: ~ArrayOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StringOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StringOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: google::protobuf::io::CopyingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: google::protobuf::io::CopyingOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:351,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: google::protobuf::io::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 5
    functionsReached:
    - google::protobuf::io::LimitingInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: google::protobuf::io::mutable_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * mutable_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:398,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::io::as_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::mutable_string_data
    linkageType: ''
    returnType: std::pair<char*, bool>
    signature: std::pair<char*, bool> as_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:76,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~ArrayInputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayInputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:110,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: ~ArrayOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StringOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StringOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: google::protobuf::io::CopyingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: google::protobuf::io::CopyingOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:351,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: google::protobuf::io::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 6
    functionsReached:
    - google::protobuf::io::LimitingInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: google::protobuf::io::mutable_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * mutable_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:398,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::io::as_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::mutable_string_data
    linkageType: ''
    returnType: std::pair<char*, bool>
    signature: std::pair<char*, bool> as_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:76,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~ArrayInputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayInputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:110,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: ~ArrayOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StringOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StringOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: google::protobuf::io::CopyingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: google::protobuf::io::CopyingOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:351,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: google::protobuf::io::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 7
    functionsReached:
    - google::protobuf::io::LimitingInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: google::protobuf::io::mutable_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * mutable_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:398,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::io::as_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::mutable_string_data
    linkageType: ''
    returnType: std::pair<char*, bool>
    signature: std::pair<char*, bool> as_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:76,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: google::protobuf::io::ZeroCopyInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: ~ArrayInputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayInputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ArrayOutputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:110,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - ArrayOutputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: ~ArrayOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ArrayOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: google::protobuf::io::ZeroCopyOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ZeroCopyOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: ~StringOutputStream() override
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StringOutputStream() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: google::protobuf::io::CopyingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 256
    functionName: google::protobuf::io::CopyingInputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingInputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: google::protobuf::io::CopyingOutputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 343
    functionName: google::protobuf::io::CopyingOutputStreamAdaptor
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CopyingOutputStreamAdaptor
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::io::SetOwnsCopyingStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetOwnsCopyingStream(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 311
    functionName: google::protobuf::io::AllowsAliasing
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowsAliasing() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::LimitingInputStream
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:351,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: google::protobuf::io::LimitingInputStream
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 8
    functionsReached:
    - google::protobuf::io::LimitingInputStream
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitingInputStream
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: google::protobuf::io::mutable_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * mutable_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::io::mutable_string_data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:398,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 400
    functionName: google::protobuf::io::as_string_data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
    functionUses: 0
    functionsReached:
    - std::make_pair
    - google::protobuf::io::mutable_string_data
    linkageType: ''
    returnType: std::pair<char*, bool>
    signature: std::pair<char*, bool> as_string_data(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - new_size
    argTypes:
    - std::string*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: google::protobuf::STLStringResizeUninitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h
    functionUses: 0
    functionsReached:
    - std::string*::resize
    linkageType: ''
    returnType: void
    signature: void STLStringResizeUninitialized(std::string* s, size_t new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h:65,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: google::protobuf::string_as_array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h
    functionUses: 8
    functionsReached:
    - std::string*::begin
    - std::string*::empty
    linkageType: ''
    returnType: char
    signature: char * string_as_array(std::string* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - new_size
    argTypes:
    - std::string*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: google::protobuf::STLStringResizeUninitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h
    functionUses: 0
    functionsReached:
    - std::string*::resize
    linkageType: ''
    returnType: void
    signature: void STLStringResizeUninitialized(std::string* s, size_t new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h:65,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: google::protobuf::string_as_array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h
    functionUses: 8
    functionsReached:
    - std::string*::begin
    - std::string*::empty
    linkageType: ''
    returnType: char
    signature: char * string_as_array(std::string* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - new_size
    argTypes:
    - std::string*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: google::protobuf::STLStringResizeUninitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h
    functionUses: 0
    functionsReached:
    - std::string*::resize
    linkageType: ''
    returnType: void
    signature: void STLStringResizeUninitialized(std::string* s, size_t new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h:65,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: google::protobuf::string_as_array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h
    functionUses: 8
    functionsReached:
    - std::string*::begin
    - std::string*::empty
    linkageType: ''
    returnType: char
    signature: char * string_as_array(std::string* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - new_size
    argTypes:
    - std::string*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: google::protobuf::STLStringResizeUninitialized
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h
    functionUses: 0
    functionsReached:
    - std::string*::resize
    linkageType: ''
    returnType: void
    signature: void STLStringResizeUninitialized(std::string* s, size_t new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h:65,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: google::protobuf::string_as_array
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h
    functionUses: 8
    functionsReached:
    - std::string*::begin
    - std::string*::empty
    linkageType: ''
    returnType: char
    signature: char * string_as_array(std::string* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::LogMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::LogMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::LogMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::LogFinisher
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogFinisher
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - T::ok
    linkageType: ''
    returnType: bool
    signature: bool IsOk(T status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOk(bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::LogMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::LogMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::LogMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::LogFinisher
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogFinisher
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - T::ok
    linkageType: ''
    returnType: bool
    signature: bool IsOk(T status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOk(bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - LEVEL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: GOOGLE_LOG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 230
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_LOG(LEVEL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - LEVEL
    - ','
    - CONDITION
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: GOOGLE_LOG_IF
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_LOG_IF(LEVEL, CONDITION)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPRESSION
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: GOOGLE_CHECK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 188
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK(EXPRESSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: GOOGLE_CHECK_OK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_OK(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: GOOGLE_CHECK_EQ
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_EQ(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: GOOGLE_CHECK_NE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_NE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: GOOGLE_CHECK_LT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_LT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: GOOGLE_CHECK_LE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 124
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_LE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: GOOGLE_CHECK_GT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_GT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: GOOGLE_CHECK_GE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_GE(A, B)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - val
    argTypes:
    - char*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::CheckNotNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: T
    signature: "T * CheckNotNull(const char* /* file */, int /* line */,\n                const
      char* name, T* val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - val
    argTypes:
    - char*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::CheckNotNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: T
    signature: "T * CheckNotNull(const char* /* file */, int /* line */,\n                const
      char* name, T* val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: GOOGLE_CHECK_NOTNULL
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_NOTNULL(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - LEVEL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: GOOGLE_DLOG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DLOG(LEVEL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPRESSION
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: GOOGLE_DCHECK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 547
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK(EXPRESSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: GOOGLE_DCHECK_OK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_OK(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: GOOGLE_DCHECK_EQ
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 248
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_EQ(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: GOOGLE_DCHECK_NE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_NE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: GOOGLE_DCHECK_LT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_LT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: GOOGLE_DCHECK_LE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_LE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: GOOGLE_DCHECK_GT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_GT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: GOOGLE_DCHECK_GE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 132
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_GE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::LogSilencer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: google::protobuf::LogSilencer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 1
    functionsReached:
    - google::protobuf::LogSilencer
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogSilencer
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::LogMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::LogMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::LogMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::LogFinisher
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogFinisher
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - T::ok
    linkageType: ''
    returnType: bool
    signature: bool IsOk(T status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOk(bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::LogMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::LogMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::LogMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::LogFinisher
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogFinisher
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - T::ok
    linkageType: ''
    returnType: bool
    signature: bool IsOk(T status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOk(bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - LEVEL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: GOOGLE_LOG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 232
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_LOG(LEVEL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - LEVEL
    - ','
    - CONDITION
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: GOOGLE_LOG_IF
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_LOG_IF(LEVEL, CONDITION)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPRESSION
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: GOOGLE_CHECK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 188
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK(EXPRESSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: GOOGLE_CHECK_OK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_OK(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: GOOGLE_CHECK_EQ
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_EQ(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: GOOGLE_CHECK_NE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_NE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: GOOGLE_CHECK_LT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_LT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: GOOGLE_CHECK_LE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 124
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_LE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: GOOGLE_CHECK_GT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_GT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: GOOGLE_CHECK_GE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_GE(A, B)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - val
    argTypes:
    - char*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::CheckNotNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: T
    signature: "T * CheckNotNull(const char* /* file */, int /* line */,\n                const
      char* name, T* val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - val
    argTypes:
    - char*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::CheckNotNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: T
    signature: "T * CheckNotNull(const char* /* file */, int /* line */,\n                const
      char* name, T* val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: GOOGLE_CHECK_NOTNULL
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_NOTNULL(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - LEVEL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: GOOGLE_DLOG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DLOG(LEVEL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPRESSION
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: GOOGLE_DCHECK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 547
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK(EXPRESSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: GOOGLE_DCHECK_OK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_OK(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: GOOGLE_DCHECK_EQ
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 248
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_EQ(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: GOOGLE_DCHECK_NE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_NE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: GOOGLE_DCHECK_LT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_LT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: GOOGLE_DCHECK_LE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_LE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: GOOGLE_DCHECK_GT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_GT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: GOOGLE_DCHECK_GE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 132
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_GE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::LogSilencer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: google::protobuf::LogSilencer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 2
    functionsReached:
    - google::protobuf::LogSilencer
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogSilencer
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::LogMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::LogMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::LogMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::LogFinisher
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogFinisher
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - T::ok
    linkageType: ''
    returnType: bool
    signature: bool IsOk(T status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOk(bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::LogMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::LogMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::LogMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::LogFinisher
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogFinisher
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - T::ok
    linkageType: ''
    returnType: bool
    signature: bool IsOk(T status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOk(bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - LEVEL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: GOOGLE_LOG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 234
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_LOG(LEVEL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - LEVEL
    - ','
    - CONDITION
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: GOOGLE_LOG_IF
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_LOG_IF(LEVEL, CONDITION)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPRESSION
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: GOOGLE_CHECK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 188
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK(EXPRESSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: GOOGLE_CHECK_OK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_OK(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: GOOGLE_CHECK_EQ
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_EQ(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: GOOGLE_CHECK_NE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_NE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: GOOGLE_CHECK_LT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_LT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: GOOGLE_CHECK_LE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 124
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_LE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: GOOGLE_CHECK_GT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_GT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: GOOGLE_CHECK_GE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_GE(A, B)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - val
    argTypes:
    - char*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::CheckNotNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: T
    signature: "T * CheckNotNull(const char* /* file */, int /* line */,\n                const
      char* name, T* val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - val
    argTypes:
    - char*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::CheckNotNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: T
    signature: "T * CheckNotNull(const char* /* file */, int /* line */,\n                const
      char* name, T* val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: GOOGLE_CHECK_NOTNULL
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_NOTNULL(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - LEVEL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: GOOGLE_DLOG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DLOG(LEVEL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPRESSION
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: GOOGLE_DCHECK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 547
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK(EXPRESSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: GOOGLE_DCHECK_OK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_OK(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: GOOGLE_DCHECK_EQ
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 248
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_EQ(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: GOOGLE_DCHECK_NE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_NE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: GOOGLE_DCHECK_LT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_LT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: GOOGLE_DCHECK_LE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_LE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: GOOGLE_DCHECK_GT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_GT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: GOOGLE_DCHECK_GE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 132
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_GE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::LogSilencer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: google::protobuf::LogSilencer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 3
    functionsReached:
    - google::protobuf::LogSilencer
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogSilencer
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::LogMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::LogMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::LogMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::LogFinisher
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogFinisher
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - T::ok
    linkageType: ''
    returnType: bool
    signature: bool IsOk(T status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOk(bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::LogMessage
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::LogMessage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::LogMessage
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogMessage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: google::protobuf::internal::LogFinisher
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogFinisher
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - T::ok
    linkageType: ''
    returnType: bool
    signature: bool IsOk(T status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::IsOk
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsOk(bool status)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - LEVEL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: GOOGLE_LOG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 236
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_LOG(LEVEL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - LEVEL
    - ','
    - CONDITION
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: GOOGLE_LOG_IF
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_LOG_IF(LEVEL, CONDITION)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPRESSION
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: GOOGLE_CHECK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 188
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK(EXPRESSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: GOOGLE_CHECK_OK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_OK(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: GOOGLE_CHECK_EQ
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_EQ(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: GOOGLE_CHECK_NE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_NE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: GOOGLE_CHECK_LT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_LT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: GOOGLE_CHECK_LE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 124
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_LE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: GOOGLE_CHECK_GT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_GT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: GOOGLE_CHECK_GE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_GE(A, B)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - val
    argTypes:
    - char*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::CheckNotNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: T
    signature: "T * CheckNotNull(const char* /* file */, int /* line */,\n                const
      char* name, T* val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_LOG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - val
    argTypes:
    - char*
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: google::protobuf::internal::CheckNotNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached:
    - GOOGLE_LOG
    linkageType: ''
    returnType: T
    signature: "T * CheckNotNull(const char* /* file */, int /* line */,\n                const
      char* name, T* val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: GOOGLE_CHECK_NOTNULL
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_CHECK_NOTNULL(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - LEVEL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: GOOGLE_DLOG
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DLOG(LEVEL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPRESSION
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: GOOGLE_DCHECK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 547
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK(EXPRESSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - E
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: GOOGLE_DCHECK_OK
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_OK(E)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: GOOGLE_DCHECK_EQ
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 248
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_EQ(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: GOOGLE_DCHECK_NE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_NE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: GOOGLE_DCHECK_LT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_LT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: GOOGLE_DCHECK_LE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_LE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: GOOGLE_DCHECK_GT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_GT(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: GOOGLE_DCHECK_GE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 132
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DCHECK_GE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::LogSilencer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: google::protobuf::LogSilencer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    functionUses: 4
    functionsReached:
    - google::protobuf::LogSilencer
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LogSilencer
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: operator()(const Key* key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Key* key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: operator()(const char* str) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const char* str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator()(bool x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(bool x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:82,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: operator()(const std::string& key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - hash<const char*>
    - c_str
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: operator()(const std::string& a, const std::string& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const std::string& a, const std::string& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash<First>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:95,1
    - Dst: hash<Second>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::pair<First, Second>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: operator()(const std::pair<First, Second>& key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - hash<First>
    - hash<Second>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const std::pair<First, Second>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::pair<First, Second>
    - std::pair<First, Second>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: "operator()(const std::pair<First, Second>& a,\n                           const
      std::pair<First, Second>& b) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const std::pair<First, Second>& a,\n                           const
      std::pair<First, Second>& b) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: operator()(const Key* key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Key* key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: operator()(const char* str) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const char* str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator()(bool x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(bool x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:82,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: operator()(const std::string& key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - hash<const char*>
    - c_str
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: operator()(const std::string& a, const std::string& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const std::string& a, const std::string& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash<First>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:95,1
    - Dst: hash<Second>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::pair<First, Second>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: operator()(const std::pair<First, Second>& key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - hash<First>
    - hash<Second>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const std::pair<First, Second>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::pair<First, Second>
    - std::pair<First, Second>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: "operator()(const std::pair<First, Second>& a,\n                           const
      std::pair<First, Second>& b) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const std::pair<First, Second>& a,\n                           const
      std::pair<First, Second>& b) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: operator()(const Key* key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Key* key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: operator()(const char* str) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const char* str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator()(bool x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(bool x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:82,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: operator()(const std::string& key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - hash<const char*>
    - c_str
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: operator()(const std::string& a, const std::string& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const std::string& a, const std::string& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash<First>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:95,1
    - Dst: hash<Second>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::pair<First, Second>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: operator()(const std::pair<First, Second>& key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - hash<First>
    - hash<Second>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const std::pair<First, Second>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::pair<First, Second>
    - std::pair<First, Second>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: "operator()(const std::pair<First, Second>& a,\n                           const
      std::pair<First, Second>& b) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const std::pair<First, Second>& a,\n                           const
      std::pair<First, Second>& b) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: operator()(const Key* key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const Key* key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: operator()(const char* str) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const char* str) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: operator()(bool x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(bool x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:82,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: operator()(const std::string& key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - hash<const char*>
    - c_str
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const std::string& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: operator()(const std::string& a, const std::string& b) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator()(const std::string& a, const std::string& b) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash<First>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:95,1
    - Dst: hash<Second>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - std::pair<First, Second>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: operator()(const std::pair<First, Second>& key) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached:
    - hash<First>
    - hash<Second>
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const std::pair<First, Second>& key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' a'
    - ' b'
    argTypes:
    - std::pair<First, Second>
    - std::pair<First, Second>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: "operator()(const std::pair<First, Second>& a,\n                           const
      std::pair<First, Second>& b) const"
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool operator()(const std::pair<First, Second>& a,\n                           const
      std::pair<First, Second>& b) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: google::protobuf::internal::implicit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: To
    signature: To implicit_cast(From const &f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:90,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: dynamic_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: static_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts:
    - condition: (f == nullptr || dynamic_cast<To>(f) != nullptr)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<To>
    - google::protobuf::internal::implicit_cast
    - static_cast<To>
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From* f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:107,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: dynamic_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: static_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts:
    - condition: (dynamic_cast<ToAsPointer>(&f) != nullptr)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<ToAsPointer>
    - static_cast<ToAsPointer>
    - google::protobuf::internal::implicit_cast
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:119,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::bit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - memcpy
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: To
    signature: To bit_cast(const From& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: google::protobuf::internal::implicit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: To
    signature: To implicit_cast(From const &f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:90,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: dynamic_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: static_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts:
    - condition: (f == nullptr || dynamic_cast<To>(f) != nullptr)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<To>
    - google::protobuf::internal::implicit_cast
    - static_cast<To>
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From* f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:107,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: dynamic_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: static_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts:
    - condition: (dynamic_cast<ToAsPointer>(&f) != nullptr)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<ToAsPointer>
    - static_cast<ToAsPointer>
    - google::protobuf::internal::implicit_cast
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:119,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::bit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - memcpy
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: To
    signature: To bit_cast(const From& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: google::protobuf::internal::implicit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: To
    signature: To implicit_cast(From const &f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:90,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: dynamic_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: static_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts:
    - condition: (f == nullptr || dynamic_cast<To>(f) != nullptr)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<To>
    - google::protobuf::internal::implicit_cast
    - static_cast<To>
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From* f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:107,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: dynamic_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: static_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts:
    - condition: (dynamic_cast<ToAsPointer>(&f) != nullptr)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<ToAsPointer>
    - static_cast<ToAsPointer>
    - google::protobuf::internal::implicit_cast
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:119,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::bit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - memcpy
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: To
    signature: To bit_cast(const From& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: google::protobuf::internal::implicit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: To
    signature: To implicit_cast(From const &f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:90,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: dynamic_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: static_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts:
    - condition: (f == nullptr || dynamic_cast<To>(f) != nullptr)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<To>
    - google::protobuf::internal::implicit_cast
    - static_cast<To>
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From* f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:107,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: dynamic_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: static_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts:
    - condition: (dynamic_cast<ToAsPointer>(&f) != nullptr)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<ToAsPointer>
    - static_cast<ToAsPointer>
    - google::protobuf::internal::implicit_cast
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:119,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::bit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - memcpy
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: To
    signature: To bit_cast(const From& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: google::protobuf::internal::implicit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: To
    signature: To implicit_cast(From const &f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:90,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: dynamic_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: static_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts:
    - condition: (f == nullptr || dynamic_cast<To>(f) != nullptr)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<To>
    - google::protobuf::internal::implicit_cast
    - static_cast<To>
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From* f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:107,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: dynamic_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: static_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts:
    - condition: (dynamic_cast<ToAsPointer>(&f) != nullptr)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<ToAsPointer>
    - static_cast<ToAsPointer>
    - google::protobuf::internal::implicit_cast
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:119,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::bit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - memcpy
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: To
    signature: To bit_cast(const From& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: google::protobuf::internal::implicit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: To
    signature: To implicit_cast(From const &f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:90,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: dynamic_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: static_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts:
    - condition: (f == nullptr || dynamic_cast<To>(f) != nullptr)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<To>
    - google::protobuf::internal::implicit_cast
    - static_cast<To>
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From* f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:107,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: dynamic_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: static_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts:
    - condition: (dynamic_cast<ToAsPointer>(&f) != nullptr)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<ToAsPointer>
    - static_cast<ToAsPointer>
    - google::protobuf::internal::implicit_cast
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:119,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::bit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - memcpy
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: To
    signature: To bit_cast(const From& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: google::protobuf::internal::implicit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: To
    signature: To implicit_cast(From const &f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:90,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: dynamic_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: static_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts:
    - condition: (f == nullptr || dynamic_cast<To>(f) != nullptr)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<To>
    - google::protobuf::internal::implicit_cast
    - static_cast<To>
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From* f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:107,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: dynamic_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: static_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts:
    - condition: (dynamic_cast<ToAsPointer>(&f) != nullptr)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<ToAsPointer>
    - static_cast<ToAsPointer>
    - google::protobuf::internal::implicit_cast
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:119,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::bit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - memcpy
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: To
    signature: To bit_cast(const From& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: google::protobuf::internal::implicit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: To
    signature: To implicit_cast(From const &f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:90,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: dynamic_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:94,1
    - Dst: static_cast<To>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - From*
    assertStmts:
    - condition: (f == nullptr || dynamic_cast<To>(f) != nullptr)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<To>
    - google::protobuf::internal::implicit_cast
    - static_cast<To>
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From* f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::implicit_cast
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:107,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: dynamic_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:112,1
    - Dst: static_cast<ToAsPointer>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' f'
    argTypes:
    - From
    assertStmts:
    - condition: (dynamic_cast<ToAsPointer>(&f) != nullptr)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: google::protobuf::internal::down_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - dynamic_cast<ToAsPointer>
    - static_cast<ToAsPointer>
    - google::protobuf::internal::implicit_cast
    - assert
    linkageType: ''
    returnType: To
    signature: To down_cast(From& f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:119,1
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' from'
    argTypes:
    - From
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: google::protobuf::internal::bit_cast
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
    functionUses: 0
    functionsReached:
    - memcpy
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: To
    signature: To bit_cast(const From& from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: PROTOBUF_RUNTIME_DEPRECATED
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROTOBUF_RUNTIME_DEPRECATED(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: GOOGLE_PROTOBUF_RUNTIME_DEPRECATED
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_RUNTIME_DEPRECATED(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sanitizer_unaligned_load16
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: GOOGLE_UNALIGNED_LOAD16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - __sanitizer_unaligned_load16
    linkageType: ''
    returnType: uint16
    signature: uint16 GOOGLE_UNALIGNED_LOAD16(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sanitizer_unaligned_load32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: GOOGLE_UNALIGNED_LOAD32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - __sanitizer_unaligned_load32
    linkageType: ''
    returnType: uint32
    signature: uint32 GOOGLE_UNALIGNED_LOAD32(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sanitizer_unaligned_load64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: GOOGLE_UNALIGNED_LOAD64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 4
    functionsReached:
    - __sanitizer_unaligned_load64
    linkageType: ''
    returnType: uint64
    signature: uint64 GOOGLE_UNALIGNED_LOAD64(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sanitizer_unaligned_store16
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: GOOGLE_UNALIGNED_STORE16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - __sanitizer_unaligned_store16
    linkageType: ''
    returnType: void
    signature: void GOOGLE_UNALIGNED_STORE16(void *p, uint16 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sanitizer_unaligned_store32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: GOOGLE_UNALIGNED_STORE32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - __sanitizer_unaligned_store32
    linkageType: ''
    returnType: void
    signature: void GOOGLE_UNALIGNED_STORE32(void *p, uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sanitizer_unaligned_store64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: GOOGLE_UNALIGNED_STORE64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 4
    functionsReached:
    - __sanitizer_unaligned_store64
    linkageType: ''
    returnType: void
    signature: void GOOGLE_UNALIGNED_STORE64(void *p, uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: GOOGLE_UNALIGNED_LOAD16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_UNALIGNED_LOAD16(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: GOOGLE_UNALIGNED_LOAD32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_UNALIGNED_LOAD32(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: GOOGLE_UNALIGNED_LOAD64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_UNALIGNED_LOAD64(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: GOOGLE_UNALIGNED_STORE16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_UNALIGNED_STORE16(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: GOOGLE_UNALIGNED_STORE32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_UNALIGNED_STORE32(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: GOOGLE_UNALIGNED_STORE64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_UNALIGNED_STORE64(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: GOOGLE_UNALIGNED_LOAD16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint16
    signature: uint16 GOOGLE_UNALIGNED_LOAD16(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: GOOGLE_UNALIGNED_LOAD32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint32
    signature: uint32 GOOGLE_UNALIGNED_LOAD32(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: GOOGLE_UNALIGNED_LOAD64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint64
    signature: uint64 GOOGLE_UNALIGNED_LOAD64(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: GOOGLE_UNALIGNED_STORE16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GOOGLE_UNALIGNED_STORE16(void *p, uint16 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: GOOGLE_UNALIGNED_STORE32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GOOGLE_UNALIGNED_STORE32(void *p, uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: GOOGLE_UNALIGNED_STORE64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void GOOGLE_UNALIGNED_STORE64(void *p, uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: bswap_16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: bswap_32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: bswap_64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: bswap_16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: bswap_32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: bswap_64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint16>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: bswap_16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 4
    functionsReached:
    - static_cast<uint16>
    linkageType: ''
    returnType: uint16
    signature: uint16 bswap_16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: bswap_16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: bswap_32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 bswap_32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: bswap_32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:263,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:264,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:265,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:266,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:267,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:268,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:269,1
    - Dst: PROTOBUF_ULONGLONG
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: bswap_64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 12
    functionsReached:
    - PROTOBUF_ULONGLONG
    linkageType: ''
    returnType: uint64
    signature: uint64 bswap_64(uint64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 273
    functionName: bswap_64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:284,1
    - Dst: __builtin_clz
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:284,1
    - Dst: _BitScanReverse
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:287,1
    - Dst: Bits::Log2FloorNonZero_Portable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 292
    functionName: Bits::Log2FloorNonZero
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 4
    functionsReached:
    - static_cast<uint32>
    - __builtin_clz
    - Bits::Log2FloorNonZero_Portable
    - _BitScanReverse
    linkageType: ''
    returnType: uint32
    signature: uint32 Log2FloorNonZero(uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:302,1
    - Dst: __builtin_clzll
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:302,1
    - Dst: _BitScanReverse64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:305,1
    - Dst: Bits::Log2FloorNonZero64_Portable
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 310
    functionName: Bits::Log2FloorNonZero64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 4
    functionsReached:
    - _BitScanReverse64
    - static_cast<uint32>
    - __builtin_clzll
    - Bits::Log2FloorNonZero64_Portable
    linkageType: ''
    returnType: uint32
    signature: uint32 Log2FloorNonZero64(uint64 n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    assertStmts:
    - condition: (value == 1)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    constantsTouched: []
    func_position:
      end: 327
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 327
    functionName: Bits::Log2FloorNonZero_Portable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int Log2FloorNonZero_Portable(uint32 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:330,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:333,1
    - Dst: Bits::Log2FloorNonZero
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:333,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:333,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:335,1
    - Dst: Bits::Log2FloorNonZero
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: Bits::Log2FloorNonZero64_Portable
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 1
    functionsReached:
    - static_cast<uint32>
    - Bits::Log2FloorNonZero
    - static_cast<int>
    linkageType: ''
    returnType: int
    signature: int Log2FloorNonZero64_Portable(uint64 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 348
    functionName: BigEndian::FromHost16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16
    signature: uint16 FromHost16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 349
    functionName: BigEndian::ToHost16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16
    signature: uint16 ToHost16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: BigEndian::FromHost32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32
    signature: uint32 FromHost32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 352
    functionName: BigEndian::ToHost32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32
    signature: uint32 ToHost32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 354
    functionName: BigEndian::FromHost64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - bswap_64
    linkageType: ''
    returnType: uint64
    signature: uint64 FromHost64(uint64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 355
    functionName: BigEndian::ToHost64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - bswap_64
    linkageType: ''
    returnType: uint64
    signature: uint64 ToHost64(uint64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 357
    functionName: BigEndian::IsLittleEndian
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLittleEndian()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: BigEndian::FromHost16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16
    signature: uint16 FromHost16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 362
    functionName: BigEndian::ToHost16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16
    signature: uint16 ToHost16(uint16 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 364
    functionName: BigEndian::FromHost32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 FromHost32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 365
    functionName: BigEndian::ToHost32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 ToHost32(uint32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 367
    functionName: BigEndian::FromHost64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 FromHost64(uint64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 368
    functionName: BigEndian::ToHost64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 ToHost64(uint64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 370
    functionName: BigEndian::IsLittleEndian
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsLittleEndian()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BigEndian::ToHost16
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:376,1
    - Dst: GOOGLE_UNALIGNED_LOAD16
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: BigEndian::Load16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 4
    functionsReached:
    - BigEndian::ToHost16
    - GOOGLE_UNALIGNED_LOAD16
    linkageType: ''
    returnType: uint16
    signature: uint16 Load16(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_UNALIGNED_STORE16
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:380,1
    - Dst: BigEndian::FromHost16
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: BigEndian::Store16
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - BigEndian::FromHost16
    - GOOGLE_UNALIGNED_STORE16
    linkageType: ''
    returnType: void
    signature: void Store16(void *p, uint16 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BigEndian::ToHost32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:384,1
    - Dst: GOOGLE_UNALIGNED_LOAD32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: BigEndian::Load32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 8
    functionsReached:
    - BigEndian::ToHost32
    - GOOGLE_UNALIGNED_LOAD32
    linkageType: ''
    returnType: uint32
    signature: uint32 Load32(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_UNALIGNED_STORE32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:388,1
    - Dst: BigEndian::FromHost32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: BigEndian::Store32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 12
    functionsReached:
    - GOOGLE_UNALIGNED_STORE32
    - BigEndian::FromHost32
    linkageType: ''
    returnType: void
    signature: void Store32(void *p, uint32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BigEndian::ToHost64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:392,1
    - Dst: GOOGLE_UNALIGNED_LOAD64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: BigEndian::Load64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - GOOGLE_UNALIGNED_LOAD64
    - BigEndian::ToHost64
    linkageType: ''
    returnType: uint64
    signature: uint64 Load64(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_UNALIGNED_STORE64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:396,1
    - Dst: BigEndian::FromHost64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: BigEndian::Store64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
    functionUses: 0
    functionsReached:
    - GOOGLE_UNALIGNED_STORE64
    - BigEndian::FromHost64
    linkageType: ''
    returnType: void
    signature: void Store64(void *p, uint64 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TypeName
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 162
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TypeName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TypeName
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: GOOGLE_DISALLOW_IMPLICIT_CONSTRUCTORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: GOOGLE_ARRAYSIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_ARRAYSIZE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: GOOGLE_COMPILE_ASSERT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_COMPILE_ASSERT(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TypeName
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 162
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TypeName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TypeName
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: GOOGLE_DISALLOW_IMPLICIT_CONSTRUCTORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: GOOGLE_ARRAYSIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_ARRAYSIZE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: GOOGLE_COMPILE_ASSERT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_COMPILE_ASSERT(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TypeName
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 162
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TypeName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TypeName
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: GOOGLE_DISALLOW_IMPLICIT_CONSTRUCTORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: GOOGLE_ARRAYSIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_ARRAYSIZE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: GOOGLE_COMPILE_ASSERT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_COMPILE_ASSERT(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TypeName
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 162
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TypeName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TypeName
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: GOOGLE_DISALLOW_IMPLICIT_CONSTRUCTORS
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: GOOGLE_ARRAYSIZE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_ARRAYSIZE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: GOOGLE_COMPILE_ASSERT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_COMPILE_ASSERT(expr, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 114
    functionName: google::protobuf::util::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 1
    functionsReached:
    - google::protobuf::util::Status
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT Status
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Status()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Status()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::util::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::util::error_code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::util::code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error::Code
    signature: error::Code code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: google::protobuf::util::error_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece error_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: operator!=(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Status& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 114
    functionName: google::protobuf::util::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 2
    functionsReached:
    - google::protobuf::util::Status
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT Status
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Status()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Status()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::util::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::util::error_code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::util::code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error::Code
    signature: error::Code code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: google::protobuf::util::error_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece error_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: operator!=(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Status& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 114
    functionName: google::protobuf::util::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 3
    functionsReached:
    - google::protobuf::util::Status
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT Status
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Status()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Status()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::util::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::util::error_code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::util::code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error::Code
    signature: error::Code code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: google::protobuf::util::error_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece error_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: operator!=(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Status& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 114
    functionName: google::protobuf::util::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 4
    functionsReached:
    - google::protobuf::util::Status
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT Status
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Status()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Status()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::util::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::util::error_code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::util::code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error::Code
    signature: error::Code code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: google::protobuf::util::error_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece error_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: operator!=(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Status& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 114
    functionName: google::protobuf::util::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 5
    functionsReached:
    - google::protobuf::util::Status
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT Status
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Status()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Status()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::util::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::util::error_code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::util::code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error::Code
    signature: error::Code code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: google::protobuf::util::error_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece error_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: operator!=(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Status& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 114
    functionName: google::protobuf::util::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 6
    functionsReached:
    - google::protobuf::util::Status
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT Status
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Status()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Status()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::util::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::util::error_code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::util::code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error::Code
    signature: error::Code code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: google::protobuf::util::error_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece error_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: operator!=(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Status& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 114
    functionName: google::protobuf::util::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 7
    functionsReached:
    - google::protobuf::util::Status
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT Status
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Status()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Status()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::util::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::util::error_code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::util::code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error::Code
    signature: error::Code code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: google::protobuf::util::error_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece error_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: operator!=(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Status& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 114
    functionName: google::protobuf::util::Status
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 8
    functionsReached:
    - google::protobuf::util::Status
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT Status
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: ~Status()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Status()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::util::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ok() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: google::protobuf::util::error_code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: google::protobuf::util::code
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: error::Code
    signature: error::Code code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: google::protobuf::util::error_message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece error_message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: google::protobuf::util::message
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StringPiece
    signature: StringPiece message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' x'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: operator!=(const Status& x) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Status& x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Closure
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:75,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: google::protobuf::Closure
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 1
    functionsReached:
    - google::protobuf::Closure
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT Closure
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: google::protobuf::ResultCallback::ResultCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResultCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ~ResultCallback()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ResultCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ResultCallback1
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:99,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: google::protobuf::ResultCallback1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 1
    functionsReached:
    - google::protobuf::ResultCallback1
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ResultCallback1
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~ResultCallback1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ResultCallback1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ResultCallback2
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:111,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: google::protobuf::ResultCallback2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::ResultCallback2
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ResultCallback2
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~ResultCallback2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ResultCallback2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FunctionClosure0
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionClosure0(FunctionType function, bool self_deleting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - Class*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::MethodClosure0::MethodClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodClosure0(Class* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~MethodClosure0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::MethodClosure0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - arg1
    argTypes:
    - FunctionType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::FunctionClosure1::FunctionClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure1(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: ~FunctionClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::FunctionClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::MethodClosure1::MethodClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure1(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ~MethodClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::MethodClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - function
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - FunctionType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::FunctionClosure2::FunctionClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure2(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: ~FunctionClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: google::protobuf::internal::FunctionClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: google::protobuf::internal::MethodClosure2::MethodClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure2(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: ~MethodClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::MethodClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_0(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: ~FunctionResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_0(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: ~FunctionResultCallback_1_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_1(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: ~FunctionResultCallback_0_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(Arg1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_1(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: ~FunctionResultCallback_1_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - A1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - T*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodResultCallback_0_0(T* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: ~MethodResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::MethodResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - object
    - method
    - self_deleting
    - p1
    - p2
    - p3
    - p4
    - p5
    - p6
    argTypes:
    - T*
    - MethodType
    - bool
    - P1
    - P2
    - P3
    - P4
    - P5
    - P6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodResultCallback_6_2(T* object, MethodType method, bool self_deleting,\n
      \                          P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: ~MethodResultCallback_6_2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_6_2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a1
    - a2
    argTypes:
    - A1
    - A2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: google::protobuf::internal::MethodResultCallback_6_2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1, A2 a2) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FunctionClosure0
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionClosure0(FunctionType function, bool self_deleting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - Class*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::MethodClosure0::MethodClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodClosure0(Class* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~MethodClosure0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::MethodClosure0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - arg1
    argTypes:
    - FunctionType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::FunctionClosure1::FunctionClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure1(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: ~FunctionClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::FunctionClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::MethodClosure1::MethodClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure1(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ~MethodClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::MethodClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - function
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - FunctionType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::FunctionClosure2::FunctionClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure2(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: ~FunctionClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: google::protobuf::internal::FunctionClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: google::protobuf::internal::MethodClosure2::MethodClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure2(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: ~MethodClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::MethodClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_0(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: ~FunctionResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_0(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: ~FunctionResultCallback_1_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_1(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: ~FunctionResultCallback_0_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(Arg1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_1(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: ~FunctionResultCallback_1_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - A1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - T*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodResultCallback_0_0(T* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: ~MethodResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::MethodResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - object
    - method
    - self_deleting
    - p1
    - p2
    - p3
    - p4
    - p5
    - p6
    argTypes:
    - T*
    - MethodType
    - bool
    - P1
    - P2
    - P3
    - P4
    - P5
    - P6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodResultCallback_6_2(T* object, MethodType method, bool self_deleting,\n
      \                          P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: ~MethodResultCallback_6_2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_6_2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a1
    - a2
    argTypes:
    - A1
    - A2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: google::protobuf::internal::MethodResultCallback_6_2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1, A2 a2) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure0::FunctionClosure0
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure0::FunctionClosure0
    linkageType: ''
    returnType: Closure
    signature: Closure * NewCallback(void (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure0::FunctionClosure0
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure0::FunctionClosure0
    linkageType: ''
    returnType: Closure
    signature: Closure * NewPermanentCallback(void (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure0<Class>::MethodClosure0<Class>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - Class*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure0<Class>::MethodClosure0<Class>
    linkageType: ''
    returnType: Closure
    signature: Closure * NewCallback(Class* object, void (Class::*method)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure0<Class>::MethodClosure0<Class>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - Class*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure0<Class>::MethodClosure0<Class>
    linkageType: ''
    returnType: Closure
    signature: Closure * NewPermanentCallback(Class* object, void (Class::*method)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(void (*function)(Arg1),\n                            Arg1
      arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(void (*function)(Arg1),\n                                     Arg1
      arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - arg1
    argTypes:
    - Class*
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(Class* object, void (Class::*method)(Arg1),\n
      \                           Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - arg1
    argTypes:
    - Class*
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(Class* object, void (Class::*method)(Arg1),\n
      \                                    Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 470
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(void (*function)(Arg1, Arg2),\n                            Arg1
      arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(void (*function)(Arg1, Arg2),\n                                     Arg1
      arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1,
        Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - arg1
    - arg2
    argTypes:
    - Class*
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(Class* object, void (Class::*method)(Arg1, Arg2),\n
      \                           Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1,
        Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - arg1
    - arg2
    argTypes:
    - Class*
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(\n    Class* object, void (Class::*method)(Arg1,
      Arg2),\n    Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: ResultCallback<R> * NewCallback(R (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: ResultCallback<R> * NewPermanentCallback(R (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R,
        P1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R, P1>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: ResultCallback<R> * NewCallback(R (*function)(P1), P1 p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R,
        P1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R, P1>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: "ResultCallback<R> * NewPermanentCallback(\n    R (*function)(P1),
      P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R,
        A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: ResultCallback1<R, A1> * NewCallback(R (*function)(A1))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R,
        A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 534
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: ResultCallback1<R, A1> * NewPermanentCallback(R (*function)(A1))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
        P1, A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
      P1, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: ResultCallback1<R, A1> * NewCallback(R (*function)(P1, A1), P1 p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
        P1, A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
      P1, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: "ResultCallback1<R, A1> * NewPermanentCallback(\n    R (*function)(P1,
      A1), P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodResultCallback_0_0<R, T1>::MethodResultCallback_0_0<R,
        T1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodResultCallback_0_0<R, T1>::MethodResultCallback_0_0<R, T1>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: "ResultCallback<R> * NewPermanentCallback(\n    T1* object, R (T2::*function)())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "internal::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
        A2>::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
        A2>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - object
    - p1
    - p2
    - p3
    - p4
    - p5
    - p6
    argTypes:
    - T*
    - typename internal::InternalConstRef<P1>::type
    - typename internal::InternalConstRef<P2>::type
    - typename internal::InternalConstRef<P3>::type
    - typename internal::InternalConstRef<P4>::type
    - typename internal::InternalConstRef<P5>::type
    - typename internal::InternalConstRef<P6>::type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 572
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - "internal::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
      A2>::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
      A2>"
    linkageType: ''
    returnType: ResultCallback2<R, A1, A2>
    signature: "ResultCallback2<R, A1, A2> * NewPermanentCallback(\n    T* object,
      R (T::*function)(P1, P2, P3, P4, P5, P6, A1, A2),\n    typename internal::InternalConstRef<P1>::type
      p1,\n    typename internal::InternalConstRef<P2>::type p2,\n    typename internal::InternalConstRef<P3>::type
      p3,\n    typename internal::InternalConstRef<P4>::type p4,\n    typename internal::InternalConstRef<P5>::type
      p5,\n    typename internal::InternalConstRef<P6>::type p6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Closure
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:75,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: google::protobuf::Closure
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 2
    functionsReached:
    - google::protobuf::Closure
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT Closure
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: google::protobuf::ResultCallback::ResultCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResultCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ~ResultCallback()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ResultCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ResultCallback1
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:99,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: google::protobuf::ResultCallback1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 2
    functionsReached:
    - google::protobuf::ResultCallback1
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ResultCallback1
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~ResultCallback1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ResultCallback1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ResultCallback2
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:111,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: google::protobuf::ResultCallback2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::ResultCallback2
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ResultCallback2
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~ResultCallback2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ResultCallback2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FunctionClosure0
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionClosure0(FunctionType function, bool self_deleting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - Class*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::MethodClosure0::MethodClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodClosure0(Class* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~MethodClosure0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::MethodClosure0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - arg1
    argTypes:
    - FunctionType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::FunctionClosure1::FunctionClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure1(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: ~FunctionClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::FunctionClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::MethodClosure1::MethodClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure1(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ~MethodClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::MethodClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - function
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - FunctionType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::FunctionClosure2::FunctionClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure2(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: ~FunctionClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: google::protobuf::internal::FunctionClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: google::protobuf::internal::MethodClosure2::MethodClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure2(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: ~MethodClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::MethodClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_0(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: ~FunctionResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_0(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: ~FunctionResultCallback_1_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_1(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: ~FunctionResultCallback_0_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(Arg1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_1(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: ~FunctionResultCallback_1_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - A1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - T*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodResultCallback_0_0(T* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: ~MethodResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::MethodResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - object
    - method
    - self_deleting
    - p1
    - p2
    - p3
    - p4
    - p5
    - p6
    argTypes:
    - T*
    - MethodType
    - bool
    - P1
    - P2
    - P3
    - P4
    - P5
    - P6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodResultCallback_6_2(T* object, MethodType method, bool self_deleting,\n
      \                          P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: ~MethodResultCallback_6_2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_6_2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a1
    - a2
    argTypes:
    - A1
    - A2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: google::protobuf::internal::MethodResultCallback_6_2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1, A2 a2) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FunctionClosure0
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionClosure0(FunctionType function, bool self_deleting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - Class*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::MethodClosure0::MethodClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodClosure0(Class* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~MethodClosure0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::MethodClosure0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - arg1
    argTypes:
    - FunctionType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::FunctionClosure1::FunctionClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure1(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: ~FunctionClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::FunctionClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::MethodClosure1::MethodClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure1(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ~MethodClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::MethodClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - function
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - FunctionType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::FunctionClosure2::FunctionClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure2(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: ~FunctionClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: google::protobuf::internal::FunctionClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: google::protobuf::internal::MethodClosure2::MethodClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure2(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: ~MethodClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::MethodClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_0(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: ~FunctionResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_0(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: ~FunctionResultCallback_1_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_1(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: ~FunctionResultCallback_0_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(Arg1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_1(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: ~FunctionResultCallback_1_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - A1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - T*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodResultCallback_0_0(T* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: ~MethodResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::MethodResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - object
    - method
    - self_deleting
    - p1
    - p2
    - p3
    - p4
    - p5
    - p6
    argTypes:
    - T*
    - MethodType
    - bool
    - P1
    - P2
    - P3
    - P4
    - P5
    - P6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodResultCallback_6_2(T* object, MethodType method, bool self_deleting,\n
      \                          P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: ~MethodResultCallback_6_2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_6_2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a1
    - a2
    argTypes:
    - A1
    - A2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: google::protobuf::internal::MethodResultCallback_6_2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1, A2 a2) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure0::FunctionClosure0
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure0::FunctionClosure0
    linkageType: ''
    returnType: Closure
    signature: Closure * NewCallback(void (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure0::FunctionClosure0
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure0::FunctionClosure0
    linkageType: ''
    returnType: Closure
    signature: Closure * NewPermanentCallback(void (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure0<Class>::MethodClosure0<Class>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - Class*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure0<Class>::MethodClosure0<Class>
    linkageType: ''
    returnType: Closure
    signature: Closure * NewCallback(Class* object, void (Class::*method)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure0<Class>::MethodClosure0<Class>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - Class*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure0<Class>::MethodClosure0<Class>
    linkageType: ''
    returnType: Closure
    signature: Closure * NewPermanentCallback(Class* object, void (Class::*method)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(void (*function)(Arg1),\n                            Arg1
      arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(void (*function)(Arg1),\n                                     Arg1
      arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - arg1
    argTypes:
    - Class*
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(Class* object, void (Class::*method)(Arg1),\n
      \                           Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - arg1
    argTypes:
    - Class*
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(Class* object, void (Class::*method)(Arg1),\n
      \                                    Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 470
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(void (*function)(Arg1, Arg2),\n                            Arg1
      arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(void (*function)(Arg1, Arg2),\n                                     Arg1
      arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1,
        Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - arg1
    - arg2
    argTypes:
    - Class*
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(Class* object, void (Class::*method)(Arg1, Arg2),\n
      \                           Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1,
        Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - arg1
    - arg2
    argTypes:
    - Class*
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(\n    Class* object, void (Class::*method)(Arg1,
      Arg2),\n    Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: ResultCallback<R> * NewCallback(R (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: ResultCallback<R> * NewPermanentCallback(R (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R,
        P1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R, P1>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: ResultCallback<R> * NewCallback(R (*function)(P1), P1 p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R,
        P1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R, P1>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: "ResultCallback<R> * NewPermanentCallback(\n    R (*function)(P1),
      P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R,
        A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: ResultCallback1<R, A1> * NewCallback(R (*function)(A1))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R,
        A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 534
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: ResultCallback1<R, A1> * NewPermanentCallback(R (*function)(A1))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
        P1, A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
      P1, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: ResultCallback1<R, A1> * NewCallback(R (*function)(P1, A1), P1 p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
        P1, A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
      P1, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: "ResultCallback1<R, A1> * NewPermanentCallback(\n    R (*function)(P1,
      A1), P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodResultCallback_0_0<R, T1>::MethodResultCallback_0_0<R,
        T1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodResultCallback_0_0<R, T1>::MethodResultCallback_0_0<R, T1>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: "ResultCallback<R> * NewPermanentCallback(\n    T1* object, R (T2::*function)())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "internal::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
        A2>::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
        A2>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - object
    - p1
    - p2
    - p3
    - p4
    - p5
    - p6
    argTypes:
    - T*
    - typename internal::InternalConstRef<P1>::type
    - typename internal::InternalConstRef<P2>::type
    - typename internal::InternalConstRef<P3>::type
    - typename internal::InternalConstRef<P4>::type
    - typename internal::InternalConstRef<P5>::type
    - typename internal::InternalConstRef<P6>::type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 572
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - "internal::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
      A2>::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
      A2>"
    linkageType: ''
    returnType: ResultCallback2<R, A1, A2>
    signature: "ResultCallback2<R, A1, A2> * NewPermanentCallback(\n    T* object,
      R (T::*function)(P1, P2, P3, P4, P5, P6, A1, A2),\n    typename internal::InternalConstRef<P1>::type
      p1,\n    typename internal::InternalConstRef<P2>::type p2,\n    typename internal::InternalConstRef<P3>::type
      p3,\n    typename internal::InternalConstRef<P4>::type p4,\n    typename internal::InternalConstRef<P5>::type
      p5,\n    typename internal::InternalConstRef<P6>::type p6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Closure
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:75,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: google::protobuf::Closure
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 3
    functionsReached:
    - google::protobuf::Closure
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT Closure
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: google::protobuf::ResultCallback::ResultCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResultCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ~ResultCallback()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ResultCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ResultCallback1
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:99,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: google::protobuf::ResultCallback1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 3
    functionsReached:
    - google::protobuf::ResultCallback1
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ResultCallback1
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~ResultCallback1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ResultCallback1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ResultCallback2
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:111,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: google::protobuf::ResultCallback2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::ResultCallback2
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ResultCallback2
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~ResultCallback2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ResultCallback2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FunctionClosure0
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionClosure0(FunctionType function, bool self_deleting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - Class*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::MethodClosure0::MethodClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodClosure0(Class* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~MethodClosure0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::MethodClosure0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - arg1
    argTypes:
    - FunctionType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::FunctionClosure1::FunctionClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure1(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: ~FunctionClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::FunctionClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::MethodClosure1::MethodClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure1(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ~MethodClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::MethodClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - function
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - FunctionType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::FunctionClosure2::FunctionClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure2(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: ~FunctionClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: google::protobuf::internal::FunctionClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: google::protobuf::internal::MethodClosure2::MethodClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure2(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: ~MethodClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::MethodClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_0(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: ~FunctionResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_0(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: ~FunctionResultCallback_1_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_1(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: ~FunctionResultCallback_0_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(Arg1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_1(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: ~FunctionResultCallback_1_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - A1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - T*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodResultCallback_0_0(T* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: ~MethodResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::MethodResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - object
    - method
    - self_deleting
    - p1
    - p2
    - p3
    - p4
    - p5
    - p6
    argTypes:
    - T*
    - MethodType
    - bool
    - P1
    - P2
    - P3
    - P4
    - P5
    - P6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodResultCallback_6_2(T* object, MethodType method, bool self_deleting,\n
      \                          P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: ~MethodResultCallback_6_2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_6_2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a1
    - a2
    argTypes:
    - A1
    - A2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: google::protobuf::internal::MethodResultCallback_6_2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1, A2 a2) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FunctionClosure0
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionClosure0(FunctionType function, bool self_deleting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - Class*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::MethodClosure0::MethodClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodClosure0(Class* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~MethodClosure0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::MethodClosure0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - arg1
    argTypes:
    - FunctionType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::FunctionClosure1::FunctionClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure1(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: ~FunctionClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::FunctionClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::MethodClosure1::MethodClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure1(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ~MethodClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::MethodClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - function
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - FunctionType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::FunctionClosure2::FunctionClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure2(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: ~FunctionClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: google::protobuf::internal::FunctionClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: google::protobuf::internal::MethodClosure2::MethodClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure2(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: ~MethodClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::MethodClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_0(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: ~FunctionResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_0(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: ~FunctionResultCallback_1_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_1(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: ~FunctionResultCallback_0_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(Arg1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_1(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: ~FunctionResultCallback_1_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - A1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - T*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodResultCallback_0_0(T* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: ~MethodResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::MethodResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - object
    - method
    - self_deleting
    - p1
    - p2
    - p3
    - p4
    - p5
    - p6
    argTypes:
    - T*
    - MethodType
    - bool
    - P1
    - P2
    - P3
    - P4
    - P5
    - P6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodResultCallback_6_2(T* object, MethodType method, bool self_deleting,\n
      \                          P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: ~MethodResultCallback_6_2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_6_2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a1
    - a2
    argTypes:
    - A1
    - A2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: google::protobuf::internal::MethodResultCallback_6_2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1, A2 a2) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure0::FunctionClosure0
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure0::FunctionClosure0
    linkageType: ''
    returnType: Closure
    signature: Closure * NewCallback(void (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure0::FunctionClosure0
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure0::FunctionClosure0
    linkageType: ''
    returnType: Closure
    signature: Closure * NewPermanentCallback(void (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure0<Class>::MethodClosure0<Class>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - Class*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure0<Class>::MethodClosure0<Class>
    linkageType: ''
    returnType: Closure
    signature: Closure * NewCallback(Class* object, void (Class::*method)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure0<Class>::MethodClosure0<Class>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - Class*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure0<Class>::MethodClosure0<Class>
    linkageType: ''
    returnType: Closure
    signature: Closure * NewPermanentCallback(Class* object, void (Class::*method)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(void (*function)(Arg1),\n                            Arg1
      arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(void (*function)(Arg1),\n                                     Arg1
      arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - arg1
    argTypes:
    - Class*
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(Class* object, void (Class::*method)(Arg1),\n
      \                           Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - arg1
    argTypes:
    - Class*
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(Class* object, void (Class::*method)(Arg1),\n
      \                                    Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 470
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(void (*function)(Arg1, Arg2),\n                            Arg1
      arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(void (*function)(Arg1, Arg2),\n                                     Arg1
      arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1,
        Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - arg1
    - arg2
    argTypes:
    - Class*
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(Class* object, void (Class::*method)(Arg1, Arg2),\n
      \                           Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1,
        Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - arg1
    - arg2
    argTypes:
    - Class*
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(\n    Class* object, void (Class::*method)(Arg1,
      Arg2),\n    Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: ResultCallback<R> * NewCallback(R (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: ResultCallback<R> * NewPermanentCallback(R (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R,
        P1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R, P1>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: ResultCallback<R> * NewCallback(R (*function)(P1), P1 p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R,
        P1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R, P1>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: "ResultCallback<R> * NewPermanentCallback(\n    R (*function)(P1),
      P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R,
        A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: ResultCallback1<R, A1> * NewCallback(R (*function)(A1))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R,
        A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 534
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: ResultCallback1<R, A1> * NewPermanentCallback(R (*function)(A1))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
        P1, A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
      P1, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: ResultCallback1<R, A1> * NewCallback(R (*function)(P1, A1), P1 p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
        P1, A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
      P1, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: "ResultCallback1<R, A1> * NewPermanentCallback(\n    R (*function)(P1,
      A1), P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodResultCallback_0_0<R, T1>::MethodResultCallback_0_0<R,
        T1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodResultCallback_0_0<R, T1>::MethodResultCallback_0_0<R, T1>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: "ResultCallback<R> * NewPermanentCallback(\n    T1* object, R (T2::*function)())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "internal::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
        A2>::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
        A2>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - object
    - p1
    - p2
    - p3
    - p4
    - p5
    - p6
    argTypes:
    - T*
    - typename internal::InternalConstRef<P1>::type
    - typename internal::InternalConstRef<P2>::type
    - typename internal::InternalConstRef<P3>::type
    - typename internal::InternalConstRef<P4>::type
    - typename internal::InternalConstRef<P5>::type
    - typename internal::InternalConstRef<P6>::type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 572
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - "internal::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
      A2>::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
      A2>"
    linkageType: ''
    returnType: ResultCallback2<R, A1, A2>
    signature: "ResultCallback2<R, A1, A2> * NewPermanentCallback(\n    T* object,
      R (T::*function)(P1, P2, P3, P4, P5, P6, A1, A2),\n    typename internal::InternalConstRef<P1>::type
      p1,\n    typename internal::InternalConstRef<P2>::type p2,\n    typename internal::InternalConstRef<P3>::type
      p3,\n    typename internal::InternalConstRef<P4>::type p4,\n    typename internal::InternalConstRef<P5>::type
      p5,\n    typename internal::InternalConstRef<P6>::type p6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Closure
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:75,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: google::protobuf::Closure
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 4
    functionsReached:
    - google::protobuf::Closure
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT Closure
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: google::protobuf::ResultCallback::ResultCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ResultCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ~ResultCallback()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ResultCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ResultCallback1
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:99,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: google::protobuf::ResultCallback1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 4
    functionsReached:
    - google::protobuf::ResultCallback1
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ResultCallback1
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~ResultCallback1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ResultCallback1()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ResultCallback2
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:111,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: google::protobuf::ResultCallback2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 4
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::ResultCallback2
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ResultCallback2
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~ResultCallback2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ResultCallback2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FunctionClosure0
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionClosure0(FunctionType function, bool self_deleting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - Class*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::MethodClosure0::MethodClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodClosure0(Class* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~MethodClosure0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::MethodClosure0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - arg1
    argTypes:
    - FunctionType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::FunctionClosure1::FunctionClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure1(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: ~FunctionClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::FunctionClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::MethodClosure1::MethodClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure1(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ~MethodClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::MethodClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - function
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - FunctionType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::FunctionClosure2::FunctionClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure2(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: ~FunctionClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: google::protobuf::internal::FunctionClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: google::protobuf::internal::MethodClosure2::MethodClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure2(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: ~MethodClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::MethodClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_0(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: ~FunctionResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_0(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: ~FunctionResultCallback_1_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_1(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: ~FunctionResultCallback_0_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(Arg1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_1(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: ~FunctionResultCallback_1_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - A1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - T*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodResultCallback_0_0(T* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: ~MethodResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::MethodResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - object
    - method
    - self_deleting
    - p1
    - p2
    - p3
    - p4
    - p5
    - p6
    argTypes:
    - T*
    - MethodType
    - bool
    - P1
    - P2
    - P3
    - P4
    - P5
    - P6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodResultCallback_6_2(T* object, MethodType method, bool self_deleting,\n
      \                          P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: ~MethodResultCallback_6_2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_6_2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a1
    - a2
    argTypes:
    - A1
    - A2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: google::protobuf::internal::MethodResultCallback_6_2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1, A2 a2) override
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT FunctionClosure0
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: google::protobuf::internal::FunctionClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionClosure0(FunctionType function, bool self_deleting)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: google::protobuf::internal::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - Class*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: google::protobuf::internal::MethodClosure0::MethodClosure0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodClosure0(Class* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ~MethodClosure0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: google::protobuf::internal::MethodClosure0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - arg1
    argTypes:
    - FunctionType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: google::protobuf::internal::FunctionClosure1::FunctionClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure1(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 171
    functionName: ~FunctionClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: google::protobuf::internal::FunctionClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: google::protobuf::internal::MethodClosure1::MethodClosure1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure1(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ~MethodClosure1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure1()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: google::protobuf::internal::MethodClosure1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - function
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - FunctionType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: google::protobuf::internal::FunctionClosure2::FunctionClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionClosure2(FunctionType function, bool self_deleting,\n
      \                  Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: ~FunctionClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: google::protobuf::internal::FunctionClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - object
    - method
    - self_deleting
    - arg1
    - arg2
    argTypes:
    - Class*
    - MethodType
    - bool
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: google::protobuf::internal::MethodClosure2::MethodClosure2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodClosure2(Class* object, MethodType method, bool self_deleting,\n
      \                Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: ~MethodClosure2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodClosure2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: google::protobuf::internal::MethodClosure2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_0(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: ~FunctionResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: google::protobuf::internal::FunctionResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_0(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 287
    functionName: ~FunctionResultCallback_1_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: google::protobuf::internal::FunctionResultCallback_1_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - function
    - self_deleting
    argTypes:
    - FunctionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FunctionResultCallback_0_1(FunctionType function, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: ~FunctionResultCallback_0_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_0_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: google::protobuf::internal::FunctionResultCallback_0_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(Arg1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - function
    - self_deleting
    - p1
    argTypes:
    - FunctionType
    - bool
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FunctionResultCallback_1_1(FunctionType function, bool self_deleting,\n
      \                            P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: ~FunctionResultCallback_1_1()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FunctionResultCallback_1_1()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: function_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a1
    argTypes:
    - A1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: google::protobuf::internal::FunctionResultCallback_1_1::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - function_
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1) override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - object
    - method
    - self_deleting
    argTypes:
    - T*
    - MethodType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MethodResultCallback_0_0(T* object, MethodType method, bool self_deleting)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 360
    functionName: ~MethodResultCallback_0_0()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_0_0()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: google::protobuf::internal::MethodResultCallback_0_0::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - object
    - method
    - self_deleting
    - p1
    - p2
    - p3
    - p4
    - p5
    - p6
    argTypes:
    - T*
    - MethodType
    - bool
    - P1
    - P2
    - P3
    - P4
    - P5
    - P6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MethodResultCallback_6_2(T* object, MethodType method, bool self_deleting,\n
      \                          P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: ~MethodResultCallback_6_2()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MethodResultCallback_6_2()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a1
    - a2
    argTypes:
    - A1
    - A2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: google::protobuf::internal::MethodResultCallback_6_2::Run
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: R
    signature: R Run(A1 a1, A2 a2) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure0::FunctionClosure0
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure0::FunctionClosure0
    linkageType: ''
    returnType: Closure
    signature: Closure * NewCallback(void (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure0::FunctionClosure0
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure0::FunctionClosure0
    linkageType: ''
    returnType: Closure
    signature: Closure * NewPermanentCallback(void (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure0<Class>::MethodClosure0<Class>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - Class*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure0<Class>::MethodClosure0<Class>
    linkageType: ''
    returnType: Closure
    signature: Closure * NewCallback(Class* object, void (Class::*method)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure0<Class>::MethodClosure0<Class>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - Class*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure0<Class>::MethodClosure0<Class>
    linkageType: ''
    returnType: Closure
    signature: Closure * NewPermanentCallback(Class* object, void (Class::*method)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(void (*function)(Arg1),\n                            Arg1
      arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg1
    argTypes:
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure1<Arg1>::FunctionClosure1<Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(void (*function)(Arg1),\n                                     Arg1
      arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - arg1
    argTypes:
    - Class*
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(Class* object, void (Class::*method)(Arg1),\n
      \                           Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - arg1
    argTypes:
    - Class*
    - Arg1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure1<Class, Arg1>::MethodClosure1<Class, Arg1>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(Class* object, void (Class::*method)(Arg1),\n
      \                                    Arg1 arg1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 470
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(void (*function)(Arg1, Arg2),\n                            Arg1
      arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionClosure2<Arg1, Arg2>::FunctionClosure2<Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(void (*function)(Arg1, Arg2),\n                                     Arg1
      arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1,
        Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - arg1
    - arg2
    argTypes:
    - Class*
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewCallback(Class* object, void (Class::*method)(Arg1, Arg2),\n
      \                           Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1,
        Arg2>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - arg1
    - arg2
    argTypes:
    - Class*
    - Arg1
    - Arg2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodClosure2<Class, Arg1, Arg2>::MethodClosure2<Class, Arg1, Arg2>
    linkageType: ''
    returnType: Closure
    signature: "Closure * NewPermanentCallback(\n    Class* object, void (Class::*method)(Arg1,
      Arg2),\n    Arg1 arg1, Arg2 arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: ResultCallback<R> * NewCallback(R (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_0<R>::FunctionResultCallback_0_0<R>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: ResultCallback<R> * NewPermanentCallback(R (*function)())
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R,
        P1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R, P1>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: ResultCallback<R> * NewCallback(R (*function)(P1), P1 p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R,
        P1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_0<R, P1>::FunctionResultCallback_1_0<R, P1>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: "ResultCallback<R> * NewPermanentCallback(\n    R (*function)(P1),
      P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R,
        A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: ResultCallback1<R, A1> * NewCallback(R (*function)(A1))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R,
        A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 534
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_0_1<R, A1>::FunctionResultCallback_0_1<R, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: ResultCallback1<R, A1> * NewPermanentCallback(R (*function)(A1))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
        P1, A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: google::protobuf::NewCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
      P1, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: ResultCallback1<R, A1> * NewCallback(R (*function)(P1, A1), P1 p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
        P1, A1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p1
    argTypes:
    - P1
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::FunctionResultCallback_1_1<R, P1, A1>::FunctionResultCallback_1_1<R,
      P1, A1>
    linkageType: ''
    returnType: ResultCallback1<R, A1>
    signature: "ResultCallback1<R, A1> * NewPermanentCallback(\n    R (*function)(P1,
      A1), P1 p1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::MethodResultCallback_0_0<R, T1>::MethodResultCallback_0_0<R,
        T1>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - T1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - internal::MethodResultCallback_0_0<R, T1>::MethodResultCallback_0_0<R, T1>
    linkageType: ''
    returnType: ResultCallback<R>
    signature: "ResultCallback<R> * NewPermanentCallback(\n    T1* object, R (T2::*function)())"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: "internal::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
        A2>::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
        A2>"
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - object
    - p1
    - p2
    - p3
    - p4
    - p5
    - p6
    argTypes:
    - T*
    - typename internal::InternalConstRef<P1>::type
    - typename internal::InternalConstRef<P2>::type
    - typename internal::InternalConstRef<P3>::type
    - typename internal::InternalConstRef<P4>::type
    - typename internal::InternalConstRef<P5>::type
    - typename internal::InternalConstRef<P6>::type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 572
    functionName: google::protobuf::NewPermanentCallback
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    functionUses: 0
    functionsReached:
    - "internal::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
      A2>::MethodResultCallback_6_2<R, T, P1, P2, P3, P4, P5, P6,\n                                                A1,
      A2>"
    linkageType: ''
    returnType: ResultCallback2<R, A1, A2>
    signature: "ResultCallback2<R, A1, A2> * NewPermanentCallback(\n    T* object,
      R (T::*function)(P1, P2, P3, P4, P5, P6, A1, A2),\n    typename internal::InternalConstRef<P1>::type
      p1,\n    typename internal::InternalConstRef<P2>::type p2,\n    typename internal::InternalConstRef<P3>::type
      p3,\n    typename internal::InternalConstRef<P4>::type p4,\n    typename internal::InternalConstRef<P5>::type
      p5,\n    typename internal::InternalConstRef<P6>::type p6)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:103,1
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 107
    functionName: google::protobuf::uint128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 1
    functionsReached:
    - google::protobuf::uint128
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT uint128
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: google::protobuf::Uint128Low64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Uint128Low64(const uint128& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: google::protobuf::Uint128High64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Uint128High64(const uint128& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:139,1
    - Dst: google::protobuf::Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:139,1
    - Dst: google::protobuf::Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:140,1
    - Dst: google::protobuf::Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: operator==(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Uint128Low64
    - google::protobuf::Uint128High64
    linkageType: ''
    returnType: bool
    signature: bool operator==(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: operator!=(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - top
    - bottom
    argTypes:
    - uint64
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: google::protobuf::uint128::Initialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint128::Initialize(uint64 top, uint64 bottom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: CMP128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP128(op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:186,1
    - Dst: google::protobuf::Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:187,1
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:190,1
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: operator-(const uint128& val)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Uint128Low64
    - google::protobuf::uint128
    - google::protobuf::Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator-(const uint128& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:196,1
    - Dst: google::protobuf::Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: operator!(const uint128& val)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Uint128Low64
    - google::protobuf::Uint128High64
    linkageType: ''
    returnType: bool
    signature: bool operator!(const uint128& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:202,1
    - Dst: google::protobuf::Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:202,1
    - Dst: google::protobuf::Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: operator~(const uint128& val)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Uint128Low64
    - google::protobuf::uint128
    - google::protobuf::Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator~(const uint128& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: LOGIC128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGIC128(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: LOGICASSIGN128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGICASSIGN128(op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:238,1
    - Dst: google::protobuf::Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:239,1
    - Dst: google::protobuf::Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:240,1
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:241,1
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:243,1
    - Dst: google::protobuf::Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:243,1
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' val'
    - amount
    argTypes:
    - uint128
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 247
    functionName: operator<<(const uint128& val, int amount)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Uint128Low64
    - google::protobuf::uint128
    - google::protobuf::Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator<<(const uint128& val, int amount)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:255,1
    - Dst: google::protobuf::Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:256,1
    - Dst: google::protobuf::Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:257,1
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:258,1
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:260,1
    - Dst: google::protobuf::Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:260,1
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' val'
    - amount
    argTypes:
    - uint128
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 264
    functionName: operator>>(const uint128& val, int amount)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - google::protobuf::Uint128Low64
    - google::protobuf::uint128
    - google::protobuf::Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator>>(const uint128& val, int amount)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - amount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 281
    functionName: '& uint128::operator<<=(int amount)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator<<=(int amount)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - amount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 298
    functionName: '& uint128::operator>>=(int amount)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator>>=(int amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: operator+(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - google::protobuf::uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator+(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: operator-(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - google::protobuf::uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator-(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: operator*(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - google::protobuf::uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator*(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: operator/(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - google::protobuf::uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator/(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: operator%(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - google::protobuf::uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator%(const uint128& lhs, const uint128& rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: '& uint128::operator+=(const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator+=(const uint128& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: '& uint128::operator-=(const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator-=(const uint128& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:354,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 358
    functionName: '& uint128::operator*=(const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator*=(const uint128& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: uint128::operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 uint128::operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: uint128::operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 uint128::operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: '& uint128::operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: '& uint128::operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:103,1
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 107
    functionName: google::protobuf::uint128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 11
    functionsReached:
    - google::protobuf::uint128
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT uint128
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: google::protobuf::Uint128Low64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Uint128Low64(const uint128& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: google::protobuf::Uint128High64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Uint128High64(const uint128& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:139,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:139,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:140,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: operator==(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - Uint128High64
    linkageType: ''
    returnType: bool
    signature: bool operator==(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: operator!=(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - top
    - bottom
    argTypes:
    - uint64
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: google::protobuf::uint128::Initialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint128::Initialize(uint64 top, uint64 bottom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: CMP128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP128(op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:186,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:187,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:190,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: operator-(const uint128& val)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - uint128
    - Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator-(const uint128& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:196,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: operator!(const uint128& val)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - Uint128High64
    linkageType: ''
    returnType: bool
    signature: bool operator!(const uint128& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:202,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:202,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: operator~(const uint128& val)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    - Uint128Low64
    - Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator~(const uint128& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: LOGIC128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGIC128(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: LOGICASSIGN128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGICASSIGN128(op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:238,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:239,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:240,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:241,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:243,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:243,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' val'
    - amount
    argTypes:
    - uint128
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 247
    functionName: operator<<(const uint128& val, int amount)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - uint128
    - Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator<<(const uint128& val, int amount)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:255,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:256,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:257,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:258,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:260,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:260,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' val'
    - amount
    argTypes:
    - uint128
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 264
    functionName: operator>>(const uint128& val, int amount)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - uint128
    - Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator>>(const uint128& val, int amount)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - amount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 281
    functionName: '& uint128::operator<<=(int amount)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator<<=(int amount)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - amount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 298
    functionName: '& uint128::operator>>=(int amount)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator>>=(int amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: operator+(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator+(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: operator-(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator-(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: operator*(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator*(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: operator/(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator/(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: operator%(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator%(const uint128& lhs, const uint128& rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: '& uint128::operator+=(const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator+=(const uint128& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: '& uint128::operator-=(const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator-=(const uint128& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:354,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 358
    functionName: '& uint128::operator*=(const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator*=(const uint128& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: uint128::operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 uint128::operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: uint128::operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 uint128::operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: '& uint128::operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: '& uint128::operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:103,1
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 107
    functionName: google::protobuf::uint128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 12
    functionsReached:
    - google::protobuf::uint128
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT uint128
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: google::protobuf::Uint128Low64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Uint128Low64(const uint128& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: google::protobuf::Uint128High64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Uint128High64(const uint128& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:139,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:139,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:140,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: operator==(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - Uint128High64
    linkageType: ''
    returnType: bool
    signature: bool operator==(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: operator!=(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - top
    - bottom
    argTypes:
    - uint64
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: google::protobuf::uint128::Initialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint128::Initialize(uint64 top, uint64 bottom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: CMP128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP128(op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:186,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:187,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:190,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: operator-(const uint128& val)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - uint128
    - Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator-(const uint128& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:196,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: operator!(const uint128& val)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - Uint128High64
    linkageType: ''
    returnType: bool
    signature: bool operator!(const uint128& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:202,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:202,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: operator~(const uint128& val)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    - Uint128Low64
    - Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator~(const uint128& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: LOGIC128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGIC128(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: LOGICASSIGN128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGICASSIGN128(op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:238,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:239,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:240,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:241,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:243,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:243,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' val'
    - amount
    argTypes:
    - uint128
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 247
    functionName: operator<<(const uint128& val, int amount)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - uint128
    - Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator<<(const uint128& val, int amount)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:255,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:256,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:257,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:258,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:260,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:260,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' val'
    - amount
    argTypes:
    - uint128
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 264
    functionName: operator>>(const uint128& val, int amount)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - uint128
    - Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator>>(const uint128& val, int amount)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - amount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 281
    functionName: '& uint128::operator<<=(int amount)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator<<=(int amount)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - amount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 298
    functionName: '& uint128::operator>>=(int amount)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator>>=(int amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: operator+(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator+(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: operator-(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator-(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: operator*(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator*(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: operator/(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator/(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: operator%(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator%(const uint128& lhs, const uint128& rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: '& uint128::operator+=(const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator+=(const uint128& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: '& uint128::operator-=(const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator-=(const uint128& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:354,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 358
    functionName: '& uint128::operator*=(const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator*=(const uint128& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: uint128::operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 uint128::operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: uint128::operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 uint128::operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: '& uint128::operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: '& uint128::operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:103,1
    - Dst: google::protobuf::uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 107
    functionName: google::protobuf::uint128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 13
    functionsReached:
    - google::protobuf::uint128
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT uint128
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: google::protobuf::Uint128Low64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Uint128Low64(const uint128& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: google::protobuf::Uint128High64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 Uint128High64(const uint128& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:139,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:139,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:140,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: operator==(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - Uint128High64
    linkageType: ''
    returnType: bool
    signature: bool operator==(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: operator!=(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - top
    - bottom
    argTypes:
    - uint64
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: google::protobuf::uint128::Initialize
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint128::Initialize(uint64 top, uint64 bottom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: CMP128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP128(op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:186,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:187,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:190,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: operator-(const uint128& val)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - uint128
    - Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator-(const uint128& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:196,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: operator!(const uint128& val)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - Uint128High64
    linkageType: ''
    returnType: bool
    signature: bool operator!(const uint128& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:202,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:202,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' val'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: operator~(const uint128& val)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    - Uint128Low64
    - Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator~(const uint128& val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: LOGIC128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGIC128(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: LOGICASSIGN128
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGICASSIGN128(op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:238,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:239,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:240,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:241,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:243,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:243,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' val'
    - amount
    argTypes:
    - uint128
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 247
    functionName: operator<<(const uint128& val, int amount)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - uint128
    - Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator<<(const uint128& val, int amount)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:255,1
    - Dst: Uint128Low64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:256,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:257,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:258,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:260,1
    - Dst: Uint128High64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:260,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' val'
    - amount
    argTypes:
    - uint128
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 264
    functionName: operator>>(const uint128& val, int amount)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - Uint128Low64
    - uint128
    - Uint128High64
    linkageType: ''
    returnType: uint128
    signature: uint128 operator>>(const uint128& val, int amount)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - amount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 281
    functionName: '& uint128::operator<<=(int amount)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator<<=(int amount)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - amount
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 298
    functionName: '& uint128::operator>>=(int amount)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator>>=(int amount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: operator+(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator+(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: operator-(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator-(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: operator*(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator*(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: operator/(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator/(const uint128& lhs, const uint128& rhs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' lhs'
    - ' rhs'
    argTypes:
    - uint128
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: operator%(const uint128& lhs, const uint128& rhs)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 operator%(const uint128& lhs, const uint128& rhs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: '& uint128::operator+=(const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator+=(const uint128& b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: '& uint128::operator-=(const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator-=(const uint128& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:354,1
    - Dst: uint128
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ' b'
    argTypes:
    - uint128
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 358
    functionName: '& uint128::operator*=(const uint128& b)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached:
    - uint128
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator*=(const uint128& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: uint128::operator++(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 uint128::operator++(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: uint128::operator--(int)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 uint128::operator--(int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: '& uint128::operator++()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator++()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: '& uint128::operator--()'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint128
    signature: uint128 & uint128::operator--()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 9
    functionsReached:
    - StringPiece::length
    - static_cast<int>
    - google::protobuf::internal::IsStructurallyValidUTF8
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 10
    functionsReached:
    - StringPiece::length
    - static_cast<int>
    - google::protobuf::internal::IsStructurallyValidUTF8
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::StrongReference
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongReference(const T& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::StrongReference
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongReference(const T& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - filename
    - line
    - ' message'
    argTypes:
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: google::protobuf::FatalException::FatalException
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FatalException(const char* filename, int line, const std::string&
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: google::protobuf::FatalException::filename
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * filename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: google::protobuf::FatalException::line
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int line() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: '& message() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 11
    functionsReached:
    - StringPiece::length
    - static_cast<int>
    - google::protobuf::internal::IsStructurallyValidUTF8
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 12
    functionsReached:
    - StringPiece::length
    - static_cast<int>
    - google::protobuf::internal::IsStructurallyValidUTF8
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::StrongReference
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongReference(const T& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::StrongReference
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongReference(const T& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - filename
    - line
    - ' message'
    argTypes:
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: google::protobuf::FatalException::FatalException
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FatalException(const char* filename, int line, const std::string&
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: google::protobuf::FatalException::filename
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * filename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: google::protobuf::FatalException::line
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int line() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: '& message() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 13
    functionsReached:
    - StringPiece::length
    - static_cast<int>
    - google::protobuf::internal::IsStructurallyValidUTF8
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 14
    functionsReached:
    - StringPiece::length
    - static_cast<int>
    - google::protobuf::internal::IsStructurallyValidUTF8
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::StrongReference
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongReference(const T& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::StrongReference
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongReference(const T& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - filename
    - line
    - ' message'
    argTypes:
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: google::protobuf::FatalException::FatalException
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FatalException(const char* filename, int line, const std::string&
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: google::protobuf::FatalException::filename
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * filename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: google::protobuf::FatalException::line
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int line() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: '& message() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 15
    functionsReached:
    - StringPiece::length
    - static_cast<int>
    - google::protobuf::internal::IsStructurallyValidUTF8
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::IsStructurallyValidUTF8
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: static_cast<int>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    - Dst: StringPiece::length
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: google::protobuf::internal::IsStructurallyValidUTF8
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 16
    functionsReached:
    - StringPiece::length
    - static_cast<int>
    - google::protobuf::internal::IsStructurallyValidUTF8
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool IsStructurallyValidUTF8(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::StrongReference
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongReference(const T& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: google::protobuf::internal::StrongReference
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StrongReference(const T& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - filename
    - line
    - ' message'
    argTypes:
    - char*
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: google::protobuf::FatalException::FatalException
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FatalException(const char* filename, int line, const std::string&
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: google::protobuf::FatalException::filename
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * filename() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: google::protobuf::FatalException::line
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int line() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: '& message() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & message() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: google::protobuf::ascii_isalnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isalnum(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: google::protobuf::ascii_isdigit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isdigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: google::protobuf::ascii_isspace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isspace(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::ascii_isupper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isupper(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::ascii_islower
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_islower(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ascii_islower
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: google::protobuf::ascii_toupper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::ascii_islower
    linkageType: ''
    returnType: char
    signature: char ascii_toupper(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ascii_isupper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: google::protobuf::ascii_tolower
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - google::protobuf::ascii_isupper
    linkageType: ''
    returnType: char
    signature: char ascii_tolower(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: google::protobuf::hex_digit_to_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:117,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:117,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: google::protobuf::HasPrefixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - memcmp
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool HasPrefixString(StringPiece str, StringPiece prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::HasPrefixString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:123,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:124,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - ' prefix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: google::protobuf::StripPrefixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::size
    - google::protobuf::HasPrefixString
    - substr
    linkageType: ''
    returnType: std::string
    signature: "std::string StripPrefixString(const std::string& str,\n                                     const
      std::string& prefix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:139,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:139,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - str
    - suffix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: google::protobuf::HasSuffixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - memcmp
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool HasSuffixString(StringPiece str, StringPiece suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::HasSuffixString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:146,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:147,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:147,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - ' suffix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: google::protobuf::StripSuffixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::size
    - google::protobuf::HasSuffixString
    - substr
    linkageType: ''
    returnType: std::string
    signature: "std::string StripSuffixString(const std::string& str,\n                                     const
      std::string& suffix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:178,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: google::protobuf::LowerString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - std::string*::begin
    - std::string*::end
    linkageType: ''
    returnType: void
    signature: void LowerString(std::string* s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:186,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: google::protobuf::UpperString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - std::string*::begin
    - std::string*::end
    linkageType: ''
    returnType: void
    signature: void UpperString(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UpperString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: google::protobuf::ToUpper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UpperString
    linkageType: ''
    returnType: void
    signature: void ToUpper(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UpperString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: google::protobuf::ToUpper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UpperString
    linkageType: ''
    returnType: std::string
    signature: std::string ToUpper(const std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SplitStringUsing
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:242,1
    - Dst: google::protobuf::SplitStringAllowEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - full
    - delim
    argTypes:
    - StringPiece
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: google::protobuf::Split
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::SplitStringUsing
    - google::protobuf::SplitStringAllowEmpty
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> Split(StringPiece full, const char* delim,\n
      \                                     bool skip_empty = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::JoinStrings
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' components'
    - delim
    argTypes:
    - std::vector<std::string>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: google::protobuf::JoinStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - google::protobuf::JoinStrings
    linkageType: ''
    returnType: std::string
    signature: "std::string JoinStrings(const std::vector<std::string>& components,\n
      \                              const char* delim)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:365,1
    - Dst: google::protobuf::strto32_adaptor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: google::protobuf::strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::strto32_adaptor
    - strtol
    linkageType: ''
    returnType: int32
    signature: int32 strto32(const char *nptr, char **endptr, int base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:372,1
    - Dst: google::protobuf::strtou32_adaptor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: google::protobuf::strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::strtou32_adaptor
    - strtoul
    linkageType: ''
    returnType: uint32
    signature: uint32 strtou32(const char *nptr, char **endptr, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:380,1
    - Dst: strtoll
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: google::protobuf::strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - strtoll
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: int64
    signature: int64 strto64(const char *nptr, char **endptr, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:386,1
    - Dst: strtoull
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: google::protobuf::strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - strtoull
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: uint64
    signature: uint64 strtou64(const char *nptr, char **endptr, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:405,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: google::protobuf::safe_strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - std::string
    - google::protobuf::safe_strto32
    linkageType: ''
    returnType: bool
    signature: bool safe_strto32(const char* str, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:408,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: google::protobuf::safe_strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - google::protobuf::safe_strto32
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strto32(StringPiece str, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:411,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: google::protobuf::safe_strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - google::protobuf::safe_strtou32
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou32(const char* str, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:414,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: google::protobuf::safe_strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - google::protobuf::safe_strtou32
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou32(StringPiece str, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:420,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: google::protobuf::safe_strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - std::string
    - google::protobuf::safe_strto64
    linkageType: ''
    returnType: bool
    signature: bool safe_strto64(const char* str, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:423,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: google::protobuf::safe_strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - StringPiece::ToString
    - google::protobuf::safe_strto64
    linkageType: ''
    returnType: bool
    signature: bool safe_strto64(StringPiece str, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:426,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: google::protobuf::safe_strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - google::protobuf::safe_strtou64
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou64(const char* str, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:429,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: google::protobuf::safe_strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - google::protobuf::safe_strtou64
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou64(StringPiece str, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:435,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - value
    argTypes:
    - std::string
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: google::protobuf::safe_strtof
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - c_str
    - google::protobuf::safe_strtof
    linkageType: ''
    returnType: bool
    signature: bool safe_strtof(const std::string& str, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:438,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - value
    argTypes:
    - std::string
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: google::protobuf::safe_strtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - c_str
    - google::protobuf::safe_strtod
    linkageType: ''
    returnType: bool
    signature: bool safe_strtod(const std::string& str, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:441,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: google::protobuf::safe_strtof
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - google::protobuf::safe_strtof
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtof(StringPiece str, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:444,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: google::protobuf::safe_strtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - google::protobuf::safe_strtod
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtod(StringPiece str, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:484,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: google::protobuf::FastIntToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastIntToBuffer(int i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:488,1
    - Dst: google::protobuf::FastUInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: google::protobuf::FastUIntToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBuffer
    - google::protobuf::FastUInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastUIntToBuffer(unsigned int i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:492,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: google::protobuf::FastLongToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastLongToBuffer(long i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:496,1
    - Dst: google::protobuf::FastUInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - unsigned long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: google::protobuf::FastULongToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBuffer
    - google::protobuf::FastUInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastULongToBuffer(unsigned long i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: google::protobuf::FastUInt32ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastUInt32ToBuffer(uint32 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - uint64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: google::protobuf::FastUInt64ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastUInt64ToBuffer(uint64 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 530
    functionName: google::protobuf::SimpleBtoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleBtoa(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:610,1
    - Dst: static_cast<uint16>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:611,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:612,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 614
    functionName: google::protobuf::strings::Hex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - static_cast<uint64>
    - static_cast<uint32>
    - static_cast<uint8>
    - static_cast<uint16>
    linkageType: ''
    returnType: void
    signature: void Hex(Int v, PadSpec s = NO_PAD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::AlphaNum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 680
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - DoubleToBuffer
    - FloatToBuffer
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    - FastUInt32ToBufferLeft
    - google::protobuf::strings::AlphaNum
    - strlen
    - FastInt32ToBufferLeft
    - FastUInt64ToBufferLeft
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT AlphaNum
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i32
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - FastInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(int i32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u32
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 631
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - FastUInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned int u32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 637
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 644
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - FloatToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 652
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - DoubleToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const char* c_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 662
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::StringPiecePod::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: internal::StringPiecePod::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - internal::StringPiecePod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - internal::StringPiecePod::size
    - internal::StringPiecePod::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(internal::StringPiecePod str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: google::protobuf::strings::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 671
    functionName: google::protobuf::strings::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:610,1
    - Dst: static_cast<uint16>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:611,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:612,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 614
    functionName: google::protobuf::strings::Hex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - static_cast<uint64>
    - static_cast<uint32>
    - static_cast<uint8>
    - static_cast<uint16>
    linkageType: ''
    returnType: void
    signature: void Hex(Int v, PadSpec s = NO_PAD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::AlphaNum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 680
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - DoubleToBuffer
    - FloatToBuffer
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    - FastUInt32ToBufferLeft
    - google::protobuf::strings::AlphaNum
    - strlen
    - FastInt32ToBufferLeft
    - FastUInt64ToBufferLeft
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT AlphaNum
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i32
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - FastInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(int i32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u32
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 631
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - FastUInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned int u32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 637
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 644
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - FloatToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 652
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - DoubleToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const char* c_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 662
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::StringPiecePod::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: internal::StringPiecePod::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - internal::StringPiecePod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - internal::StringPiecePod::size
    - internal::StringPiecePod::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(internal::StringPiecePod str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: google::protobuf::strings::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 671
    functionName: google::protobuf::strings::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:735,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:735,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 736
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 108
    functionsReached:
    - std::string
    - google::protobuf::size
    - google::protobuf::data
    linkageType: ''
    returnType: std::string
    signature: std::string StrCat(const AlphaNum& a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:778,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - start
    - end
    - delim
    - result
    argTypes:
    - Iterator
    - Iterator
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 782
    functionName: google::protobuf::Join
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::StrAppend
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: "void Join(Iterator start, Iterator end, const char* delim,\n          std::string*
      result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Join
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:787,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:787,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' components'
    - delim
    argTypes:
    - Range
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 789
    functionName: google::protobuf::Join
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - google::protobuf::end
    - google::protobuf::Join
    - google::protobuf::begin
    linkageType: ''
    returnType: std::string
    signature: std::string Join(const Range& components, const char* delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - code_point
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 872
    functionName: google::protobuf::IsValidCodePoint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValidCodePoint(uint32 code_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:933,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - text
    - suffix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: google::protobuf::strings::EndsWith
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - memcmp
    - StringPiece::empty
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool EndsWith(StringPiece text, StringPiece suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:933,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - text
    - suffix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: google::protobuf::strings::EndsWith
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - memcmp
    - StringPiece::empty
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool EndsWith(StringPiece text, StringPiece suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: google::protobuf::ascii_isalnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isalnum(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: google::protobuf::ascii_isdigit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isdigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: google::protobuf::ascii_isspace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isspace(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::ascii_isupper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isupper(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::ascii_islower
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_islower(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ascii_islower
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: google::protobuf::ascii_toupper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::ascii_islower
    linkageType: ''
    returnType: char
    signature: char ascii_toupper(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ascii_isupper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: google::protobuf::ascii_tolower
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - google::protobuf::ascii_isupper
    linkageType: ''
    returnType: char
    signature: char ascii_tolower(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: google::protobuf::hex_digit_to_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:117,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:117,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: google::protobuf::HasPrefixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - memcmp
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool HasPrefixString(StringPiece str, StringPiece prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::HasPrefixString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:123,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:124,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - ' prefix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: google::protobuf::StripPrefixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::size
    - google::protobuf::HasPrefixString
    - substr
    linkageType: ''
    returnType: std::string
    signature: "std::string StripPrefixString(const std::string& str,\n                                     const
      std::string& prefix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:139,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:139,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - str
    - suffix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: google::protobuf::HasSuffixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - memcmp
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool HasSuffixString(StringPiece str, StringPiece suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::HasSuffixString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:146,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:147,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:147,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - ' suffix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: google::protobuf::StripSuffixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::size
    - google::protobuf::HasSuffixString
    - substr
    linkageType: ''
    returnType: std::string
    signature: "std::string StripSuffixString(const std::string& str,\n                                     const
      std::string& suffix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:178,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: google::protobuf::LowerString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - std::string*::begin
    - std::string*::end
    linkageType: ''
    returnType: void
    signature: void LowerString(std::string* s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:186,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: google::protobuf::UpperString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - std::string*::begin
    - std::string*::end
    linkageType: ''
    returnType: void
    signature: void UpperString(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UpperString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: google::protobuf::ToUpper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UpperString
    linkageType: ''
    returnType: void
    signature: void ToUpper(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UpperString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: google::protobuf::ToUpper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UpperString
    linkageType: ''
    returnType: std::string
    signature: std::string ToUpper(const std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SplitStringUsing
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:242,1
    - Dst: google::protobuf::SplitStringAllowEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - full
    - delim
    argTypes:
    - StringPiece
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: google::protobuf::Split
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::SplitStringUsing
    - google::protobuf::SplitStringAllowEmpty
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> Split(StringPiece full, const char* delim,\n
      \                                     bool skip_empty = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::JoinStrings
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' components'
    - delim
    argTypes:
    - std::vector<std::string>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: google::protobuf::JoinStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - google::protobuf::JoinStrings
    linkageType: ''
    returnType: std::string
    signature: "std::string JoinStrings(const std::vector<std::string>& components,\n
      \                              const char* delim)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:365,1
    - Dst: google::protobuf::strto32_adaptor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: google::protobuf::strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::strto32_adaptor
    - strtol
    linkageType: ''
    returnType: int32
    signature: int32 strto32(const char *nptr, char **endptr, int base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:372,1
    - Dst: google::protobuf::strtou32_adaptor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: google::protobuf::strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::strtou32_adaptor
    - strtoul
    linkageType: ''
    returnType: uint32
    signature: uint32 strtou32(const char *nptr, char **endptr, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:380,1
    - Dst: strtoll
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: google::protobuf::strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - strtoll
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: int64
    signature: int64 strto64(const char *nptr, char **endptr, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:386,1
    - Dst: strtoull
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: google::protobuf::strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - strtoull
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: uint64
    signature: uint64 strtou64(const char *nptr, char **endptr, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:405,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: google::protobuf::safe_strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - std::string
    - google::protobuf::safe_strto32
    linkageType: ''
    returnType: bool
    signature: bool safe_strto32(const char* str, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:408,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: google::protobuf::safe_strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - google::protobuf::safe_strto32
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strto32(StringPiece str, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:411,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: google::protobuf::safe_strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - google::protobuf::safe_strtou32
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou32(const char* str, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:414,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: google::protobuf::safe_strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - google::protobuf::safe_strtou32
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou32(StringPiece str, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:420,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: google::protobuf::safe_strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - std::string
    - google::protobuf::safe_strto64
    linkageType: ''
    returnType: bool
    signature: bool safe_strto64(const char* str, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:423,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: google::protobuf::safe_strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - StringPiece::ToString
    - google::protobuf::safe_strto64
    linkageType: ''
    returnType: bool
    signature: bool safe_strto64(StringPiece str, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:426,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: google::protobuf::safe_strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - google::protobuf::safe_strtou64
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou64(const char* str, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:429,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: google::protobuf::safe_strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - google::protobuf::safe_strtou64
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou64(StringPiece str, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:435,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - value
    argTypes:
    - std::string
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: google::protobuf::safe_strtof
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - c_str
    - google::protobuf::safe_strtof
    linkageType: ''
    returnType: bool
    signature: bool safe_strtof(const std::string& str, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:438,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - value
    argTypes:
    - std::string
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: google::protobuf::safe_strtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - c_str
    - google::protobuf::safe_strtod
    linkageType: ''
    returnType: bool
    signature: bool safe_strtod(const std::string& str, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:441,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: google::protobuf::safe_strtof
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - google::protobuf::safe_strtof
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtof(StringPiece str, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:444,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: google::protobuf::safe_strtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - google::protobuf::safe_strtod
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtod(StringPiece str, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:484,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: google::protobuf::FastIntToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastIntToBuffer(int i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:488,1
    - Dst: google::protobuf::FastUInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 3
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: google::protobuf::FastUIntToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBuffer
    - google::protobuf::FastUInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastUIntToBuffer(unsigned int i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:492,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: google::protobuf::FastLongToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastLongToBuffer(long i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:496,1
    - Dst: google::protobuf::FastUInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - unsigned long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 3
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: google::protobuf::FastULongToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBuffer
    - google::protobuf::FastUInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastULongToBuffer(unsigned long i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: google::protobuf::FastUInt32ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastUInt32ToBuffer(uint32 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - uint64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: google::protobuf::FastUInt64ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastUInt64ToBuffer(uint64 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 530
    functionName: google::protobuf::SimpleBtoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleBtoa(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:610,1
    - Dst: static_cast<uint16>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:611,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:612,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 614
    functionName: google::protobuf::strings::Hex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - static_cast<uint64>
    - static_cast<uint32>
    - static_cast<uint8>
    - static_cast<uint16>
    linkageType: ''
    returnType: void
    signature: void Hex(Int v, PadSpec s = NO_PAD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::AlphaNum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 680
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - DoubleToBuffer
    - FloatToBuffer
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    - FastUInt32ToBufferLeft
    - google::protobuf::strings::AlphaNum
    - strlen
    - FastInt32ToBufferLeft
    - FastUInt64ToBufferLeft
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT AlphaNum
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i32
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - FastInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(int i32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u32
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 631
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - FastUInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned int u32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 637
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 644
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - FloatToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 652
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - DoubleToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const char* c_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 662
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::StringPiecePod::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: internal::StringPiecePod::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - internal::StringPiecePod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - internal::StringPiecePod::size
    - internal::StringPiecePod::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(internal::StringPiecePod str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: google::protobuf::strings::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 671
    functionName: google::protobuf::strings::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:610,1
    - Dst: static_cast<uint16>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:611,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:612,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 614
    functionName: google::protobuf::strings::Hex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - static_cast<uint64>
    - static_cast<uint32>
    - static_cast<uint8>
    - static_cast<uint16>
    linkageType: ''
    returnType: void
    signature: void Hex(Int v, PadSpec s = NO_PAD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::AlphaNum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 680
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - DoubleToBuffer
    - FloatToBuffer
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    - FastUInt32ToBufferLeft
    - google::protobuf::strings::AlphaNum
    - strlen
    - FastInt32ToBufferLeft
    - FastUInt64ToBufferLeft
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT AlphaNum
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i32
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - FastInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(int i32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u32
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 631
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - FastUInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned int u32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 637
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 644
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - FloatToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 652
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - DoubleToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const char* c_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 662
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::StringPiecePod::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: internal::StringPiecePod::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - internal::StringPiecePod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - internal::StringPiecePod::size
    - internal::StringPiecePod::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(internal::StringPiecePod str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: google::protobuf::strings::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 671
    functionName: google::protobuf::strings::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:735,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:735,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 736
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 108
    functionsReached:
    - std::string
    - google::protobuf::size
    - google::protobuf::data
    linkageType: ''
    returnType: std::string
    signature: std::string StrCat(const AlphaNum& a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:778,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - start
    - end
    - delim
    - result
    argTypes:
    - Iterator
    - Iterator
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 782
    functionName: google::protobuf::Join
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 1
    functionsReached:
    - google::protobuf::StrAppend
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: "void Join(Iterator start, Iterator end, const char* delim,\n          std::string*
      result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Join
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:787,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:787,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' components'
    - delim
    argTypes:
    - Range
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 789
    functionName: google::protobuf::Join
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - google::protobuf::end
    - google::protobuf::Join
    - google::protobuf::begin
    linkageType: ''
    returnType: std::string
    signature: std::string Join(const Range& components, const char* delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - code_point
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 872
    functionName: google::protobuf::IsValidCodePoint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValidCodePoint(uint32 code_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:933,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - text
    - suffix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: google::protobuf::strings::EndsWith
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - memcmp
    - StringPiece::empty
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool EndsWith(StringPiece text, StringPiece suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:933,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - text
    - suffix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: google::protobuf::strings::EndsWith
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - memcmp
    - StringPiece::empty
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool EndsWith(StringPiece text, StringPiece suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: google::protobuf::ascii_isalnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isalnum(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: google::protobuf::ascii_isdigit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isdigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: google::protobuf::ascii_isspace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isspace(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::ascii_isupper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isupper(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::ascii_islower
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_islower(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ascii_islower
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: google::protobuf::ascii_toupper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::ascii_islower
    linkageType: ''
    returnType: char
    signature: char ascii_toupper(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ascii_isupper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: google::protobuf::ascii_tolower
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - google::protobuf::ascii_isupper
    linkageType: ''
    returnType: char
    signature: char ascii_tolower(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: google::protobuf::hex_digit_to_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:117,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:117,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: google::protobuf::HasPrefixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - memcmp
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool HasPrefixString(StringPiece str, StringPiece prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::HasPrefixString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:123,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:124,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - ' prefix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: google::protobuf::StripPrefixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::size
    - google::protobuf::HasPrefixString
    - substr
    linkageType: ''
    returnType: std::string
    signature: "std::string StripPrefixString(const std::string& str,\n                                     const
      std::string& prefix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:139,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:139,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - str
    - suffix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: google::protobuf::HasSuffixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - memcmp
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool HasSuffixString(StringPiece str, StringPiece suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::HasSuffixString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:146,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:147,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:147,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - ' suffix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: google::protobuf::StripSuffixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::size
    - google::protobuf::HasSuffixString
    - substr
    linkageType: ''
    returnType: std::string
    signature: "std::string StripSuffixString(const std::string& str,\n                                     const
      std::string& suffix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:178,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: google::protobuf::LowerString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - std::string*::begin
    - std::string*::end
    linkageType: ''
    returnType: void
    signature: void LowerString(std::string* s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:186,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: google::protobuf::UpperString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - std::string*::begin
    - std::string*::end
    linkageType: ''
    returnType: void
    signature: void UpperString(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UpperString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: google::protobuf::ToUpper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UpperString
    linkageType: ''
    returnType: void
    signature: void ToUpper(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UpperString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: google::protobuf::ToUpper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UpperString
    linkageType: ''
    returnType: std::string
    signature: std::string ToUpper(const std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SplitStringUsing
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:242,1
    - Dst: google::protobuf::SplitStringAllowEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - full
    - delim
    argTypes:
    - StringPiece
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: google::protobuf::Split
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::SplitStringUsing
    - google::protobuf::SplitStringAllowEmpty
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> Split(StringPiece full, const char* delim,\n
      \                                     bool skip_empty = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::JoinStrings
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' components'
    - delim
    argTypes:
    - std::vector<std::string>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: google::protobuf::JoinStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - google::protobuf::JoinStrings
    linkageType: ''
    returnType: std::string
    signature: "std::string JoinStrings(const std::vector<std::string>& components,\n
      \                              const char* delim)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:365,1
    - Dst: google::protobuf::strto32_adaptor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: google::protobuf::strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::strto32_adaptor
    - strtol
    linkageType: ''
    returnType: int32
    signature: int32 strto32(const char *nptr, char **endptr, int base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:372,1
    - Dst: google::protobuf::strtou32_adaptor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: google::protobuf::strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::strtou32_adaptor
    - strtoul
    linkageType: ''
    returnType: uint32
    signature: uint32 strtou32(const char *nptr, char **endptr, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:380,1
    - Dst: strtoll
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: google::protobuf::strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - strtoll
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: int64
    signature: int64 strto64(const char *nptr, char **endptr, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:386,1
    - Dst: strtoull
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: google::protobuf::strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - strtoull
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: uint64
    signature: uint64 strtou64(const char *nptr, char **endptr, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:405,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: google::protobuf::safe_strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - std::string
    - google::protobuf::safe_strto32
    linkageType: ''
    returnType: bool
    signature: bool safe_strto32(const char* str, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:408,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: google::protobuf::safe_strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - google::protobuf::safe_strto32
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strto32(StringPiece str, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:411,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: google::protobuf::safe_strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - google::protobuf::safe_strtou32
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou32(const char* str, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:414,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: google::protobuf::safe_strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - google::protobuf::safe_strtou32
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou32(StringPiece str, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:420,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: google::protobuf::safe_strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - std::string
    - google::protobuf::safe_strto64
    linkageType: ''
    returnType: bool
    signature: bool safe_strto64(const char* str, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:423,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: google::protobuf::safe_strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - StringPiece::ToString
    - google::protobuf::safe_strto64
    linkageType: ''
    returnType: bool
    signature: bool safe_strto64(StringPiece str, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:426,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: google::protobuf::safe_strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - google::protobuf::safe_strtou64
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou64(const char* str, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:429,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: google::protobuf::safe_strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - google::protobuf::safe_strtou64
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou64(StringPiece str, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:435,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - value
    argTypes:
    - std::string
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: google::protobuf::safe_strtof
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 9
    functionsReached:
    - c_str
    - google::protobuf::safe_strtof
    linkageType: ''
    returnType: bool
    signature: bool safe_strtof(const std::string& str, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:438,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - value
    argTypes:
    - std::string
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: google::protobuf::safe_strtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - c_str
    - google::protobuf::safe_strtod
    linkageType: ''
    returnType: bool
    signature: bool safe_strtod(const std::string& str, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:441,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: google::protobuf::safe_strtof
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 10
    functionsReached:
    - google::protobuf::safe_strtof
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtof(StringPiece str, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:444,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: google::protobuf::safe_strtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - google::protobuf::safe_strtod
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtod(StringPiece str, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:484,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: google::protobuf::FastIntToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastIntToBuffer(int i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:488,1
    - Dst: google::protobuf::FastUInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 3
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: google::protobuf::FastUIntToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBuffer
    - google::protobuf::FastUInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastUIntToBuffer(unsigned int i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:492,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: google::protobuf::FastLongToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastLongToBuffer(long i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:496,1
    - Dst: google::protobuf::FastUInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - unsigned long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 3
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: google::protobuf::FastULongToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBuffer
    - google::protobuf::FastUInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastULongToBuffer(unsigned long i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: google::protobuf::FastUInt32ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastUInt32ToBuffer(uint32 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - uint64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: google::protobuf::FastUInt64ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastUInt64ToBuffer(uint64 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 530
    functionName: google::protobuf::SimpleBtoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleBtoa(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:610,1
    - Dst: static_cast<uint16>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:611,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:612,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 614
    functionName: google::protobuf::strings::Hex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - static_cast<uint64>
    - static_cast<uint32>
    - static_cast<uint8>
    - static_cast<uint16>
    linkageType: ''
    returnType: void
    signature: void Hex(Int v, PadSpec s = NO_PAD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::AlphaNum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 680
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - DoubleToBuffer
    - FloatToBuffer
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    - FastUInt32ToBufferLeft
    - google::protobuf::strings::AlphaNum
    - strlen
    - FastInt32ToBufferLeft
    - FastUInt64ToBufferLeft
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT AlphaNum
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i32
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - FastInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(int i32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u32
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 631
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - FastUInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned int u32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 637
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 644
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - FloatToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 652
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - DoubleToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const char* c_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 662
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::StringPiecePod::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: internal::StringPiecePod::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - internal::StringPiecePod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 5
    functionsReached:
    - internal::StringPiecePod::size
    - internal::StringPiecePod::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(internal::StringPiecePod str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: google::protobuf::strings::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 671
    functionName: google::protobuf::strings::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:610,1
    - Dst: static_cast<uint16>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:611,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:612,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 614
    functionName: google::protobuf::strings::Hex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - static_cast<uint64>
    - static_cast<uint32>
    - static_cast<uint8>
    - static_cast<uint16>
    linkageType: ''
    returnType: void
    signature: void Hex(Int v, PadSpec s = NO_PAD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::AlphaNum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 680
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - DoubleToBuffer
    - FloatToBuffer
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    - FastUInt32ToBufferLeft
    - google::protobuf::strings::AlphaNum
    - strlen
    - FastInt32ToBufferLeft
    - FastUInt64ToBufferLeft
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT AlphaNum
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i32
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - FastInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(int i32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u32
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 631
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - FastUInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned int u32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 637
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 644
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - FloatToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 652
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - DoubleToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const char* c_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 662
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::StringPiecePod::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: internal::StringPiecePod::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - internal::StringPiecePod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - internal::StringPiecePod::size
    - internal::StringPiecePod::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(internal::StringPiecePod str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: google::protobuf::strings::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 671
    functionName: google::protobuf::strings::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:735,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:735,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 736
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 108
    functionsReached:
    - std::string
    - google::protobuf::size
    - google::protobuf::data
    linkageType: ''
    returnType: std::string
    signature: std::string StrCat(const AlphaNum& a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:778,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - start
    - end
    - delim
    - result
    argTypes:
    - Iterator
    - Iterator
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 782
    functionName: google::protobuf::Join
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 2
    functionsReached:
    - google::protobuf::StrAppend
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: "void Join(Iterator start, Iterator end, const char* delim,\n          std::string*
      result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Join
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:787,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:787,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' components'
    - delim
    argTypes:
    - Range
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 789
    functionName: google::protobuf::Join
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - google::protobuf::end
    - google::protobuf::Join
    - google::protobuf::begin
    linkageType: ''
    returnType: std::string
    signature: std::string Join(const Range& components, const char* delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - code_point
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 872
    functionName: google::protobuf::IsValidCodePoint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValidCodePoint(uint32 code_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:933,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - text
    - suffix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: google::protobuf::strings::EndsWith
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - memcmp
    - StringPiece::empty
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool EndsWith(StringPiece text, StringPiece suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:933,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - text
    - suffix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: google::protobuf::strings::EndsWith
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - memcmp
    - StringPiece::empty
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool EndsWith(StringPiece text, StringPiece suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: google::protobuf::ascii_isalnum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isalnum(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: google::protobuf::ascii_isdigit
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isdigit(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: google::protobuf::ascii_isspace
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isspace(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: google::protobuf::ascii_isupper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isupper(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: google::protobuf::ascii_islower
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_islower(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ascii_islower
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: google::protobuf::ascii_toupper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::ascii_islower
    linkageType: ''
    returnType: char
    signature: char ascii_toupper(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ascii_isupper
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: google::protobuf::ascii_tolower
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - google::protobuf::ascii_isupper
    linkageType: ''
    returnType: char
    signature: char ascii_tolower(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: google::protobuf::hex_digit_to_int
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:117,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:117,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - str
    - prefix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: google::protobuf::HasPrefixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - memcmp
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool HasPrefixString(StringPiece str, StringPiece prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::HasPrefixString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:123,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:124,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - ' prefix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: google::protobuf::StripPrefixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::size
    - google::protobuf::HasPrefixString
    - substr
    linkageType: ''
    returnType: std::string
    signature: "std::string StripPrefixString(const std::string& str,\n                                     const
      std::string& prefix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:139,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:139,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:140,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - str
    - suffix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: google::protobuf::HasSuffixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - memcmp
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool HasSuffixString(StringPiece str, StringPiece suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::HasSuffixString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:146,1
    - Dst: substr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:147,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:147,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' str'
    - ' suffix'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: google::protobuf::StripSuffixString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::size
    - google::protobuf::HasSuffixString
    - substr
    linkageType: ''
    returnType: std::string
    signature: "std::string StripSuffixString(const std::string& str,\n                                     const
      std::string& suffix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:178,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: google::protobuf::LowerString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - std::string*::begin
    - std::string*::end
    linkageType: ''
    returnType: void
    signature: void LowerString(std::string* s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:186,1
    - Dst: std::string*::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: google::protobuf::UpperString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 6
    functionsReached:
    - std::string*::begin
    - std::string*::end
    linkageType: ''
    returnType: void
    signature: void UpperString(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UpperString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: google::protobuf::ToUpper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UpperString
    linkageType: ''
    returnType: void
    signature: void ToUpper(std::string* s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::UpperString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: google::protobuf::ToUpper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::UpperString
    linkageType: ''
    returnType: std::string
    signature: std::string ToUpper(const std::string& s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::SplitStringUsing
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:242,1
    - Dst: google::protobuf::SplitStringAllowEmpty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - full
    - delim
    argTypes:
    - StringPiece
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: google::protobuf::Split
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::SplitStringUsing
    - google::protobuf::SplitStringAllowEmpty
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> Split(StringPiece full, const char* delim,\n
      \                                     bool skip_empty = true)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::JoinStrings
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' components'
    - delim
    argTypes:
    - std::vector<std::string>
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: google::protobuf::JoinStrings
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - google::protobuf::JoinStrings
    linkageType: ''
    returnType: std::string
    signature: "std::string JoinStrings(const std::vector<std::string>& components,\n
      \                              const char* delim)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:365,1
    - Dst: google::protobuf::strto32_adaptor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: google::protobuf::strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::strto32_adaptor
    - strtol
    linkageType: ''
    returnType: int32
    signature: int32 strto32(const char *nptr, char **endptr, int base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:372,1
    - Dst: google::protobuf::strtou32_adaptor
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: google::protobuf::strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::strtou32_adaptor
    - strtoul
    linkageType: ''
    returnType: uint32
    signature: uint32 strtou32(const char *nptr, char **endptr, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:380,1
    - Dst: strtoll
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: google::protobuf::strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - strtoll
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: int64
    signature: int64 strto64(const char *nptr, char **endptr, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_COMPILE_ASSERT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:386,1
    - Dst: strtoull
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: google::protobuf::strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - strtoull
    - GOOGLE_COMPILE_ASSERT
    linkageType: ''
    returnType: uint64
    signature: uint64 strtou64(const char *nptr, char **endptr, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:405,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: google::protobuf::safe_strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - std::string
    - google::protobuf::safe_strto32
    linkageType: ''
    returnType: bool
    signature: bool safe_strto32(const char* str, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:408,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: google::protobuf::safe_strto32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - google::protobuf::safe_strto32
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strto32(StringPiece str, int32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:411,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: google::protobuf::safe_strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - google::protobuf::safe_strtou32
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou32(const char* str, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou32
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:414,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: google::protobuf::safe_strtou32
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - google::protobuf::safe_strtou32
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou32(StringPiece str, uint32* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:420,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: google::protobuf::safe_strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - std::string
    - google::protobuf::safe_strto64
    linkageType: ''
    returnType: bool
    signature: bool safe_strto64(const char* str, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strto64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:423,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: google::protobuf::safe_strto64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - StringPiece::ToString
    - google::protobuf::safe_strto64
    linkageType: ''
    returnType: bool
    signature: bool safe_strto64(StringPiece str, int64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:426,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - char*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: google::protobuf::safe_strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - google::protobuf::safe_strtou64
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou64(const char* str, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtou64
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:429,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: google::protobuf::safe_strtou64
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - google::protobuf::safe_strtou64
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtou64(StringPiece str, uint64* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:435,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - value
    argTypes:
    - std::string
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: google::protobuf::safe_strtof
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 11
    functionsReached:
    - c_str
    - google::protobuf::safe_strtof
    linkageType: ''
    returnType: bool
    signature: bool safe_strtof(const std::string& str, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:438,1
    - Dst: c_str
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' str'
    - value
    argTypes:
    - std::string
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: google::protobuf::safe_strtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - c_str
    - google::protobuf::safe_strtod
    linkageType: ''
    returnType: bool
    signature: bool safe_strtod(const std::string& str, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtof
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:441,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: google::protobuf::safe_strtof
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 12
    functionsReached:
    - google::protobuf::safe_strtof
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtof(StringPiece str, float* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::safe_strtod
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:444,1
    - Dst: StringPiece::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - value
    argTypes:
    - StringPiece
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: google::protobuf::safe_strtod
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - google::protobuf::safe_strtod
    - StringPiece::ToString
    linkageType: ''
    returnType: bool
    signature: bool safe_strtod(StringPiece str, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:484,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: google::protobuf::FastIntToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastIntToBuffer(int i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:488,1
    - Dst: google::protobuf::FastUInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 3
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: google::protobuf::FastUIntToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBuffer
    - google::protobuf::FastUInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastUIntToBuffer(unsigned int i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:492,1
    - Dst: google::protobuf::FastInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: google::protobuf::FastLongToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastInt64ToBuffer
    - google::protobuf::FastInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastLongToBuffer(long i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:496,1
    - Dst: google::protobuf::FastUInt64ToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - unsigned long
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 3
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: google::protobuf::FastULongToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached:
    - google::protobuf::FastUInt64ToBuffer
    - google::protobuf::FastUInt32ToBuffer
    linkageType: ''
    returnType: char
    signature: char * FastULongToBuffer(unsigned long i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: google::protobuf::FastUInt32ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - google::protobuf::FastUInt32ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastUInt32ToBuffer(uint32 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - buffer
    argTypes:
    - uint64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: google::protobuf::FastUInt64ToBuffer
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - google::protobuf::FastUInt64ToBufferLeft
    linkageType: ''
    returnType: char
    signature: char * FastUInt64ToBuffer(uint64 i, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 530
    functionName: google::protobuf::SimpleBtoa
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string SimpleBtoa(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:610,1
    - Dst: static_cast<uint16>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:611,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:612,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 614
    functionName: google::protobuf::strings::Hex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - static_cast<uint64>
    - static_cast<uint32>
    - static_cast<uint8>
    - static_cast<uint16>
    linkageType: ''
    returnType: void
    signature: void Hex(Int v, PadSpec s = NO_PAD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::AlphaNum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 680
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - DoubleToBuffer
    - FloatToBuffer
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    - FastUInt32ToBufferLeft
    - google::protobuf::strings::AlphaNum
    - strlen
    - FastInt32ToBufferLeft
    - FastUInt64ToBufferLeft
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT AlphaNum
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i32
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - FastInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(int i32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u32
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 631
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - FastUInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned int u32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 637
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 644
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - FloatToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 652
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - DoubleToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const char* c_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 662
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::StringPiecePod::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: internal::StringPiecePod::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - internal::StringPiecePod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 7
    functionsReached:
    - internal::StringPiecePod::size
    - internal::StringPiecePod::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(internal::StringPiecePod str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: google::protobuf::strings::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 671
    functionName: google::protobuf::strings::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<uint8>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:610,1
    - Dst: static_cast<uint16>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:611,1
    - Dst: static_cast<uint32>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:612,1
    - Dst: static_cast<uint64>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 614
    functionName: google::protobuf::strings::Hex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - static_cast<uint64>
    - static_cast<uint32>
    - static_cast<uint8>
    - static_cast<uint16>
    linkageType: ''
    returnType: void
    signature: void Hex(Int v, PadSpec s = NO_PAD)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: google::protobuf::strings::AlphaNum
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 680
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - DoubleToBuffer
    - FloatToBuffer
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    - FastUInt32ToBufferLeft
    - google::protobuf::strings::AlphaNum
    - strlen
    - FastInt32ToBufferLeft
    - FastUInt64ToBufferLeft
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: struct PROTOBUF_EXPORT
    signature: struct PROTOBUF_EXPORT AlphaNum
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i32
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 628
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - FastInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(int i32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt32ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u32
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 631
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - FastUInt32ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned int u32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 637
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i64
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 644
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - FastInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(long i64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FastUInt64ToBufferLeft
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - u64
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - FastUInt64ToBufferLeft
    linkageType: ''
    returnType: void
    signature: void AlphaNum(unsigned long u64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    - Dst: FloatToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - FloatToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    - Dst: DoubleToBuffer
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - f
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 652
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - DoubleToBuffer
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c_str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const char* c_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    - Dst: google::protobuf::strings::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 662
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - google::protobuf::strings::size
    - google::protobuf::strings::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(const std::string& str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::StringPiecePod::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    - Dst: internal::StringPiecePod::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - str
    argTypes:
    - internal::StringPiecePod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: google::protobuf::strings::AlphaNum
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 8
    functionsReached:
    - internal::StringPiecePod::size
    - internal::StringPiecePod::data
    linkageType: ''
    returnType: void
    signature: void AlphaNum(internal::StringPiecePod str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: google::protobuf::strings::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 671
    functionName: google::protobuf::strings::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:735,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:735,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' a'
    argTypes:
    - AlphaNum
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 736
    functionName: google::protobuf::StrCat
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 108
    functionsReached:
    - std::string
    - google::protobuf::size
    - google::protobuf::data
    linkageType: ''
    returnType: std::string
    signature: std::string StrCat(const AlphaNum& a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::append
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:778,1
    - Dst: google::protobuf::StrAppend
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - start
    - end
    - delim
    - result
    argTypes:
    - Iterator
    - Iterator
    - char*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 782
    functionName: google::protobuf::Join
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 3
    functionsReached:
    - google::protobuf::StrAppend
    - std::string*::append
    linkageType: ''
    returnType: void
    signature: "void Join(Iterator start, Iterator end, const char* delim,\n          std::string*
      result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Join
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:787,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:787,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' components'
    - delim
    argTypes:
    - Range
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 789
    functionName: google::protobuf::Join
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - google::protobuf::end
    - google::protobuf::Join
    - google::protobuf::begin
    linkageType: ''
    returnType: std::string
    signature: std::string Join(const Range& components, const char* delim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - code_point
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 872
    functionName: google::protobuf::IsValidCodePoint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValidCodePoint(uint32 code_point)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:933,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - text
    - suffix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: google::protobuf::strings::EndsWith
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - memcmp
    - StringPiece::empty
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool EndsWith(StringPiece text, StringPiece suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:933,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:934,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:935,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - text
    - suffix
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: google::protobuf::strings::EndsWith
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    functionUses: 4
    functionsReached:
    - memcmp
    - StringPiece::empty
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool EndsWith(StringPiece text, StringPiece suffix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:80,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 1
    functionsReached:
    - google::protobuf::strings::ByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~ByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:109,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::ByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 1
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::strings::ByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~ByteSource()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: google::protobuf::strings::UncheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UncheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: google::protobuf::strings::CurrentDestination
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * CurrentDestination() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::CheckedArrayByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:193,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 209
    functionName: google::protobuf::strings::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 1
    functionsReached:
    - google::protobuf::strings::CheckedArrayByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: google::protobuf::strings::NumberOfBytesWritten
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NumberOfBytesWritten() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::strings::Overflowed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Overflowed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: google::protobuf::strings::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT strings::ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: google::protobuf::strings::StringByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::NullByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:276,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: google::protobuf::strings::NullByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 1
    functionsReached:
    - google::protobuf::strings::NullByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT NullByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: google::protobuf::strings::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Append(const char* /*data*/, size_t /*n*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: google::protobuf::strings::ArrayByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArrayByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 343
    functionName: google::protobuf::strings::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 1
    functionsReached:
    - google::protobuf::strings::LimitByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:80,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::strings::ByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~ByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:109,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::ByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 2
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::strings::ByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~ByteSource()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: google::protobuf::strings::UncheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UncheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: google::protobuf::strings::CurrentDestination
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * CurrentDestination() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::CheckedArrayByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:193,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 209
    functionName: google::protobuf::strings::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::strings::CheckedArrayByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: google::protobuf::strings::NumberOfBytesWritten
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NumberOfBytesWritten() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::strings::Overflowed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Overflowed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: google::protobuf::strings::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT strings::ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: google::protobuf::strings::StringByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::NullByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:276,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: google::protobuf::strings::NullByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::strings::NullByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT NullByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: google::protobuf::strings::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Append(const char* /*data*/, size_t /*n*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: google::protobuf::strings::ArrayByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArrayByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 343
    functionName: google::protobuf::strings::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 2
    functionsReached:
    - google::protobuf::strings::LimitByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:80,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 3
    functionsReached:
    - google::protobuf::strings::ByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~ByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:109,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::ByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 3
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::strings::ByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~ByteSource()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: google::protobuf::strings::UncheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UncheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: google::protobuf::strings::CurrentDestination
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * CurrentDestination() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::CheckedArrayByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:193,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 209
    functionName: google::protobuf::strings::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 3
    functionsReached:
    - google::protobuf::strings::CheckedArrayByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: google::protobuf::strings::NumberOfBytesWritten
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NumberOfBytesWritten() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::strings::Overflowed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Overflowed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: google::protobuf::strings::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT strings::ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: google::protobuf::strings::StringByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::NullByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:276,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: google::protobuf::strings::NullByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 3
    functionsReached:
    - google::protobuf::strings::NullByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT NullByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: google::protobuf::strings::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Append(const char* /*data*/, size_t /*n*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: google::protobuf::strings::ArrayByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArrayByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 343
    functionName: google::protobuf::strings::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 3
    functionsReached:
    - google::protobuf::strings::LimitByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:80,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::strings::ByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~ByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:109,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::ByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 4
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::strings::ByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~ByteSource()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: google::protobuf::strings::UncheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UncheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: google::protobuf::strings::CurrentDestination
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * CurrentDestination() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::CheckedArrayByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:193,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 209
    functionName: google::protobuf::strings::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::strings::CheckedArrayByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: google::protobuf::strings::NumberOfBytesWritten
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NumberOfBytesWritten() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::strings::Overflowed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Overflowed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: google::protobuf::strings::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT strings::ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: google::protobuf::strings::StringByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::NullByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:276,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: google::protobuf::strings::NullByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::strings::NullByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT NullByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: google::protobuf::strings::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Append(const char* /*data*/, size_t /*n*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: google::protobuf::strings::ArrayByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArrayByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 343
    functionName: google::protobuf::strings::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 4
    functionsReached:
    - google::protobuf::strings::LimitByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:80,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 5
    functionsReached:
    - google::protobuf::strings::ByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~ByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:109,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::ByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 5
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::strings::ByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~ByteSource()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: google::protobuf::strings::UncheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UncheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: google::protobuf::strings::CurrentDestination
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * CurrentDestination() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::CheckedArrayByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:193,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 209
    functionName: google::protobuf::strings::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 5
    functionsReached:
    - google::protobuf::strings::CheckedArrayByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: google::protobuf::strings::NumberOfBytesWritten
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NumberOfBytesWritten() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::strings::Overflowed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Overflowed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: google::protobuf::strings::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT strings::ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: google::protobuf::strings::StringByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::NullByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:276,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: google::protobuf::strings::NullByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 5
    functionsReached:
    - google::protobuf::strings::NullByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT NullByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: google::protobuf::strings::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Append(const char* /*data*/, size_t /*n*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: google::protobuf::strings::ArrayByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArrayByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 343
    functionName: google::protobuf::strings::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 5
    functionsReached:
    - google::protobuf::strings::LimitByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:80,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::strings::ByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~ByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:109,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::ByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 6
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::strings::ByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~ByteSource()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: google::protobuf::strings::UncheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UncheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: google::protobuf::strings::CurrentDestination
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * CurrentDestination() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::CheckedArrayByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:193,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 209
    functionName: google::protobuf::strings::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::strings::CheckedArrayByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: google::protobuf::strings::NumberOfBytesWritten
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NumberOfBytesWritten() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::strings::Overflowed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Overflowed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: google::protobuf::strings::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT strings::ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: google::protobuf::strings::StringByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::NullByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:276,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: google::protobuf::strings::NullByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::strings::NullByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT NullByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: google::protobuf::strings::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Append(const char* /*data*/, size_t /*n*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: google::protobuf::strings::ArrayByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArrayByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 343
    functionName: google::protobuf::strings::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 6
    functionsReached:
    - google::protobuf::strings::LimitByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:80,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 7
    functionsReached:
    - google::protobuf::strings::ByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~ByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:109,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::ByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 7
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::strings::ByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~ByteSource()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: google::protobuf::strings::UncheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UncheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: google::protobuf::strings::CurrentDestination
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * CurrentDestination() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::CheckedArrayByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:193,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 209
    functionName: google::protobuf::strings::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 7
    functionsReached:
    - google::protobuf::strings::CheckedArrayByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: google::protobuf::strings::NumberOfBytesWritten
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NumberOfBytesWritten() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::strings::Overflowed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Overflowed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: google::protobuf::strings::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT strings::ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: google::protobuf::strings::StringByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::NullByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:276,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: google::protobuf::strings::NullByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 7
    functionsReached:
    - google::protobuf::strings::NullByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT NullByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: google::protobuf::strings::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Append(const char* /*data*/, size_t /*n*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: google::protobuf::strings::ArrayByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArrayByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 343
    functionName: google::protobuf::strings::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 7
    functionsReached:
    - google::protobuf::strings::LimitByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:80,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::protobuf::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::strings::ByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~ByteSink()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSink()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::ByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:109,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 146
    functionName: google::protobuf::strings::ByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 8
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - google::protobuf::strings::ByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: ~ByteSource()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ByteSource()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: google::protobuf::strings::UncheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT UncheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: google::protobuf::strings::CurrentDestination
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * CurrentDestination() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::CheckedArrayByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:193,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 209
    functionName: google::protobuf::strings::CheckedArrayByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::strings::CheckedArrayByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CheckedArrayByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: google::protobuf::strings::NumberOfBytesWritten
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t NumberOfBytesWritten() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 201
    functionName: google::protobuf::strings::Overflowed
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Overflowed() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: google::protobuf::strings::strings::ByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT strings::ByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: google::protobuf::strings::StringByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::NullByteSink
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:276,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: google::protobuf::strings::NullByteSink
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::strings::NullByteSink
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT NullByteSink
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 277
    functionName: google::protobuf::strings::Append
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Append(const char* /*data*/, size_t /*n*/) override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 307
    functionName: google::protobuf::strings::ArrayByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 0
    functionsReached:
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT ArrayByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::strings::LimitByteSource
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 343
    functionName: google::protobuf::strings::LimitByteSource
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
    functionUses: 8
    functionsReached:
    - google::protobuf::strings::LimitByteSource
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT LimitByteSource
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::StatusOr<T>::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:198,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::StatusOr<T>::ok
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const Status& status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::internal::IsValueNull
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:207,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::IsValueNull
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: '& StatusOr<T>::operator=(const StatusOr<T>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    - Dst: T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - status_::ok
    - T
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<U>& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: '& StatusOr<T>::operator=(const StatusOr<U>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<U>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: '& StatusOr<T>::status() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & StatusOr<T>::status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: google::protobuf::util::StatusOr<T>::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 1
    functionsReached:
    - status
    linkageType: ''
    returnType: bool
    signature: bool StatusOr<T>::ok() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:253,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: '& StatusOr<T>::ValueOrDie() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::ValueOrDie() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:261,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: '& StatusOr<T>::value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::StatusOr<T>::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:198,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::StatusOr<T>::ok
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const Status& status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::internal::IsValueNull
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:207,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::IsValueNull
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: '& StatusOr<T>::operator=(const StatusOr<T>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    - Dst: T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - status_::ok
    - T
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<U>& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: '& StatusOr<T>::operator=(const StatusOr<U>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<U>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: '& StatusOr<T>::status() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & StatusOr<T>::status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: google::protobuf::util::StatusOr<T>::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 2
    functionsReached:
    - status
    linkageType: ''
    returnType: bool
    signature: bool StatusOr<T>::ok() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:253,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: '& StatusOr<T>::ValueOrDie() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::ValueOrDie() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:261,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: '& StatusOr<T>::value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::StatusOr<T>::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:198,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::StatusOr<T>::ok
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const Status& status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::internal::IsValueNull
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:207,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::IsValueNull
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: '& StatusOr<T>::operator=(const StatusOr<T>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    - Dst: T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - status_::ok
    - T
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<U>& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: '& StatusOr<T>::operator=(const StatusOr<U>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<U>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: '& StatusOr<T>::status() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & StatusOr<T>::status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: google::protobuf::util::StatusOr<T>::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 3
    functionsReached:
    - status
    linkageType: ''
    returnType: bool
    signature: bool StatusOr<T>::ok() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:253,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: '& StatusOr<T>::ValueOrDie() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::ValueOrDie() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:261,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: '& StatusOr<T>::value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::StatusOr<T>::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:198,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::StatusOr<T>::ok
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const Status& status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::internal::IsValueNull
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:207,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::IsValueNull
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: '& StatusOr<T>::operator=(const StatusOr<T>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    - Dst: T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - status_::ok
    - T
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<U>& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: '& StatusOr<T>::operator=(const StatusOr<U>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<U>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: '& StatusOr<T>::status() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & StatusOr<T>::status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: google::protobuf::util::StatusOr<T>::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 4
    functionsReached:
    - status
    linkageType: ''
    returnType: bool
    signature: bool StatusOr<T>::ok() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:253,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: '& StatusOr<T>::ValueOrDie() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::ValueOrDie() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:261,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: '& StatusOr<T>::value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::StatusOr<T>::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:198,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::StatusOr<T>::ok
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const Status& status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::internal::IsValueNull
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:207,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::IsValueNull
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: '& StatusOr<T>::operator=(const StatusOr<T>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    - Dst: T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - status_::ok
    - T
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<U>& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: '& StatusOr<T>::operator=(const StatusOr<U>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<U>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: '& StatusOr<T>::status() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & StatusOr<T>::status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: google::protobuf::util::StatusOr<T>::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 5
    functionsReached:
    - status
    linkageType: ''
    returnType: bool
    signature: bool StatusOr<T>::ok() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:253,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: '& StatusOr<T>::ValueOrDie() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::ValueOrDie() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:261,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: '& StatusOr<T>::value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::StatusOr<T>::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:198,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::StatusOr<T>::ok
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const Status& status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::internal::IsValueNull
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:207,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::IsValueNull
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: '& StatusOr<T>::operator=(const StatusOr<T>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    - Dst: T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - status_::ok
    - T
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<U>& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: '& StatusOr<T>::operator=(const StatusOr<U>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<U>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: '& StatusOr<T>::status() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & StatusOr<T>::status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: google::protobuf::util::StatusOr<T>::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 6
    functionsReached:
    - status
    linkageType: ''
    returnType: bool
    signature: bool StatusOr<T>::ok() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:253,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: '& StatusOr<T>::ValueOrDie() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::ValueOrDie() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:261,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: '& StatusOr<T>::value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::StatusOr<T>::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:198,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::StatusOr<T>::ok
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const Status& status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::internal::IsValueNull
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:207,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::IsValueNull
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: '& StatusOr<T>::operator=(const StatusOr<T>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    - Dst: T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - status_::ok
    - T
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<U>& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: '& StatusOr<T>::operator=(const StatusOr<U>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<U>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: '& StatusOr<T>::status() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & StatusOr<T>::status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: google::protobuf::util::StatusOr<T>::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 7
    functionsReached:
    - status
    linkageType: ''
    returnType: bool
    signature: bool StatusOr<T>::ok() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:253,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: '& StatusOr<T>::ValueOrDie() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::ValueOrDie() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:261,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: '& StatusOr<T>::value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: google::protobuf::util::internal::StatusOrHelper
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StatusOrHelper
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' t'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T& t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: google::protobuf::util::internal::IsValueNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValueNull(const T* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::StatusOr<T>::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:198,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::StatusOr<T>::ok
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const Status& status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::util::internal::IsValueNull
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:207,1
    - Dst: Status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::IsValueNull
    - Status
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const T& value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: '& StatusOr<T>::operator=(const StatusOr<T>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<T>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status_::ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    - Dst: T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: google::protobuf::util::StatusOr<T>::StatusOr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - status_::ok
    - T
    linkageType: ''
    returnType: void
    signature: void StatusOr<T>::StatusOr(const StatusOr<U>& other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - StatusOr<U>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: '& StatusOr<T>::operator=(const StatusOr<U>& other)'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: StatusOr<T>
    signature: StatusOr<T> & StatusOr<T>::operator=(const StatusOr<U>& other)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: '& StatusOr<T>::status() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Status
    signature: Status & StatusOr<T>::status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: google::protobuf::util::StatusOr<T>::ok
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 8
    functionsReached:
    - status
    linkageType: ''
    returnType: bool
    signature: bool StatusOr<T>::ok() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:253,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: '& StatusOr<T>::ValueOrDie() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::ValueOrDie() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:261,1
    - Dst: google::protobuf::util::internal::StatusOrHelper::Crash
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: '& StatusOr<T>::value() const'
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    functionUses: 0
    functionsReached:
    - google::protobuf::util::internal::StatusOrHelper::Crash
    - ok
    linkageType: ''
    returnType: T
    signature: T & StatusOr<T>::value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: GOOGLE_PROTOBUF_ACQUIRE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_ACQUIRE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: GOOGLE_PROTOBUF_RELEASE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_RELEASE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: GOOGLE_PROTOBUF_CAPABILITY
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GOOGLE_PROTOBUF_CAPABILITY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CriticalSectionLock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: InitializeCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::CriticalSectionLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 1
    functionsReached:
    - DeleteCriticalSection
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - EnterCriticalSection
    - InitializeCriticalSection
    - google::protobuf::internal::CriticalSectionLock
    - LeaveCriticalSection
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CriticalSectionLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~CriticalSectionLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: void ~CriticalSectionLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::lock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::unlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WrappedMutex
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:98,1
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: google::protobuf::internal::WrappedMutex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 1
    functionsReached:
    - google::protobuf::internal::lock
    - google::protobuf::internal::unlock
    - google::protobuf::internal::WrappedMutex
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT WrappedMutex
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::lock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_ACQUIRE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::unlock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_RELEASE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::AssertHeld
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AssertHeld() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::mu_::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::MutexLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::mu_::Lock
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MutexLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::mu_::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~MutexLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::mu_::Unlock
    linkageType: ''
    returnType: void
    signature: void ~MutexLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CriticalSectionLock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: InitializeCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::CriticalSectionLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 2
    functionsReached:
    - DeleteCriticalSection
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - EnterCriticalSection
    - InitializeCriticalSection
    - google::protobuf::internal::CriticalSectionLock
    - LeaveCriticalSection
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CriticalSectionLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~CriticalSectionLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: void ~CriticalSectionLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::lock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 2
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::unlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 2
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WrappedMutex
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:98,1
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: google::protobuf::internal::WrappedMutex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 2
    functionsReached:
    - google::protobuf::internal::lock
    - google::protobuf::internal::unlock
    - google::protobuf::internal::WrappedMutex
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT WrappedMutex
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::lock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_ACQUIRE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::unlock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_RELEASE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::AssertHeld
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AssertHeld() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::mu_::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::MutexLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::mu_::Lock
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MutexLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::mu_::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~MutexLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::mu_::Unlock
    linkageType: ''
    returnType: void
    signature: void ~MutexLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:133,1
    - Dst: google::protobuf::mu_::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: google::protobuf::MutexLockMaybe
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - if
    - google::protobuf::mu_::Lock
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MutexLockMaybe
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CriticalSectionLock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: InitializeCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::CriticalSectionLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 3
    functionsReached:
    - DeleteCriticalSection
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - EnterCriticalSection
    - InitializeCriticalSection
    - google::protobuf::internal::CriticalSectionLock
    - LeaveCriticalSection
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CriticalSectionLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~CriticalSectionLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: void ~CriticalSectionLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::lock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 4
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::unlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 4
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WrappedMutex
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:98,1
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: google::protobuf::internal::WrappedMutex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 3
    functionsReached:
    - google::protobuf::internal::lock
    - google::protobuf::internal::unlock
    - google::protobuf::internal::WrappedMutex
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT WrappedMutex
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::lock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_ACQUIRE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::unlock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_RELEASE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::AssertHeld
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AssertHeld() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::mu_::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::MutexLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::mu_::Lock
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MutexLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::internal::mu_::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~MutexLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::internal::mu_::Unlock
    linkageType: ''
    returnType: void
    signature: void ~MutexLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CriticalSectionLock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: InitializeCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::CriticalSectionLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 4
    functionsReached:
    - DeleteCriticalSection
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - EnterCriticalSection
    - InitializeCriticalSection
    - google::protobuf::internal::CriticalSectionLock
    - LeaveCriticalSection
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CriticalSectionLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~CriticalSectionLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: void ~CriticalSectionLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::lock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 6
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::unlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 6
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WrappedMutex
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:98,1
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: google::protobuf::internal::WrappedMutex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 4
    functionsReached:
    - google::protobuf::internal::lock
    - google::protobuf::internal::unlock
    - google::protobuf::internal::WrappedMutex
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT WrappedMutex
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::lock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_ACQUIRE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::unlock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_RELEASE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::AssertHeld
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AssertHeld() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::mu_::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::MutexLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::mu_::Lock
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MutexLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::mu_::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~MutexLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::mu_::Unlock
    linkageType: ''
    returnType: void
    signature: void ~MutexLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:133,1
    - Dst: google::protobuf::mu_::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: google::protobuf::MutexLockMaybe
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - if
    - google::protobuf::mu_::Lock
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MutexLockMaybe
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::mu_::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ~MutexLockMaybe()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::mu_::Unlock
    linkageType: ''
    returnType: void
    signature: void ~MutexLockMaybe()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CriticalSectionLock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: InitializeCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::CriticalSectionLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 5
    functionsReached:
    - DeleteCriticalSection
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - EnterCriticalSection
    - InitializeCriticalSection
    - google::protobuf::internal::CriticalSectionLock
    - LeaveCriticalSection
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CriticalSectionLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~CriticalSectionLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: void ~CriticalSectionLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::lock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 8
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::unlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 8
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WrappedMutex
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:98,1
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: google::protobuf::internal::WrappedMutex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 5
    functionsReached:
    - google::protobuf::internal::lock
    - google::protobuf::internal::unlock
    - google::protobuf::internal::WrappedMutex
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT WrappedMutex
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::lock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_ACQUIRE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::unlock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_RELEASE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::AssertHeld
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AssertHeld() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::mu_::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::MutexLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::mu_::Lock
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MutexLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: protobuf::internal::mu_::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~MutexLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - protobuf::internal::mu_::Unlock
    linkageType: ''
    returnType: void
    signature: void ~MutexLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CriticalSectionLock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: InitializeCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::CriticalSectionLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 6
    functionsReached:
    - DeleteCriticalSection
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - EnterCriticalSection
    - InitializeCriticalSection
    - google::protobuf::internal::CriticalSectionLock
    - LeaveCriticalSection
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CriticalSectionLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~CriticalSectionLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: void ~CriticalSectionLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::lock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 10
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::unlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 10
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WrappedMutex
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:98,1
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: google::protobuf::internal::WrappedMutex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 6
    functionsReached:
    - google::protobuf::internal::lock
    - google::protobuf::internal::unlock
    - google::protobuf::internal::WrappedMutex
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT WrappedMutex
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::lock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_ACQUIRE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::unlock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_RELEASE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::AssertHeld
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AssertHeld() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::mu_::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::MutexLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::mu_::Lock
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MutexLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: protobuf::mu_::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~MutexLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - protobuf::mu_::Unlock
    linkageType: ''
    returnType: void
    signature: void ~MutexLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:133,1
    - Dst: google::protobuf::mu_::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: google::protobuf::MutexLockMaybe
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - if
    - google::protobuf::mu_::Lock
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MutexLockMaybe
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CriticalSectionLock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: InitializeCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::CriticalSectionLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 7
    functionsReached:
    - DeleteCriticalSection
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - EnterCriticalSection
    - InitializeCriticalSection
    - google::protobuf::internal::CriticalSectionLock
    - LeaveCriticalSection
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CriticalSectionLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~CriticalSectionLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: void ~CriticalSectionLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::lock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 12
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::unlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 12
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WrappedMutex
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:98,1
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: google::protobuf::internal::WrappedMutex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 7
    functionsReached:
    - google::protobuf::internal::lock
    - google::protobuf::internal::unlock
    - google::protobuf::internal::WrappedMutex
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT WrappedMutex
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::lock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_ACQUIRE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::unlock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_RELEASE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::AssertHeld
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AssertHeld() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::mu_::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::MutexLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::mu_::Lock
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MutexLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal::mu_::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~MutexLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - internal::mu_::Unlock
    linkageType: ''
    returnType: void
    signature: void ~MutexLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::CriticalSectionLock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: InitializeCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:80,1
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    - Dst: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: google::protobuf::internal::CriticalSectionLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 8
    functionsReached:
    - DeleteCriticalSection
    - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
    - EnterCriticalSection
    - InitializeCriticalSection
    - google::protobuf::internal::CriticalSectionLock
    - LeaveCriticalSection
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT CriticalSectionLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ~CriticalSectionLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    linkageType: ''
    returnType: void
    signature: void ~CriticalSectionLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: google::protobuf::internal::lock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 14
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: google::protobuf::internal::unlock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 14
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: void unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::WrappedMutex
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:98,1
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: google::protobuf::internal::WrappedMutex
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 8
    functionsReached:
    - google::protobuf::internal::lock
    - google::protobuf::internal::unlock
    - google::protobuf::internal::WrappedMutex
    linkageType: ''
    returnType: PROTOBUF_EXPORT
    signature: PROTOBUF_EXPORT WrappedMutex
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::lock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_ACQUIRE()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::unlock
    linkageType: ''
    returnType: void
    signature: void GOOGLE_PROTOBUF_RELEASE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: google::protobuf::internal::AssertHeld
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AssertHeld() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::mu_::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: google::protobuf::internal::MutexLock
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - google::protobuf::internal::mu_::Lock
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MutexLock
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mu_::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~MutexLock()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - mu_::Unlock
    linkageType: ''
    returnType: void
    signature: void ~MutexLock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:133,1
    - Dst: google::protobuf::mu_::Lock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: google::protobuf::MutexLockMaybe
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - if
    - google::protobuf::mu_::Lock
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT MutexLockMaybe
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mu_::Unlock
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ~MutexLockMaybe()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - mu_::Unlock
    linkageType: ''
    returnType: void
    signature: void ~MutexLockMaybe()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_create
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: ThreadLocalStorage::ThreadLocalStorage
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - pthread_key_create
    linkageType: ''
    returnType: void
    signature: void ThreadLocalStorage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_delete
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: ~ThreadLocalStorage()
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - pthread_key_delete
    linkageType: ''
    returnType: void
    signature: void ~ThreadLocalStorage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:151,1
    - Dst: pthread_getspecific
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:151,1
    - Dst: T::T
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:153,1
    - Dst: pthread_setspecific
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: ThreadLocalStorage::Get
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - T::T
    - pthread_setspecific
    - pthread_getspecific
    - static_cast<T*>
    linkageType: ''
    returnType: T
    signature: T * Get()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<T*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: ThreadLocalStorage::Delete
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
    functionUses: 0
    functionsReached:
    - static_cast<T*>
    linkageType: ''
    returnType: void
    signature: void Delete(void* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:76,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:77,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::FindOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDie(const Collection&
      collection,\n          const typename Collection::value_type::first_type& key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:86,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:87,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: google::protobuf::FindOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDie(Collection&
      collection,  // NOLINT\n          const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:96,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:97,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: google::protobuf::FindOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDieNoPrint(const
      Collection& collection,\n                 const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:106,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:107,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: google::protobuf::FindOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDieNoPrint(Collection&
      collection,  // NOLINT\n                 const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:126,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - ' value'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: google::protobuf::FindWithDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindWithDefault(const
      Collection& collection,\n                const typename Collection::value_type::first_type&
      key,\n                const typename Collection::value_type::second_type& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:139,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: google::protobuf::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type *\nFindOrNull(const Collection&
      collection,\n           const typename Collection::value_type::first_type& key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:151,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: google::protobuf::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type *\nFindOrNull(Collection&
      collection,  // NOLINT\n           const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:168,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:169,1
    - Dst: Collection::value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: google::protobuf::FindPtrOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - Collection::value_type::second_type
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type FindPtrOrNull(const Collection&
      collection,\n              const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:183,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:184,1
    - Dst: Collection::value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: google::protobuf::FindPtrOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - Collection::value_type::second_type
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type FindPtrOrNull(Collection&
      collection,  // NOLINT\n              const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:196,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:197,1
    - Dst: typename Collection::const_iterator::second::get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: google::protobuf::FindLinkedPtrOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - typename Collection::const_iterator::second::get
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type *\nFindLinkedPtrOrNull(const
      Collection& collection,\n                    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:210,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:211,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: google::protobuf::FindLinkedPtrOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type &\nFindLinkedPtrOrDie(const
      Collection& collection,\n                   const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:223,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - value
    argTypes:
    - Collection
    - Key
    - Value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: google::protobuf::FindCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool FindCopy(const Collection& collection,\n              const Key&
      key,\n              Value* const value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:240,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: google::protobuf::ContainsKey
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: bool
    signature: bool ContainsKey(const Collection& collection, const Key& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - ' value'
    argTypes:
    - Collection
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: google::protobuf::ContainsKeyValuePair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - equal_range
    linkageType: ''
    returnType: bool
    signature: "bool ContainsKeyValuePair(const Collection& collection,\n                          const
      Key& key,\n                          const Value& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: google::protobuf::InsertOrUpdate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertOrUpdate(Collection* const collection,\n                    const
      typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertOrUpdate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:283,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: google::protobuf::InsertOrUpdate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 1
    functionsReached:
    - Collection::value_type
    - google::protobuf::InsertOrUpdate
    linkageType: ''
    returnType: bool
    signature: "bool InsertOrUpdate(Collection* const collection,\n                    const
      typename Collection::value_type::first_type& key,\n                    const
      typename Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertOrUpdate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - collection
    - first
    - last
    argTypes:
    - Collection*
    - InputIterator
    - InputIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: google::protobuf::InsertOrUpdateMany
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::InsertOrUpdate
    linkageType: ''
    returnType: void
    signature: "void InsertOrUpdateMany(Collection* const collection,\n                        InputIterator
      first, InputIterator last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:307,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: google::protobuf::InsertAndDeleteExisting
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertAndDeleteExisting(\n    Collection* const collection,\n
      \   const typename Collection::value_type::first_type& key,\n    const typename
      Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: google::protobuf::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(Collection* const collection,\n                        const
      typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:332,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: google::protobuf::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 1
    functionsReached:
    - Collection::value_type
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(\n    Collection* const collection,\n    const
      typename Collection::value_type::first_type& key,\n    const typename Collection::value_type::second_type&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:340,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: google::protobuf::InsertOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDie(Collection* const collection,\n                 const
      typename Collection::value_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:348,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: google::protobuf::InsertOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDieNoPrint(Collection* const collection,\n                        const
      typename Collection::value_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:357,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: google::protobuf::InsertOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDie(Collection* const collection,\n                 const
      typename Collection::value_type::first_type& key,\n                 const typename
      Collection::value_type::second_type& data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:367,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: google::protobuf::InsertOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDieNoPrint(\n    Collection* const collection,\n    const
      typename Collection::value_type::first_type& key,\n    const typename Collection::value_type::second_type&
      data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:382,1
    - Dst: value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:382,1
    - Dst: value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:382,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: google::protobuf::InsertKeyOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - value_type
    - Collection*::insert
    - value_type::second_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & InsertKeyOrDie(\n    Collection*
      const collection,\n    const typename Collection::value_type::first_type& key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: google::protobuf::LookupOrInsert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsert(Collection*
      const collection,\n               const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::LookupOrInsert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:407,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: google::protobuf::LookupOrInsert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 1
    functionsReached:
    - Collection::value_type
    - google::protobuf::LookupOrInsert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsert(Collection*
      const collection,\n               const typename Collection::value_type::first_type&
      key,\n               const typename Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:426,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:427,1
    - Dst: google::protobuf::LookupOrInsert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:429,1
    - Dst: Collection::value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' sequence'
    - ' increment'
    - count_map
    argTypes:
    - Sequence
    - typename Collection::value_type::second_type
    - Collection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: google::protobuf::AddTokenCounts
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - google::protobuf::LookupOrInsert
    - google::protobuf::begin
    - Collection::value_type::second_type
    linkageType: ''
    returnType: void
    signature: "void AddTokenCounts(\n    const Sequence& sequence,\n    const typename
      Collection::value_type::second_type& increment,\n    Collection* const count_map)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:448,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:448,1
    - Dst: static_cast<typename Collection::value_type::second_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:450,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 455
    functionName: google::protobuf::LookupOrInsertNew
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - static_cast<typename Collection::value_type::second_type>
    - Element::Element
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNew(Collection*
      const collection,\n                  const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:467,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:467,1
    - Dst: static_cast<typename Collection::value_type::second_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:469,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' arg'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: google::protobuf::LookupOrInsertNew
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - static_cast<typename Collection::value_type::second_type>
    - Element::Element
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNew(Collection*
      const collection,\n                  const typename Collection::value_type::first_type&
      key,\n                  const Arg& arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:502,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:502,1
    - Dst: Value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:502,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:504,1
    - Dst: typename Value::element_type::element_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:504,1
    - Dst: std::pair::first::second::get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 507
    functionName: google::protobuf::LookupOrInsertNewLinkedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - std::pair::first::second::reset
    - std::pair::first::second::get
    - Collection*::insert
    - Value
    - typename Value::element_type::element_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type *\nLookupOrInsertNewLinkedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:522,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:522,1
    - Dst: Value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:522,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:524,1
    - Dst: typename Value::element_type::element_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:524,1
    - Dst: std::pair::first::second::get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' arg'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 527
    functionName: google::protobuf::LookupOrInsertNewLinkedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - std::pair::first::second::reset
    - std::pair::first::second::get
    - Collection*::insert
    - Value
    - typename Value::element_type::element_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type *\nLookupOrInsertNewLinkedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const Arg& arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:541,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:541,1
    - Dst: SharedPtr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:541,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:543,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 546
    functionName: google::protobuf::LookupOrInsertNewSharedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - SharedPtr
    - Element::Element
    - std::pair::first::second::reset
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNewSharedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:562,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:562,1
    - Dst: SharedPtr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:562,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:564,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' arg'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 567
    functionName: google::protobuf::LookupOrInsertNewSharedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - SharedPtr
    - Element::Element
    - std::pair::first::second::reset
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNewSharedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const Arg& arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:586,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - collection
    - ' key'
    - ' value'
    - previous
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    - typename Collection::value_type::second_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 596
    functionName: google::protobuf::UpdateReturnCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool UpdateReturnCopy(Collection* const collection,\n                      const
      typename Collection::value_type::first_type& key,\n                      const
      typename Collection::value_type::second_type& value,\n                      typename
      Collection::value_type::second_type* previous)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - collection
    - ' vt'
    - previous
    argTypes:
    - Collection*
    - typename Collection::value_type
    - typename Collection::value_type::second_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 613
    functionName: google::protobuf::UpdateReturnCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool UpdateReturnCopy(Collection* const collection,\n                      const
      typename Collection::value_type& vt,\n                      typename Collection::value_type::second_type*
      previous)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 631
    functionName: google::protobuf::InsertOrReturnExisting
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertOrReturnExisting
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:639,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 641
    functionName: google::protobuf::InsertOrReturnExisting
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 1
    functionsReached:
    - Collection::value_type
    - google::protobuf::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:664,1
    - Dst: Collection*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:665,1
    - Dst: Collection*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 671
    functionName: google::protobuf::EraseKeyReturnValuePtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection*::end
    - Collection*::find
    - Collection*::erase
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type EraseKeyReturnValuePtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:680,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:681,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:682,1
    - Dst: KeyContainer*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' map_container'
    - key_container
    argTypes:
    - MapContainer
    - KeyContainer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 685
    functionName: google::protobuf::InsertKeysFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - KeyContainer*::insert
    - google::protobuf::begin
    linkageType: ''
    returnType: void
    signature: "void InsertKeysFromMap(const MapContainer& map_container,\n                       KeyContainer*
      key_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:694,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:695,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:696,1
    - Dst: KeyContainer*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' map_container'
    - key_container
    argTypes:
    - MapContainer
    - KeyContainer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 699
    functionName: google::protobuf::AppendKeysFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - google::protobuf::begin
    - KeyContainer*::push_back
    linkageType: ''
    returnType: void
    signature: "void AppendKeysFromMap(const MapContainer& map_container,\n                       KeyContainer*
      key_container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:711,1
    - Dst: std::vector<KeyType>*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:722,1
    - Dst: std::vector<KeyType>*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:723,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:723,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:725,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:726,1
    - Dst: std::vector<KeyType>*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' map_container'
    - key_container
    argTypes:
    - MapContainer
    - std::vector<KeyType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 729
    functionName: google::protobuf::AppendKeysFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::begin
    - std::vector<KeyType>*::empty
    - google::protobuf::end
    - std::vector<KeyType>*::push_back
    - GOOGLE_CHECK
    - std::vector<KeyType>*::reserve
    - google::protobuf::size
    linkageType: ''
    returnType: void
    signature: "void AppendKeysFromMap(const MapContainer& map_container,\n                       std::vector<KeyType>*
      key_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:738,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:739,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:740,1
    - Dst: ValueContainer*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' map_container'
    - value_container
    argTypes:
    - MapContainer
    - ValueContainer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 743
    functionName: google::protobuf::AppendValuesFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - ValueContainer*::push_back
    - google::protobuf::end
    - google::protobuf::begin
    linkageType: ''
    returnType: void
    signature: "void AppendValuesFromMap(const MapContainer& map_container,\n                         ValueContainer*
      value_container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:755,1
    - Dst: std::vector<ValueType>*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:757,1
    - Dst: std::vector<ValueType>*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:758,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:758,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:760,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:761,1
    - Dst: std::vector<ValueType>*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' map_container'
    - value_container
    argTypes:
    - MapContainer
    - std::vector<ValueType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 764
    functionName: google::protobuf::AppendValuesFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - std::vector<ValueType>*::push_back
    - google::protobuf::begin
    - google::protobuf::end
    - GOOGLE_CHECK
    - std::vector<ValueType>*::empty
    - google::protobuf::size
    - std::vector<ValueType>*::reserve
    linkageType: ''
    returnType: void
    signature: "void AppendValuesFromMap(const MapContainer& map_container,\n                         std::vector<ValueType>*
      value_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:76,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:77,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::FindOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDie(const Collection&
      collection,\n          const typename Collection::value_type::first_type& key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:86,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:87,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: google::protobuf::FindOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDie(Collection&
      collection,  // NOLINT\n          const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:96,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:97,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: google::protobuf::FindOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDieNoPrint(const
      Collection& collection,\n                 const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:106,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:107,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: google::protobuf::FindOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDieNoPrint(Collection&
      collection,  // NOLINT\n                 const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:126,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - ' value'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: google::protobuf::FindWithDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindWithDefault(const
      Collection& collection,\n                const typename Collection::value_type::first_type&
      key,\n                const typename Collection::value_type::second_type& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:139,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: google::protobuf::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type *\nFindOrNull(const Collection&
      collection,\n           const typename Collection::value_type::first_type& key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:151,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: google::protobuf::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type *\nFindOrNull(Collection&
      collection,  // NOLINT\n           const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:168,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:169,1
    - Dst: Collection::value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: google::protobuf::FindPtrOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - Collection::value_type::second_type
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type FindPtrOrNull(const Collection&
      collection,\n              const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:183,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:184,1
    - Dst: Collection::value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: google::protobuf::FindPtrOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - Collection::value_type::second_type
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type FindPtrOrNull(Collection&
      collection,  // NOLINT\n              const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:196,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:197,1
    - Dst: typename Collection::const_iterator::second::get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: google::protobuf::FindLinkedPtrOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - typename Collection::const_iterator::second::get
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type *\nFindLinkedPtrOrNull(const
      Collection& collection,\n                    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:210,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:211,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: google::protobuf::FindLinkedPtrOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type &\nFindLinkedPtrOrDie(const
      Collection& collection,\n                   const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:223,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - value
    argTypes:
    - Collection
    - Key
    - Value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: google::protobuf::FindCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool FindCopy(const Collection& collection,\n              const Key&
      key,\n              Value* const value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:240,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: google::protobuf::ContainsKey
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: bool
    signature: bool ContainsKey(const Collection& collection, const Key& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - ' value'
    argTypes:
    - Collection
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: google::protobuf::ContainsKeyValuePair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - equal_range
    linkageType: ''
    returnType: bool
    signature: "bool ContainsKeyValuePair(const Collection& collection,\n                          const
      Key& key,\n                          const Value& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: google::protobuf::InsertOrUpdate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 2
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertOrUpdate(Collection* const collection,\n                    const
      typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertOrUpdate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:283,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: google::protobuf::InsertOrUpdate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 3
    functionsReached:
    - Collection::value_type
    - google::protobuf::InsertOrUpdate
    linkageType: ''
    returnType: bool
    signature: "bool InsertOrUpdate(Collection* const collection,\n                    const
      typename Collection::value_type::first_type& key,\n                    const
      typename Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertOrUpdate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - collection
    - first
    - last
    argTypes:
    - Collection*
    - InputIterator
    - InputIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: google::protobuf::InsertOrUpdateMany
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::InsertOrUpdate
    linkageType: ''
    returnType: void
    signature: "void InsertOrUpdateMany(Collection* const collection,\n                        InputIterator
      first, InputIterator last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:307,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: google::protobuf::InsertAndDeleteExisting
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertAndDeleteExisting(\n    Collection* const collection,\n
      \   const typename Collection::value_type::first_type& key,\n    const typename
      Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: google::protobuf::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 5
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(Collection* const collection,\n                        const
      typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:332,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: google::protobuf::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 6
    functionsReached:
    - Collection::value_type
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(\n    Collection* const collection,\n    const
      typename Collection::value_type::first_type& key,\n    const typename Collection::value_type::second_type&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:340,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: google::protobuf::InsertOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDie(Collection* const collection,\n                 const
      typename Collection::value_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:348,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: google::protobuf::InsertOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDieNoPrint(Collection* const collection,\n                        const
      typename Collection::value_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:357,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: google::protobuf::InsertOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDie(Collection* const collection,\n                 const
      typename Collection::value_type::first_type& key,\n                 const typename
      Collection::value_type::second_type& data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:367,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: google::protobuf::InsertOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDieNoPrint(\n    Collection* const collection,\n    const
      typename Collection::value_type::first_type& key,\n    const typename Collection::value_type::second_type&
      data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:382,1
    - Dst: value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:382,1
    - Dst: value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:382,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: google::protobuf::InsertKeyOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - value_type
    - Collection*::insert
    - value_type::second_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & InsertKeyOrDie(\n    Collection*
      const collection,\n    const typename Collection::value_type::first_type& key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: google::protobuf::LookupOrInsert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 2
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsert(Collection*
      const collection,\n               const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::LookupOrInsert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:407,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: google::protobuf::LookupOrInsert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 3
    functionsReached:
    - Collection::value_type
    - google::protobuf::LookupOrInsert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsert(Collection*
      const collection,\n               const typename Collection::value_type::first_type&
      key,\n               const typename Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:426,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:427,1
    - Dst: google::protobuf::LookupOrInsert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:429,1
    - Dst: Collection::value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' sequence'
    - ' increment'
    - count_map
    argTypes:
    - Sequence
    - typename Collection::value_type::second_type
    - Collection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: google::protobuf::AddTokenCounts
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - google::protobuf::LookupOrInsert
    - google::protobuf::begin
    - Collection::value_type::second_type
    linkageType: ''
    returnType: void
    signature: "void AddTokenCounts(\n    const Sequence& sequence,\n    const typename
      Collection::value_type::second_type& increment,\n    Collection* const count_map)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:448,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:448,1
    - Dst: static_cast<typename Collection::value_type::second_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:450,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 455
    functionName: google::protobuf::LookupOrInsertNew
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - static_cast<typename Collection::value_type::second_type>
    - Element::Element
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNew(Collection*
      const collection,\n                  const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:467,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:467,1
    - Dst: static_cast<typename Collection::value_type::second_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:469,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' arg'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: google::protobuf::LookupOrInsertNew
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - static_cast<typename Collection::value_type::second_type>
    - Element::Element
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNew(Collection*
      const collection,\n                  const typename Collection::value_type::first_type&
      key,\n                  const Arg& arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:502,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:502,1
    - Dst: Value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:502,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:504,1
    - Dst: typename Value::element_type::element_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:504,1
    - Dst: std::pair::first::second::get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 507
    functionName: google::protobuf::LookupOrInsertNewLinkedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - std::pair::first::second::reset
    - std::pair::first::second::get
    - Collection*::insert
    - Value
    - typename Value::element_type::element_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type *\nLookupOrInsertNewLinkedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:522,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:522,1
    - Dst: Value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:522,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:524,1
    - Dst: typename Value::element_type::element_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:524,1
    - Dst: std::pair::first::second::get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' arg'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 527
    functionName: google::protobuf::LookupOrInsertNewLinkedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - std::pair::first::second::reset
    - std::pair::first::second::get
    - Collection*::insert
    - Value
    - typename Value::element_type::element_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type *\nLookupOrInsertNewLinkedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const Arg& arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:541,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:541,1
    - Dst: SharedPtr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:541,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:543,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 546
    functionName: google::protobuf::LookupOrInsertNewSharedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - SharedPtr
    - Element::Element
    - std::pair::first::second::reset
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNewSharedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:562,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:562,1
    - Dst: SharedPtr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:562,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:564,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' arg'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 567
    functionName: google::protobuf::LookupOrInsertNewSharedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - SharedPtr
    - Element::Element
    - std::pair::first::second::reset
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNewSharedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const Arg& arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:586,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - collection
    - ' key'
    - ' value'
    - previous
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    - typename Collection::value_type::second_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 596
    functionName: google::protobuf::UpdateReturnCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool UpdateReturnCopy(Collection* const collection,\n                      const
      typename Collection::value_type::first_type& key,\n                      const
      typename Collection::value_type::second_type& value,\n                      typename
      Collection::value_type::second_type* previous)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - collection
    - ' vt'
    - previous
    argTypes:
    - Collection*
    - typename Collection::value_type
    - typename Collection::value_type::second_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 613
    functionName: google::protobuf::UpdateReturnCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool UpdateReturnCopy(Collection* const collection,\n                      const
      typename Collection::value_type& vt,\n                      typename Collection::value_type::second_type*
      previous)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 631
    functionName: google::protobuf::InsertOrReturnExisting
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 1
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertOrReturnExisting
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:639,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 641
    functionName: google::protobuf::InsertOrReturnExisting
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 2
    functionsReached:
    - Collection::value_type
    - google::protobuf::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:664,1
    - Dst: Collection*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:665,1
    - Dst: Collection*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 671
    functionName: google::protobuf::EraseKeyReturnValuePtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection*::end
    - Collection*::find
    - Collection*::erase
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type EraseKeyReturnValuePtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:680,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:681,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:682,1
    - Dst: KeyContainer*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' map_container'
    - key_container
    argTypes:
    - MapContainer
    - KeyContainer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 685
    functionName: google::protobuf::InsertKeysFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - KeyContainer*::insert
    - google::protobuf::begin
    linkageType: ''
    returnType: void
    signature: "void InsertKeysFromMap(const MapContainer& map_container,\n                       KeyContainer*
      key_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:694,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:695,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:696,1
    - Dst: KeyContainer*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' map_container'
    - key_container
    argTypes:
    - MapContainer
    - KeyContainer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 699
    functionName: google::protobuf::AppendKeysFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - google::protobuf::begin
    - KeyContainer*::push_back
    linkageType: ''
    returnType: void
    signature: "void AppendKeysFromMap(const MapContainer& map_container,\n                       KeyContainer*
      key_container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:711,1
    - Dst: std::vector<KeyType>*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:722,1
    - Dst: std::vector<KeyType>*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:723,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:723,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:725,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:726,1
    - Dst: std::vector<KeyType>*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' map_container'
    - key_container
    argTypes:
    - MapContainer
    - std::vector<KeyType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 729
    functionName: google::protobuf::AppendKeysFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::begin
    - std::vector<KeyType>*::empty
    - google::protobuf::end
    - std::vector<KeyType>*::push_back
    - GOOGLE_CHECK
    - std::vector<KeyType>*::reserve
    - google::protobuf::size
    linkageType: ''
    returnType: void
    signature: "void AppendKeysFromMap(const MapContainer& map_container,\n                       std::vector<KeyType>*
      key_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:738,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:739,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:740,1
    - Dst: ValueContainer*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' map_container'
    - value_container
    argTypes:
    - MapContainer
    - ValueContainer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 743
    functionName: google::protobuf::AppendValuesFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - ValueContainer*::push_back
    - google::protobuf::end
    - google::protobuf::begin
    linkageType: ''
    returnType: void
    signature: "void AppendValuesFromMap(const MapContainer& map_container,\n                         ValueContainer*
      value_container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:755,1
    - Dst: std::vector<ValueType>*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:757,1
    - Dst: std::vector<ValueType>*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:758,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:758,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:760,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:761,1
    - Dst: std::vector<ValueType>*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' map_container'
    - value_container
    argTypes:
    - MapContainer
    - std::vector<ValueType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 764
    functionName: google::protobuf::AppendValuesFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - std::vector<ValueType>*::push_back
    - google::protobuf::begin
    - google::protobuf::end
    - GOOGLE_CHECK
    - std::vector<ValueType>*::empty
    - google::protobuf::size
    - std::vector<ValueType>*::reserve
    linkageType: ''
    returnType: void
    signature: "void AppendValuesFromMap(const MapContainer& map_container,\n                         std::vector<ValueType>*
      value_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:76,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:77,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::FindOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDie(const Collection&
      collection,\n          const typename Collection::value_type::first_type& key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:86,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:87,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: google::protobuf::FindOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDie(Collection&
      collection,  // NOLINT\n          const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:96,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:97,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: google::protobuf::FindOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDieNoPrint(const
      Collection& collection,\n                 const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:106,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:107,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: google::protobuf::FindOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDieNoPrint(Collection&
      collection,  // NOLINT\n                 const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:126,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - ' value'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: google::protobuf::FindWithDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindWithDefault(const
      Collection& collection,\n                const typename Collection::value_type::first_type&
      key,\n                const typename Collection::value_type::second_type& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:139,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: google::protobuf::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type *\nFindOrNull(const Collection&
      collection,\n           const typename Collection::value_type::first_type& key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:151,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: google::protobuf::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type *\nFindOrNull(Collection&
      collection,  // NOLINT\n           const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:168,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:169,1
    - Dst: Collection::value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: google::protobuf::FindPtrOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - Collection::value_type::second_type
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type FindPtrOrNull(const Collection&
      collection,\n              const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:183,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:184,1
    - Dst: Collection::value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: google::protobuf::FindPtrOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - Collection::value_type::second_type
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type FindPtrOrNull(Collection&
      collection,  // NOLINT\n              const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:196,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:197,1
    - Dst: typename Collection::const_iterator::second::get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: google::protobuf::FindLinkedPtrOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - typename Collection::const_iterator::second::get
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type *\nFindLinkedPtrOrNull(const
      Collection& collection,\n                    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:210,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:211,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: google::protobuf::FindLinkedPtrOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type &\nFindLinkedPtrOrDie(const
      Collection& collection,\n                   const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:223,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - value
    argTypes:
    - Collection
    - Key
    - Value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: google::protobuf::FindCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool FindCopy(const Collection& collection,\n              const Key&
      key,\n              Value* const value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:240,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: google::protobuf::ContainsKey
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: bool
    signature: bool ContainsKey(const Collection& collection, const Key& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - ' value'
    argTypes:
    - Collection
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: google::protobuf::ContainsKeyValuePair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - equal_range
    linkageType: ''
    returnType: bool
    signature: "bool ContainsKeyValuePair(const Collection& collection,\n                          const
      Key& key,\n                          const Value& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: google::protobuf::InsertOrUpdate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 4
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertOrUpdate(Collection* const collection,\n                    const
      typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertOrUpdate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:283,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: google::protobuf::InsertOrUpdate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 5
    functionsReached:
    - Collection::value_type
    - google::protobuf::InsertOrUpdate
    linkageType: ''
    returnType: bool
    signature: "bool InsertOrUpdate(Collection* const collection,\n                    const
      typename Collection::value_type::first_type& key,\n                    const
      typename Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertOrUpdate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - collection
    - first
    - last
    argTypes:
    - Collection*
    - InputIterator
    - InputIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: google::protobuf::InsertOrUpdateMany
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::InsertOrUpdate
    linkageType: ''
    returnType: void
    signature: "void InsertOrUpdateMany(Collection* const collection,\n                        InputIterator
      first, InputIterator last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:307,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: google::protobuf::InsertAndDeleteExisting
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertAndDeleteExisting(\n    Collection* const collection,\n
      \   const typename Collection::value_type::first_type& key,\n    const typename
      Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: google::protobuf::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 10
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(Collection* const collection,\n                        const
      typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:332,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: google::protobuf::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 11
    functionsReached:
    - Collection::value_type
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(\n    Collection* const collection,\n    const
      typename Collection::value_type::first_type& key,\n    const typename Collection::value_type::second_type&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:340,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: google::protobuf::InsertOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDie(Collection* const collection,\n                 const
      typename Collection::value_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:348,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: google::protobuf::InsertOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDieNoPrint(Collection* const collection,\n                        const
      typename Collection::value_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:357,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: google::protobuf::InsertOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDie(Collection* const collection,\n                 const
      typename Collection::value_type::first_type& key,\n                 const typename
      Collection::value_type::second_type& data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:367,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: google::protobuf::InsertOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDieNoPrint(\n    Collection* const collection,\n    const
      typename Collection::value_type::first_type& key,\n    const typename Collection::value_type::second_type&
      data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:382,1
    - Dst: value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:382,1
    - Dst: value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:382,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: google::protobuf::InsertKeyOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - value_type
    - Collection*::insert
    - value_type::second_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & InsertKeyOrDie(\n    Collection*
      const collection,\n    const typename Collection::value_type::first_type& key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: google::protobuf::LookupOrInsert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 4
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsert(Collection*
      const collection,\n               const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::LookupOrInsert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:407,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: google::protobuf::LookupOrInsert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 5
    functionsReached:
    - Collection::value_type
    - google::protobuf::LookupOrInsert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsert(Collection*
      const collection,\n               const typename Collection::value_type::first_type&
      key,\n               const typename Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:426,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:427,1
    - Dst: google::protobuf::LookupOrInsert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:429,1
    - Dst: Collection::value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' sequence'
    - ' increment'
    - count_map
    argTypes:
    - Sequence
    - typename Collection::value_type::second_type
    - Collection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: google::protobuf::AddTokenCounts
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - google::protobuf::LookupOrInsert
    - google::protobuf::begin
    - Collection::value_type::second_type
    linkageType: ''
    returnType: void
    signature: "void AddTokenCounts(\n    const Sequence& sequence,\n    const typename
      Collection::value_type::second_type& increment,\n    Collection* const count_map)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:448,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:448,1
    - Dst: static_cast<typename Collection::value_type::second_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:450,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 455
    functionName: google::protobuf::LookupOrInsertNew
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - static_cast<typename Collection::value_type::second_type>
    - Element::Element
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNew(Collection*
      const collection,\n                  const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:467,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:467,1
    - Dst: static_cast<typename Collection::value_type::second_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:469,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' arg'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: google::protobuf::LookupOrInsertNew
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - static_cast<typename Collection::value_type::second_type>
    - Element::Element
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNew(Collection*
      const collection,\n                  const typename Collection::value_type::first_type&
      key,\n                  const Arg& arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:502,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:502,1
    - Dst: Value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:502,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:504,1
    - Dst: typename Value::element_type::element_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:504,1
    - Dst: std::pair::first::second::get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 507
    functionName: google::protobuf::LookupOrInsertNewLinkedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - std::pair::first::second::reset
    - std::pair::first::second::get
    - Collection*::insert
    - Value
    - typename Value::element_type::element_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type *\nLookupOrInsertNewLinkedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:522,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:522,1
    - Dst: Value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:522,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:524,1
    - Dst: typename Value::element_type::element_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:524,1
    - Dst: std::pair::first::second::get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' arg'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 527
    functionName: google::protobuf::LookupOrInsertNewLinkedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - std::pair::first::second::reset
    - std::pair::first::second::get
    - Collection*::insert
    - Value
    - typename Value::element_type::element_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type *\nLookupOrInsertNewLinkedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const Arg& arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:541,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:541,1
    - Dst: SharedPtr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:541,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:543,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 546
    functionName: google::protobuf::LookupOrInsertNewSharedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - SharedPtr
    - Element::Element
    - std::pair::first::second::reset
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNewSharedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:562,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:562,1
    - Dst: SharedPtr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:562,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:564,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' arg'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 567
    functionName: google::protobuf::LookupOrInsertNewSharedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - SharedPtr
    - Element::Element
    - std::pair::first::second::reset
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNewSharedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const Arg& arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:586,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - collection
    - ' key'
    - ' value'
    - previous
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    - typename Collection::value_type::second_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 596
    functionName: google::protobuf::UpdateReturnCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool UpdateReturnCopy(Collection* const collection,\n                      const
      typename Collection::value_type::first_type& key,\n                      const
      typename Collection::value_type::second_type& value,\n                      typename
      Collection::value_type::second_type* previous)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - collection
    - ' vt'
    - previous
    argTypes:
    - Collection*
    - typename Collection::value_type
    - typename Collection::value_type::second_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 613
    functionName: google::protobuf::UpdateReturnCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool UpdateReturnCopy(Collection* const collection,\n                      const
      typename Collection::value_type& vt,\n                      typename Collection::value_type::second_type*
      previous)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 631
    functionName: google::protobuf::InsertOrReturnExisting
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 2
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertOrReturnExisting
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:639,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 641
    functionName: google::protobuf::InsertOrReturnExisting
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 3
    functionsReached:
    - Collection::value_type
    - google::protobuf::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:664,1
    - Dst: Collection*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:665,1
    - Dst: Collection*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 671
    functionName: google::protobuf::EraseKeyReturnValuePtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection*::end
    - Collection*::find
    - Collection*::erase
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type EraseKeyReturnValuePtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:680,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:681,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:682,1
    - Dst: KeyContainer*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' map_container'
    - key_container
    argTypes:
    - MapContainer
    - KeyContainer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 685
    functionName: google::protobuf::InsertKeysFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - KeyContainer*::insert
    - google::protobuf::begin
    linkageType: ''
    returnType: void
    signature: "void InsertKeysFromMap(const MapContainer& map_container,\n                       KeyContainer*
      key_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:694,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:695,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:696,1
    - Dst: KeyContainer*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' map_container'
    - key_container
    argTypes:
    - MapContainer
    - KeyContainer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 699
    functionName: google::protobuf::AppendKeysFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - google::protobuf::begin
    - KeyContainer*::push_back
    linkageType: ''
    returnType: void
    signature: "void AppendKeysFromMap(const MapContainer& map_container,\n                       KeyContainer*
      key_container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:711,1
    - Dst: std::vector<KeyType>*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:722,1
    - Dst: std::vector<KeyType>*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:723,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:723,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:725,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:726,1
    - Dst: std::vector<KeyType>*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' map_container'
    - key_container
    argTypes:
    - MapContainer
    - std::vector<KeyType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 729
    functionName: google::protobuf::AppendKeysFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::begin
    - std::vector<KeyType>*::empty
    - google::protobuf::end
    - std::vector<KeyType>*::push_back
    - GOOGLE_CHECK
    - std::vector<KeyType>*::reserve
    - google::protobuf::size
    linkageType: ''
    returnType: void
    signature: "void AppendKeysFromMap(const MapContainer& map_container,\n                       std::vector<KeyType>*
      key_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:738,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:739,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:740,1
    - Dst: ValueContainer*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' map_container'
    - value_container
    argTypes:
    - MapContainer
    - ValueContainer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 743
    functionName: google::protobuf::AppendValuesFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - ValueContainer*::push_back
    - google::protobuf::end
    - google::protobuf::begin
    linkageType: ''
    returnType: void
    signature: "void AppendValuesFromMap(const MapContainer& map_container,\n                         ValueContainer*
      value_container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:755,1
    - Dst: std::vector<ValueType>*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:757,1
    - Dst: std::vector<ValueType>*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:758,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:758,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:760,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:761,1
    - Dst: std::vector<ValueType>*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' map_container'
    - value_container
    argTypes:
    - MapContainer
    - std::vector<ValueType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 764
    functionName: google::protobuf::AppendValuesFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - std::vector<ValueType>*::push_back
    - google::protobuf::begin
    - google::protobuf::end
    - GOOGLE_CHECK
    - std::vector<ValueType>*::empty
    - google::protobuf::size
    - std::vector<ValueType>*::reserve
    linkageType: ''
    returnType: void
    signature: "void AppendValuesFromMap(const MapContainer& map_container,\n                         std::vector<ValueType>*
      value_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:76,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:77,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: google::protobuf::FindOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDie(const Collection&
      collection,\n          const typename Collection::value_type::first_type& key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:86,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:87,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: google::protobuf::FindOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDie(Collection&
      collection,  // NOLINT\n          const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:96,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:97,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: google::protobuf::FindOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDieNoPrint(const
      Collection& collection,\n                 const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:106,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:107,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: google::protobuf::FindOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindOrDieNoPrint(Collection&
      collection,  // NOLINT\n                 const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:126,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - ' value'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: google::protobuf::FindWithDefault
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nFindWithDefault(const
      Collection& collection,\n                const typename Collection::value_type::first_type&
      key,\n                const typename Collection::value_type::second_type& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:139,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: google::protobuf::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type *\nFindOrNull(const Collection&
      collection,\n           const typename Collection::value_type::first_type& key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:151,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: google::protobuf::FindOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type *\nFindOrNull(Collection&
      collection,  // NOLINT\n           const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:168,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:169,1
    - Dst: Collection::value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: google::protobuf::FindPtrOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - Collection::value_type::second_type
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type FindPtrOrNull(const Collection&
      collection,\n              const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:183,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:184,1
    - Dst: Collection::value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: google::protobuf::FindPtrOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - Collection::value_type::second_type
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type FindPtrOrNull(Collection&
      collection,  // NOLINT\n              const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:196,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:197,1
    - Dst: typename Collection::const_iterator::second::get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: google::protobuf::FindLinkedPtrOrNull
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - typename Collection::const_iterator::second::get
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type *\nFindLinkedPtrOrNull(const
      Collection& collection,\n                    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:210,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:211,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: google::protobuf::FindLinkedPtrOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type &\nFindLinkedPtrOrDie(const
      Collection& collection,\n                   const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:223,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - value
    argTypes:
    - Collection
    - Key
    - Value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: google::protobuf::FindCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool FindCopy(const Collection& collection,\n              const Key&
      key,\n              Value* const value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:240,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' collection'
    - ' key'
    argTypes:
    - Collection
    - Key
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: google::protobuf::ContainsKey
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - find
    linkageType: ''
    returnType: bool
    signature: bool ContainsKey(const Collection& collection, const Key& key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: equal_range
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' collection'
    - ' key'
    - ' value'
    argTypes:
    - Collection
    - Key
    - Value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: google::protobuf::ContainsKeyValuePair
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - equal_range
    linkageType: ''
    returnType: bool
    signature: "bool ContainsKeyValuePair(const Collection& collection,\n                          const
      Key& key,\n                          const Value& value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: google::protobuf::InsertOrUpdate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 6
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertOrUpdate(Collection* const collection,\n                    const
      typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertOrUpdate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:283,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: google::protobuf::InsertOrUpdate
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 7
    functionsReached:
    - Collection::value_type
    - google::protobuf::InsertOrUpdate
    linkageType: ''
    returnType: bool
    signature: "bool InsertOrUpdate(Collection* const collection,\n                    const
      typename Collection::value_type::first_type& key,\n                    const
      typename Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertOrUpdate
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - collection
    - first
    - last
    argTypes:
    - Collection*
    - InputIterator
    - InputIterator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: google::protobuf::InsertOrUpdateMany
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::InsertOrUpdate
    linkageType: ''
    returnType: void
    signature: "void InsertOrUpdateMany(Collection* const collection,\n                        InputIterator
      first, InputIterator last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:307,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: google::protobuf::InsertAndDeleteExisting
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertAndDeleteExisting(\n    Collection* const collection,\n
      \   const typename Collection::value_type::first_type& key,\n    const typename
      Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: google::protobuf::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 15
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(Collection* const collection,\n                        const
      typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:332,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: google::protobuf::InsertIfNotPresent
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 16
    functionsReached:
    - Collection::value_type
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: bool
    signature: "bool InsertIfNotPresent(\n    Collection* const collection,\n    const
      typename Collection::value_type::first_type& key,\n    const typename Collection::value_type::second_type&
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:340,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: google::protobuf::InsertOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDie(Collection* const collection,\n                 const
      typename Collection::value_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:348,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: google::protobuf::InsertOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDieNoPrint(Collection* const collection,\n                        const
      typename Collection::value_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:357,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: google::protobuf::InsertOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDie(Collection* const collection,\n                 const
      typename Collection::value_type::first_type& key,\n                 const typename
      Collection::value_type::second_type& data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:367,1
    - Dst: google::protobuf::InsertIfNotPresent
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: google::protobuf::InsertOrDieNoPrint
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::InsertIfNotPresent
    linkageType: ''
    returnType: void
    signature: "void InsertOrDieNoPrint(\n    Collection* const collection,\n    const
      typename Collection::value_type::first_type& key,\n    const typename Collection::value_type::second_type&
      data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:382,1
    - Dst: value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:382,1
    - Dst: value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:382,1
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: google::protobuf::InsertKeyOrDie
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - value_type
    - Collection*::insert
    - value_type::second_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & InsertKeyOrDie(\n    Collection*
      const collection,\n    const typename Collection::value_type::first_type& key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: google::protobuf::LookupOrInsert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 6
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsert(Collection*
      const collection,\n               const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::LookupOrInsert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:407,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' value'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: google::protobuf::LookupOrInsert
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 7
    functionsReached:
    - Collection::value_type
    - google::protobuf::LookupOrInsert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsert(Collection*
      const collection,\n               const typename Collection::value_type::first_type&
      key,\n               const typename Collection::value_type::second_type& value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:426,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:427,1
    - Dst: google::protobuf::LookupOrInsert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:429,1
    - Dst: Collection::value_type::second_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' sequence'
    - ' increment'
    - count_map
    argTypes:
    - Sequence
    - typename Collection::value_type::second_type
    - Collection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: google::protobuf::AddTokenCounts
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::end
    - google::protobuf::LookupOrInsert
    - google::protobuf::begin
    - Collection::value_type::second_type
    linkageType: ''
    returnType: void
    signature: "void AddTokenCounts(\n    const Sequence& sequence,\n    const typename
      Collection::value_type::second_type& increment,\n    Collection* const count_map)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:448,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:448,1
    - Dst: static_cast<typename Collection::value_type::second_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:450,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 455
    functionName: google::protobuf::LookupOrInsertNew
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - static_cast<typename Collection::value_type::second_type>
    - Element::Element
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNew(Collection*
      const collection,\n                  const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:467,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:467,1
    - Dst: static_cast<typename Collection::value_type::second_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:469,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' arg'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 474
    functionName: google::protobuf::LookupOrInsertNew
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - static_cast<typename Collection::value_type::second_type>
    - Element::Element
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNew(Collection*
      const collection,\n                  const typename Collection::value_type::first_type&
      key,\n                  const Arg& arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:502,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:502,1
    - Dst: Value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:502,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:504,1
    - Dst: typename Value::element_type::element_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:504,1
    - Dst: std::pair::first::second::get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 507
    functionName: google::protobuf::LookupOrInsertNewLinkedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - std::pair::first::second::reset
    - std::pair::first::second::get
    - Collection*::insert
    - Value
    - typename Value::element_type::element_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type *\nLookupOrInsertNewLinkedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:522,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:522,1
    - Dst: Value
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:522,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:524,1
    - Dst: typename Value::element_type::element_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:524,1
    - Dst: std::pair::first::second::get
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' arg'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 527
    functionName: google::protobuf::LookupOrInsertNewLinkedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - std::pair::first::second::reset
    - std::pair::first::second::get
    - Collection*::insert
    - Value
    - typename Value::element_type::element_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type::element_type
    signature: "typename Collection::value_type::second_type::element_type *\nLookupOrInsertNewLinkedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const Arg& arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:541,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:541,1
    - Dst: SharedPtr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:541,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:543,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 546
    functionName: google::protobuf::LookupOrInsertNewSharedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - SharedPtr
    - Element::Element
    - std::pair::first::second::reset
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNewSharedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:562,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:562,1
    - Dst: SharedPtr
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:562,1
    - Dst: std::pair::first::second::reset
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:564,1
    - Dst: Element::Element
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' arg'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - Arg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 567
    functionName: google::protobuf::LookupOrInsertNewSharedPtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - SharedPtr
    - Element::Element
    - std::pair::first::second::reset
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type &\nLookupOrInsertNewSharedPtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const Arg& arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:586,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - collection
    - ' key'
    - ' value'
    - previous
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    - typename Collection::value_type::second_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 596
    functionName: google::protobuf::UpdateReturnCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool UpdateReturnCopy(Collection* const collection,\n                      const
      typename Collection::value_type::first_type& key,\n                      const
      typename Collection::value_type::second_type& value,\n                      typename
      Collection::value_type::second_type* previous)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - collection
    - ' vt'
    - previous
    argTypes:
    - Collection*
    - typename Collection::value_type
    - typename Collection::value_type::second_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 613
    functionName: google::protobuf::UpdateReturnCopy
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: bool
    signature: "bool UpdateReturnCopy(Collection* const collection,\n                      const
      typename Collection::value_type& vt,\n                      typename Collection::value_type::second_type*
      previous)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 631
    functionName: google::protobuf::InsertOrReturnExisting
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 3
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::InsertOrReturnExisting
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:639,1
    - Dst: Collection::value_type
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 641
    functionName: google::protobuf::InsertOrReturnExisting
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 4
    functionsReached:
    - Collection::value_type
    - google::protobuf::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:664,1
    - Dst: Collection*::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:665,1
    - Dst: Collection*::erase
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 671
    functionName: google::protobuf::EraseKeyReturnValuePtr
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - Collection*::end
    - Collection*::find
    - Collection*::erase
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type EraseKeyReturnValuePtr(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:680,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:681,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:682,1
    - Dst: KeyContainer*::insert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' map_container'
    - key_container
    argTypes:
    - MapContainer
    - KeyContainer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 685
    functionName: google::protobuf::InsertKeysFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - KeyContainer*::insert
    - google::protobuf::begin
    linkageType: ''
    returnType: void
    signature: "void InsertKeysFromMap(const MapContainer& map_container,\n                       KeyContainer*
      key_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:694,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:695,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:696,1
    - Dst: KeyContainer*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' map_container'
    - key_container
    argTypes:
    - MapContainer
    - KeyContainer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 699
    functionName: google::protobuf::AppendKeysFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - google::protobuf::end
    - google::protobuf::begin
    - KeyContainer*::push_back
    linkageType: ''
    returnType: void
    signature: "void AppendKeysFromMap(const MapContainer& map_container,\n                       KeyContainer*
      key_container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:711,1
    - Dst: std::vector<KeyType>*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:722,1
    - Dst: std::vector<KeyType>*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:723,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:723,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:725,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:726,1
    - Dst: std::vector<KeyType>*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' map_container'
    - key_container
    argTypes:
    - MapContainer
    - std::vector<KeyType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 729
    functionName: google::protobuf::AppendKeysFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - google::protobuf::begin
    - std::vector<KeyType>*::empty
    - google::protobuf::end
    - std::vector<KeyType>*::push_back
    - GOOGLE_CHECK
    - std::vector<KeyType>*::reserve
    - google::protobuf::size
    linkageType: ''
    returnType: void
    signature: "void AppendKeysFromMap(const MapContainer& map_container,\n                       std::vector<KeyType>*
      key_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:738,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:739,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:740,1
    - Dst: ValueContainer*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' map_container'
    - value_container
    argTypes:
    - MapContainer
    - ValueContainer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 743
    functionName: google::protobuf::AppendValuesFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - GOOGLE_CHECK
    - ValueContainer*::push_back
    - google::protobuf::end
    - google::protobuf::begin
    linkageType: ''
    returnType: void
    signature: "void AppendValuesFromMap(const MapContainer& map_container,\n                         ValueContainer*
      value_container)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GOOGLE_CHECK
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:755,1
    - Dst: std::vector<ValueType>*::empty
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:757,1
    - Dst: std::vector<ValueType>*::reserve
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:758,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:758,1
    - Dst: google::protobuf::begin
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:760,1
    - Dst: google::protobuf::end
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:761,1
    - Dst: std::vector<ValueType>*::push_back
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' map_container'
    - value_container
    argTypes:
    - MapContainer
    - std::vector<ValueType>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 764
    functionName: google::protobuf::AppendValuesFromMap
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    functionUses: 0
    functionsReached:
    - std::vector<ValueType>*::push_back
    - google::protobuf::begin
    - google::protobuf::end
    - GOOGLE_CHECK
    - std::vector<ValueType>*::empty
    - google::protobuf::size
    - std::vector<ValueType>*::reserve
    linkageType: ''
    returnType: void
    signature: "void AppendValuesFromMap(const MapContainer& map_container,\n                         std::vector<ValueType>*
      value_container)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::call_once
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h
    functionUses: 11
    functionsReached:
    - std::forward<Args>
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: void
    signature: void call_once(Args&&... args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::call_once
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h
    functionUses: 12
    functionsReached:
    - std::forward<Args>
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: void
    signature: void call_once(Args&&... args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::call_once
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h
    functionUses: 13
    functionsReached:
    - std::forward<Args>
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: void
    signature: void call_once(Args&&... args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::call_once
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h
    functionUses: 14
    functionsReached:
    - std::forward<Args>
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: void
    signature: void call_once(Args&&... args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::call_once
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h
    functionUses: 15
    functionsReached:
    - std::forward<Args>
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: void
    signature: void call_once(Args&&... args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::call_once
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h
    functionUses: 16
    functionsReached:
    - std::forward<Args>
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: void
    signature: void call_once(Args&&... args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::call_once
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h
    functionUses: 17
    functionsReached:
    - std::forward<Args>
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: void
    signature: void call_once(Args&&... args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::internal::call_once
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    - Dst: std::forward<Args>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: google::protobuf::internal::call_once
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h
    functionUses: 18
    functionsReached:
    - std::forward<Args>
    - google::protobuf::internal::call_once
    linkageType: ''
    returnType: void
    signature: void call_once(Args&&... args )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:191,1
    - Dst: std::numeric_limits<stringpiece_ssize_type>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:192,1
    - Dst: LogFatalSizeTooBig
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:195,1
    - Dst: static_cast<stringpiece_ssize_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:198,1
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:211,1
    - Dst: ptr_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:211,1
    - Dst: length_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:211,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:223,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:229,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:257,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:271,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:276,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:277,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:282,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:288,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    - Dst: google::protobuf::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:304,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:315,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:327,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:328,1
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:353,1
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:356,1
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:373,1
    - Dst: rfind
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:381,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (len >= 0)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (length_ >= n)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < length_)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (0 <= i)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (length_ >= n)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 388
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 388
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 9
    functionsReached:
    - google::protobuf::ToString
    - const_reverse_iterator
    - LogFatalSizeTooBig
    - static_cast<size_t>
    - google::protobuf::size
    - memcmp
    - rfind
    - std::string
    - length_
    - std::numeric_limits<stringpiece_ssize_type>::max
    - static_cast<stringpiece_ssize_type>
    - google::protobuf::CheckedSsizeTFromSizeT
    - google::protobuf::StringPiece
    - google::protobuf::data
    - assert
    - reinterpret_cast<const char*>
    - static_cast<size_type>
    - find
    - strlen
    - ptr_
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringPiece
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:191,1
    - Dst: std::numeric_limits<stringpiece_ssize_type>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:192,1
    - Dst: LogFatalSizeTooBig
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:195,1
    - Dst: static_cast<stringpiece_ssize_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: google::protobuf::CheckedSsizeTFromSizeT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 1
    functionsReached:
    - static_cast<stringpiece_ssize_type>
    - static_cast<size_t>
    - std::numeric_limits<stringpiece_ssize_type>::max
    - LogFatalSizeTooBig
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type CheckedSsizeTFromSizeT(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 9
    functionsReached:
    - strlen
    - google::protobuf::CheckedSsizeTFromSizeT
    linkageType: ''
    returnType: void
    signature: void StringPiece(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:223,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::basic_string<char, std::char_traits<char>, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 9
    functionsReached:
    - google::protobuf::size
    - google::protobuf::CheckedSsizeTFromSizeT
    - google::protobuf::data
    linkageType: ''
    returnType: void
    signature: "void StringPiece(  // NOLINT(runtime/explicit)\n      const std::basic_string<char,
      std::char_traits<char>, Allocator>& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - len
    argTypes:
    - char*
    - stringpiece_ssize_type
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 9
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void StringPiece(const char* offset, stringpiece_ssize_type len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: google::protobuf::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: google::protobuf::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: google::protobuf::length
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: google::protobuf::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: google::protobuf::clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - stringpiece_ssize_type
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: google::protobuf::set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void set(const char* data, stringpiece_ssize_type len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: google::protobuf::set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - strlen
    - google::protobuf::CheckedSsizeTFromSizeT
    linkageType: ''
    returnType: void
    signature: void set(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - stringpiece_ssize_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: google::protobuf::set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void set(const void* data, stringpiece_ssize_type len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:276,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (0 <= i)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < length_)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: operator[](stringpiece_ssize_type i) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char operator[](stringpiece_ssize_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (length_ >= n)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: google::protobuf::remove_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void remove_prefix(stringpiece_ssize_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (length_ >= n)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: google::protobuf::remove_suffix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void remove_suffix(stringpiece_ssize_type n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::protobuf::compare
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - static_cast<size_t>
    linkageType: ''
    returnType: int
    signature: int compare(StringPiece x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::as_string
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - google::protobuf::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string as_string() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: google::protobuf::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 2
    functionsReached:
    - std::string
    - google::protobuf::size
    - google::protobuf::data
    - static_cast<size_type>
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: operator std::string() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: google::protobuf::starts_with
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool starts_with(StringPiece x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:327,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: google::protobuf::ends_with
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool ends_with(StringPiece x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: google::protobuf::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: google::protobuf::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: google::protobuf::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: google::protobuf::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: google::protobuf::capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: google::protobuf::find_first_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type find_first_of(char c, size_type pos = 0) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: google::protobuf::find_last_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - rfind
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type find_last_of(char c, size_type pos = npos) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:394,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:395,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:399,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:399,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: operator==(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - StringPiece::size
    - static_cast<size_t>
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool operator==(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: operator!=(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:411,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: operator<(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - StringPiece::size
    - static_cast<size_t>
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool operator<(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: operator>(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: operator<=(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: operator>=(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:436,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::CreateFromStringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: StringPiecePod
    signature: StringPiecePod CreateFromStringPiece(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: operator StringPiece() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: void
    signature: void operator StringPiece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: operator==(const char* value) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool operator==(const char* value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:449,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (0 <= i)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < size_)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: operator[](stringpiece_ssize_type i) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char operator[](stringpiece_ssize_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: google::protobuf::internal::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::internal::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - std::string
    - static_cast<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 464
    functionName: operator std::string() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:436,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::CreateFromStringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: StringPiecePod
    signature: StringPiecePod CreateFromStringPiece(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: operator StringPiece() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - google::protobuf::StringPiece
    linkageType: ''
    returnType: void
    signature: void operator StringPiece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: operator==(const char* value) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - google::protobuf::StringPiece
    linkageType: ''
    returnType: bool
    signature: bool operator==(const char* value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:449,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (0 <= i)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < size_)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: operator[](stringpiece_ssize_type i) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char operator[](stringpiece_ssize_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: google::protobuf::internal::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::internal::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - std::string
    - static_cast<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 464
    functionName: operator std::string() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:191,1
    - Dst: std::numeric_limits<stringpiece_ssize_type>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:192,1
    - Dst: LogFatalSizeTooBig
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:195,1
    - Dst: static_cast<stringpiece_ssize_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:198,1
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:211,1
    - Dst: ptr_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:211,1
    - Dst: length_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:211,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:223,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:229,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:257,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:271,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:276,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:277,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:282,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:288,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    - Dst: google::protobuf::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:304,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:315,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:327,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:328,1
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:353,1
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:356,1
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:373,1
    - Dst: rfind
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:381,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (len >= 0)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (length_ >= n)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < length_)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (0 <= i)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (length_ >= n)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 388
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 388
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 12
    functionsReached:
    - google::protobuf::ToString
    - const_reverse_iterator
    - LogFatalSizeTooBig
    - static_cast<size_t>
    - google::protobuf::size
    - memcmp
    - rfind
    - std::string
    - length_
    - std::numeric_limits<stringpiece_ssize_type>::max
    - static_cast<stringpiece_ssize_type>
    - google::protobuf::CheckedSsizeTFromSizeT
    - google::protobuf::StringPiece
    - google::protobuf::data
    - assert
    - reinterpret_cast<const char*>
    - static_cast<size_type>
    - find
    - strlen
    - ptr_
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringPiece
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:191,1
    - Dst: std::numeric_limits<stringpiece_ssize_type>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:192,1
    - Dst: LogFatalSizeTooBig
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:195,1
    - Dst: static_cast<stringpiece_ssize_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: google::protobuf::CheckedSsizeTFromSizeT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 5
    functionsReached:
    - static_cast<stringpiece_ssize_type>
    - static_cast<size_t>
    - std::numeric_limits<stringpiece_ssize_type>::max
    - LogFatalSizeTooBig
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type CheckedSsizeTFromSizeT(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 12
    functionsReached:
    - strlen
    - google::protobuf::CheckedSsizeTFromSizeT
    linkageType: ''
    returnType: void
    signature: void StringPiece(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:223,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::basic_string<char, std::char_traits<char>, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 12
    functionsReached:
    - google::protobuf::size
    - google::protobuf::CheckedSsizeTFromSizeT
    - google::protobuf::data
    linkageType: ''
    returnType: void
    signature: "void StringPiece(  // NOLINT(runtime/explicit)\n      const std::basic_string<char,
      std::char_traits<char>, Allocator>& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - len
    argTypes:
    - char*
    - stringpiece_ssize_type
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 12
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void StringPiece(const char* offset, stringpiece_ssize_type len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: google::protobuf::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: google::protobuf::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: google::protobuf::length
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: google::protobuf::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: google::protobuf::clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - stringpiece_ssize_type
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: google::protobuf::set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void set(const char* data, stringpiece_ssize_type len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: google::protobuf::set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - strlen
    - google::protobuf::CheckedSsizeTFromSizeT
    linkageType: ''
    returnType: void
    signature: void set(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - stringpiece_ssize_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: google::protobuf::set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void set(const void* data, stringpiece_ssize_type len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:276,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (0 <= i)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < length_)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: operator[](stringpiece_ssize_type i) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char operator[](stringpiece_ssize_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (length_ >= n)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: google::protobuf::remove_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void remove_prefix(stringpiece_ssize_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (length_ >= n)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: google::protobuf::remove_suffix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void remove_suffix(stringpiece_ssize_type n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::protobuf::compare
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - static_cast<size_t>
    linkageType: ''
    returnType: int
    signature: int compare(StringPiece x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::as_string
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - google::protobuf::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string as_string() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: google::protobuf::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 4
    functionsReached:
    - std::string
    - google::protobuf::size
    - google::protobuf::data
    - static_cast<size_type>
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: operator std::string() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: google::protobuf::starts_with
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool starts_with(StringPiece x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:327,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: google::protobuf::ends_with
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool ends_with(StringPiece x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: google::protobuf::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: google::protobuf::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: google::protobuf::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: google::protobuf::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: google::protobuf::capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: google::protobuf::find_first_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type find_first_of(char c, size_type pos = 0) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: google::protobuf::find_last_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - rfind
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type find_last_of(char c, size_type pos = npos) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:394,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:395,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:399,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:399,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: operator==(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - StringPiece::size
    - static_cast<size_t>
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool operator==(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: operator!=(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:411,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: operator<(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - StringPiece::size
    - static_cast<size_t>
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool operator<(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: operator>(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: operator<=(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: operator>=(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:436,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::CreateFromStringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: StringPiecePod
    signature: StringPiecePod CreateFromStringPiece(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: operator StringPiece() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: void
    signature: void operator StringPiece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: operator==(const char* value) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool operator==(const char* value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:449,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (0 <= i)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < size_)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: operator[](stringpiece_ssize_type i) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char operator[](stringpiece_ssize_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: google::protobuf::internal::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::internal::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - std::string
    - static_cast<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 464
    functionName: operator std::string() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:436,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::CreateFromStringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: StringPiecePod
    signature: StringPiecePod CreateFromStringPiece(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: operator StringPiece() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: void
    signature: void operator StringPiece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: operator==(const char* value) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool operator==(const char* value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:449,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (0 <= i)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < size_)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: operator[](stringpiece_ssize_type i) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char operator[](stringpiece_ssize_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: google::protobuf::internal::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::internal::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - std::string
    - static_cast<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 464
    functionName: operator std::string() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:191,1
    - Dst: std::numeric_limits<stringpiece_ssize_type>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:192,1
    - Dst: LogFatalSizeTooBig
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:195,1
    - Dst: static_cast<stringpiece_ssize_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:198,1
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:211,1
    - Dst: ptr_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:211,1
    - Dst: length_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:211,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:223,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:229,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:257,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:271,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:276,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:277,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:282,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:288,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    - Dst: google::protobuf::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:304,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:315,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:327,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:328,1
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:353,1
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:356,1
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:373,1
    - Dst: rfind
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:381,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (len >= 0)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (length_ >= n)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < length_)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (0 <= i)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (length_ >= n)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 388
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 388
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 13
    functionsReached:
    - google::protobuf::ToString
    - const_reverse_iterator
    - LogFatalSizeTooBig
    - static_cast<size_t>
    - google::protobuf::size
    - memcmp
    - rfind
    - std::string
    - length_
    - std::numeric_limits<stringpiece_ssize_type>::max
    - static_cast<stringpiece_ssize_type>
    - google::protobuf::CheckedSsizeTFromSizeT
    - google::protobuf::StringPiece
    - google::protobuf::data
    - assert
    - reinterpret_cast<const char*>
    - static_cast<size_type>
    - find
    - strlen
    - ptr_
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringPiece
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:191,1
    - Dst: std::numeric_limits<stringpiece_ssize_type>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:192,1
    - Dst: LogFatalSizeTooBig
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:195,1
    - Dst: static_cast<stringpiece_ssize_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: google::protobuf::CheckedSsizeTFromSizeT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 9
    functionsReached:
    - static_cast<stringpiece_ssize_type>
    - static_cast<size_t>
    - std::numeric_limits<stringpiece_ssize_type>::max
    - LogFatalSizeTooBig
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type CheckedSsizeTFromSizeT(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 13
    functionsReached:
    - strlen
    - google::protobuf::CheckedSsizeTFromSizeT
    linkageType: ''
    returnType: void
    signature: void StringPiece(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:223,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::basic_string<char, std::char_traits<char>, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 13
    functionsReached:
    - google::protobuf::size
    - google::protobuf::CheckedSsizeTFromSizeT
    - google::protobuf::data
    linkageType: ''
    returnType: void
    signature: "void StringPiece(  // NOLINT(runtime/explicit)\n      const std::basic_string<char,
      std::char_traits<char>, Allocator>& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - len
    argTypes:
    - char*
    - stringpiece_ssize_type
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 13
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void StringPiece(const char* offset, stringpiece_ssize_type len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: google::protobuf::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: google::protobuf::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: google::protobuf::length
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: google::protobuf::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: google::protobuf::clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - stringpiece_ssize_type
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: google::protobuf::set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void set(const char* data, stringpiece_ssize_type len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: google::protobuf::set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - strlen
    - google::protobuf::CheckedSsizeTFromSizeT
    linkageType: ''
    returnType: void
    signature: void set(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - stringpiece_ssize_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: google::protobuf::set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void set(const void* data, stringpiece_ssize_type len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:276,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (0 <= i)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < length_)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: operator[](stringpiece_ssize_type i) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char operator[](stringpiece_ssize_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (length_ >= n)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: google::protobuf::remove_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void remove_prefix(stringpiece_ssize_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (length_ >= n)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: google::protobuf::remove_suffix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void remove_suffix(stringpiece_ssize_type n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::protobuf::compare
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - static_cast<size_t>
    linkageType: ''
    returnType: int
    signature: int compare(StringPiece x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::as_string
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - google::protobuf::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string as_string() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: google::protobuf::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 6
    functionsReached:
    - std::string
    - google::protobuf::size
    - google::protobuf::data
    - static_cast<size_type>
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: operator std::string() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: google::protobuf::starts_with
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool starts_with(StringPiece x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:327,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: google::protobuf::ends_with
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool ends_with(StringPiece x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: google::protobuf::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: google::protobuf::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: google::protobuf::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: google::protobuf::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: google::protobuf::capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: google::protobuf::find_first_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type find_first_of(char c, size_type pos = 0) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: google::protobuf::find_last_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - rfind
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type find_last_of(char c, size_type pos = npos) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:394,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:395,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:399,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:399,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: operator==(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - StringPiece::size
    - static_cast<size_t>
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool operator==(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: operator!=(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:411,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: operator<(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - StringPiece::size
    - static_cast<size_t>
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool operator<(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: operator>(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: operator<=(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: operator>=(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:436,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::CreateFromStringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: StringPiecePod
    signature: StringPiecePod CreateFromStringPiece(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: operator StringPiece() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: void
    signature: void operator StringPiece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: operator==(const char* value) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool operator==(const char* value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:449,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (0 <= i)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < size_)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: operator[](stringpiece_ssize_type i) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char operator[](stringpiece_ssize_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: google::protobuf::internal::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::internal::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - std::string
    - static_cast<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 464
    functionName: operator std::string() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:436,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::CreateFromStringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: StringPiecePod
    signature: StringPiecePod CreateFromStringPiece(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: operator StringPiece() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: void
    signature: void operator StringPiece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: operator==(const char* value) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool operator==(const char* value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:449,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (0 <= i)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < size_)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: operator[](stringpiece_ssize_type i) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char operator[](stringpiece_ssize_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: google::protobuf::internal::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::internal::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - std::string
    - static_cast<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 464
    functionName: operator std::string() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:191,1
    - Dst: std::numeric_limits<stringpiece_ssize_type>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:192,1
    - Dst: LogFatalSizeTooBig
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:195,1
    - Dst: static_cast<stringpiece_ssize_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:198,1
    - Dst: google::protobuf::StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:211,1
    - Dst: ptr_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:211,1
    - Dst: length_
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:211,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:223,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:229,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:257,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:271,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:276,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:277,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:282,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:288,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    - Dst: google::protobuf::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:304,1
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:315,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:327,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:328,1
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:353,1
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:356,1
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:373,1
    - Dst: rfind
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:381,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (len >= 0)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (length_ >= n)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < length_)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (0 <= i)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (length_ >= n)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 388
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 388
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 14
    functionsReached:
    - google::protobuf::ToString
    - const_reverse_iterator
    - LogFatalSizeTooBig
    - static_cast<size_t>
    - google::protobuf::size
    - memcmp
    - rfind
    - std::string
    - length_
    - std::numeric_limits<stringpiece_ssize_type>::max
    - static_cast<stringpiece_ssize_type>
    - google::protobuf::CheckedSsizeTFromSizeT
    - google::protobuf::StringPiece
    - google::protobuf::data
    - assert
    - reinterpret_cast<const char*>
    - static_cast<size_type>
    - find
    - strlen
    - ptr_
    linkageType: ''
    returnType: class PROTOBUF_EXPORT
    signature: class PROTOBUF_EXPORT StringPiece
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:191,1
    - Dst: std::numeric_limits<stringpiece_ssize_type>::max
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:192,1
    - Dst: LogFatalSizeTooBig
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:195,1
    - Dst: static_cast<stringpiece_ssize_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: google::protobuf::CheckedSsizeTFromSizeT
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 13
    functionsReached:
    - static_cast<stringpiece_ssize_type>
    - static_cast<size_t>
    - std::numeric_limits<stringpiece_ssize_type>::max
    - LogFatalSizeTooBig
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type CheckedSsizeTFromSizeT(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 14
    functionsReached:
    - strlen
    - google::protobuf::CheckedSsizeTFromSizeT
    linkageType: ''
    returnType: void
    signature: void StringPiece(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:223,1
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' str'
    argTypes:
    - std::basic_string<char, std::char_traits<char>, Allocator>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 14
    functionsReached:
    - google::protobuf::size
    - google::protobuf::CheckedSsizeTFromSizeT
    - google::protobuf::data
    linkageType: ''
    returnType: void
    signature: "void StringPiece(  // NOLINT(runtime/explicit)\n      const std::basic_string<char,
      std::char_traits<char>, Allocator>& str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - offset
    - len
    argTypes:
    - char*
    - stringpiece_ssize_type
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: google::protobuf::StringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 14
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void StringPiece(const char* offset, stringpiece_ssize_type len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: google::protobuf::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: google::protobuf::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: google::protobuf::length
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type length() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: google::protobuf::empty
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool empty() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: google::protobuf::clear
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - stringpiece_ssize_type
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: google::protobuf::set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void set(const char* data, stringpiece_ssize_type len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::CheckedSsizeTFromSizeT
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    - Dst: strlen
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: google::protobuf::set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - strlen
    - google::protobuf::CheckedSsizeTFromSizeT
    linkageType: ''
    returnType: void
    signature: void set(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - stringpiece_ssize_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: google::protobuf::set
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: void
    signature: void set(const void* data, stringpiece_ssize_type len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:276,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (0 <= i)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < length_)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: operator[](stringpiece_ssize_type i) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char operator[](stringpiece_ssize_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (length_ >= n)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: google::protobuf::remove_prefix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void remove_prefix(stringpiece_ssize_type n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (length_ >= n)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: google::protobuf::remove_suffix
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void remove_suffix(stringpiece_ssize_type n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::protobuf::compare
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - static_cast<size_t>
    linkageType: ''
    returnType: int
    signature: int compare(StringPiece x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: google::protobuf::as_string
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - google::protobuf::ToString
    linkageType: ''
    returnType: std::string
    signature: std::string as_string() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: static_cast<size_type>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    - Dst: google::protobuf::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: google::protobuf::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 8
    functionsReached:
    - std::string
    - google::protobuf::size
    - google::protobuf::data
    - static_cast<size_type>
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: operator std::string() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: google::protobuf::starts_with
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool starts_with(StringPiece x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:327,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: google::protobuf::ends_with
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - static_cast<size_t>
    linkageType: ''
    returnType: bool
    signature: bool ends_with(StringPiece x) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: google::protobuf::begin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator begin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 351
    functionName: google::protobuf::end
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: iterator
    signature: iterator end() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: google::protobuf::rbegin
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rbegin() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_reverse_iterator
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: google::protobuf::rend
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - const_reverse_iterator
    linkageType: ''
    returnType: const_reverse_iterator
    signature: const_reverse_iterator rend() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 358
    functionName: google::protobuf::max_size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type max_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: google::protobuf::capacity
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type capacity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: google::protobuf::find_first_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - find
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type find_first_of(char c, size_type pos = 0) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rfind
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: google::protobuf::find_last_of
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - rfind
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type find_last_of(char c, size_type pos = npos) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:394,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:395,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:399,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:399,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: operator==(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - StringPiece::size
    - static_cast<size_t>
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool operator==(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: operator!=(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:409,1
    - Dst: memcmp
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:410,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:411,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: operator<(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - memcmp
    - StringPiece::size
    - static_cast<size_t>
    - StringPiece::data
    linkageType: ''
    returnType: bool
    signature: bool operator<(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 416
    functionName: operator>(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: operator<=(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<=(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - StringPiece
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: operator>=(StringPiece x, StringPiece y)
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator>=(StringPiece x, StringPiece y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:436,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::CreateFromStringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: StringPiecePod
    signature: StringPiecePod CreateFromStringPiece(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: operator StringPiece() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: void
    signature: void operator StringPiece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: operator==(const char* value) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool operator==(const char* value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:449,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (0 <= i)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < size_)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: operator[](stringpiece_ssize_type i) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char operator[](stringpiece_ssize_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: google::protobuf::internal::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::internal::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - std::string
    - static_cast<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 464
    functionName: operator std::string() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece::data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:436,1
    - Dst: StringPiece::size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: google::protobuf::internal::CreateFromStringPiece
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece::size
    - StringPiece::data
    linkageType: ''
    returnType: StringPiecePod
    signature: StringPiecePod CreateFromStringPiece(StringPiece str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: operator StringPiece() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: void
    signature: void operator StringPiece() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    - Dst: StringPiece
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: operator==(const char* value) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - StringPiece
    linkageType: ''
    returnType: bool
    signature: bool operator==(const char* value) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:449,1
    - Dst: assert
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - stringpiece_ssize_type
    assertStmts:
    - condition: (0 <= i)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - condition: (i < size_)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    constantsTouched: []
    func_position:
      end: 452
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 452
    functionName: operator[](stringpiece_ssize_type i) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: char operator[](stringpiece_ssize_type i) const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 454
    functionName: google::protobuf::internal::data
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * data() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: google::protobuf::internal::size
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: stringpiece_ssize_type
    signature: stringpiece_ssize_type size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: google::protobuf::internal::ToString
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - std::string
    - static_cast<size_t>
    linkageType: ''
    returnType: std::string
    signature: std::string ToString() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 464
    functionName: operator std::string() const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: void
    signature: void operator std::string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:479,1
    - Dst: size
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:479,1
    - Dst: static_cast<size_t>
      Src: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - StringPiece
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: operator()(const StringPiece& s) const
    functionSourceFile: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - data
    - size
    linkageType: ''
    returnType: size_t
    signature: size_t operator()(const StringPiece& s) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: omp_get_max_threads
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:51,1
    - Dst: omp_get_thread_num
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - T
    - C
    - n
    - k
    argTypes:
    - string_type
    - bucket_type
    - index_type
    - index_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 75
    functionName: saisxx_private::getCounts
    functionSourceFile: /src/sentencepiece/third_party/esaxx/sais.hxx
    functionUses: 0
    functionsReached:
    - omp_get_thread_num
    - omp_get_max_threads
    linkageType: ''
    returnType: void
    signature: void getCounts(const string_type T, bucket_type C, index_type n, index_type
      k)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - C
    - B
    - k
    - end
    argTypes:
    - bucket_type
    - bucket_type
    - index_type
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: saisxx_private::getBuckets
    functionSourceFile: /src/sentencepiece/third_party/esaxx/sais.hxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getBuckets(const bucket_type C, bucket_type B, index_type k, bool
      end)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:95,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:96,1
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:107,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:108,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 6
    argNames:
    - T
    - SA
    - C
    - B
    - n
    - k
    argTypes:
    - string_type
    - sarray_type
    - bucket_type
    - bucket_type
    - index_type
    - index_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 117
    functionName: saisxx_private::induceSA
    functionSourceFile: /src/sentencepiece/third_party/esaxx/sais.hxx
    functionUses: 0
    functionsReached:
    - saisxx_private::getBuckets
    - saisxx_private::getCounts
    linkageType: ''
    returnType: void
    signature: "void induceSA(string_type T, sarray_type SA, bucket_type C, bucket_type
      B,\n         index_type n, index_type k)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:128,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:129,1
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:142,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:143,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 6
    argNames:
    - T
    - SA
    - C
    - B
    - n
    - k
    argTypes:
    - string_type
    - sarray_type
    - bucket_type
    - bucket_type
    - index_type
    - index_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 156
    functionName: saisxx_private::computeBWT
    functionSourceFile: /src/sentencepiece/third_party/esaxx/sais.hxx
    functionUses: 0
    functionsReached:
    - saisxx_private::getBuckets
    - saisxx_private::getCounts
    linkageType: ''
    returnType: int
    signature: "int computeBWT(string_type T, sarray_type SA, bucket_type C, bucket_type
      B,\n           index_type n, index_type k)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: omp_get_max_threads
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:172,1
    - Dst: index_type::index_type
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:182,1
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:184,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:184,1
    - Dst: saisxx_private::induceSA
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:193,1
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:199,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:199,1
    - Dst: saisxx_private::induceSA
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:208,1
    - Dst: saisxx_private::suffixsort
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:260,1
    - Dst: index_type::index_type
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:274,1
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:277,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:277,1
    - Dst: saisxx_private::induceSA
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:286,1
    - Dst: saisxx_private::computeBWT
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:287,1
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:294,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:294,1
    - Dst: saisxx_private::induceSA
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:303,1
    - Dst: saisxx_private::computeBWT
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:304,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 149
    argCount: 6
    argNames:
    - T
    - SA
    - fs
    - n
    - k
    - isbwt
    argTypes:
    - string_type
    - sarray_type
    - index_type
    - index_type
    - index_type
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 311
    functionName: saisxx_private::suffixsort
    functionSourceFile: /src/sentencepiece/third_party/esaxx/sais.hxx
    functionUses: 1
    functionsReached:
    - saisxx_private::suffixsort
    - saisxx_private::getCounts
    - saisxx_private::induceSA
    - omp_get_max_threads
    - saisxx_private::getBuckets
    - index_type::index_type
    - saisxx_private::computeBWT
    linkageType: ''
    returnType: int
    signature: "int suffixsort(string_type T, sarray_type SA,\n           index_type
      fs, index_type n, index_type k,\n           bool isbwt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: omp_get_max_threads
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:51,1
    - Dst: omp_get_thread_num
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - T
    - C
    - n
    - k
    argTypes:
    - string_type
    - bucket_type
    - index_type
    - index_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 75
    functionName: saisxx_private::getCounts
    functionSourceFile: /src/sentencepiece/third_party/esaxx/sais.hxx
    functionUses: 3
    functionsReached:
    - omp_get_thread_num
    - omp_get_max_threads
    linkageType: ''
    returnType: void
    signature: void getCounts(const string_type T, bucket_type C, index_type n, index_type
      k)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - C
    - B
    - k
    - end
    argTypes:
    - bucket_type
    - bucket_type
    - index_type
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: saisxx_private::getBuckets
    functionSourceFile: /src/sentencepiece/third_party/esaxx/sais.hxx
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void getBuckets(const bucket_type C, bucket_type B, index_type k, bool
      end)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:95,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:96,1
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:107,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:108,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 6
    argNames:
    - T
    - SA
    - C
    - B
    - n
    - k
    argTypes:
    - string_type
    - sarray_type
    - bucket_type
    - bucket_type
    - index_type
    - index_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 117
    functionName: saisxx_private::induceSA
    functionSourceFile: /src/sentencepiece/third_party/esaxx/sais.hxx
    functionUses: 1
    functionsReached:
    - saisxx_private::getBuckets
    - saisxx_private::getCounts
    linkageType: ''
    returnType: void
    signature: "void induceSA(string_type T, sarray_type SA, bucket_type C, bucket_type
      B,\n         index_type n, index_type k)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:128,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:129,1
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:142,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:143,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 6
    argNames:
    - T
    - SA
    - C
    - B
    - n
    - k
    argTypes:
    - string_type
    - sarray_type
    - bucket_type
    - bucket_type
    - index_type
    - index_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 156
    functionName: saisxx_private::computeBWT
    functionSourceFile: /src/sentencepiece/third_party/esaxx/sais.hxx
    functionUses: 1
    functionsReached:
    - saisxx_private::getBuckets
    - saisxx_private::getCounts
    linkageType: ''
    returnType: int
    signature: "int computeBWT(string_type T, sarray_type SA, bucket_type C, bucket_type
      B,\n           index_type n, index_type k)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: omp_get_max_threads
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:172,1
    - Dst: index_type::index_type
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:182,1
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:184,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:184,1
    - Dst: saisxx_private::induceSA
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:193,1
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:199,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:199,1
    - Dst: saisxx_private::induceSA
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:208,1
    - Dst: saisxx_private::suffixsort
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:260,1
    - Dst: index_type::index_type
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:274,1
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:277,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:277,1
    - Dst: saisxx_private::induceSA
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:286,1
    - Dst: saisxx_private::computeBWT
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:287,1
    - Dst: saisxx_private::getCounts
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:294,1
    - Dst: saisxx_private::getBuckets
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:294,1
    - Dst: saisxx_private::induceSA
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:303,1
    - Dst: saisxx_private::computeBWT
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:304,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 149
    argCount: 6
    argNames:
    - T
    - SA
    - fs
    - n
    - k
    - isbwt
    argTypes:
    - string_type
    - sarray_type
    - index_type
    - index_type
    - index_type
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 311
    functionName: saisxx_private::suffixsort
    functionSourceFile: /src/sentencepiece/third_party/esaxx/sais.hxx
    functionUses: 2
    functionsReached:
    - saisxx_private::suffixsort
    - saisxx_private::getCounts
    - saisxx_private::induceSA
    - omp_get_max_threads
    - saisxx_private::getBuckets
    - index_type::index_type
    - saisxx_private::computeBWT
    linkageType: ''
    returnType: int
    signature: "int suffixsort(string_type T, sarray_type SA,\n           index_type
      fs, index_type n, index_type k,\n           bool isbwt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: saisxx_private::suffixsort
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:330,1
    - Dst: index_type
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - T
    - SA
    - n
    argTypes:
    - string_type
    - sarray_type
    - index_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 333
    functionName: saisxx
    functionSourceFile: /src/sentencepiece/third_party/esaxx/sais.hxx
    functionUses: 0
    functionsReached:
    - saisxx_private::suffixsort
    - index_type
    linkageType: ''
    returnType: int
    signature: int saisxx(string_type T, sarray_type SA, index_type n, index_type
      k = 256)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: saisxx_private::suffixsort
      Src: /src/sentencepiece/third_party/esaxx/sais.hxx:352,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - T
    - U
    - A
    - n
    argTypes:
    - string_type
    - string_type
    - sarray_type
    - index_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 361
    functionName: saisxx_bwt
    functionSourceFile: /src/sentencepiece/third_party/esaxx/sais.hxx
    functionUses: 0
    functionsReached:
    - saisxx_private::suffixsort
    linkageType: ''
    returnType: index_type
    signature: index_type saisxx_bwt(string_type T, string_type U, sarray_type A,
      index_type n, index_type k = 256)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:68,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:68,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:72,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:81,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:82,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:85,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:88,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:88,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 6
    argNames:
    - T
    - SA
    - L
    - R
    - D
    - n
    argTypes:
    - string_type
    - sarray_type
    - sarray_type
    - sarray_type
    - sarray_type
    - index_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 91
    functionName: esaxx_private::suffixtree
    functionSourceFile: /src/sentencepiece/third_party/esaxx/esa.hxx
    functionUses: 0
    functionsReached:
    - std::make_pair
    - std::vector::pop_back
    - std::vector::back
    - std::vector::push_back
    linkageType: ''
    returnType: index_type
    signature: index_type suffixtree(string_type T, sarray_type SA, sarray_type L,
      sarray_type R, sarray_type D, index_type n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:68,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:68,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:72,1
    - Dst: std::vector::pop_back
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:81,1
    - Dst: std::vector::back
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:82,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:85,1
    - Dst: std::vector::push_back
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:88,1
    - Dst: std::make_pair
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:88,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 6
    argNames:
    - T
    - SA
    - L
    - R
    - D
    - n
    argTypes:
    - string_type
    - sarray_type
    - sarray_type
    - sarray_type
    - sarray_type
    - index_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 91
    functionName: esaxx_private::suffixtree
    functionSourceFile: /src/sentencepiece/third_party/esaxx/esa.hxx
    functionUses: 0
    functionsReached:
    - std::make_pair
    - std::vector::pop_back
    - std::vector::back
    - std::vector::push_back
    linkageType: ''
    returnType: index_type
    signature: index_type suffixtree(string_type T, sarray_type SA, sarray_type L,
      sarray_type R, sarray_type D, index_type n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: saisxx
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:116,1
    - Dst: esaxx_private::suffixtree
      Src: /src/sentencepiece/third_party/esaxx/esa.hxx:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 8
    argNames:
    - T
    - SA
    - L
    - R
    - D
    - n
    - k
    - ' nodeNum'
    argTypes:
    - string_type
    - sarray_type
    - sarray_type
    - sarray_type
    - sarray_type
    - index_type
    - index_type
    - index_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: esaxx
    functionSourceFile: /src/sentencepiece/third_party/esaxx/esa.hxx
    functionUses: 4
    functionsReached:
    - esaxx_private::suffixtree
    - saisxx
    linkageType: ''
    returnType: int
    signature: "int esaxx(string_type T, sarray_type SA, sarray_type L, sarray_type
      R, sarray_type D,\n     index_type n, index_type k, index_type& nodeNum)"
Fuzzer filename: /src/sample_encode_fuzzer.cc
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- exception
- random
- wctype.h
- google/protobuf/stubs/map_util.h
- google/protobuf/io/zero_copy_stream_impl_lite.h
- third_party/absl/strings/numbers.h
- google/protobuf/metadata_lite.h
- init.h
- pybind11/stl.h
- fstream
- complex
- stdio.h
- google/protobuf/stubs/stringprintf.h
- cstdlib
- iterator
- google/protobuf/stubs/time.h
- unicode_script.h
- third_party/absl/flags/usage_config.h
- third_party/absl/functional/any_invocable.h
- third_party/absl/numeric/bits.h
- google/protobuf/generated_message_table_driven.h
- google/protobuf/wire_format_lite.h
- algorithm
- google/protobuf/io/zero_copy_stream.h
- sys/types.h
- google/protobuf/port_def.inc
- third_party/protobuf-lite/google/protobuf/message_lite.h
- absl/status/status.h
- third_party/absl/strings/str_join.h
- third_party/absl/log/initialize.h
- ios
- third_party/absl/status/status_macros.h
- third_party/absl/status/status_builder.h
- google/protobuf/map_field_lite.h
- sentencepiece_processor.h
- config.h
- freelist.h
- google/protobuf/extension_set.h
- google/protobuf/parse_context.h
- type_traits
- tuple
- third_party/absl/container/fixed_array.h
- errno.h
- trainer_factory.h
- third_party/benchmark/include/benchmark/benchmark.h
- sentencepiece_trainer.h
- climits
- intrin.h
- word_model_trainer.h
- google/protobuf/arena.h
- functional
- pretokenizer_for_training.h
- unordered_map
- word_model.h
- sentencepiece.pb.h
- unicode_script_map.h
- google/protobuf/io/io_win32.h
- third_party/absl/strings/strip.h
- third_party/absl/synchronization/blocking_counter.h
- embedded_model.h
- google/protobuf/map_entry_lite.h
- char_model.h
- byteswap.h
- google/protobuf/stubs/status.h
- sais.hxx
- fcntl.h
- memory
- google/protobuf/stubs/once.h
- third_party/absl/status/status.h
- trainer_interface.h
- google/protobuf/stubs/callback.h
- google/protobuf/port.h
- stack
- new
- unicode/locid.h
- spec_parser.h
- google/protobuf/stubs/mutex.h
- thread
- google/protobuf/arena_impl.h
- third_party/esaxx/esa.hxx
- libkern/OSByteOrder.h
- third_party/absl/cleanup/cleanup.h
- stddef.h
- direct.h
- google/protobuf/map_type_handler.h
- omp.h
- normalizer.h
- builder.h
- iomanip
- sentencepiece_model.pb.h
- unicode/normlzr.h
- pybind11/pybind11.h
- mutex
- google/protobuf/stubs/int128.h
- iosfwd
- atomic
- third_party/absl/flags/flag.h
- google/protobuf/stubs/common.h
- third_party/absl/functional/function_ref.h
- google/protobuf/message_lite.h
- third_party/absl/base/attributes.h
- third_party/absl/time/clock.h
- normalization_rule.h
- third_party/absl/synchronization/mutex.h
- google/protobuf/stubs/statusor.h
- unordered_set
- cassert
- google/protobuf/stubs/strutil.h
- initializer_list
- sys/stat.h
- google/protobuf/port_undef.inc
- google/protobuf/generated_message_util.h
- third_party/absl/types/span.h
- third_party/absl/base/internal/endian.h
- limits.h
- testharness.h
- Availability.h
- google/protobuf/implicit_weak_message.h
- model_factory.h
- unigram_model_trainer.h
- third_party/absl/log/check.h
- stdlib.h
- cmath
- cstring
- cstdio
- third_party/absl/strings/ascii.h
- string
- third_party/absl/strings/string_view.h
- numeric
- set
- google/protobuf/io/coded_stream.h
- map
- assert.h
- contrib/nlcodec/bpe_model_trainer_nlcodec.h
- vector
- iostream
- google/protobuf/stubs/stl_util.h
- third_party/absl/flags/parse.h
- limits
- google/protobuf/stubs/platform_macros.h
- google/protobuf/stubs/logging.h
- third_party/absl/strings/str_cat.h
- google/protobuf/stubs/stringpiece.h
- typeinfo
- string_view
- sanitizer/asan_interface.h
- io.h
- third_party/absl/container/flat_hash_map.h
- third_party/absl/container/btree_set.h
- cfloat
- third_party/absl/hash/hash.h
- third_party/absl/container/flat_hash_set.h
- unigram_model.h
- model_interface.h
- unicode/utypes.h
- sstream
- google/protobuf/stubs/macros.h
- third_party/absl/time/time.h
- pthread.h
- cstddef
- google/protobuf/map.h
- filesystem.h
- cstdint
- third_party/darts_clone/darts.h
- unicode/errorcode.h
- google/protobuf/has_bits.h
- google/protobuf/stubs/port.h
- third_party/absl/strings/str_format.h
- unicode/rbnf.h
- util.h
- google/protobuf/stubs/hash.h
- google/protobuf/repeated_field.h
- google/protobuf/extension_set_inl.h
- google/protobuf/stubs/casts.h
- utility
- unistd.h
- ctype.h
- ctime
- bpe_model.h
- android/log.h
- stdarg.h
- ostream
- common.h
- char_model_trainer.h
- third_party/absl/random/random.h
- third_party/absl/strings/str_replace.h
- third_party/absl/strings/str_split.h
- queue
- fuzzer/FuzzedDataProvider.h
- third_party/absl/strings/match.h
- google/protobuf/io/zero_copy_stream_impl.h
- google/protobuf/any.h
- google/protobuf/stubs/bytestream.h
- third_party/absl/base/thread_annotations.h
- endian.h
- google/protobuf/generated_enum_util.h
- third_party/protobuf-lite/google/protobuf/arena.h
- windows.h
- float.h
- unicode/numfmt.h
- google/protobuf/generated_message_table_driven_lite.h
- third_party/absl/flags/usage.h
- stdexcept
- third_party/absl/log/globals.h
- bpe_model_trainer.h
- third_party/absl/log/flags.h
- TargetConditionals.h
- string.h
- sys/param.h
- third_party/absl/log/log.h
- google/protobuf/arenastring.h
report: name
sources:
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/sample_encode_fuzzer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - AddSpecialPieces
  - AddPiece
  - AddBytePiece
  - main
  source_file: /src/generate_model.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/model_load_fuzzer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/processor_text_fuzzer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/trainer_fuzzer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::GetTestDataPath
  - sentencepiece::LoadModelWithModifiedCharsmap
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::GetTestDataPath
  - sentencepiece::LoadModelWithModifiedCharsmap
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::GetTestDataPath
  - sentencepiece::LoadModelWithModifiedCharsmap
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::GetTestDataPath
  - sentencepiece::LoadModelWithModifiedCharsmap
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  source_file: /src/sentencepiece/src/invalid_model_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::word::Trainer::Trainer
  - sentencepiece::word::Trainer::Trainer
  - sentencepiece::word::Trainer::Trainer
  - sentencepiece::word::Trainer::Trainer
  source_file: /src/sentencepiece/src/word_model_trainer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::ExpectSptEqual
  - sentencepiece::SentencePieceProcessorMaxLoops::SentencePieceProcessorMaxLoops
  - sentencepiece::LoadTestData
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::ExpectSptEqual
  - sentencepiece::SentencePieceProcessorMaxLoops::SentencePieceProcessorMaxLoops
  - sentencepiece::LoadTestData
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  source_file: /src/sentencepiece/src/sentencepiece_processor_parallel_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::model::TEST
  - sentencepiece::model::TEST
  - sentencepiece::model::TEST
  - sentencepiece::model::TEST
  source_file: /src/sentencepiece/src/freelist_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::SetRandomGeneratorSeed
  - sentencepiece::GetRandomGeneratorSeed
  - sentencepiece::GetSharedDataDir
  - sentencepiece::GetSharedDataDir
  - sentencepiece::GetDataDir
  - sentencepiece::SetDataDir
  - sentencepiece::SetMinLogLevel
  - sentencepiece::SetNBestTimeout
  - sentencepiece::GetNBestTimeout
  - sentencepiece::string_util::DecodeUTF8
  - sentencepiece::string_util::IsStructurallyValid
  - sentencepiece::string_util::EncodeUTF8
  - sentencepiece::string_util::UnicodeCharToUTF8
  - sentencepiece::string_util::UTF8ToUnicodeText
  - sentencepiece::string_util::UnicodeTextToUTF8
  - sentencepiece::string_util::UTF8ToUnicodeTextAndOffsets
  - sentencepiece::string_util::DecodeUTF8
  - sentencepiece::string_util::IsStructurallyValid
  - sentencepiece::string_util::EncodeUTF8
  - sentencepiece::string_util::UnicodeCharToUTF8
  - sentencepiece::string_util::UTF8ToUnicodeText
  - sentencepiece::string_util::UnicodeTextToUTF8
  - sentencepiece::string_util::UTF8ToUnicodeTextAndOffsets
  - sentencepiece::random::GetRandomGenerator
  - sentencepiece::random::GetRandomGenerator
  - sentencepiece::util::StrError
  - sentencepiece::util::StrSplitAsCSV
  - sentencepiece::util::Utf8ToWide
  - sentencepiece::util::StrError
  - sentencepiece::util::StrSplitAsCSV
  - sentencepiece::util::Utf8ToWide
  - sentencepiece::ThreadPool::Impl::Impl
  - ~Impl()
  - sentencepiece::ThreadPool::Impl::Schedule
  - sentencepiece::ThreadPool::Impl::num_threads
  - sentencepiece::ThreadPool::Impl::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - sentencepiece::ThreadPool::Impl::WorkLoop
  - sentencepiece::ThreadPool::ThreadPool
  - ThreadPool::~ThreadPool()
  - sentencepiece::ThreadPool::Schedule
  - sentencepiece::ThreadPool::num_threads
  - sentencepiece::RunBatch
  - sentencepiece::log_domain::LogSum
  - sentencepiece::log_domain::LogSum
  - sentencepiece::SetRandomGeneratorSeed
  - sentencepiece::GetRandomGeneratorSeed
  - sentencepiece::GetSharedDataDir
  - sentencepiece::GetSharedDataDir
  - sentencepiece::GetDataDir
  - sentencepiece::SetDataDir
  - sentencepiece::SetMinLogLevel
  - sentencepiece::SetNBestTimeout
  - sentencepiece::GetNBestTimeout
  - sentencepiece::string_util::DecodeUTF8
  - sentencepiece::string_util::IsStructurallyValid
  - sentencepiece::string_util::EncodeUTF8
  - sentencepiece::string_util::UnicodeCharToUTF8
  - sentencepiece::string_util::UTF8ToUnicodeText
  - sentencepiece::string_util::UnicodeTextToUTF8
  - sentencepiece::string_util::UTF8ToUnicodeTextAndOffsets
  - sentencepiece::string_util::DecodeUTF8
  - sentencepiece::string_util::IsStructurallyValid
  - sentencepiece::string_util::EncodeUTF8
  - sentencepiece::string_util::UnicodeCharToUTF8
  - sentencepiece::string_util::UTF8ToUnicodeText
  - sentencepiece::string_util::UnicodeTextToUTF8
  - sentencepiece::string_util::UTF8ToUnicodeTextAndOffsets
  - sentencepiece::random::GetRandomGenerator
  - sentencepiece::random::GetRandomGenerator
  - sentencepiece::util::StrError
  - sentencepiece::util::StrSplitAsCSV
  - sentencepiece::util::Utf8ToWide
  - sentencepiece::util::StrError
  - sentencepiece::util::StrSplitAsCSV
  - sentencepiece::util::Utf8ToWide
  - sentencepiece::ThreadPool::Impl::Impl
  - ~Impl()
  - sentencepiece::ThreadPool::Impl::Schedule
  - sentencepiece::ThreadPool::Impl::num_threads
  - sentencepiece::ThreadPool::Impl::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - sentencepiece::ThreadPool::Impl::WorkLoop
  - sentencepiece::ThreadPool::ThreadPool
  - ThreadPool::~ThreadPool()
  - sentencepiece::ThreadPool::Schedule
  - sentencepiece::ThreadPool::num_threads
  - sentencepiece::RunBatch
  - sentencepiece::log_domain::LogSum
  - sentencepiece::log_domain::LogSum
  source_file: /src/sentencepiece/src/util.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::ToHexUInt64Array
  - sentencepiece::ToHexData
  - sentencepiece::MakeHeader
  - sentencepiece::ToHexUInt64Array
  - sentencepiece::ToHexData
  - sentencepiece::MakeHeader
  - sentencepiece::ToHexUInt64Array
  - sentencepiece::ToHexData
  - sentencepiece::MakeHeader
  - sentencepiece::ToHexUInt64Array
  - sentencepiece::ToHexData
  - sentencepiece::MakeHeader
  - main
  source_file: /src/sentencepiece/src/compile_charsmap_main.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::SentencePieceProcessor::SentencePieceProcessor
  - SentencePieceProcessor::~SentencePieceProcessor()
  - sentencepiece::SentencePieceProcessor::Load
  - sentencepiece::SentencePieceProcessor::LoadOrDie
  - sentencepiece::SentencePieceProcessor::Load
  - sentencepiece::SentencePieceProcessor::LoadFromSerializedProto
  - sentencepiece::SentencePieceProcessor::Load
  - sentencepiece::SentencePieceProcessor::SetEncodeExtraOptions
  - sentencepiece::SentencePieceProcessor::SetDecodeExtraOptions
  - sentencepiece::SentencePieceProcessor::status
  - RET_CHECK_STATUS_STL
  - RET_CHECK_STATUS_PROTO
  - sentencepiece::SentencePieceProcessor::Encode
  - sentencepiece::SentencePieceProcessor::Encode
  - sentencepiece::SentencePieceProcessor::Decode
  - sentencepiece::SentencePieceProcessor::Decode
  - sentencepiece::SentencePieceProcessor::Decode
  - sentencepiece::SentencePieceProcessor::NBestEncode
  - sentencepiece::SentencePieceProcessor::NBestEncode
  - sentencepiece::SentencePieceProcessor::SampleEncode
  - sentencepiece::SentencePieceProcessor::SampleEncode
  - sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
  - sentencepiece::SentencePieceProcessor::Encode
  - sentencepiece::SentencePieceProcessor::NBestEncode
  - sentencepiece::SentencePieceProcessor::SampleEncode
  - sentencepiece::SentencePieceProcessor::Decode
  - sentencepiece::SentencePieceProcessor::Decode
  - sentencepiece::GetIthChunkBoundaries
  - sentencepiece::GetChunkOfInput
  - sentencepiece::FindMatchingToken
  - "absl::Status ReparseBadRanges(\n    const std::vector<size_t>& bad_joins, const
    absl::string_view input,\n    const absl::string_view normalized, absl::Span<const
    size_t> norm_to_orig,\n    Arena& arena, const ModelInterface& model,\n    absl::FunctionRef<absl::Status(\n
    \       absl::string_view input, absl::string_view normalized,\n        absl::Span<const
    size_t> norm_to_orig, const EncodeResult& result,\n        SentencePieceText*
    spt, size_t input_start_offset)>\n        populate_sentence_piece_text,\n    std::vector<SentencePieceText*>&
    spt_chunks,\n    std::vector<std::tuple<size_t, size_t, size_t>>& input_chunk_boundaries)"
  - sentencepiece::GetIthChunkBoundaries
  - sentencepiece::GetChunkOfInput
  - sentencepiece::FindMatchingToken
  - "absl::Status ReparseBadRanges(\n    const std::vector<size_t>& bad_joins, const
    absl::string_view input,\n    const absl::string_view normalized, absl::Span<const
    size_t> norm_to_orig,\n    Arena& arena, const ModelInterface& model,\n    absl::FunctionRef<absl::Status(\n
    \       absl::string_view input, absl::string_view normalized,\n        absl::Span<const
    size_t> norm_to_orig, const EncodeResult& result,\n        SentencePieceText*
    spt, size_t input_start_offset)>\n        populate_sentence_piece_text,\n    std::vector<SentencePieceText*>&
    spt_chunks,\n    std::vector<std::tuple<size_t, size_t, size_t>>& input_chunk_boundaries)"
  - sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
  - sentencepiece::SentencePieceProcessor::ParallelEncode
  - sentencepiece::SentencePieceProcessor::ParallelEncode
  - sentencepiece::SentencePieceProcessor::ParallelEncode
  - RET_CHECK_OR_RETURN_DEFAULT
  - sentencepiece::SentencePieceProcessor::Normalize
  - sentencepiece::SentencePieceProcessor::Normalize
  - sentencepiece::SentencePieceProcessor::Normalize
  - sentencepiece::SentencePieceProcessor::GetPieceSize
  - sentencepiece::SentencePieceProcessor::PieceToId
  - '& SentencePieceProcessor::IdToPiece(int id) const'
  - sentencepiece::SentencePieceProcessor::SafeIdToPiece
  - sentencepiece::SentencePieceProcessor::GetScore
  - sentencepiece::SentencePieceProcessor::IsControl
  - sentencepiece::SentencePieceProcessor::IsUnknown
  - sentencepiece::SentencePieceProcessor::IsUnused
  - sentencepiece::SentencePieceProcessor::IsByte
  - sentencepiece::SentencePieceProcessor::unk_id
  - sentencepiece::SentencePieceProcessor::bos_id
  - sentencepiece::SentencePieceProcessor::eos_id
  - sentencepiece::SentencePieceProcessor::pad_id
  - sentencepiece::SentencePieceProcessor::ApplyExtraOptions
  - sentencepiece::SentencePieceProcessor::HasUnkPieceOption
  - sentencepiece::SentencePieceProcessor::ParseExtraOptions
  - sentencepiece::SentencePieceProcessor::SetModel
  - sentencepiece::SentencePieceProcessor::SetNormalizer
  - '& SentencePieceProcessor::model_proto() const'
  - sentencepiece::SentencePieceProcessor::serialized_model_proto
  - sentencepiece::SentencePieceProcessor::EncodeOptimized
  - sentencepiece::SentencePieceProcessor::DecodeOptimized
  - sentencepiece::io::LoadModelProto
  - sentencepiece::io::SaveModelProto
  - sentencepiece::io::LoadModelProto
  - sentencepiece::io::SaveModelProto
  - sentencepiece::SentencePieceProcessor::SentencePieceProcessor
  - SentencePieceProcessor::~SentencePieceProcessor()
  - sentencepiece::SentencePieceProcessor::Load
  - sentencepiece::SentencePieceProcessor::LoadOrDie
  - sentencepiece::SentencePieceProcessor::Load
  - sentencepiece::SentencePieceProcessor::LoadFromSerializedProto
  - sentencepiece::SentencePieceProcessor::Load
  - sentencepiece::SentencePieceProcessor::SetEncodeExtraOptions
  - sentencepiece::SentencePieceProcessor::SetDecodeExtraOptions
  - sentencepiece::SentencePieceProcessor::status
  - RET_CHECK_STATUS_STL
  - RET_CHECK_STATUS_PROTO
  - sentencepiece::SentencePieceProcessor::Encode
  - sentencepiece::SentencePieceProcessor::Encode
  - sentencepiece::SentencePieceProcessor::Decode
  - sentencepiece::SentencePieceProcessor::Decode
  - sentencepiece::SentencePieceProcessor::Decode
  - sentencepiece::SentencePieceProcessor::NBestEncode
  - sentencepiece::SentencePieceProcessor::NBestEncode
  - sentencepiece::SentencePieceProcessor::SampleEncode
  - sentencepiece::SentencePieceProcessor::SampleEncode
  - sentencepiece::SentencePieceProcessor::PopulateSentencePieceText
  - sentencepiece::SentencePieceProcessor::Encode
  - sentencepiece::SentencePieceProcessor::NBestEncode
  - sentencepiece::SentencePieceProcessor::SampleEncode
  - sentencepiece::SentencePieceProcessor::Decode
  - sentencepiece::SentencePieceProcessor::Decode
  - sentencepiece::GetIthChunkBoundaries
  - sentencepiece::GetChunkOfInput
  - sentencepiece::FindMatchingToken
  - "absl::Status ReparseBadRanges(\n    const std::vector<size_t>& bad_joins, const
    absl::string_view input,\n    const absl::string_view normalized, absl::Span<const
    size_t> norm_to_orig,\n    Arena& arena, const ModelInterface& model,\n    absl::FunctionRef<absl::Status(\n
    \       absl::string_view input, absl::string_view normalized,\n        absl::Span<const
    size_t> norm_to_orig, const EncodeResult& result,\n        SentencePieceText*
    spt, size_t input_start_offset)>\n        populate_sentence_piece_text,\n    std::vector<SentencePieceText*>&
    spt_chunks,\n    std::vector<std::tuple<size_t, size_t, size_t>>& input_chunk_boundaries)"
  - sentencepiece::GetIthChunkBoundaries
  - sentencepiece::GetChunkOfInput
  - sentencepiece::FindMatchingToken
  - "absl::Status ReparseBadRanges(\n    const std::vector<size_t>& bad_joins, const
    absl::string_view input,\n    const absl::string_view normalized, absl::Span<const
    size_t> norm_to_orig,\n    Arena& arena, const ModelInterface& model,\n    absl::FunctionRef<absl::Status(\n
    \       absl::string_view input, absl::string_view normalized,\n        absl::Span<const
    size_t> norm_to_orig, const EncodeResult& result,\n        SentencePieceText*
    spt, size_t input_start_offset)>\n        populate_sentence_piece_text,\n    std::vector<SentencePieceText*>&
    spt_chunks,\n    std::vector<std::tuple<size_t, size_t, size_t>>& input_chunk_boundaries)"
  - sentencepiece::SentencePieceProcessor::ParallelEncodeInternal
  - sentencepiece::SentencePieceProcessor::ParallelEncode
  - sentencepiece::SentencePieceProcessor::ParallelEncode
  - sentencepiece::SentencePieceProcessor::ParallelEncode
  - RET_CHECK_OR_RETURN_DEFAULT
  - sentencepiece::SentencePieceProcessor::Normalize
  - sentencepiece::SentencePieceProcessor::Normalize
  - sentencepiece::SentencePieceProcessor::Normalize
  - sentencepiece::SentencePieceProcessor::GetPieceSize
  - sentencepiece::SentencePieceProcessor::PieceToId
  - '& SentencePieceProcessor::IdToPiece(int id) const'
  - sentencepiece::SentencePieceProcessor::SafeIdToPiece
  - sentencepiece::SentencePieceProcessor::GetScore
  - sentencepiece::SentencePieceProcessor::IsControl
  - sentencepiece::SentencePieceProcessor::IsUnknown
  - sentencepiece::SentencePieceProcessor::IsUnused
  - sentencepiece::SentencePieceProcessor::IsByte
  - sentencepiece::SentencePieceProcessor::unk_id
  - sentencepiece::SentencePieceProcessor::bos_id
  - sentencepiece::SentencePieceProcessor::eos_id
  - sentencepiece::SentencePieceProcessor::pad_id
  - sentencepiece::SentencePieceProcessor::ApplyExtraOptions
  - sentencepiece::SentencePieceProcessor::HasUnkPieceOption
  - sentencepiece::SentencePieceProcessor::ParseExtraOptions
  - sentencepiece::SentencePieceProcessor::SetModel
  - sentencepiece::SentencePieceProcessor::SetNormalizer
  - '& SentencePieceProcessor::model_proto() const'
  - sentencepiece::SentencePieceProcessor::serialized_model_proto
  - sentencepiece::SentencePieceProcessor::EncodeOptimized
  - sentencepiece::SentencePieceProcessor::DecodeOptimized
  - sentencepiece::io::LoadModelProto
  - sentencepiece::io::SaveModelProto
  - sentencepiece::io::LoadModelProto
  - sentencepiece::io::SaveModelProto
  source_file: /src/sentencepiece/src/sentencepiece_processor.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::normalizer::Normalizer::SetPrefixMatcher
  - sentencepiece::normalizer::Normalizer::status
  - sentencepiece::normalizer::Normalizer::SetPrefixMatcher
  - sentencepiece::normalizer::Normalizer::status
  source_file: /src/sentencepiece/src/normalizer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ABSL_FLAG
  - ShutdownLibrary
  source_file: /src/sentencepiece/src/init.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::TEST
  - sentencepiece::TEST
  source_file: /src/sentencepiece/src/trainer_factory_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::character::Trainer::Train
  - sentencepiece::character::Trainer::Train
  - sentencepiece::character::Trainer::Train
  - sentencepiece::character::Trainer::Train
  source_file: /src/sentencepiece/src/char_model_trainer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::unigram::Digamma
  - sentencepiece::unigram::ToLogProb
  - sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
  - sentencepiece::unigram::BoundedPriorityQueue::Push
  - sentencepiece::unigram::BoundedPriorityQueue::Get
  - sentencepiece::unigram::BoundedPriorityQueue::Gc
  - sentencepiece::unigram::BoundedPriorityQueue::Sort
  - sentencepiece::unigram::Digamma
  - sentencepiece::unigram::ToLogProb
  - sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
  - sentencepiece::unigram::BoundedPriorityQueue::Push
  - sentencepiece::unigram::BoundedPriorityQueue::Get
  - sentencepiece::unigram::BoundedPriorityQueue::Gc
  - sentencepiece::unigram::BoundedPriorityQueue::Sort
  - sentencepiece::unigram::TrainerModel::TrainerModel
  - TrainerModel::~TrainerModel()
  - '& TrainerModel::GetSentencePieces() const'
  - sentencepiece::unigram::TrainerModel::SetSentencePieces
  - sentencepiece::unigram::Trainer::MakeSeedSentencePieces
  - sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
  - sentencepiece::unigram::Trainer::RunEStep
  - sentencepiece::unigram::Trainer::RunMStep
  - sentencepiece::unigram::Trainer::PruneSentencePieces
  - sentencepiece::unigram::Trainer::FinalizeSentencePieces
  - sentencepiece::unigram::Trainer::Train
  - sentencepiece::unigram::Digamma
  - sentencepiece::unigram::ToLogProb
  - sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
  - sentencepiece::unigram::BoundedPriorityQueue::Push
  - sentencepiece::unigram::BoundedPriorityQueue::Get
  - sentencepiece::unigram::BoundedPriorityQueue::Gc
  - sentencepiece::unigram::BoundedPriorityQueue::Sort
  - sentencepiece::unigram::Digamma
  - sentencepiece::unigram::ToLogProb
  - sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
  - sentencepiece::unigram::BoundedPriorityQueue::Push
  - sentencepiece::unigram::BoundedPriorityQueue::Get
  - sentencepiece::unigram::BoundedPriorityQueue::Gc
  - sentencepiece::unigram::BoundedPriorityQueue::Sort
  - sentencepiece::unigram::TrainerModel::TrainerModel
  - TrainerModel::~TrainerModel()
  - '& TrainerModel::GetSentencePieces() const'
  - sentencepiece::unigram::TrainerModel::SetSentencePieces
  - sentencepiece::unigram::Trainer::MakeSeedSentencePieces
  - sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
  - sentencepiece::unigram::Trainer::RunEStep
  - sentencepiece::unigram::Trainer::RunMStep
  - sentencepiece::unigram::Trainer::PruneSentencePieces
  - sentencepiece::unigram::Trainer::FinalizeSentencePieces
  - sentencepiece::unigram::Trainer::Train
  - sentencepiece::unigram::Digamma
  - sentencepiece::unigram::ToLogProb
  - sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
  - sentencepiece::unigram::BoundedPriorityQueue::Push
  - sentencepiece::unigram::BoundedPriorityQueue::Get
  - sentencepiece::unigram::BoundedPriorityQueue::Gc
  - sentencepiece::unigram::BoundedPriorityQueue::Sort
  - sentencepiece::unigram::Digamma
  - sentencepiece::unigram::ToLogProb
  - sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
  - sentencepiece::unigram::BoundedPriorityQueue::Push
  - sentencepiece::unigram::BoundedPriorityQueue::Get
  - sentencepiece::unigram::BoundedPriorityQueue::Gc
  - sentencepiece::unigram::BoundedPriorityQueue::Sort
  - sentencepiece::unigram::TrainerModel::TrainerModel
  - TrainerModel::~TrainerModel()
  - '& TrainerModel::GetSentencePieces() const'
  - sentencepiece::unigram::TrainerModel::SetSentencePieces
  - sentencepiece::unigram::Trainer::MakeSeedSentencePieces
  - sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
  - sentencepiece::unigram::Trainer::RunEStep
  - sentencepiece::unigram::Trainer::RunMStep
  - sentencepiece::unigram::Trainer::PruneSentencePieces
  - sentencepiece::unigram::Trainer::FinalizeSentencePieces
  - sentencepiece::unigram::Trainer::Train
  - sentencepiece::unigram::Digamma
  - sentencepiece::unigram::ToLogProb
  - sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
  - sentencepiece::unigram::BoundedPriorityQueue::Push
  - sentencepiece::unigram::BoundedPriorityQueue::Get
  - sentencepiece::unigram::BoundedPriorityQueue::Gc
  - sentencepiece::unigram::BoundedPriorityQueue::Sort
  - sentencepiece::unigram::Digamma
  - sentencepiece::unigram::ToLogProb
  - sentencepiece::unigram::BoundedPriorityQueue::BoundedPriorityQueue
  - sentencepiece::unigram::BoundedPriorityQueue::Push
  - sentencepiece::unigram::BoundedPriorityQueue::Get
  - sentencepiece::unigram::BoundedPriorityQueue::Gc
  - sentencepiece::unigram::BoundedPriorityQueue::Sort
  - sentencepiece::unigram::TrainerModel::TrainerModel
  - TrainerModel::~TrainerModel()
  - '& TrainerModel::GetSentencePieces() const'
  - sentencepiece::unigram::TrainerModel::SetSentencePieces
  - sentencepiece::unigram::Trainer::MakeSeedSentencePieces
  - sentencepiece::unigram::Trainer::MakeSeedSentencePiecesInternal
  - sentencepiece::unigram::Trainer::RunEStep
  - sentencepiece::unigram::Trainer::RunMStep
  - sentencepiece::unigram::Trainer::PruneSentencePieces
  - sentencepiece::unigram::Trainer::FinalizeSentencePieces
  - sentencepiece::unigram::Trainer::Train
  source_file: /src/sentencepiece/src/unigram_model_trainer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::pretokenizer::MockPretokenizer::MockPretokenizer
  - ~MockPretokenizer()
  - sentencepiece::pretokenizer::MockPretokenizer::Tokenize
  - sentencepiece::pretokenizer::MockPretokenizer::status
  - sentencepiece::pretokenizer::MockPretokenizer::SetOutput
  - sentencepiece::pretokenizer::TEST
  - sentencepiece::pretokenizer::MockPretokenizer::MockPretokenizer
  - ~MockPretokenizer()
  - sentencepiece::pretokenizer::MockPretokenizer::Tokenize
  - sentencepiece::pretokenizer::MockPretokenizer::status
  - sentencepiece::pretokenizer::MockPretokenizer::SetOutput
  - sentencepiece::pretokenizer::TEST
  - sentencepiece::pretokenizer::MockPretokenizer::MockPretokenizer
  - ~MockPretokenizer()
  - sentencepiece::pretokenizer::MockPretokenizer::Tokenize
  - sentencepiece::pretokenizer::MockPretokenizer::status
  - sentencepiece::pretokenizer::MockPretokenizer::SetOutput
  - sentencepiece::pretokenizer::TEST
  - sentencepiece::pretokenizer::MockPretokenizer::MockPretokenizer
  - ~MockPretokenizer()
  - sentencepiece::pretokenizer::MockPretokenizer::Tokenize
  - sentencepiece::pretokenizer::MockPretokenizer::status
  - sentencepiece::pretokenizer::MockPretokenizer::SetOutput
  - sentencepiece::pretokenizer::TEST
  source_file: /src/sentencepiece/src/pretokenizer_for_training_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::bpe::Trainer::Trainer
  - sentencepiece::bpe::Trainer::IsBigram
  - sentencepiece::bpe::Trainer::Symbol
  - sentencepiece::bpe::Trainer::EncodePos
  - sentencepiece::bpe::Trainer::DecodePos
  - operator()(const QueueEntry& e1, const QueueEntry& e2) const
  - sentencepiece::bpe::Trainer::Trainer
  - sentencepiece::bpe::Trainer::IsBigram
  - sentencepiece::bpe::Trainer::Symbol
  - sentencepiece::bpe::Trainer::EncodePos
  - sentencepiece::bpe::Trainer::DecodePos
  - operator()(const QueueEntry& e1, const QueueEntry& e2) const
  source_file: /src/sentencepiece/src/bpe_model_trainer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* left'
        type: Symbol
      - name: '* right'
        type: Symbol
      - name: chars
        type: string_util::UnicodeText
      - name: fp
        type: uint64_t
      - name: freq
        type: uint64_t
      - name: is_unk
        type: bool
      - name: active
        type: bool
      - name: pending
        type: bool
      - name: needs_recomputation
        type: bool
      - name: positions
        type: absl::btree_set<uint64_t>
      - name: ToString() const
        type: std::string
      item_type: struct
      name: Symbol
      pos:
        line_end: 74
        line_start: 53
        source_file: /src/sentencepiece/src/bpe_model_trainer.h
    - fields:
      - name: sid
        type: int
      - name: left
        type: int
      - name: right
        type: int
      item_type: struct
      name: Position
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/sentencepiece/src/bpe_model_trainer.h
    - fields:
      - name: freq
        type: uint64_t
      - name: '* symbol'
        type: Symbol
      item_type: struct
      name: QueueEntry
      pos:
        line_end: 135
        line_start: 132
        source_file: /src/sentencepiece/src/bpe_model_trainer.h
    - fields: []
      item_type: struct
      name: QueueEntryComparator
      pos:
        line_end: 147
        line_start: 137
        source_file: /src/sentencepiece/src/bpe_model_trainer.h
    - fields:
      - name: '* left'
        type: Symbol
      - name: '* right'
        type: Symbol
      - name: chars
        type: string_util::UnicodeText
      - name: fp
        type: uint64_t
      - name: freq
        type: uint64_t
      - name: is_unk
        type: bool
      - name: active
        type: bool
      - name: pending
        type: bool
      - name: needs_recomputation
        type: bool
      - name: positions
        type: absl::btree_set<uint64_t>
      - name: ToString() const
        type: std::string
      item_type: struct
      name: Symbol
      pos:
        line_end: 74
        line_start: 53
        source_file: /src/sentencepiece/src/bpe_model_trainer.h
    - fields:
      - name: sid
        type: int
      - name: left
        type: int
      - name: right
        type: int
      item_type: struct
      name: Position
      pos:
        line_end: 80
        line_start: 76
        source_file: /src/sentencepiece/src/bpe_model_trainer.h
    - fields:
      - name: freq
        type: uint64_t
      - name: '* symbol'
        type: Symbol
      item_type: struct
      name: QueueEntry
      pos:
        line_end: 135
        line_start: 132
        source_file: /src/sentencepiece/src/bpe_model_trainer.h
    - fields: []
      item_type: struct
      name: QueueEntryComparator
      pos:
        line_end: 147
        line_start: 137
        source_file: /src/sentencepiece/src/bpe_model_trainer.h
    typedefs: []
    union: []
- function_names:
  - sentencepiece::character::RunTrainer
  - sentencepiece::character::TEST
  - sentencepiece::character::RunTrainer
  - sentencepiece::character::TEST
  - sentencepiece::character::RunTrainer
  - sentencepiece::character::TEST
  - sentencepiece::character::RunTrainer
  - sentencepiece::character::TEST
  - sentencepiece::character::RunTrainer
  - sentencepiece::character::TEST
  - sentencepiece::character::RunTrainer
  - sentencepiece::character::TEST
  - sentencepiece::character::RunTrainer
  - sentencepiece::character::TEST
  - sentencepiece::character::RunTrainer
  - sentencepiece::character::TEST
  source_file: /src/sentencepiece/src/char_model_trainer_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/char_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/char_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/char_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/char_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/char_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/char_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/char_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/char_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::character::Model::Model
  - Model::~Model()
  - sentencepiece::character::Model::Encode
  - sentencepiece::character::Model::Model
  - Model::~Model()
  - sentencepiece::character::Model::Encode
  - sentencepiece::character::Model::Model
  - Model::~Model()
  - sentencepiece::character::Model::Encode
  - sentencepiece::character::Model::Model
  - Model::~Model()
  - sentencepiece::character::Model::Encode
  source_file: /src/sentencepiece/src/char_model.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/sentencepiece/src/word_model.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::bpe::MakeBaseModelProto
  - sentencepiece::bpe::AddPiece
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::MakeBaseModelProto
  - sentencepiece::bpe::AddPiece
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::MakeBaseModelProto
  - sentencepiece::bpe::AddPiece
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::MakeBaseModelProto
  - sentencepiece::bpe::AddPiece
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::MakeBaseModelProto
  - sentencepiece::bpe::AddPiece
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::MakeBaseModelProto
  - sentencepiece::bpe::AddPiece
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::MakeBaseModelProto
  - sentencepiece::bpe::AddPiece
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::MakeBaseModelProto
  - sentencepiece::bpe::AddPiece
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  source_file: /src/sentencepiece/src/bpe_model_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/sentencepiece/src/test_main.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~SentenceIterator()
  - sentencepiece::SentencePieceTrainer::SentencePieceTrainer
  - ~SentencePieceTrainer()
  - ~SentenceIterator()
  - sentencepiece::SentencePieceTrainer::SentencePieceTrainer
  - ~SentencePieceTrainer()
  source_file: /src/sentencepiece/src/sentencepiece_trainer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::Sorted
  - sentencepiece::Sorted
  - ~MultiFileSentenceIterator() override
  - '& value() const override'
  - sentencepiece::TrainerInterface::Train
  - sentencepiece::TrainerInterface::Train
  - sentencepiece::TrainerInterface::status
  - sentencepiece::Sorted
  - sentencepiece::Sorted
  - ~MultiFileSentenceIterator() override
  - '& value() const override'
  - sentencepiece::TrainerInterface::Train
  - sentencepiece::TrainerInterface::Train
  - sentencepiece::TrainerInterface::status
  source_file: /src/sentencepiece/src/trainer_interface.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::TEST
  - sentencepiece::TEST
  source_file: /src/sentencepiece/src/model_factory_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::MockModel::SetEncodeResult
  - sentencepiece::MockModel::SetNBestEncodeResult
  - sentencepiece::MockModel::Encode
  - sentencepiece::MockModel::SampleEncode
  - sentencepiece::MockModel::NBestEncode
  - sentencepiece::MockModel::IsSampleEncodeAvailable
  - sentencepiece::MockModel::IsNBestEncodeAvailable
  - sentencepiece::MockModel::IsControl
  - sentencepiece::MockModel::IsUnknown
  - sentencepiece::MockModel::GetPieceSize
  - sentencepiece::MockModel::PieceToId
  - '& IdToPiece(int id) const override'
  - sentencepiece::MockModel::GetScore
  - sentencepiece::ByteFallbackMockModel::ByteFallbackEnabled
  - sentencepiece::GetSpVec
  - sentencepiece::GetIdVec
  - sentencepiece::GetSpVec
  - sentencepiece::MakeDefaultNormalizerSpec
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::DecodeMockModel::Encode
  - sentencepiece::DecodeMockModel::GetPieceSize
  - sentencepiece::DecodeMockModel::PieceToId
  - '& IdToPiece(int id) const override'
  - sentencepiece::DecodeMockModel::IsUnknown
  - sentencepiece::DecodeMockModel::IsControl
  - sentencepiece::DecodeMockModel::IsByte
  - sentencepiece::DecodeMockModel::GetScore
  - sentencepiece::TEST
  - sentencepiece::DecodeMockModel::Encode
  - sentencepiece::DecodeMockModel::GetPieceSize
  - sentencepiece::DecodeMockModel::PieceToId
  - '& IdToPiece(int id) const override'
  - sentencepiece::DecodeMockModel::IsUnknown
  - sentencepiece::DecodeMockModel::IsControl
  - sentencepiece::DecodeMockModel::IsByte
  - sentencepiece::DecodeMockModel::GetScore
  - sentencepiece::TEST
  - sentencepiece::ByteFallbackDecodeMockModel::Encode
  - sentencepiece::ByteFallbackDecodeMockModel::PieceToId
  - '& IdToPiece(int id) const override'
  - sentencepiece::ByteFallbackDecodeMockModel::GetPieceSize
  - sentencepiece::ByteFallbackDecodeMockModel::IsUnknown
  - sentencepiece::ByteFallbackDecodeMockModel::IsControl
  - sentencepiece::ByteFallbackDecodeMockModel::IsByte
  - sentencepiece::ByteFallbackDecodeMockModel::ByteFallbackEnabled
  - sentencepiece::AddPiece
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::MockModel::SetEncodeResult
  - sentencepiece::MockModel::SetNBestEncodeResult
  - sentencepiece::MockModel::Encode
  - sentencepiece::MockModel::SampleEncode
  - sentencepiece::MockModel::NBestEncode
  - sentencepiece::MockModel::IsSampleEncodeAvailable
  - sentencepiece::MockModel::IsNBestEncodeAvailable
  - sentencepiece::MockModel::IsControl
  - sentencepiece::MockModel::IsUnknown
  - sentencepiece::MockModel::GetPieceSize
  - sentencepiece::MockModel::PieceToId
  - '& IdToPiece(int id) const override'
  - sentencepiece::MockModel::GetScore
  - sentencepiece::ByteFallbackMockModel::ByteFallbackEnabled
  - sentencepiece::GetSpVec
  - sentencepiece::GetIdVec
  - sentencepiece::GetSpVec
  - sentencepiece::MakeDefaultNormalizerSpec
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::DecodeMockModel::Encode
  - sentencepiece::DecodeMockModel::GetPieceSize
  - sentencepiece::DecodeMockModel::PieceToId
  - '& IdToPiece(int id) const override'
  - sentencepiece::DecodeMockModel::IsUnknown
  - sentencepiece::DecodeMockModel::IsControl
  - sentencepiece::DecodeMockModel::IsByte
  - sentencepiece::DecodeMockModel::GetScore
  - sentencepiece::TEST
  - sentencepiece::DecodeMockModel::Encode
  - sentencepiece::DecodeMockModel::GetPieceSize
  - sentencepiece::DecodeMockModel::PieceToId
  - '& IdToPiece(int id) const override'
  - sentencepiece::DecodeMockModel::IsUnknown
  - sentencepiece::DecodeMockModel::IsControl
  - sentencepiece::DecodeMockModel::IsByte
  - sentencepiece::DecodeMockModel::GetScore
  - sentencepiece::TEST
  - sentencepiece::ByteFallbackDecodeMockModel::Encode
  - sentencepiece::ByteFallbackDecodeMockModel::PieceToId
  - '& IdToPiece(int id) const override'
  - sentencepiece::ByteFallbackDecodeMockModel::GetPieceSize
  - sentencepiece::ByteFallbackDecodeMockModel::IsUnknown
  - sentencepiece::ByteFallbackDecodeMockModel::IsControl
  - sentencepiece::ByteFallbackDecodeMockModel::IsByte
  - sentencepiece::ByteFallbackDecodeMockModel::ByteFallbackEnabled
  - sentencepiece::AddPiece
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  source_file: /src/sentencepiece/src/sentencepiece_processor_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/sentencepiece/src/sentencepiece_processor_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/sentencepiece/src/sentencepiece_processor_test.cc
      type_or_value: '"\xe2\x96\x81"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::ModelInterface::ModelInterface
  - sentencepiece::ModelInterface::status
  - '& model_proto() const'
  - sentencepiece::ModelInterface::prefix_matcher
  - sentencepiece::ModelInterface::NBestEncode
  - sentencepiece::ModelInterface::SampleEncode
  - sentencepiece::ModelInterface::IsSampleEncodeAvailable
  - sentencepiece::ModelInterface::IsNBestEncodeAvailable
  - '& IdToPiece(int id) const'
  - sentencepiece::ModelInterface::GetPieceSize
  - sentencepiece::ModelInterface::GetScore
  - sentencepiece::ModelInterface::IsUnknown
  - sentencepiece::ModelInterface::IsControl
  - sentencepiece::ModelInterface::IsUnused
  - sentencepiece::ModelInterface::IsUserDefined
  - sentencepiece::ModelInterface::IsByte
  - sentencepiece::ModelInterface::ByteFallbackEnabled
  - sentencepiece::ModelInterface::VerifyOutputsEquivalent
  - sentencepiece::ModelInterface::GetScoreInlined
  - sentencepiece::ModelInterface::IsUnknownInlined
  - sentencepiece::ModelInterface::IsControlInlined
  - sentencepiece::ModelInterface::IsUnusedInlined
  - sentencepiece::ModelInterface::IsUserDefinedInlined
  - sentencepiece::ModelInterface::IsByteInlined
  - sentencepiece::ModelInterface::IsReservedId
  - sentencepiece::ModelInterface::ModelInterface
  - sentencepiece::ModelInterface::status
  - '& model_proto() const'
  - sentencepiece::ModelInterface::prefix_matcher
  - sentencepiece::ModelInterface::NBestEncode
  - sentencepiece::ModelInterface::SampleEncode
  - sentencepiece::ModelInterface::IsSampleEncodeAvailable
  - sentencepiece::ModelInterface::IsNBestEncodeAvailable
  - '& IdToPiece(int id) const'
  - sentencepiece::ModelInterface::GetPieceSize
  - sentencepiece::ModelInterface::GetScore
  - sentencepiece::ModelInterface::IsUnknown
  - sentencepiece::ModelInterface::IsControl
  - sentencepiece::ModelInterface::IsUnused
  - sentencepiece::ModelInterface::IsUserDefined
  - sentencepiece::ModelInterface::IsByte
  - sentencepiece::ModelInterface::ByteFallbackEnabled
  - sentencepiece::ModelInterface::VerifyOutputsEquivalent
  - sentencepiece::ModelInterface::GetScoreInlined
  - sentencepiece::ModelInterface::IsUnknownInlined
  - sentencepiece::ModelInterface::IsControlInlined
  - sentencepiece::ModelInterface::IsUnusedInlined
  - sentencepiece::ModelInterface::IsUserDefinedInlined
  - sentencepiece::ModelInterface::IsByteInlined
  - sentencepiece::ModelInterface::IsReservedId
  source_file: /src/sentencepiece/src/model_interface.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::CheckVocab
  - sentencepiece::CheckNormalizer
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::VectorIterator::VectorIterator
  - sentencepiece::VectorIterator::done
  - sentencepiece::VectorIterator::Next
  - '& value() const override'
  - sentencepiece::VectorIterator::status
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::CheckVocab
  - sentencepiece::CheckNormalizer
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::VectorIterator::VectorIterator
  - sentencepiece::VectorIterator::done
  - sentencepiece::VectorIterator::Next
  - '& value() const override'
  - sentencepiece::VectorIterator::status
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::CheckVocab
  - sentencepiece::CheckNormalizer
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::VectorIterator::VectorIterator
  - sentencepiece::VectorIterator::done
  - sentencepiece::VectorIterator::Next
  - '& value() const override'
  - sentencepiece::VectorIterator::status
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::CheckVocab
  - sentencepiece::CheckNormalizer
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::VectorIterator::VectorIterator
  - sentencepiece::VectorIterator::done
  - sentencepiece::VectorIterator::Next
  - '& value() const override'
  - sentencepiece::VectorIterator::status
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  source_file: /src/sentencepiece/src/sentencepiece_trainer_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::bpe::Model::Encode
  - sentencepiece::bpe::Model::IsSampleEncodeAvailable
  - sentencepiece::bpe::Model::IsNBestEncodeAvailable
  - sentencepiece::bpe::Model::Encode
  - sentencepiece::bpe::Model::IsSampleEncodeAvailable
  - sentencepiece::bpe::Model::IsNBestEncodeAvailable
  - sentencepiece::bpe::Model::Encode
  - sentencepiece::bpe::Model::IsSampleEncodeAvailable
  - sentencepiece::bpe::Model::IsNBestEncodeAvailable
  - sentencepiece::bpe::Model::Encode
  - sentencepiece::bpe::Model::IsSampleEncodeAvailable
  - sentencepiece::bpe::Model::IsNBestEncodeAvailable
  source_file: /src/sentencepiece/src/bpe_model.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - WPATH
  - WPATH
  - sentencepiece::filesystem::PosixReadableFile::PosixReadableFile
  - ~PosixReadableFile() override
  - sentencepiece::filesystem::PosixReadableFile::status
  - sentencepiece::filesystem::PosixReadableFile::ReadLine
  - sentencepiece::filesystem::PosixReadableFile::ReadAll
  - sentencepiece::filesystem::PosixWritableFile::PosixWritableFile
  - ~PosixWritableFile() override
  - sentencepiece::filesystem::PosixWritableFile::status
  - sentencepiece::filesystem::PosixWritableFile::Write
  - sentencepiece::filesystem::PosixWritableFile::WriteLine
  - sentencepiece::filesystem::NewReadableFile
  - sentencepiece::filesystem::NewWritableFile
  - sentencepiece::filesystem::PosixReadableFile::PosixReadableFile
  - ~PosixReadableFile() override
  - sentencepiece::filesystem::PosixReadableFile::status
  - sentencepiece::filesystem::PosixReadableFile::ReadLine
  - sentencepiece::filesystem::PosixReadableFile::ReadAll
  - sentencepiece::filesystem::PosixWritableFile::PosixWritableFile
  - ~PosixWritableFile() override
  - sentencepiece::filesystem::PosixWritableFile::status
  - sentencepiece::filesystem::PosixWritableFile::Write
  - sentencepiece::filesystem::PosixWritableFile::WriteLine
  - sentencepiece::filesystem::NewReadableFile
  - sentencepiece::filesystem::NewWritableFile
  - sentencepiece::filesystem::PosixReadableFile::PosixReadableFile
  - ~PosixReadableFile() override
  - sentencepiece::filesystem::PosixReadableFile::status
  - sentencepiece::filesystem::PosixReadableFile::ReadLine
  - sentencepiece::filesystem::PosixReadableFile::ReadAll
  - sentencepiece::filesystem::PosixWritableFile::PosixWritableFile
  - ~PosixWritableFile() override
  - sentencepiece::filesystem::PosixWritableFile::status
  - sentencepiece::filesystem::PosixWritableFile::Write
  - sentencepiece::filesystem::PosixWritableFile::WriteLine
  - sentencepiece::filesystem::NewReadableFile
  - sentencepiece::filesystem::NewWritableFile
  - sentencepiece::filesystem::PosixReadableFile::PosixReadableFile
  - ~PosixReadableFile() override
  - sentencepiece::filesystem::PosixReadableFile::status
  - sentencepiece::filesystem::PosixReadableFile::ReadLine
  - sentencepiece::filesystem::PosixReadableFile::ReadAll
  - sentencepiece::filesystem::PosixWritableFile::PosixWritableFile
  - ~PosixWritableFile() override
  - sentencepiece::filesystem::PosixWritableFile::status
  - sentencepiece::filesystem::PosixWritableFile::Write
  - sentencepiece::filesystem::PosixWritableFile::WriteLine
  - sentencepiece::filesystem::NewReadableFile
  - sentencepiece::filesystem::NewWritableFile
  source_file: /src/sentencepiece/src/filesystem.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::ToChar32
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::ToChar32
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  source_file: /src/sentencepiece/src/trainer_interface_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/sentencepiece/src/trainer_interface_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/sentencepiece/src/trainer_interface_test.cc
      type_or_value: '"\xe2\x96\x81"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::filesystem::ReadableFile::ReadableFile
  - sentencepiece::filesystem::ReadableFile::ReadableFile
  - ~ReadableFile()
  - sentencepiece::filesystem::WritableFile::WritableFile
  - sentencepiece::filesystem::WritableFile::WritableFile
  - ~WritableFile()
  - sentencepiece::filesystem::ReadableFile::ReadableFile
  - sentencepiece::filesystem::ReadableFile::ReadableFile
  - ~ReadableFile()
  - sentencepiece::filesystem::WritableFile::WritableFile
  - sentencepiece::filesystem::WritableFile::WritableFile
  - ~WritableFile()
  - sentencepiece::filesystem::ReadableFile::ReadableFile
  - sentencepiece::filesystem::ReadableFile::ReadableFile
  - ~ReadableFile()
  - sentencepiece::filesystem::WritableFile::WritableFile
  - sentencepiece::filesystem::WritableFile::WritableFile
  - ~WritableFile()
  - sentencepiece::filesystem::ReadableFile::ReadableFile
  - sentencepiece::filesystem::ReadableFile::ReadableFile
  - ~ReadableFile()
  - sentencepiece::filesystem::WritableFile::WritableFile
  - sentencepiece::filesystem::WritableFile::WritableFile
  - ~WritableFile()
  source_file: /src/sentencepiece/src/filesystem.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::test::RegisterTest
  - sentencepiece::test::RunAllTests
  - sentencepiece::test::RegisterTest
  - sentencepiece::test::RunAllTests
  - sentencepiece::test::RegisterTest
  - sentencepiece::test::RunAllTests
  - sentencepiece::test::RegisterTest
  - sentencepiece::test::RunAllTests
  source_file: /src/sentencepiece/src/testharness.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*base'
        type: char
      - name: '*name'
        type: char
      - name: (*func)()
        type: void
      item_type: struct
      name: Test
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/sentencepiece/src/testharness.cc
    - fields:
      - name: '*base'
        type: char
      - name: '*name'
        type: char
      - name: (*func)()
        type: void
      item_type: struct
      name: Test
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/sentencepiece/src/testharness.cc
    - fields:
      - name: '*base'
        type: char
      - name: '*name'
        type: char
      - name: (*func)()
        type: void
      item_type: struct
      name: Test
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/sentencepiece/src/testharness.cc
    - fields:
      - name: '*base'
        type: char
      - name: '*name'
        type: char
      - name: (*func)()
        type: void
      item_type: struct
      name: Test
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/sentencepiece/src/testharness.cc
    - fields:
      - name: '*base'
        type: char
      - name: '*name'
        type: char
      - name: (*func)()
        type: void
      item_type: struct
      name: Test
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/sentencepiece/src/testharness.cc
    - fields:
      - name: '*base'
        type: char
      - name: '*name'
        type: char
      - name: (*func)()
        type: void
      item_type: struct
      name: Test
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/sentencepiece/src/testharness.cc
    - fields:
      - name: '*base'
        type: char
      - name: '*name'
        type: char
      - name: (*func)()
        type: void
      item_type: struct
      name: Test
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/sentencepiece/src/testharness.cc
    - fields:
      - name: '*base'
        type: char
      - name: '*name'
        type: char
      - name: (*func)()
        type: void
      item_type: struct
      name: Test
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/sentencepiece/src/testharness.cc
    typedefs: []
    union: []
- function_names: []
  source_file: /src/sentencepiece/src/unicode_script.h
  types:
    enum:
    - enumerators:
      - name: U_Adlam
      - name: U_Brahmi
      - name: U_Devanagari
      - name: U_Hanunoo
      - name: U_Mende_Kikakui
      - name: U_Khudawadi
      - name: U_Old_Italic
      - name: U_Psalter_Pahlavi
      - name: U_Tai_Le
      - name: U_Armenian
      - name: U_Chakma
      - name: U_Gothic
      - name: U_Inscriptional_Parthian
      - name: U_Lisu
      - name: U_Multani
      - name: U_Osage
      - name: U_Siddham
      - name: U_Thaana
      - name: U_Khmer
      - name: U_Marchen
      - name: U_Bhaiksuki
      - name: U_Cyrillic
      - name: U_Ol_Chiki
      - name: U_Phags_Pa
      - name: U_Tagalog
      - name: U_Warang_Citi
      - name: U_Linear_A
      - name: U_Inherited
      - name: U_Carian
      - name: U_Georgian
      - name: U_Mongolian
      - name: U_Old_Turkic
      - name: U_Sharada
      - name: U_Tangut
      - name: U_Batak
      - name: U_Cuneiform
      - name: U_Mandaic
      - name: U_Han
      - name: U_Kayah_Li
      - name: U_Nko
      - name: U_Palmyrene
      - name: U_Syloti_Nagri
      - name: U_Ugaritic
      - name: U_Hiragana
      - name: U_Lepcha
      - name: U_Buhid
      - name: U_Elbasan
      - name: U_Miao
      - name: U_Old_Persian
      - name: U_Samaritan
      - name: U_Takri
      - name: U_Bamum
      - name: U_Common
      - name: U_Gujarati
      - name: U_Kannada
      - name: U_Mahajani
      - name: U_New_Tai_Lue
      - name: U_Osmanya
      - name: U_Sora_Sompeng
      - name: U_Tifinagh
      - name: U_Hatran
      - name: U_Lao
      - name: U_Meroitic_Cursive
      - name: U_Braille
      - name: U_Duployan
      - name: U_Old_North_Arabian
      - name: U_Rejang
      - name: U_Tai_Tham
      - name: U_Avestan
      - name: U_Cham
      - name: U_Grantha
      - name: U_Javanese
      - name: U_Lycian
      - name: U_Myanmar
      - name: U_SignWriting
      - name: U_Thai
      - name: U_Bopomofo
      - name: U_Deseret
      - name: U_Khojki
      - name: U_Meetei_Mayek
      - name: U_Old_Hungarian
      - name: U_Phoenician
      - name: U_Tagbanwa
      - name: U_Yi
      - name: U_Inscriptional_Pahlavi
      - name: U_Anatolian_Hieroglyphs
      - name: U_Arabic
      - name: U_Caucasian_Albanian
      - name: U_Glagolitic
      - name: U_Linear_B
      - name: U_Mro
      - name: U_Oriya
      - name: U_Shavian
      - name: U_Telugu
      - name: U_Hangul
      - name: U_Kharoshthi
      - name: U_Manichaean
      - name: U_Bengali
      - name: U_Cypriot
      - name: U_Ogham
      - name: U_Pau_Cin_Hau
      - name: U_Syriac
      - name: U_Vai
      - name: U_Canadian_Aboriginal
      - name: U_Ethiopic
      - name: U_Imperial_Aramaic
      - name: U_Limbu
      - name: U_Modi
      - name: U_Old_South_Arabian
      - name: U_Saurashtra
      - name: U_Tamil
      - name: U_Bassa_Vah
      - name: U_Coptic
      - name: U_Gurmukhi
      - name: U_Katakana
      - name: U_Malayalam
      - name: U_Newa
      - name: U_Pahawh_Hmong
      - name: U_Sundanese
      - name: U_Tirhuta
      - name: U_Hebrew
      - name: U_Latin
      - name: U_Buginese
      - name: U_Egyptian_Hieroglyphs
      - name: U_Meroitic_Hieroglyphs
      - name: U_Old_Permic
      - name: U_Runic
      - name: U_Tai_Viet
      - name: U_Lydian
      - name: U_Kaithi
      - name: U_Ahom
      - name: U_Balinese
      - name: U_Cherokee
      - name: U_Greek
      - name: U_Nabataean
      - name: U_Sinhala
      - name: U_Tibetan
      item_type: enum
      name: ScriptType
      pos:
        line_end: 159
        line_start: 21
        source_file: /src/sentencepiece/src/unicode_script.h
    - enumerators:
      - name: U_Adlam
      - name: U_Brahmi
      - name: U_Devanagari
      - name: U_Hanunoo
      - name: U_Mende_Kikakui
      - name: U_Khudawadi
      - name: U_Old_Italic
      - name: U_Psalter_Pahlavi
      - name: U_Tai_Le
      - name: U_Armenian
      - name: U_Chakma
      - name: U_Gothic
      - name: U_Inscriptional_Parthian
      - name: U_Lisu
      - name: U_Multani
      - name: U_Osage
      - name: U_Siddham
      - name: U_Thaana
      - name: U_Khmer
      - name: U_Marchen
      - name: U_Bhaiksuki
      - name: U_Cyrillic
      - name: U_Ol_Chiki
      - name: U_Phags_Pa
      - name: U_Tagalog
      - name: U_Warang_Citi
      - name: U_Linear_A
      - name: U_Inherited
      - name: U_Carian
      - name: U_Georgian
      - name: U_Mongolian
      - name: U_Old_Turkic
      - name: U_Sharada
      - name: U_Tangut
      - name: U_Batak
      - name: U_Cuneiform
      - name: U_Mandaic
      - name: U_Han
      - name: U_Kayah_Li
      - name: U_Nko
      - name: U_Palmyrene
      - name: U_Syloti_Nagri
      - name: U_Ugaritic
      - name: U_Hiragana
      - name: U_Lepcha
      - name: U_Buhid
      - name: U_Elbasan
      - name: U_Miao
      - name: U_Old_Persian
      - name: U_Samaritan
      - name: U_Takri
      - name: U_Bamum
      - name: U_Common
      - name: U_Gujarati
      - name: U_Kannada
      - name: U_Mahajani
      - name: U_New_Tai_Lue
      - name: U_Osmanya
      - name: U_Sora_Sompeng
      - name: U_Tifinagh
      - name: U_Hatran
      - name: U_Lao
      - name: U_Meroitic_Cursive
      - name: U_Braille
      - name: U_Duployan
      - name: U_Old_North_Arabian
      - name: U_Rejang
      - name: U_Tai_Tham
      - name: U_Avestan
      - name: U_Cham
      - name: U_Grantha
      - name: U_Javanese
      - name: U_Lycian
      - name: U_Myanmar
      - name: U_SignWriting
      - name: U_Thai
      - name: U_Bopomofo
      - name: U_Deseret
      - name: U_Khojki
      - name: U_Meetei_Mayek
      - name: U_Old_Hungarian
      - name: U_Phoenician
      - name: U_Tagbanwa
      - name: U_Yi
      - name: U_Inscriptional_Pahlavi
      - name: U_Anatolian_Hieroglyphs
      - name: U_Arabic
      - name: U_Caucasian_Albanian
      - name: U_Glagolitic
      - name: U_Linear_B
      - name: U_Mro
      - name: U_Oriya
      - name: U_Shavian
      - name: U_Telugu
      - name: U_Hangul
      - name: U_Kharoshthi
      - name: U_Manichaean
      - name: U_Bengali
      - name: U_Cypriot
      - name: U_Ogham
      - name: U_Pau_Cin_Hau
      - name: U_Syriac
      - name: U_Vai
      - name: U_Canadian_Aboriginal
      - name: U_Ethiopic
      - name: U_Imperial_Aramaic
      - name: U_Limbu
      - name: U_Modi
      - name: U_Old_South_Arabian
      - name: U_Saurashtra
      - name: U_Tamil
      - name: U_Bassa_Vah
      - name: U_Coptic
      - name: U_Gurmukhi
      - name: U_Katakana
      - name: U_Malayalam
      - name: U_Newa
      - name: U_Pahawh_Hmong
      - name: U_Sundanese
      - name: U_Tirhuta
      - name: U_Hebrew
      - name: U_Latin
      - name: U_Buginese
      - name: U_Egyptian_Hieroglyphs
      - name: U_Meroitic_Hieroglyphs
      - name: U_Old_Permic
      - name: U_Runic
      - name: U_Tai_Viet
      - name: U_Lydian
      - name: U_Kaithi
      - name: U_Ahom
      - name: U_Balinese
      - name: U_Cherokee
      - name: U_Greek
      - name: U_Nabataean
      - name: U_Sinhala
      - name: U_Tibetan
      item_type: enum
      name: ScriptType
      pos:
        line_end: 159
        line_start: 21
        source_file: /src/sentencepiece/src/unicode_script.h
    - enumerators:
      - name: U_Adlam
      - name: U_Brahmi
      - name: U_Devanagari
      - name: U_Hanunoo
      - name: U_Mende_Kikakui
      - name: U_Khudawadi
      - name: U_Old_Italic
      - name: U_Psalter_Pahlavi
      - name: U_Tai_Le
      - name: U_Armenian
      - name: U_Chakma
      - name: U_Gothic
      - name: U_Inscriptional_Parthian
      - name: U_Lisu
      - name: U_Multani
      - name: U_Osage
      - name: U_Siddham
      - name: U_Thaana
      - name: U_Khmer
      - name: U_Marchen
      - name: U_Bhaiksuki
      - name: U_Cyrillic
      - name: U_Ol_Chiki
      - name: U_Phags_Pa
      - name: U_Tagalog
      - name: U_Warang_Citi
      - name: U_Linear_A
      - name: U_Inherited
      - name: U_Carian
      - name: U_Georgian
      - name: U_Mongolian
      - name: U_Old_Turkic
      - name: U_Sharada
      - name: U_Tangut
      - name: U_Batak
      - name: U_Cuneiform
      - name: U_Mandaic
      - name: U_Han
      - name: U_Kayah_Li
      - name: U_Nko
      - name: U_Palmyrene
      - name: U_Syloti_Nagri
      - name: U_Ugaritic
      - name: U_Hiragana
      - name: U_Lepcha
      - name: U_Buhid
      - name: U_Elbasan
      - name: U_Miao
      - name: U_Old_Persian
      - name: U_Samaritan
      - name: U_Takri
      - name: U_Bamum
      - name: U_Common
      - name: U_Gujarati
      - name: U_Kannada
      - name: U_Mahajani
      - name: U_New_Tai_Lue
      - name: U_Osmanya
      - name: U_Sora_Sompeng
      - name: U_Tifinagh
      - name: U_Hatran
      - name: U_Lao
      - name: U_Meroitic_Cursive
      - name: U_Braille
      - name: U_Duployan
      - name: U_Old_North_Arabian
      - name: U_Rejang
      - name: U_Tai_Tham
      - name: U_Avestan
      - name: U_Cham
      - name: U_Grantha
      - name: U_Javanese
      - name: U_Lycian
      - name: U_Myanmar
      - name: U_SignWriting
      - name: U_Thai
      - name: U_Bopomofo
      - name: U_Deseret
      - name: U_Khojki
      - name: U_Meetei_Mayek
      - name: U_Old_Hungarian
      - name: U_Phoenician
      - name: U_Tagbanwa
      - name: U_Yi
      - name: U_Inscriptional_Pahlavi
      - name: U_Anatolian_Hieroglyphs
      - name: U_Arabic
      - name: U_Caucasian_Albanian
      - name: U_Glagolitic
      - name: U_Linear_B
      - name: U_Mro
      - name: U_Oriya
      - name: U_Shavian
      - name: U_Telugu
      - name: U_Hangul
      - name: U_Kharoshthi
      - name: U_Manichaean
      - name: U_Bengali
      - name: U_Cypriot
      - name: U_Ogham
      - name: U_Pau_Cin_Hau
      - name: U_Syriac
      - name: U_Vai
      - name: U_Canadian_Aboriginal
      - name: U_Ethiopic
      - name: U_Imperial_Aramaic
      - name: U_Limbu
      - name: U_Modi
      - name: U_Old_South_Arabian
      - name: U_Saurashtra
      - name: U_Tamil
      - name: U_Bassa_Vah
      - name: U_Coptic
      - name: U_Gurmukhi
      - name: U_Katakana
      - name: U_Malayalam
      - name: U_Newa
      - name: U_Pahawh_Hmong
      - name: U_Sundanese
      - name: U_Tirhuta
      - name: U_Hebrew
      - name: U_Latin
      - name: U_Buginese
      - name: U_Egyptian_Hieroglyphs
      - name: U_Meroitic_Hieroglyphs
      - name: U_Old_Permic
      - name: U_Runic
      - name: U_Tai_Viet
      - name: U_Lydian
      - name: U_Kaithi
      - name: U_Ahom
      - name: U_Balinese
      - name: U_Cherokee
      - name: U_Greek
      - name: U_Nabataean
      - name: U_Sinhala
      - name: U_Tibetan
      item_type: enum
      name: ScriptType
      pos:
        line_end: 159
        line_start: 21
        source_file: /src/sentencepiece/src/unicode_script.h
    - enumerators:
      - name: U_Adlam
      - name: U_Brahmi
      - name: U_Devanagari
      - name: U_Hanunoo
      - name: U_Mende_Kikakui
      - name: U_Khudawadi
      - name: U_Old_Italic
      - name: U_Psalter_Pahlavi
      - name: U_Tai_Le
      - name: U_Armenian
      - name: U_Chakma
      - name: U_Gothic
      - name: U_Inscriptional_Parthian
      - name: U_Lisu
      - name: U_Multani
      - name: U_Osage
      - name: U_Siddham
      - name: U_Thaana
      - name: U_Khmer
      - name: U_Marchen
      - name: U_Bhaiksuki
      - name: U_Cyrillic
      - name: U_Ol_Chiki
      - name: U_Phags_Pa
      - name: U_Tagalog
      - name: U_Warang_Citi
      - name: U_Linear_A
      - name: U_Inherited
      - name: U_Carian
      - name: U_Georgian
      - name: U_Mongolian
      - name: U_Old_Turkic
      - name: U_Sharada
      - name: U_Tangut
      - name: U_Batak
      - name: U_Cuneiform
      - name: U_Mandaic
      - name: U_Han
      - name: U_Kayah_Li
      - name: U_Nko
      - name: U_Palmyrene
      - name: U_Syloti_Nagri
      - name: U_Ugaritic
      - name: U_Hiragana
      - name: U_Lepcha
      - name: U_Buhid
      - name: U_Elbasan
      - name: U_Miao
      - name: U_Old_Persian
      - name: U_Samaritan
      - name: U_Takri
      - name: U_Bamum
      - name: U_Common
      - name: U_Gujarati
      - name: U_Kannada
      - name: U_Mahajani
      - name: U_New_Tai_Lue
      - name: U_Osmanya
      - name: U_Sora_Sompeng
      - name: U_Tifinagh
      - name: U_Hatran
      - name: U_Lao
      - name: U_Meroitic_Cursive
      - name: U_Braille
      - name: U_Duployan
      - name: U_Old_North_Arabian
      - name: U_Rejang
      - name: U_Tai_Tham
      - name: U_Avestan
      - name: U_Cham
      - name: U_Grantha
      - name: U_Javanese
      - name: U_Lycian
      - name: U_Myanmar
      - name: U_SignWriting
      - name: U_Thai
      - name: U_Bopomofo
      - name: U_Deseret
      - name: U_Khojki
      - name: U_Meetei_Mayek
      - name: U_Old_Hungarian
      - name: U_Phoenician
      - name: U_Tagbanwa
      - name: U_Yi
      - name: U_Inscriptional_Pahlavi
      - name: U_Anatolian_Hieroglyphs
      - name: U_Arabic
      - name: U_Caucasian_Albanian
      - name: U_Glagolitic
      - name: U_Linear_B
      - name: U_Mro
      - name: U_Oriya
      - name: U_Shavian
      - name: U_Telugu
      - name: U_Hangul
      - name: U_Kharoshthi
      - name: U_Manichaean
      - name: U_Bengali
      - name: U_Cypriot
      - name: U_Ogham
      - name: U_Pau_Cin_Hau
      - name: U_Syriac
      - name: U_Vai
      - name: U_Canadian_Aboriginal
      - name: U_Ethiopic
      - name: U_Imperial_Aramaic
      - name: U_Limbu
      - name: U_Modi
      - name: U_Old_South_Arabian
      - name: U_Saurashtra
      - name: U_Tamil
      - name: U_Bassa_Vah
      - name: U_Coptic
      - name: U_Gurmukhi
      - name: U_Katakana
      - name: U_Malayalam
      - name: U_Newa
      - name: U_Pahawh_Hmong
      - name: U_Sundanese
      - name: U_Tirhuta
      - name: U_Hebrew
      - name: U_Latin
      - name: U_Buginese
      - name: U_Egyptian_Hieroglyphs
      - name: U_Meroitic_Hieroglyphs
      - name: U_Old_Permic
      - name: U_Runic
      - name: U_Tai_Viet
      - name: U_Lydian
      - name: U_Kaithi
      - name: U_Ahom
      - name: U_Balinese
      - name: U_Cherokee
      - name: U_Greek
      - name: U_Nabataean
      - name: U_Sinhala
      - name: U_Tibetan
      item_type: enum
      name: ScriptType
      pos:
        line_end: 159
        line_start: 21
        source_file: /src/sentencepiece/src/unicode_script.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::LoadModelProto
  - sentencepiece::LoadInput
  - sentencepiece::BM_Encode
  - sentencepiece::BM_Encode_ShortLines
  - sentencepiece::BM_Decode
  - sentencepiece::BM_EncodeBotchan_Sequential
  - sentencepiece::BM_EncodeBotchan_Parallel
  - sentencepiece::BM_EncodeBotchan_ShortLines
  - sentencepiece::BM_EncodeWagahaiwaNekodearu_Sequential
  - sentencepiece::BM_EncodeWagahaiwaNekodearu_Parallel
  - sentencepiece::BM_OSSModel_Sequential
  - sentencepiece::BM_OSSModel_Parallel
  - sentencepiece::BM_DecodeBotchan_Ids
  - sentencepiece::BM_DecodeBotchan_Pieces
  - sentencepiece::BM_DecodeWagahaiwaNekodearu_Ids
  - sentencepiece::BM_DecodeOSSModel_Ids
  - sentencepiece::LoadModelProto
  - sentencepiece::LoadInput
  - sentencepiece::BM_Encode
  - sentencepiece::BM_Encode_ShortLines
  - sentencepiece::BM_Decode
  - sentencepiece::BM_EncodeBotchan_Sequential
  - sentencepiece::BM_EncodeBotchan_Parallel
  - sentencepiece::BM_EncodeBotchan_ShortLines
  - sentencepiece::BM_EncodeWagahaiwaNekodearu_Sequential
  - sentencepiece::BM_EncodeWagahaiwaNekodearu_Parallel
  - sentencepiece::BM_OSSModel_Sequential
  - sentencepiece::BM_OSSModel_Parallel
  - sentencepiece::BM_DecodeBotchan_Ids
  - sentencepiece::BM_DecodeBotchan_Pieces
  - sentencepiece::BM_DecodeWagahaiwaNekodearu_Ids
  - sentencepiece::BM_DecodeOSSModel_Ids
  source_file: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
  types:
    enum:
    - enumerators:
      - name: kSequential
        value: '0'
      - name: kParallel
        value: '1'
      item_type: enum
      name: BenchmarkMode
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    - enumerators:
      - name: kIds
        value: '0'
      - name: kPieces
        value: '1'
      item_type: enum
      name: DecodeInputMode
      pos:
        line_end: 130
        line_start: 127
        source_file: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    - enumerators:
      - name: kSequential
        value: '0'
      - name: kParallel
        value: '1'
      item_type: enum
      name: BenchmarkMode
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    - enumerators:
      - name: kIds
        value: '0'
      - name: kPieces
        value: '1'
      item_type: enum
      name: DecodeInputMode
      pos:
        line_end: 130
        line_start: 127
        source_file: /src/sentencepiece/src/sentencepiece_processor_benchmarks_test.cc
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/sentencepiece/src/char_model.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& operator<<(std::ostream& out, const std::vector<T>& v)'
  - sentencepiece::string_util::DecodePOD
  - sentencepiece::string_util::EncodePOD
  - sentencepiece::string_util::IntToHex
  - sentencepiece::string_util::HexToInt
  - sentencepiece::string_util::SimpleItoa
  - sentencepiece::string_util::OneCharLen
  - sentencepiece::string_util::IsTrailByte
  - sentencepiece::string_util::IsValidCodepoint
  - sentencepiece::string_util::DecodeUTF8
  - sentencepiece::string_util::IsValidDecodeUTF8
  - sentencepiece::string_util::DecodePOD
  - sentencepiece::string_util::EncodePOD
  - sentencepiece::string_util::IntToHex
  - sentencepiece::string_util::HexToInt
  - sentencepiece::string_util::SimpleItoa
  - sentencepiece::string_util::OneCharLen
  - sentencepiece::string_util::IsTrailByte
  - sentencepiece::string_util::IsValidCodepoint
  - sentencepiece::string_util::DecodeUTF8
  - sentencepiece::string_util::IsValidDecodeUTF8
  - sentencepiece::port::ContainsKey
  - sentencepiece::port::FindOrDie
  - sentencepiece::port::FindWithDefault
  - sentencepiece::port::InsertIfNotPresent
  - sentencepiece::port::InsertIfNotPresent
  - sentencepiece::port::InsertOrDie
  - sentencepiece::port::ContainsKey
  - sentencepiece::port::FindOrDie
  - sentencepiece::port::FindWithDefault
  - sentencepiece::port::InsertIfNotPresent
  - sentencepiece::port::InsertIfNotPresent
  - sentencepiece::port::InsertOrDie
  - sentencepiece::random::ReservoirSampler::ReservoirSampler
  - sentencepiece::random::ReservoirSampler::ReservoirSampler
  - ~ReservoirSampler()
  - sentencepiece::random::ReservoirSampler::Add
  - sentencepiece::random::ReservoirSampler::total_size
  - sentencepiece::random::ReservoirSampler::ReservoirSampler
  - sentencepiece::random::ReservoirSampler::ReservoirSampler
  - ~ReservoirSampler()
  - sentencepiece::random::ReservoirSampler::Add
  - sentencepiece::random::ReservoirSampler::total_size
  - sentencepiece::util::is_bigendian
  - sentencepiece::util::Swap32
  - sentencepiece::util::JoinPath
  - sentencepiece::util::JoinPath
  - RET_CHECK_EQ
  - RET_CHECK_NE
  - RET_CHECK_GE
  - RET_CHECK_LE
  - RET_CHECK_GT
  - RET_CHECK_LT
  - RET_QCHECK_EQ
  - RET_QCHECK_NE
  - RET_QCHECK_GE
  - RET_QCHECK_LE
  - RET_QCHECK_GT
  - RET_QCHECK_LT
  - sentencepiece::util::is_bigendian
  - sentencepiece::util::Swap32
  - sentencepiece::util::JoinPath
  - sentencepiece::util::JoinPath
  - RET_CHECK_EQ
  - RET_CHECK_NE
  - RET_CHECK_GE
  - RET_CHECK_LE
  - RET_CHECK_GT
  - RET_CHECK_LT
  - RET_QCHECK_EQ
  - RET_QCHECK_NE
  - RET_QCHECK_GE
  - RET_QCHECK_LE
  - RET_QCHECK_GT
  - RET_QCHECK_LT
  - '& operator<<(std::ostream& out, const std::vector<T>& v)'
  - sentencepiece::string_util::DecodePOD
  - sentencepiece::string_util::EncodePOD
  - sentencepiece::string_util::IntToHex
  - sentencepiece::string_util::HexToInt
  - sentencepiece::string_util::SimpleItoa
  - sentencepiece::string_util::OneCharLen
  - sentencepiece::string_util::IsTrailByte
  - sentencepiece::string_util::IsValidCodepoint
  - sentencepiece::string_util::DecodeUTF8
  - sentencepiece::string_util::IsValidDecodeUTF8
  - sentencepiece::string_util::DecodePOD
  - sentencepiece::string_util::EncodePOD
  - sentencepiece::string_util::IntToHex
  - sentencepiece::string_util::HexToInt
  - sentencepiece::string_util::SimpleItoa
  - sentencepiece::string_util::OneCharLen
  - sentencepiece::string_util::IsTrailByte
  - sentencepiece::string_util::IsValidCodepoint
  - sentencepiece::string_util::DecodeUTF8
  - sentencepiece::string_util::IsValidDecodeUTF8
  - sentencepiece::port::ContainsKey
  - sentencepiece::port::FindOrDie
  - sentencepiece::port::FindWithDefault
  - sentencepiece::port::InsertIfNotPresent
  - sentencepiece::port::InsertIfNotPresent
  - sentencepiece::port::InsertOrDie
  - sentencepiece::port::ContainsKey
  - sentencepiece::port::FindOrDie
  - sentencepiece::port::FindWithDefault
  - sentencepiece::port::InsertIfNotPresent
  - sentencepiece::port::InsertIfNotPresent
  - sentencepiece::port::InsertOrDie
  - sentencepiece::random::ReservoirSampler::ReservoirSampler
  - sentencepiece::random::ReservoirSampler::ReservoirSampler
  - ~ReservoirSampler()
  - sentencepiece::random::ReservoirSampler::Add
  - sentencepiece::random::ReservoirSampler::total_size
  - sentencepiece::random::ReservoirSampler::ReservoirSampler
  - sentencepiece::random::ReservoirSampler::ReservoirSampler
  - ~ReservoirSampler()
  - sentencepiece::random::ReservoirSampler::Add
  - sentencepiece::random::ReservoirSampler::total_size
  - sentencepiece::util::is_bigendian
  - sentencepiece::util::Swap32
  - sentencepiece::util::JoinPath
  - sentencepiece::util::JoinPath
  - RET_CHECK_EQ
  - RET_CHECK_NE
  - RET_CHECK_GE
  - RET_CHECK_LE
  - RET_CHECK_GT
  - RET_CHECK_LT
  - RET_QCHECK_EQ
  - RET_QCHECK_NE
  - RET_QCHECK_GE
  - RET_QCHECK_LE
  - RET_QCHECK_GT
  - RET_QCHECK_LT
  - sentencepiece::util::is_bigendian
  - sentencepiece::util::Swap32
  - sentencepiece::util::JoinPath
  - sentencepiece::util::JoinPath
  - RET_CHECK_EQ
  - RET_CHECK_NE
  - RET_CHECK_GE
  - RET_CHECK_LE
  - RET_CHECK_GT
  - RET_CHECK_LT
  - RET_QCHECK_EQ
  - RET_QCHECK_NE
  - RET_QCHECK_GE
  - RET_QCHECK_LE
  - RET_QCHECK_GT
  - RET_QCHECK_LT
  source_file: /src/sentencepiece/src/util.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: return
      pos:
        line_end: 288
        line_start: 283
        source_file: /src/sentencepiece/src/util.h
      type_or_value: "absl::StatusBuilder(::absl::StatusCode::kInternal) \\\n           <<
        __FILE__ << \"(\" << __LINE__ << \") [\" << #condition << \"] \""
    - item_type: preproc_def
      name: return
      pos:
        line_end: 288
        line_start: 283
        source_file: /src/sentencepiece/src/util.h
      type_or_value: "absl::StatusBuilder(::absl::StatusCode::kInternal) \\\n           <<
        __FILE__ << \"(\" << __LINE__ << \") [\" << #condition << \"] \""
    - item_type: preproc_def
      name: return
      pos:
        line_end: 288
        line_start: 283
        source_file: /src/sentencepiece/src/util.h
      type_or_value: "absl::StatusBuilder(::absl::StatusCode::kInternal) \\\n           <<
        __FILE__ << \"(\" << __LINE__ << \") [\" << #condition << \"] \""
    - item_type: preproc_def
      name: return
      pos:
        line_end: 288
        line_start: 283
        source_file: /src/sentencepiece/src/util.h
      type_or_value: "absl::StatusBuilder(::absl::StatusCode::kInternal) \\\n           <<
        __FILE__ << \"(\" << __LINE__ << \") [\" << #condition << \"] \""
    structs:
    - fields:
      - name: unicode_text
        type: UnicodeText
      - name: offsets
        type: std::vector<uint32_t>
      item_type: struct
      name: UnicodeTextAndOffsets
      pos:
        line_end: 149
        line_start: 146
        source_file: /src/sentencepiece/src/util.h
    - fields:
      - name: unicode_text
        type: UnicodeText
      - name: offsets
        type: std::vector<uint32_t>
      item_type: struct
      name: UnicodeTextAndOffsets
      pos:
        line_end: 149
        line_start: 146
        source_file: /src/sentencepiece/src/util.h
    - fields:
      - name: unicode_text
        type: UnicodeText
      - name: offsets
        type: std::vector<uint32_t>
      item_type: struct
      name: UnicodeTextAndOffsets
      pos:
        line_end: 149
        line_start: 146
        source_file: /src/sentencepiece/src/util.h
    - fields:
      - name: unicode_text
        type: UnicodeText
      - name: offsets
        type: std::vector<uint32_t>
      item_type: struct
      name: UnicodeTextAndOffsets
      pos:
        line_end: 149
        line_start: 146
        source_file: /src/sentencepiece/src/util.h
    typedefs: []
    union: []
- function_names:
  - sentencepiece::ModelFactory::Create
  - sentencepiece::ModelFactory::Create
  source_file: /src/sentencepiece/src/model_factory.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::MakeBaseModelProto
  - sentencepiece::AddPiece
  - sentencepiece::AddBytePiece
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::RandomString
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::MakeBaseModelProto
  - sentencepiece::AddPiece
  - sentencepiece::AddBytePiece
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::RandomString
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::MakeBaseModelProto
  - sentencepiece::AddPiece
  - sentencepiece::AddBytePiece
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::RandomString
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::MakeBaseModelProto
  - sentencepiece::AddPiece
  - sentencepiece::AddBytePiece
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::RandomString
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  source_file: /src/sentencepiece/src/model_interface_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/sentencepiece/src/model_interface_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/sentencepiece/src/model_interface_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/sentencepiece/src/model_interface_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/sentencepiece/src/model_interface_test.cc
      type_or_value: '"\xe2\x96\x81"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::unicode_script::GetScriptType
  - sentencepiece::unicode_script::TEST
  - sentencepiece::unicode_script::GetScriptType
  - sentencepiece::unicode_script::TEST
  - sentencepiece::unicode_script::GetScriptType
  - sentencepiece::unicode_script::TEST
  - sentencepiece::unicode_script::GetScriptType
  - sentencepiece::unicode_script::TEST
  source_file: /src/sentencepiece/src/unicode_script_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::unicode_script::InitTable
  - sentencepiece::unicode_script::InitTable
  - sentencepiece::unicode_script::InitTable
  - sentencepiece::unicode_script::InitTable
  - sentencepiece::unicode_script::InitTable
  - sentencepiece::unicode_script::InitTable
  - sentencepiece::unicode_script::InitTable
  - sentencepiece::unicode_script::InitTable
  source_file: /src/sentencepiece/src/unicode_script_map.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ABSL_FLAG
  source_file: /src/sentencepiece/src/spm_encode_main.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/sentencepiece/src/spm_train_main.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::PreTokenize
  - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
  - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
  - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::PreTokenize
  - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
  - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
  - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::PreTokenize
  - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
  - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
  - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::PreTokenize
  - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Preprocess
  - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::Postprocess
  source_file: /src/sentencepiece/src/pretokenizer_for_training.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::RunTrainer
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::RunTrainer
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::RunTrainer
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::RunTrainer
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  source_file: /src/sentencepiece/src/unigram_model_trainer_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/unigram_model_trainer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/unigram_model_trainer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/unigram_model_trainer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/unigram_model_trainer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    structs:
    - fields:
      - name: sentence_pieces
        type: std::string
      - name: seed_pieces_and_probs
        type: std::vector<std::pair<std::string, float>>
      item_type: struct
      name: TrainerResult
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/sentencepiece/src/unigram_model_trainer_test.cc
    - fields:
      - name: sentence_pieces
        type: std::string
      - name: seed_pieces_and_probs
        type: std::vector<std::pair<std::string, float>>
      item_type: struct
      name: TrainerResult
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/sentencepiece/src/unigram_model_trainer_test.cc
    - fields:
      - name: sentence_pieces
        type: std::string
      - name: seed_pieces_and_probs
        type: std::vector<std::pair<std::string, float>>
      item_type: struct
      name: TrainerResult
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/sentencepiece/src/unigram_model_trainer_test.cc
    - fields:
      - name: sentence_pieces
        type: std::string
      - name: seed_pieces_and_probs
        type: std::vector<std::pair<std::string, float>>
      item_type: struct
      name: TrainerResult
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/sentencepiece/src/unigram_model_trainer_test.cc
    typedefs: []
    union: []
- function_names:
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::GetTokenized
  - sentencepiece::unigram::InsertWithScore
  - sentencepiece::unigram::InsertWithScoreAndId
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::MakeBaseModelProto
  - sentencepiece::unigram::AddPiece
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::GetTokenized
  - sentencepiece::unigram::InsertWithScore
  - sentencepiece::unigram::InsertWithScoreAndId
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::MakeBaseModelProto
  - sentencepiece::unigram::AddPiece
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::GetTokenized
  - sentencepiece::unigram::InsertWithScore
  - sentencepiece::unigram::InsertWithScoreAndId
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::MakeBaseModelProto
  - sentencepiece::unigram::AddPiece
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::GetTokenized
  - sentencepiece::unigram::InsertWithScore
  - sentencepiece::unigram::InsertWithScoreAndId
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::MakeBaseModelProto
  - sentencepiece::unigram::AddPiece
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  - sentencepiece::unigram::TEST
  source_file: /src/sentencepiece/src/unigram_model_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::model::FreeList::FreeList
  - sentencepiece::model::FreeList::FreeList
  - ~FreeList()
  - sentencepiece::model::FreeList::FreeList
  - '& operator=(const FreeList&)'
  - sentencepiece::model::FreeList::FreeList
  - '& operator=(FreeList&& other) noexcept'
  - sentencepiece::model::FreeList::Free
  - sentencepiece::model::FreeList::size
  - sentencepiece::model::FreeList::Allocate
  - sentencepiece::model::FreeList::FreeList
  - sentencepiece::model::FreeList::FreeList
  - ~FreeList()
  - sentencepiece::model::FreeList::FreeList
  - '& operator=(const FreeList&)'
  - sentencepiece::model::FreeList::FreeList
  - '& operator=(FreeList&& other) noexcept'
  - sentencepiece::model::FreeList::Free
  - sentencepiece::model::FreeList::size
  - sentencepiece::model::FreeList::Allocate
  - sentencepiece::model::FreeList::FreeList
  - sentencepiece::model::FreeList::FreeList
  - ~FreeList()
  - sentencepiece::model::FreeList::FreeList
  - '& operator=(const FreeList&)'
  - sentencepiece::model::FreeList::FreeList
  - '& operator=(FreeList&& other) noexcept'
  - sentencepiece::model::FreeList::Free
  - sentencepiece::model::FreeList::size
  - sentencepiece::model::FreeList::Allocate
  - sentencepiece::model::FreeList::FreeList
  - sentencepiece::model::FreeList::FreeList
  - ~FreeList()
  - sentencepiece::model::FreeList::FreeList
  - '& operator=(const FreeList&)'
  - sentencepiece::model::FreeList::FreeList
  - '& operator=(FreeList&& other) noexcept'
  - sentencepiece::model::FreeList::Free
  - sentencepiece::model::FreeList::size
  - sentencepiece::model::FreeList::Allocate
  source_file: /src/sentencepiece/src/freelist.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::bpe::RunTrainer
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::RunTrainer
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::RunTrainer
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::RunTrainer
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::RunTrainer
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::RunTrainer
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::RunTrainer
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::RunTrainer
  - sentencepiece::bpe::TEST
  - sentencepiece::bpe::TEST
  source_file: /src/sentencepiece/src/bpe_model_trainer_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/bpe_model_trainer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/bpe_model_trainer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/bpe_model_trainer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/bpe_model_trainer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/bpe_model_trainer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/bpe_model_trainer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/bpe_model_trainer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/bpe_model_trainer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/sentencepiece/src/spm_decode_main.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::ThreadPool::ThreadPool
  - DEFINE_SPP_DIRECT_FUNC_IMPL
  - sentencepiece::SentencePieceProcessor::EncodeAsPieces
  - sentencepiece::SentencePieceProcessor::EncodeAsIds
  - sentencepiece::SentencePieceProcessor::NBestEncodeAsPieces
  - sentencepiece::SentencePieceProcessor::NBestEncodeAsIds
  - sentencepiece::SentencePieceProcessor::SampleEncodeAsPieces
  - sentencepiece::SentencePieceProcessor::SampleEncodeAsIds
  - sentencepiece::SentencePieceProcessor::ParallelEncodeAsPieces
  - sentencepiece::SentencePieceProcessor::ParallelEncodeAsIds
  - sentencepiece::SentencePieceProcessor::DecodePieces
  - sentencepiece::SentencePieceProcessor::DecodeIds
  - sentencepiece::ThreadPool::ThreadPool
  - DEFINE_SPP_DIRECT_FUNC_IMPL
  - sentencepiece::SentencePieceProcessor::EncodeAsPieces
  - sentencepiece::SentencePieceProcessor::EncodeAsIds
  - sentencepiece::SentencePieceProcessor::NBestEncodeAsPieces
  - sentencepiece::SentencePieceProcessor::NBestEncodeAsIds
  - sentencepiece::SentencePieceProcessor::SampleEncodeAsPieces
  - sentencepiece::SentencePieceProcessor::SampleEncodeAsIds
  - sentencepiece::SentencePieceProcessor::ParallelEncodeAsPieces
  - sentencepiece::SentencePieceProcessor::ParallelEncodeAsIds
  - sentencepiece::SentencePieceProcessor::DecodePieces
  - sentencepiece::SentencePieceProcessor::DecodeIds
  source_file: /src/sentencepiece/src/sentencepiece_processor.h
  types:
    enum:
    - enumerators:
      - name: REVERSE
      - name: BOS
      - name: EOS
      - name: UNK_PIECE
      item_type: enum
      name: ExtraOption
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/sentencepiece/src/sentencepiece_processor.h
    - enumerators:
      - name: REVERSE
      - name: BOS
      - name: EOS
      - name: UNK_PIECE
      item_type: enum
      name: ExtraOption
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/sentencepiece/src/sentencepiece_processor.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FRIEND_TEST
  - RETURN_IF_ERROR
  source_file: /src/sentencepiece/src/common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::unigram::Model::Model
  - sentencepiece::unigram::Model::IsSampleEncodeAvailable
  - sentencepiece::unigram::Model::IsNBestEncodeAvailable
  - sentencepiece::unigram::Model::min_score
  - sentencepiece::unigram::Model::Model
  - sentencepiece::unigram::Model::IsSampleEncodeAvailable
  - sentencepiece::unigram::Model::IsNBestEncodeAvailable
  - sentencepiece::unigram::Model::min_score
  - sentencepiece::unigram::Model::Model
  - sentencepiece::unigram::Model::IsSampleEncodeAvailable
  - sentencepiece::unigram::Model::IsNBestEncodeAvailable
  - sentencepiece::unigram::Model::min_score
  - sentencepiece::unigram::Model::Model
  - sentencepiece::unigram::Model::IsSampleEncodeAvailable
  - sentencepiece::unigram::Model::IsNBestEncodeAvailable
  - sentencepiece::unigram::Model::min_score
  source_file: /src/sentencepiece/src/unigram_model.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: piece
        type: absl::string_view
      - name: pos
        type: uint32_t
      - name: length
        type: uint32_t
      - name: node_id
        type: uint32_t
      - name: id
        type: int
      - name: score
        type: float
      - name: backtrace_score
        type: float
      - name: '* prev'
        type: Node
      - name: DebugString() const
        type: std::string
      item_type: struct
      name: Node
      pos:
        line_end: 49
        line_start: 38
        source_file: /src/sentencepiece/src/unigram_model.h
    - fields:
      - name: piece
        type: absl::string_view
      - name: pos
        type: uint32_t
      - name: length
        type: uint32_t
      - name: node_id
        type: uint32_t
      - name: id
        type: int
      - name: score
        type: float
      - name: backtrace_score
        type: float
      - name: '* prev'
        type: Node
      - name: DebugString() const
        type: std::string
      item_type: struct
      name: Node
      pos:
        line_end: 49
        line_start: 38
        source_file: /src/sentencepiece/src/unigram_model.h
    - fields:
      - name: piece
        type: absl::string_view
      - name: pos
        type: uint32_t
      - name: length
        type: uint32_t
      - name: node_id
        type: uint32_t
      - name: id
        type: int
      - name: score
        type: float
      - name: backtrace_score
        type: float
      - name: '* prev'
        type: Node
      - name: DebugString() const
        type: std::string
      item_type: struct
      name: Node
      pos:
        line_end: 49
        line_start: 38
        source_file: /src/sentencepiece/src/unigram_model.h
    - fields:
      - name: piece
        type: absl::string_view
      - name: pos
        type: uint32_t
      - name: length
        type: uint32_t
      - name: node_id
        type: uint32_t
      - name: id
        type: int
      - name: score
        type: float
      - name: backtrace_score
        type: float
      - name: '* prev'
        type: Node
      - name: DebugString() const
        type: std::string
      item_type: struct
      name: Node
      pos:
        line_end: 49
        line_start: 38
        source_file: /src/sentencepiece/src/unigram_model.h
    typedefs: []
    union: []
- function_names:
  - sentencepiece::word::Trainer::Train
  - sentencepiece::word::Trainer::Train
  - sentencepiece::word::Trainer::Train
  - sentencepiece::word::Trainer::Train
  source_file: /src/sentencepiece/src/word_model_trainer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::unigram::LogSumExp
  - sentencepiece::unigram::GetUserDefinedScore
  - sentencepiece::unigram::Gumbel
  - sentencepiece::unigram::LogSumExp
  - sentencepiece::unigram::GetUserDefinedScore
  - sentencepiece::unigram::Gumbel
  - sentencepiece::unigram::Lattice::Lattice
  - Lattice::~Lattice()
  - '&Lattice::begin_nodes(int pos) const'
  - '&Lattice::end_nodes(int pos) const'
  - sentencepiece::unigram::Lattice::size
  - sentencepiece::unigram::Lattice::utf8_size
  - sentencepiece::unigram::Lattice::sentence
  - sentencepiece::unigram::Lattice::surface
  - sentencepiece::unigram::Lattice::bos_node
  - sentencepiece::unigram::Lattice::eos_node
  - sentencepiece::unigram::Lattice::NewNode
  - sentencepiece::unigram::Lattice::Clear
  - sentencepiece::unigram::Lattice::SetSentence
  - sentencepiece::unigram::Lattice::Insert
  - sentencepiece::unigram::Lattice::Viterbi
  - sentencepiece::unigram::Lattice::ForwardAlgorithm
  - sentencepiece::unigram::Lattice::BackwardAlgorithm
  - sentencepiece::unigram::Lattice::PopulateMarginal
  - sentencepiece::unigram::CloneHypAndDependents
  - sentencepiece::unigram::CloneHypAndDependents
  - sentencepiece::unigram::Lattice::NBest
  - operator()(Hypothesis *h1, Hypothesis *h2)
  - sentencepiece::unigram::Lattice::Sample
  - sentencepiece::unigram::Model::PopulateNodes
  - sentencepiece::unigram::Model::PieceToId
  - sentencepiece::unigram::Model::BuildTrie
  - sentencepiece::unigram::Model::Model
  - Model::~Model()
  - sentencepiece::unigram::Model::Encode
  - sentencepiece::unigram::Model::NBestEncode
  - sentencepiece::unigram::Model::SampleEncode
  - sentencepiece::unigram::Model::VerifyOutputsEquivalent
  - sentencepiece::unigram::Model::EncodeOptimized
  - sentencepiece::unigram::LogSumExp
  - sentencepiece::unigram::GetUserDefinedScore
  - sentencepiece::unigram::Gumbel
  - sentencepiece::unigram::LogSumExp
  - sentencepiece::unigram::GetUserDefinedScore
  - sentencepiece::unigram::Gumbel
  - sentencepiece::unigram::Lattice::Lattice
  - Lattice::~Lattice()
  - '&Lattice::begin_nodes(int pos) const'
  - '&Lattice::end_nodes(int pos) const'
  - sentencepiece::unigram::Lattice::size
  - sentencepiece::unigram::Lattice::utf8_size
  - sentencepiece::unigram::Lattice::sentence
  - sentencepiece::unigram::Lattice::surface
  - sentencepiece::unigram::Lattice::bos_node
  - sentencepiece::unigram::Lattice::eos_node
  - sentencepiece::unigram::Lattice::NewNode
  - sentencepiece::unigram::Lattice::Clear
  - sentencepiece::unigram::Lattice::SetSentence
  - sentencepiece::unigram::Lattice::Insert
  - sentencepiece::unigram::Lattice::Viterbi
  - sentencepiece::unigram::Lattice::ForwardAlgorithm
  - sentencepiece::unigram::Lattice::BackwardAlgorithm
  - sentencepiece::unigram::Lattice::PopulateMarginal
  - sentencepiece::unigram::CloneHypAndDependents
  - sentencepiece::unigram::CloneHypAndDependents
  - sentencepiece::unigram::Lattice::NBest
  - operator()(Hypothesis *h1, Hypothesis *h2)
  - sentencepiece::unigram::Lattice::Sample
  - sentencepiece::unigram::Model::PopulateNodes
  - sentencepiece::unigram::Model::PieceToId
  - sentencepiece::unigram::Model::BuildTrie
  - sentencepiece::unigram::Model::Model
  - Model::~Model()
  - sentencepiece::unigram::Model::Encode
  - sentencepiece::unigram::Model::NBestEncode
  - sentencepiece::unigram::Model::SampleEncode
  - sentencepiece::unigram::Model::VerifyOutputsEquivalent
  - sentencepiece::unigram::Model::EncodeOptimized
  - sentencepiece::unigram::LogSumExp
  - sentencepiece::unigram::GetUserDefinedScore
  - sentencepiece::unigram::Gumbel
  - sentencepiece::unigram::LogSumExp
  - sentencepiece::unigram::GetUserDefinedScore
  - sentencepiece::unigram::Gumbel
  - sentencepiece::unigram::Lattice::Lattice
  - Lattice::~Lattice()
  - '&Lattice::begin_nodes(int pos) const'
  - '&Lattice::end_nodes(int pos) const'
  - sentencepiece::unigram::Lattice::size
  - sentencepiece::unigram::Lattice::utf8_size
  - sentencepiece::unigram::Lattice::sentence
  - sentencepiece::unigram::Lattice::surface
  - sentencepiece::unigram::Lattice::bos_node
  - sentencepiece::unigram::Lattice::eos_node
  - sentencepiece::unigram::Lattice::NewNode
  - sentencepiece::unigram::Lattice::Clear
  - sentencepiece::unigram::Lattice::SetSentence
  - sentencepiece::unigram::Lattice::Insert
  - sentencepiece::unigram::Lattice::Viterbi
  - sentencepiece::unigram::Lattice::ForwardAlgorithm
  - sentencepiece::unigram::Lattice::BackwardAlgorithm
  - sentencepiece::unigram::Lattice::PopulateMarginal
  - sentencepiece::unigram::CloneHypAndDependents
  - sentencepiece::unigram::CloneHypAndDependents
  - sentencepiece::unigram::Lattice::NBest
  - operator()(Hypothesis *h1, Hypothesis *h2)
  - sentencepiece::unigram::Lattice::Sample
  - sentencepiece::unigram::Model::PopulateNodes
  - sentencepiece::unigram::Model::PieceToId
  - sentencepiece::unigram::Model::BuildTrie
  - sentencepiece::unigram::Model::Model
  - Model::~Model()
  - sentencepiece::unigram::Model::Encode
  - sentencepiece::unigram::Model::NBestEncode
  - sentencepiece::unigram::Model::SampleEncode
  - sentencepiece::unigram::Model::VerifyOutputsEquivalent
  - sentencepiece::unigram::Model::EncodeOptimized
  - sentencepiece::unigram::LogSumExp
  - sentencepiece::unigram::GetUserDefinedScore
  - sentencepiece::unigram::Gumbel
  - sentencepiece::unigram::LogSumExp
  - sentencepiece::unigram::GetUserDefinedScore
  - sentencepiece::unigram::Gumbel
  - sentencepiece::unigram::Lattice::Lattice
  - Lattice::~Lattice()
  - '&Lattice::begin_nodes(int pos) const'
  - '&Lattice::end_nodes(int pos) const'
  - sentencepiece::unigram::Lattice::size
  - sentencepiece::unigram::Lattice::utf8_size
  - sentencepiece::unigram::Lattice::sentence
  - sentencepiece::unigram::Lattice::surface
  - sentencepiece::unigram::Lattice::bos_node
  - sentencepiece::unigram::Lattice::eos_node
  - sentencepiece::unigram::Lattice::NewNode
  - sentencepiece::unigram::Lattice::Clear
  - sentencepiece::unigram::Lattice::SetSentence
  - sentencepiece::unigram::Lattice::Insert
  - sentencepiece::unigram::Lattice::Viterbi
  - sentencepiece::unigram::Lattice::ForwardAlgorithm
  - sentencepiece::unigram::Lattice::BackwardAlgorithm
  - sentencepiece::unigram::Lattice::PopulateMarginal
  - sentencepiece::unigram::CloneHypAndDependents
  - sentencepiece::unigram::CloneHypAndDependents
  - sentencepiece::unigram::Lattice::NBest
  - operator()(Hypothesis *h1, Hypothesis *h2)
  - sentencepiece::unigram::Lattice::Sample
  - sentencepiece::unigram::Model::PopulateNodes
  - sentencepiece::unigram::Model::PieceToId
  - sentencepiece::unigram::Model::BuildTrie
  - sentencepiece::unigram::Model::Model
  - Model::~Model()
  - sentencepiece::unigram::Model::Encode
  - sentencepiece::unigram::Model::NBestEncode
  - sentencepiece::unigram::Model::SampleEncode
  - sentencepiece::unigram::Model::VerifyOutputsEquivalent
  - sentencepiece::unigram::Model::EncodeOptimized
  source_file: /src/sentencepiece/src/unigram_model.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*node'
        type: Lattice::Node
      - name: '*next'
        type: Hypothesis
      - name: fx
        type: float
      - name: gx
        type: float
      item_type: struct
      name: Hypothesis
      pos:
        line_end: 287
        line_start: 282
        source_file: /src/sentencepiece/src/unigram_model.cc
    - fields:
      - name: '*node'
        type: Lattice::Node
      - name: '*next'
        type: Hypothesis
      - name: fx
        type: float
      - name: gx
        type: float
      item_type: struct
      name: Hypothesis
      pos:
        line_end: 287
        line_start: 282
        source_file: /src/sentencepiece/src/unigram_model.cc
    - fields:
      - name: id
        type: int
      - name: best_path_score
        type: float
      - name: starts_at
        type: int
      item_type: struct
      name: BestPathNode
      pos:
        line_end: 824
        line_start: 817
        source_file: /src/sentencepiece/src/unigram_model.cc
    - fields:
      - name: '*node'
        type: Lattice::Node
      - name: '*next'
        type: Hypothesis
      - name: fx
        type: float
      - name: gx
        type: float
      item_type: struct
      name: Hypothesis
      pos:
        line_end: 287
        line_start: 282
        source_file: /src/sentencepiece/src/unigram_model.cc
    - fields:
      - name: '*node'
        type: Lattice::Node
      - name: '*next'
        type: Hypothesis
      - name: fx
        type: float
      - name: gx
        type: float
      item_type: struct
      name: Hypothesis
      pos:
        line_end: 287
        line_start: 282
        source_file: /src/sentencepiece/src/unigram_model.cc
    - fields:
      - name: id
        type: int
      - name: best_path_score
        type: float
      - name: starts_at
        type: int
      item_type: struct
      name: BestPathNode
      pos:
        line_end: 824
        line_start: 817
        source_file: /src/sentencepiece/src/unigram_model.cc
    - fields:
      - name: '*node'
        type: Lattice::Node
      - name: '*next'
        type: Hypothesis
      - name: fx
        type: float
      - name: gx
        type: float
      item_type: struct
      name: Hypothesis
      pos:
        line_end: 287
        line_start: 282
        source_file: /src/sentencepiece/src/unigram_model.cc
    - fields:
      - name: '*node'
        type: Lattice::Node
      - name: '*next'
        type: Hypothesis
      - name: fx
        type: float
      - name: gx
        type: float
      item_type: struct
      name: Hypothesis
      pos:
        line_end: 287
        line_start: 282
        source_file: /src/sentencepiece/src/unigram_model.cc
    - fields:
      - name: id
        type: int
      - name: best_path_score
        type: float
      - name: starts_at
        type: int
      item_type: struct
      name: BestPathNode
      pos:
        line_end: 824
        line_start: 817
        source_file: /src/sentencepiece/src/unigram_model.cc
    - fields:
      - name: '*node'
        type: Lattice::Node
      - name: '*next'
        type: Hypothesis
      - name: fx
        type: float
      - name: gx
        type: float
      item_type: struct
      name: Hypothesis
      pos:
        line_end: 287
        line_start: 282
        source_file: /src/sentencepiece/src/unigram_model.cc
    - fields:
      - name: '*node'
        type: Lattice::Node
      - name: '*next'
        type: Hypothesis
      - name: fx
        type: float
      - name: gx
        type: float
      item_type: struct
      name: Hypothesis
      pos:
        line_end: 287
        line_start: 282
        source_file: /src/sentencepiece/src/unigram_model.cc
    - fields:
      - name: id
        type: int
      - name: best_path_score
        type: float
      - name: starts_at
        type: int
      item_type: struct
      name: BestPathNode
      pos:
        line_end: 824
        line_start: 817
        source_file: /src/sentencepiece/src/unigram_model.cc
    typedefs: []
    union: []
- function_names:
  - sentencepiece::normalizer::Builder::Builder
  - ~Builder()
  - sentencepiece::normalizer::Builder::Builder
  - ~Builder()
  source_file: /src/sentencepiece/src/builder.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/sentencepiece/src/trainer_factory.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::character::Trainer::Trainer
  - sentencepiece::character::Trainer::Trainer
  - sentencepiece::character::Trainer::Trainer
  - sentencepiece::character::Trainer::Trainer
  source_file: /src/sentencepiece/src/char_model_trainer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  source_file: /src/sentencepiece/src/builder_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/sentencepiece/src/builder_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/sentencepiece/src/builder_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/sentencepiece/src/builder_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/sentencepiece/src/builder_test.cc
      type_or_value: '"\xe2\x96\x81"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::ScopedResourceDestructor::ScopedResourceDestructor
  - ~ScopedResourceDestructor()
  - sentencepiece::ScopedResourceDestructor::ScopedResourceDestructor
  - ~ScopedResourceDestructor()
  source_file: /src/sentencepiece/src/init.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::unigram::TrainerModel::TrainerModel
  - sentencepiece::unigram::TrainerModel::TrainerModel
  - sentencepiece::unigram::TrainerModel::Encode
  - sentencepiece::unigram::Trainer::Trainer
  - sentencepiece::unigram::TrainerModel::TrainerModel
  - sentencepiece::unigram::TrainerModel::TrainerModel
  - sentencepiece::unigram::TrainerModel::Encode
  - sentencepiece::unigram::Trainer::Trainer
  - sentencepiece::unigram::TrainerModel::TrainerModel
  - sentencepiece::unigram::TrainerModel::TrainerModel
  - sentencepiece::unigram::TrainerModel::Encode
  - sentencepiece::unigram::Trainer::Trainer
  - sentencepiece::unigram::TrainerModel::TrainerModel
  - sentencepiece::unigram::TrainerModel::TrainerModel
  - sentencepiece::unigram::TrainerModel::Encode
  - sentencepiece::unigram::Trainer::Trainer
  source_file: /src/sentencepiece/src/unigram_model_trainer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::character::MakeBaseModelProto
  - sentencepiece::character::AddPiece
  - sentencepiece::character::TEST
  - sentencepiece::character::TEST
  - sentencepiece::character::MakeBaseModelProto
  - sentencepiece::character::AddPiece
  - sentencepiece::character::TEST
  - sentencepiece::character::TEST
  - sentencepiece::character::MakeBaseModelProto
  - sentencepiece::character::AddPiece
  - sentencepiece::character::TEST
  - sentencepiece::character::TEST
  - sentencepiece::character::MakeBaseModelProto
  - sentencepiece::character::AddPiece
  - sentencepiece::character::TEST
  - sentencepiece::character::TEST
  - sentencepiece::character::MakeBaseModelProto
  - sentencepiece::character::AddPiece
  - sentencepiece::character::TEST
  - sentencepiece::character::TEST
  - sentencepiece::character::MakeBaseModelProto
  - sentencepiece::character::AddPiece
  - sentencepiece::character::TEST
  - sentencepiece::character::TEST
  - sentencepiece::character::MakeBaseModelProto
  - sentencepiece::character::AddPiece
  - sentencepiece::character::TEST
  - sentencepiece::character::TEST
  - sentencepiece::character::MakeBaseModelProto
  - sentencepiece::character::AddPiece
  - sentencepiece::character::TEST
  - sentencepiece::character::TEST
  source_file: /src/sentencepiece/src/char_model_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/sentencepiece/src/char_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/sentencepiece/src/char_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/sentencepiece/src/char_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/sentencepiece/src/char_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/sentencepiece/src/char_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/sentencepiece/src/char_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/sentencepiece/src/char_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/sentencepiece/src/char_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::word::Model::Model
  - Model::~Model()
  - sentencepiece::word::Model::Encode
  - sentencepiece::word::Model::Model
  - Model::~Model()
  - sentencepiece::word::Model::Encode
  - sentencepiece::word::Model::Model
  - Model::~Model()
  - sentencepiece::word::Model::Encode
  - sentencepiece::word::Model::Model
  - Model::~Model()
  - sentencepiece::word::Model::Encode
  source_file: /src/sentencepiece/src/word_model.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::ModelInterface::ModelInterface
  - ModelInterface::~ModelInterface()
  - RETURN_PIECE
  - sentencepiece::ModelInterface::unk_piece
  - sentencepiece::ModelInterface::bos_piece
  - sentencepiece::ModelInterface::eos_piece
  - sentencepiece::ModelInterface::pad_piece
  - sentencepiece::ModelInterface::PieceToId
  - sentencepiece::ModelInterface::PieceToIdNoReserved
  - sentencepiece::ModelInterface::InitializePieces
  - sentencepiece::SplitIntoWords
  - sentencepiece::ByteToPiece
  - sentencepiece::PieceToByte
  - sentencepiece::ModelInterface::ModelInterface
  - ModelInterface::~ModelInterface()
  - RETURN_PIECE
  - sentencepiece::ModelInterface::unk_piece
  - sentencepiece::ModelInterface::bos_piece
  - sentencepiece::ModelInterface::eos_piece
  - sentencepiece::ModelInterface::pad_piece
  - sentencepiece::ModelInterface::PieceToId
  - sentencepiece::ModelInterface::PieceToIdNoReserved
  - sentencepiece::ModelInterface::InitializePieces
  - sentencepiece::SplitIntoWords
  - sentencepiece::ByteToPiece
  - sentencepiece::PieceToByte
  source_file: /src/sentencepiece/src/model_interface.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - testing::TempDir
  - testing::SrcDir
  - testing::TempDir
  - testing::SrcDir
  - sentencepiece::test::Tester::Tester
  - ~Tester()
  - '& Is(bool b, const char* msg)'
  - "& IsNear(double val1, double val2, double abs_error, const char* msg1,\n                 const
    char* msg2)"
  - BINARY_OP
  - sentencepiece::test::Tester::BINARY_OP
  - sentencepiece::test::Tester::SetUp
  - sentencepiece::test::Tester::TearDown
  - ~TestWithParam()
  - sentencepiece::test::Tester::GetParam
  - sentencepiece::test::Tester::_RunIt
  - sentencepiece::test::Tester::Tester
  - ~Tester()
  - '& Is(bool b, const char* msg)'
  - "& IsNear(double val1, double val2, double abs_error, const char* msg1,\n                 const
    char* msg2)"
  - BINARY_OP
  - sentencepiece::test::Tester::BINARY_OP
  - sentencepiece::test::Tester::SetUp
  - sentencepiece::test::Tester::TearDown
  - ~TestWithParam()
  - sentencepiece::test::Tester::GetParam
  - sentencepiece::test::Tester::_RunIt
  - sentencepiece::test::Tester::Tester
  - ~Tester()
  - '& Is(bool b, const char* msg)'
  - "& IsNear(double val1, double val2, double abs_error, const char* msg1,\n                 const
    char* msg2)"
  - BINARY_OP
  - sentencepiece::test::Tester::BINARY_OP
  - sentencepiece::test::Tester::SetUp
  - sentencepiece::test::Tester::TearDown
  - ~TestWithParam()
  - sentencepiece::test::Tester::GetParam
  - sentencepiece::test::Tester::_RunIt
  - sentencepiece::test::Tester::Tester
  - ~Tester()
  - '& Is(bool b, const char* msg)'
  - "& IsNear(double val1, double val2, double abs_error, const char* msg1,\n                 const
    char* msg2)"
  - BINARY_OP
  - sentencepiece::test::Tester::BINARY_OP
  - sentencepiece::test::Tester::SetUp
  - sentencepiece::test::Tester::TearDown
  - ~TestWithParam()
  - sentencepiece::test::Tester::GetParam
  - sentencepiece::test::Tester::_RunIt
  source_file: /src/sentencepiece/src/testharness.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/sentencepiece/src/spm_normalize_main.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::TrainerFactory::Create
  - sentencepiece::TrainerFactory::Create
  source_file: /src/sentencepiece/src/trainer_factory.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - "operator()(const SymbolPair& h1,\n                                                      const
    SymbolPair& h2)"
  - "operator()(const SymbolPair& h1,\n                                                      const
    SymbolPair& h2)"
  - sentencepiece::bpe::Model::Model
  - Model::~Model()
  - sentencepiece::bpe::Model::SampleEncode
  - "operator()(const SymbolPair& h1,\n                                                      const
    SymbolPair& h2)"
  - "operator()(const SymbolPair& h1,\n                                                      const
    SymbolPair& h2)"
  - sentencepiece::bpe::Model::Model
  - Model::~Model()
  - sentencepiece::bpe::Model::SampleEncode
  - "operator()(const SymbolPair& h1,\n                                                      const
    SymbolPair& h2)"
  - "operator()(const SymbolPair& h1,\n                                                      const
    SymbolPair& h2)"
  - sentencepiece::bpe::Model::Model
  - Model::~Model()
  - sentencepiece::bpe::Model::SampleEncode
  - "operator()(const SymbolPair& h1,\n                                                      const
    SymbolPair& h2)"
  - "operator()(const SymbolPair& h1,\n                                                      const
    SymbolPair& h2)"
  - sentencepiece::bpe::Model::Model
  - Model::~Model()
  - sentencepiece::bpe::Model::SampleEncode
  source_file: /src/sentencepiece/src/bpe_model.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: left
        type: uint32_t
      - name: right
        type: int
      - name: size
        type: unsigned int
      item_type: struct
      name: SymbolPair
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: prev
        type: int
      - name: next
        type: int
      - name: freeze
        type: bool
      - name: piece
        type: absl::string_view
      item_type: struct
      name: Symbol
      pos:
        line_end: 98
        line_start: 93
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: left
        type: uint32_t
      - name: right
        type: int
      - name: size
        type: unsigned int
      item_type: struct
      name: SymbolPair
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: prev
        type: int
      - name: next
        type: int
      - name: freeze
        type: bool
      - name: piece
        type: absl::string_view
      item_type: struct
      name: Symbol
      pos:
        line_end: 98
        line_start: 93
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: left
        type: uint32_t
      - name: right
        type: int
      - name: size
        type: unsigned int
      item_type: struct
      name: SymbolPair
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: prev
        type: int
      - name: next
        type: int
      - name: freeze
        type: bool
      - name: piece
        type: absl::string_view
      item_type: struct
      name: Symbol
      pos:
        line_end: 98
        line_start: 93
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: left
        type: uint32_t
      - name: right
        type: int
      - name: size
        type: unsigned int
      item_type: struct
      name: SymbolPair
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: prev
        type: int
      - name: next
        type: int
      - name: freeze
        type: bool
      - name: piece
        type: absl::string_view
      item_type: struct
      name: Symbol
      pos:
        line_end: 98
        line_start: 93
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: left
        type: uint32_t
      - name: right
        type: int
      - name: size
        type: unsigned int
      item_type: struct
      name: SymbolPair
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: prev
        type: int
      - name: next
        type: int
      - name: freeze
        type: bool
      - name: piece
        type: absl::string_view
      item_type: struct
      name: Symbol
      pos:
        line_end: 98
        line_start: 93
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: left
        type: uint32_t
      - name: right
        type: int
      - name: size
        type: unsigned int
      item_type: struct
      name: SymbolPair
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: prev
        type: int
      - name: next
        type: int
      - name: freeze
        type: bool
      - name: piece
        type: absl::string_view
      item_type: struct
      name: Symbol
      pos:
        line_end: 98
        line_start: 93
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: left
        type: uint32_t
      - name: right
        type: int
      - name: size
        type: unsigned int
      item_type: struct
      name: SymbolPair
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: prev
        type: int
      - name: next
        type: int
      - name: freeze
        type: bool
      - name: piece
        type: absl::string_view
      item_type: struct
      name: Symbol
      pos:
        line_end: 98
        line_start: 93
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: left
        type: uint32_t
      - name: right
        type: int
      - name: size
        type: unsigned int
      item_type: struct
      name: SymbolPair
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/sentencepiece/src/bpe_model.cc
    - fields:
      - name: prev
        type: int
      - name: next
        type: int
      - name: freeze
        type: bool
      - name: piece
        type: absl::string_view
      item_type: struct
      name: Symbol
      pos:
        line_end: 98
        line_start: 93
        source_file: /src/sentencepiece/src/bpe_model.cc
    typedefs: []
    union: []
- function_names:
  - sentencepiece::normalizer::UnicodeNormalize
  - sentencepiece::normalizer::ToNFKD
  - sentencepiece::normalizer::ToNFKC
  - sentencepiece::normalizer::ToNFC
  - sentencepiece::normalizer::ToNFD
  - sentencepiece::normalizer::ExpandUnnormalized
  - sentencepiece::normalizer::Normalize
  - sentencepiece::normalizer::IsValidNormalizerData
  - sentencepiece::normalizer::UnicodeNormalize
  - sentencepiece::normalizer::ToNFKD
  - sentencepiece::normalizer::ToNFKC
  - sentencepiece::normalizer::ToNFC
  - sentencepiece::normalizer::ToNFD
  - sentencepiece::normalizer::ExpandUnnormalized
  - sentencepiece::normalizer::Normalize
  - sentencepiece::normalizer::IsValidNormalizerData
  - sentencepiece::normalizer::Builder::CompileCharsMap
  - sentencepiece::normalizer::Builder::DecompileCharsMap
  - sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
  - sentencepiece::normalizer::BuildMapInternal
  - sentencepiece::normalizer::BuildMapInternal
  - sentencepiece::normalizer::Builder::BuildNFKCMap
  - sentencepiece::normalizer::Builder::BuildNFCMap
  - sentencepiece::normalizer::Builder::BuildNmtNFKCMap
  - sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
  - sentencepiece::normalizer::Builder::MergeNmtMap
  - sentencepiece::normalizer::Builder::BuildNFKC_CFMap
  - sentencepiece::normalizer::Builder::BuildNmtNFKC_CFMap
  - sentencepiece::normalizer::Builder::BuildNFKDMap
  - sentencepiece::normalizer::Builder::BuildNFDMap
  - sentencepiece::normalizer::Builder::BuildNFKD_CFMap
  - sentencepiece::normalizer::Builder::BuildNFC_CFMap
  - sentencepiece::normalizer::Builder::BuildNFD_CFMap
  - sentencepiece::normalizer::Builder::LoadCharsMap
  - sentencepiece::normalizer::Builder::SaveCharsMap
  - sentencepiece::normalizer::Builder::RemoveRedundantMap
  - sentencepiece::normalizer::UnicodeNormalize
  - sentencepiece::normalizer::ToNFKD
  - sentencepiece::normalizer::ToNFKC
  - sentencepiece::normalizer::ToNFC
  - sentencepiece::normalizer::ToNFD
  - sentencepiece::normalizer::ExpandUnnormalized
  - sentencepiece::normalizer::Normalize
  - sentencepiece::normalizer::IsValidNormalizerData
  - sentencepiece::normalizer::UnicodeNormalize
  - sentencepiece::normalizer::ToNFKD
  - sentencepiece::normalizer::ToNFKC
  - sentencepiece::normalizer::ToNFC
  - sentencepiece::normalizer::ToNFD
  - sentencepiece::normalizer::ExpandUnnormalized
  - sentencepiece::normalizer::Normalize
  - sentencepiece::normalizer::IsValidNormalizerData
  - sentencepiece::normalizer::Builder::CompileCharsMap
  - sentencepiece::normalizer::Builder::DecompileCharsMap
  - sentencepiece::normalizer::Builder::GetPrecompiledCharsMap
  - sentencepiece::normalizer::BuildMapInternal
  - sentencepiece::normalizer::BuildMapInternal
  - sentencepiece::normalizer::Builder::BuildNFKCMap
  - sentencepiece::normalizer::Builder::BuildNFCMap
  - sentencepiece::normalizer::Builder::BuildNmtNFKCMap
  - sentencepiece::normalizer::Builder::MergeUnicodeCaseFoldMap
  - sentencepiece::normalizer::Builder::MergeNmtMap
  - sentencepiece::normalizer::Builder::BuildNFKC_CFMap
  - sentencepiece::normalizer::Builder::BuildNmtNFKC_CFMap
  - sentencepiece::normalizer::Builder::BuildNFKDMap
  - sentencepiece::normalizer::Builder::BuildNFDMap
  - sentencepiece::normalizer::Builder::BuildNFKD_CFMap
  - sentencepiece::normalizer::Builder::BuildNFC_CFMap
  - sentencepiece::normalizer::Builder::BuildNFD_CFMap
  - sentencepiece::normalizer::Builder::LoadCharsMap
  - sentencepiece::normalizer::Builder::SaveCharsMap
  - sentencepiece::normalizer::Builder::RemoveRedundantMap
  source_file: /src/sentencepiece/src/builder.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  source_file: /src/sentencepiece/src/util_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::ContainsNormalizerKeys
  - sentencepiece::ContainsNormalizerKeys
  - sentencepiece::SentencePieceTrainer::Train
  - sentencepiece::SentencePieceTrainer::Train
  - sentencepiece::SentencePieceTrainer::Train
  - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
  - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
  - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
  - sentencepiece::SentencePieceTrainer::Train
  - sentencepiece::SentencePieceTrainer::Train
  - sentencepiece::VectorSentenceIterator::VectorSentenceIterator
  - ~VectorSentenceIterator()
  - sentencepiece::VectorSentenceIterator::done
  - sentencepiece::VectorSentenceIterator::Next
  - '& value() const override'
  - sentencepiece::VectorSentenceIterator::status
  - sentencepiece::VectorSentenceIterator::VectorSentenceIterator
  - ~VectorSentenceIterator()
  - sentencepiece::VectorSentenceIterator::done
  - sentencepiece::VectorSentenceIterator::Next
  - '& value() const override'
  - sentencepiece::VectorSentenceIterator::status
  - sentencepiece::SentencePieceTrainer::Train
  - sentencepiece::SentencePieceTrainer::Train
  - sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
  - sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
  - sentencepiece::SentencePieceTrainer::SetPretokenizerForTraining
  - sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
  - sentencepiece::SentencePieceNormalizer::SentencePieceNormalizer
  - SentencePieceNormalizer::~SentencePieceNormalizer()
  - sentencepiece::SentencePieceNormalizer::Load
  - sentencepiece::SentencePieceNormalizer::Load
  - sentencepiece::SentencePieceNormalizer::Load
  - sentencepiece::SentencePieceNormalizer::LoadFromSerializedProto
  - sentencepiece::SentencePieceNormalizer::LoadFromSerializedNormalizerSpec
  - sentencepiece::SentencePieceNormalizer::LoadFromRuleTSV
  - sentencepiece::SentencePieceNormalizer::LoadFromRuleName
  - sentencepiece::SentencePieceNormalizer::LoadFromMap
  - sentencepiece::SentencePieceNormalizer::Decompile
  - sentencepiece::SentencePieceNormalizer::Normalize
  - sentencepiece::SentencePieceNormalizer::Normalize
  - sentencepiece::SentencePieceNormalizer::Normalize
  - sentencepiece::SentencePieceNormalizer::mutable_normalizer_spec
  - sentencepiece::SentencePieceNormalizer::serialized_model_proto
  - sentencepiece::SentencePieceNormalizer::serialized_normalizer_spec
  - sentencepiece::ConvertToUnicodeAlignment
  - sentencepiece::ContainsNormalizerKeys
  - sentencepiece::ContainsNormalizerKeys
  - sentencepiece::SentencePieceTrainer::Train
  - sentencepiece::SentencePieceTrainer::Train
  - sentencepiece::SentencePieceTrainer::Train
  - sentencepiece::SentencePieceTrainer::GetNormalizerSpec
  - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
  - sentencepiece::SentencePieceTrainer::MergeSpecsFromArgs
  - sentencepiece::SentencePieceTrainer::Train
  - sentencepiece::SentencePieceTrainer::Train
  - sentencepiece::VectorSentenceIterator::VectorSentenceIterator
  - ~VectorSentenceIterator()
  - sentencepiece::VectorSentenceIterator::done
  - sentencepiece::VectorSentenceIterator::Next
  - '& value() const override'
  - sentencepiece::VectorSentenceIterator::status
  - sentencepiece::VectorSentenceIterator::VectorSentenceIterator
  - ~VectorSentenceIterator()
  - sentencepiece::VectorSentenceIterator::done
  - sentencepiece::VectorSentenceIterator::Next
  - '& value() const override'
  - sentencepiece::VectorSentenceIterator::status
  - sentencepiece::SentencePieceTrainer::Train
  - sentencepiece::SentencePieceTrainer::Train
  - sentencepiece::SentencePieceTrainer::PopulateNormalizerSpec
  - sentencepiece::SentencePieceTrainer::PopulateModelTypeFromString
  - sentencepiece::SentencePieceTrainer::SetPretokenizerForTraining
  - sentencepiece::SentencePieceTrainer::GetPretokenizerForTraining
  - sentencepiece::SentencePieceNormalizer::SentencePieceNormalizer
  - SentencePieceNormalizer::~SentencePieceNormalizer()
  - sentencepiece::SentencePieceNormalizer::Load
  - sentencepiece::SentencePieceNormalizer::Load
  - sentencepiece::SentencePieceNormalizer::Load
  - sentencepiece::SentencePieceNormalizer::LoadFromSerializedProto
  - sentencepiece::SentencePieceNormalizer::LoadFromSerializedNormalizerSpec
  - sentencepiece::SentencePieceNormalizer::LoadFromRuleTSV
  - sentencepiece::SentencePieceNormalizer::LoadFromRuleName
  - sentencepiece::SentencePieceNormalizer::LoadFromMap
  - sentencepiece::SentencePieceNormalizer::Decompile
  - sentencepiece::SentencePieceNormalizer::Normalize
  - sentencepiece::SentencePieceNormalizer::Normalize
  - sentencepiece::SentencePieceNormalizer::Normalize
  - sentencepiece::SentencePieceNormalizer::mutable_normalizer_spec
  - sentencepiece::SentencePieceNormalizer::serialized_model_proto
  - sentencepiece::SentencePieceNormalizer::serialized_normalizer_spec
  - sentencepiece::ConvertToUnicodeAlignment
  source_file: /src/sentencepiece/src/sentencepiece_trainer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::word::MakeBaseModelProto
  - sentencepiece::word::AddPiece
  - sentencepiece::word::TEST
  - sentencepiece::word::TEST
  - sentencepiece::word::MakeBaseModelProto
  - sentencepiece::word::AddPiece
  - sentencepiece::word::TEST
  - sentencepiece::word::TEST
  - sentencepiece::word::MakeBaseModelProto
  - sentencepiece::word::AddPiece
  - sentencepiece::word::TEST
  - sentencepiece::word::TEST
  - sentencepiece::word::MakeBaseModelProto
  - sentencepiece::word::AddPiece
  - sentencepiece::word::TEST
  - sentencepiece::word::TEST
  - sentencepiece::word::MakeBaseModelProto
  - sentencepiece::word::AddPiece
  - sentencepiece::word::TEST
  - sentencepiece::word::TEST
  - sentencepiece::word::MakeBaseModelProto
  - sentencepiece::word::AddPiece
  - sentencepiece::word::TEST
  - sentencepiece::word::TEST
  - sentencepiece::word::MakeBaseModelProto
  - sentencepiece::word::AddPiece
  - sentencepiece::word::TEST
  - sentencepiece::word::TEST
  - sentencepiece::word::MakeBaseModelProto
  - sentencepiece::word::AddPiece
  - sentencepiece::word::TEST
  - sentencepiece::word::TEST
  source_file: /src/sentencepiece/src/word_model_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/sentencepiece/src/word_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/sentencepiece/src/word_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/sentencepiece/src/word_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/sentencepiece/src/word_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/sentencepiece/src/word_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/sentencepiece/src/word_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/sentencepiece/src/word_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/sentencepiece/src/word_model_test.cc
      type_or_value: '"\xe2\x96\x81"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/sentencepiece/src/spm_export_vocab_main.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Trainer::Symbol::ToString() const
  - sentencepiece::bpe::Trainer::GetCharSymbol
  - sentencepiece::bpe::Trainer::GetPairSymbol
  - sentencepiece::bpe::Trainer::ComputeFreq
  - sentencepiece::bpe::Trainer::GetNextIndex
  - sentencepiece::bpe::Trainer::GetPrevIndex
  - sentencepiece::bpe::Trainer::AddNewPair
  - sentencepiece::bpe::Trainer::ResetFreq
  - sentencepiece::bpe::Trainer::AcceptSymbol
  - sentencepiece::bpe::Trainer::Train
  - sentencepiece::bpe::Trainer::TrainFast
  - Trainer::Symbol::ToString() const
  - sentencepiece::bpe::Trainer::GetCharSymbol
  - sentencepiece::bpe::Trainer::GetPairSymbol
  - sentencepiece::bpe::Trainer::ComputeFreq
  - sentencepiece::bpe::Trainer::GetNextIndex
  - sentencepiece::bpe::Trainer::GetPrevIndex
  - sentencepiece::bpe::Trainer::AddNewPair
  - sentencepiece::bpe::Trainer::ResetFreq
  - sentencepiece::bpe::Trainer::AcceptSymbol
  - sentencepiece::bpe::Trainer::Train
  - sentencepiece::bpe::Trainer::TrainFast
  source_file: /src/sentencepiece/src/bpe_model_trainer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::normalizer::MakeDefaultSpec
  - sentencepiece::normalizer::MakeDefaultSpec
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::MakeDefaultSpec
  - sentencepiece::normalizer::MakeDefaultSpec
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::MakeDefaultSpec
  - sentencepiece::normalizer::MakeDefaultSpec
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::MakeDefaultSpec
  - sentencepiece::normalizer::MakeDefaultSpec
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  - sentencepiece::normalizer::TEST
  source_file: /src/sentencepiece/src/normalizer_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: RC
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xEF\xBF\xBD"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: RC
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xEF\xBF\xBD"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: RC
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xEF\xBF\xBD"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: RC
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xEF\xBF\xBD"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: RC
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xEF\xBF\xBD"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: RC
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xEF\xBF\xBD"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: RC
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xEF\xBF\xBD"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xe2\x96\x81"'
    - item_type: preproc_def
      name: RC
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/sentencepiece/src/normalizer_test.cc
      type_or_value: '"\xEF\xBF\xBD"'
    structs:
    - fields:
      - name: add_dummy_prefix
        type: bool
      - name: remove_extra_whitespaces
        type: bool
      - name: escape_whitespaces
        type: bool
      - name: '* input'
        type: char
      - name: '* expected'
        type: char
      item_type: struct
      name: SpacePattern
      pos:
        line_end: 250
        line_start: 244
        source_file: /src/sentencepiece/src/normalizer_test.cc
    - fields:
      - name: add_dummy_prefix
        type: bool
      - name: remove_extra_whitespaces
        type: bool
      - name: escape_whitespaces
        type: bool
      - name: '* input'
        type: char
      - name: '* expected'
        type: char
      item_type: struct
      name: SpacePattern
      pos:
        line_end: 250
        line_start: 244
        source_file: /src/sentencepiece/src/normalizer_test.cc
    - fields:
      - name: add_dummy_prefix
        type: bool
      - name: remove_extra_whitespaces
        type: bool
      - name: escape_whitespaces
        type: bool
      - name: '* input'
        type: char
      - name: '* expected'
        type: char
      item_type: struct
      name: SpacePattern
      pos:
        line_end: 250
        line_start: 244
        source_file: /src/sentencepiece/src/normalizer_test.cc
    - fields:
      - name: add_dummy_prefix
        type: bool
      - name: remove_extra_whitespaces
        type: bool
      - name: escape_whitespaces
        type: bool
      - name: '* input'
        type: char
      - name: '* expected'
        type: char
      item_type: struct
      name: SpacePattern
      pos:
        line_end: 250
        line_start: 244
        source_file: /src/sentencepiece/src/normalizer_test.cc
    typedefs: []
    union: []
- function_names:
  - sentencepiece::VerifySpec
  - CHECK_RANGE
  - sentencepiece::is_unicode_decimal_number
  - sentencepiece::SentenceSelector::SentenceSelector
  - sentencepiece::SentenceSelector::Finish
  - sentencepiece::SentenceSelector::Add
  - sentencepiece::SentenceSelector::total_size
  - sentencepiece::VerifySpec
  - CHECK_RANGE
  - sentencepiece::is_unicode_decimal_number
  - sentencepiece::SentenceSelector::SentenceSelector
  - sentencepiece::SentenceSelector::Finish
  - sentencepiece::SentenceSelector::Add
  - sentencepiece::SentenceSelector::total_size
  - sentencepiece::MultiFileSentenceIterator::MultiFileSentenceIterator
  - sentencepiece::MultiFileSentenceIterator::done
  - sentencepiece::MultiFileSentenceIterator::status
  - sentencepiece::MultiFileSentenceIterator::Next
  - sentencepiece::MultiFileSentenceIterator::TryRead
  - sentencepiece::TrainerInterface::TrainerInterface
  - TrainerInterface::~TrainerInterface()
  - sentencepiece::TrainerInterface::IsValidSentencePiece
  - sentencepiece::TrainerInterface::LoadSentences
  - sentencepiece::TrainerInterface::SplitSentencesByWhitespace
  - sentencepiece::TrainerInterface::Serialize
  - CHECK_PIECE
  - sentencepiece::TrainerInterface::SaveModel
  - sentencepiece::TrainerInterface::SaveVocab
  - sentencepiece::TrainerInterface::Save
  - sentencepiece::TrainerInterface::InitMetaPieces
  - sentencepiece::VerifySpec
  - CHECK_RANGE
  - sentencepiece::is_unicode_decimal_number
  - sentencepiece::SentenceSelector::SentenceSelector
  - sentencepiece::SentenceSelector::Finish
  - sentencepiece::SentenceSelector::Add
  - sentencepiece::SentenceSelector::total_size
  - sentencepiece::VerifySpec
  - CHECK_RANGE
  - sentencepiece::is_unicode_decimal_number
  - sentencepiece::SentenceSelector::SentenceSelector
  - sentencepiece::SentenceSelector::Finish
  - sentencepiece::SentenceSelector::Add
  - sentencepiece::SentenceSelector::total_size
  - sentencepiece::MultiFileSentenceIterator::MultiFileSentenceIterator
  - sentencepiece::MultiFileSentenceIterator::done
  - sentencepiece::MultiFileSentenceIterator::status
  - sentencepiece::MultiFileSentenceIterator::Next
  - sentencepiece::MultiFileSentenceIterator::TryRead
  - sentencepiece::TrainerInterface::TrainerInterface
  - TrainerInterface::~TrainerInterface()
  - sentencepiece::TrainerInterface::IsValidSentencePiece
  - sentencepiece::TrainerInterface::LoadSentences
  - sentencepiece::TrainerInterface::SplitSentencesByWhitespace
  - sentencepiece::TrainerInterface::Serialize
  - CHECK_PIECE
  - sentencepiece::TrainerInterface::SaveModel
  - sentencepiece::TrainerInterface::SaveVocab
  - sentencepiece::TrainerInterface::Save
  - sentencepiece::TrainerInterface::InitMetaPieces
  source_file: /src/sentencepiece/src/trainer_interface.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/sentencepiece/src/normalization_rule.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: size
        type: size_t
      - name: '*data'
        type: char
      item_type: struct
      name: BinaryBlob
      pos:
        line_end: 10
        line_start: 6
        source_file: /src/sentencepiece/src/normalization_rule.h
    - fields:
      - name: '*name'
        type: char
      - name: size
        type: size_t
      - name: '*data'
        type: char
      item_type: struct
      name: BinaryBlob
      pos:
        line_end: 10
        line_start: 6
        source_file: /src/sentencepiece/src/normalization_rule.h
    - fields:
      - name: '*name'
        type: char
      - name: size
        type: size_t
      - name: '*data'
        type: char
      item_type: struct
      name: BinaryBlob
      pos:
        line_end: 10
        line_start: 6
        source_file: /src/sentencepiece/src/normalization_rule.h
    - fields:
      - name: '*name'
        type: char
      - name: size
        type: size_t
      - name: '*data'
        type: char
      item_type: struct
      name: BinaryBlob
      pos:
        line_end: 10
        line_start: 6
        source_file: /src/sentencepiece/src/normalization_rule.h
    typedefs: []
    union: []
- function_names:
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  - sentencepiece::TEST
  source_file: /src/sentencepiece/src/filesystem_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::PretokenizerForTrainingInterface
  - ~PretokenizerForTrainingInterface()
  - sentencepiece::pretokenizer::PretokenizerForTrainingInterface::PretokenizerForTrainingInterface
  - ~PretokenizerForTrainingInterface()
  source_file: /src/sentencepiece/src/pretokenizer_for_training.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
  - sentencepiece::unicode_script::GetScriptInternal::GetScript
  - sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
  - sentencepiece::unicode_script::GetScriptInternal::GetScript
  - sentencepiece::unicode_script::GetScript
  - sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
  - sentencepiece::unicode_script::GetScriptInternal::GetScript
  - sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
  - sentencepiece::unicode_script::GetScriptInternal::GetScript
  - sentencepiece::unicode_script::GetScript
  - sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
  - sentencepiece::unicode_script::GetScriptInternal::GetScript
  - sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
  - sentencepiece::unicode_script::GetScriptInternal::GetScript
  - sentencepiece::unicode_script::GetScript
  - sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
  - sentencepiece::unicode_script::GetScriptInternal::GetScript
  - sentencepiece::unicode_script::GetScriptInternal::GetScriptInternal
  - sentencepiece::unicode_script::GetScriptInternal::GetScript
  - sentencepiece::unicode_script::GetScript
  source_file: /src/sentencepiece/src/unicode_script.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::word::RunTrainer
  - sentencepiece::word::RunTrainer
  - sentencepiece::word::TEST
  - sentencepiece::word::TEST
  - sentencepiece::word::RunTrainer
  - sentencepiece::word::RunTrainer
  - sentencepiece::word::TEST
  - sentencepiece::word::TEST
  - sentencepiece::word::RunTrainer
  - sentencepiece::word::RunTrainer
  - sentencepiece::word::TEST
  - sentencepiece::word::TEST
  - sentencepiece::word::RunTrainer
  - sentencepiece::word::RunTrainer
  - sentencepiece::word::TEST
  - sentencepiece::word::TEST
  source_file: /src/sentencepiece/src/word_model_trainer_test.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/word_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/word_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/word_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/word_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/word_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/word_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/word_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    - item_type: preproc_def
      name: WS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/sentencepiece/src/word_model_trainer_test.cc
      type_or_value: '"\xE2\x96\x81"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::normalizer::Normalizer::Normalizer
  - sentencepiece::normalizer::Normalizer::Normalizer
  - Normalizer::~Normalizer()
  - sentencepiece::normalizer::Normalizer::Init
  - sentencepiece::normalizer::Normalizer::Normalize
  - sentencepiece::normalizer::Normalizer::Normalize
  - sentencepiece::normalizer::Normalizer::NormalizePrefix
  - sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
  - sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
  - sentencepiece::normalizer::PrefixMatcher::PrefixMatcher
  - sentencepiece::normalizer::PrefixMatcher::PrefixMatch
  - sentencepiece::normalizer::PrefixMatcher::GlobalReplace
  - sentencepiece::normalizer::Normalizer::Normalizer
  - sentencepiece::normalizer::Normalizer::Normalizer
  - Normalizer::~Normalizer()
  - sentencepiece::normalizer::Normalizer::Init
  - sentencepiece::normalizer::Normalizer::Normalize
  - sentencepiece::normalizer::Normalizer::Normalize
  - sentencepiece::normalizer::Normalizer::NormalizePrefix
  - sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
  - sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
  - sentencepiece::normalizer::PrefixMatcher::PrefixMatcher
  - sentencepiece::normalizer::PrefixMatcher::PrefixMatch
  - sentencepiece::normalizer::PrefixMatcher::GlobalReplace
  - sentencepiece::normalizer::Normalizer::Normalizer
  - sentencepiece::normalizer::Normalizer::Normalizer
  - Normalizer::~Normalizer()
  - sentencepiece::normalizer::Normalizer::Init
  - sentencepiece::normalizer::Normalizer::Normalize
  - sentencepiece::normalizer::Normalizer::Normalize
  - sentencepiece::normalizer::Normalizer::NormalizePrefix
  - sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
  - sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
  - sentencepiece::normalizer::PrefixMatcher::PrefixMatcher
  - sentencepiece::normalizer::PrefixMatcher::PrefixMatch
  - sentencepiece::normalizer::PrefixMatcher::GlobalReplace
  - sentencepiece::normalizer::Normalizer::Normalizer
  - sentencepiece::normalizer::Normalizer::Normalizer
  - Normalizer::~Normalizer()
  - sentencepiece::normalizer::Normalizer::Init
  - sentencepiece::normalizer::Normalizer::Normalize
  - sentencepiece::normalizer::Normalizer::Normalize
  - sentencepiece::normalizer::Normalizer::NormalizePrefix
  - sentencepiece::normalizer::Normalizer::EncodePrecompiledCharsMap
  - sentencepiece::normalizer::Normalizer::DecodePrecompiledCharsMap
  - sentencepiece::normalizer::PrefixMatcher::PrefixMatcher
  - sentencepiece::normalizer::PrefixMatcher::PrefixMatch
  - sentencepiece::normalizer::PrefixMatcher::GlobalReplace
  source_file: /src/sentencepiece/src/normalizer.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PARSE_STRING
  - PARSE_REPEATED_STRING
  - PARSE_BYTE
  - PARSE_INT32
  - PARSE_UINT64
  - PARSE_DOUBLE
  - PARSE_BOOL
  - PARSE_ENUM
  - PRINT_PARAM
  - PRINT_REPEATED_STRING
  - PRINT_ENUM
  - sentencepiece::PrintProto
  - sentencepiece::PrintProto
  - sentencepiece::SentencePieceTrainer::SetProtoField
  - sentencepiece::SentencePieceTrainer::SetProtoField
  - PARSE_STRING
  - PARSE_REPEATED_STRING
  - PARSE_BYTE
  - PARSE_INT32
  - PARSE_UINT64
  - PARSE_DOUBLE
  - PARSE_BOOL
  - PARSE_ENUM
  - PRINT_PARAM
  - PRINT_REPEATED_STRING
  - PRINT_ENUM
  - sentencepiece::PrintProto
  - sentencepiece::PrintProto
  - sentencepiece::SentencePieceTrainer::SetProtoField
  - sentencepiece::SentencePieceTrainer::SetProtoField
  source_file: /src/sentencepiece/src/spec_parser.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/sentencepiece/src/model_factory.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - namespace
  - TableStruct_sentencepiece_2eproto
  - sentencepiece
  - ::PROTOBUF_NAMESPACE_ID::MessageLite
  - SentencePieceText_SentencePiece
  - '& operator=(const SentencePieceText_SentencePiece& from)'
  - '& operator=(SentencePieceText_SentencePiece&& from) noexcept'
  - unknown_fields
  - mutable_unknown_fields
  - internal_default_instance
  - swap
  - Swap
  - UnsafeArenaSwap
  - New
  - New
  - GetCachedSize
  - FullMessageName
  - ::PROTOBUF_NAMESPACE_ID::MessageLite
  - SentencePieceText
  - '& operator=(const SentencePieceText& from)'
  - '& operator=(SentencePieceText&& from) noexcept'
  - unknown_fields
  - mutable_unknown_fields
  - internal_default_instance
  - swap
  - Swap
  - UnsafeArenaSwap
  - New
  - New
  - GetCachedSize
  - FullMessageName
  - ::PROTOBUF_NAMESPACE_ID::MessageLite
  - NBestSentencePieceText
  - '& operator=(const NBestSentencePieceText& from)'
  - '& operator=(NBestSentencePieceText&& from) noexcept'
  - unknown_fields
  - mutable_unknown_fields
  - internal_default_instance
  - swap
  - Swap
  - UnsafeArenaSwap
  - New
  - New
  - GetCachedSize
  - FullMessageName
  - SentencePieceText_SentencePiece::_internal_has_piece
  - SentencePieceText_SentencePiece::has_piece
  - SentencePieceText_SentencePiece::clear_piece
  - '& SentencePieceText_SentencePiece::piece() const'
  - SentencePieceText_SentencePiece::set_piece
  - SentencePieceText_SentencePiece::mutable_piece
  - '& SentencePieceText_SentencePiece::_internal_piece() const'
  - SentencePieceText_SentencePiece::_internal_set_piece
  - SentencePieceText_SentencePiece::set_piece
  - SentencePieceText_SentencePiece::set_piece
  - SentencePieceText_SentencePiece::set_piece
  - SentencePieceText_SentencePiece::_internal_mutable_piece
  - SentencePieceText_SentencePiece::release_piece
  - SentencePieceText_SentencePiece::set_allocated_piece
  - SentencePieceText_SentencePiece::_internal_has_id
  - SentencePieceText_SentencePiece::has_id
  - SentencePieceText_SentencePiece::clear_id
  - SentencePieceText_SentencePiece::_internal_id
  - SentencePieceText_SentencePiece::id
  - SentencePieceText_SentencePiece::_internal_set_id
  - SentencePieceText_SentencePiece::set_id
  - SentencePieceText_SentencePiece::_internal_has_surface
  - SentencePieceText_SentencePiece::has_surface
  - SentencePieceText_SentencePiece::clear_surface
  - '& SentencePieceText_SentencePiece::surface() const'
  - SentencePieceText_SentencePiece::set_surface
  - SentencePieceText_SentencePiece::mutable_surface
  - '& SentencePieceText_SentencePiece::_internal_surface() const'
  - SentencePieceText_SentencePiece::_internal_set_surface
  - SentencePieceText_SentencePiece::set_surface
  - SentencePieceText_SentencePiece::set_surface
  - SentencePieceText_SentencePiece::set_surface
  - SentencePieceText_SentencePiece::_internal_mutable_surface
  - SentencePieceText_SentencePiece::release_surface
  - SentencePieceText_SentencePiece::set_allocated_surface
  - SentencePieceText_SentencePiece::_internal_has_begin
  - SentencePieceText_SentencePiece::has_begin
  - SentencePieceText_SentencePiece::clear_begin
  - SentencePieceText_SentencePiece::_internal_begin
  - SentencePieceText_SentencePiece::begin
  - SentencePieceText_SentencePiece::_internal_set_begin
  - SentencePieceText_SentencePiece::set_begin
  - SentencePieceText_SentencePiece::_internal_has_end
  - SentencePieceText_SentencePiece::has_end
  - SentencePieceText_SentencePiece::clear_end
  - SentencePieceText_SentencePiece::_internal_end
  - SentencePieceText_SentencePiece::end
  - SentencePieceText_SentencePiece::_internal_set_end
  - SentencePieceText_SentencePiece::set_end
  - SentencePieceText::_internal_has_text
  - SentencePieceText::has_text
  - SentencePieceText::clear_text
  - '& SentencePieceText::text() const'
  - SentencePieceText::set_text
  - SentencePieceText::mutable_text
  - '& SentencePieceText::_internal_text() const'
  - SentencePieceText::_internal_set_text
  - SentencePieceText::set_text
  - SentencePieceText::set_text
  - SentencePieceText::set_text
  - SentencePieceText::_internal_mutable_text
  - SentencePieceText::release_text
  - SentencePieceText::set_allocated_text
  - SentencePieceText::_internal_pieces_size
  - SentencePieceText::pieces_size
  - SentencePieceText::clear_pieces
  - SentencePieceText::mutable_pieces
  - SentencePieceText::mutable_pieces
  - '& SentencePieceText::_internal_pieces(int index) const'
  - '& SentencePieceText::pieces(int index) const'
  - SentencePieceText::_internal_add_pieces
  - SentencePieceText::add_pieces
  - '&

    SentencePieceText::pieces() const'
  - SentencePieceText::_internal_has_score
  - SentencePieceText::has_score
  - SentencePieceText::clear_score
  - SentencePieceText::_internal_score
  - SentencePieceText::score
  - SentencePieceText::_internal_set_score
  - SentencePieceText::set_score
  - NBestSentencePieceText::_internal_nbests_size
  - NBestSentencePieceText::nbests_size
  - NBestSentencePieceText::clear_nbests
  - NBestSentencePieceText::mutable_nbests
  - NBestSentencePieceText::mutable_nbests
  - '& NBestSentencePieceText::_internal_nbests(int index) const'
  - '& NBestSentencePieceText::nbests(int index) const'
  - NBestSentencePieceText::_internal_add_nbests
  - NBestSentencePieceText::add_nbests
  - '&

    NBestSentencePieceText::nbests() const'
  source_file: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
      type: void
    - item_type: typedef
      name: SentencePiece
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
      type: SentencePieceText_SentencePiece
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 451
        line_start: 451
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 452
        line_start: 452
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
      type: void
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 591
        line_start: 591
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 592
        line_start: 592
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.h
      type: void
    union: []
- function_names:
  - namespace
  - TableStruct_sentencepiece_5fmodel_2eproto
  - sentencepiece
  - TrainerSpec_ModelType_Name
  - ModelProto_SentencePiece_Type_Name
  - ::PROTOBUF_NAMESPACE_ID::MessageLite
  - TrainerSpec
  - '& operator=(const TrainerSpec& from)'
  - '& operator=(TrainerSpec&& from) noexcept'
  - unknown_fields
  - mutable_unknown_fields
  - internal_default_instance
  - swap
  - Swap
  - UnsafeArenaSwap
  - New
  - New
  - GetCachedSize
  - FullMessageName
  - ModelType_IsValid
  - ModelType_Name
  - ModelType_Parse
  - ::PROTOBUF_NAMESPACE_ID::MessageLite
  - NormalizerSpec
  - '& operator=(const NormalizerSpec& from)'
  - '& operator=(NormalizerSpec&& from) noexcept'
  - unknown_fields
  - mutable_unknown_fields
  - internal_default_instance
  - swap
  - Swap
  - UnsafeArenaSwap
  - New
  - New
  - GetCachedSize
  - FullMessageName
  - ::PROTOBUF_NAMESPACE_ID::MessageLite
  - SelfTestData_Sample
  - '& operator=(const SelfTestData_Sample& from)'
  - '& operator=(SelfTestData_Sample&& from) noexcept'
  - unknown_fields
  - mutable_unknown_fields
  - internal_default_instance
  - swap
  - Swap
  - UnsafeArenaSwap
  - New
  - New
  - GetCachedSize
  - FullMessageName
  - ::PROTOBUF_NAMESPACE_ID::MessageLite
  - SelfTestData
  - '& operator=(const SelfTestData& from)'
  - '& operator=(SelfTestData&& from) noexcept'
  - unknown_fields
  - mutable_unknown_fields
  - internal_default_instance
  - swap
  - Swap
  - UnsafeArenaSwap
  - New
  - New
  - GetCachedSize
  - FullMessageName
  - ::PROTOBUF_NAMESPACE_ID::MessageLite
  - ModelProto_SentencePiece
  - '& operator=(const ModelProto_SentencePiece& from)'
  - '& operator=(ModelProto_SentencePiece&& from) noexcept'
  - unknown_fields
  - mutable_unknown_fields
  - internal_default_instance
  - swap
  - Swap
  - UnsafeArenaSwap
  - New
  - New
  - GetCachedSize
  - FullMessageName
  - Type_IsValid
  - Type_Name
  - Type_Parse
  - ::PROTOBUF_NAMESPACE_ID::MessageLite
  - ModelProto
  - '& operator=(const ModelProto& from)'
  - '& operator=(ModelProto&& from) noexcept'
  - unknown_fields
  - mutable_unknown_fields
  - internal_default_instance
  - swap
  - Swap
  - UnsafeArenaSwap
  - New
  - New
  - GetCachedSize
  - FullMessageName
  - TrainerSpec::_internal_input_size
  - TrainerSpec::input_size
  - TrainerSpec::clear_input
  - TrainerSpec::add_input
  - '& TrainerSpec::_internal_input(int index) const'
  - '& TrainerSpec::input(int index) const'
  - TrainerSpec::mutable_input
  - TrainerSpec::set_input
  - TrainerSpec::set_input
  - TrainerSpec::set_input
  - TrainerSpec::set_input
  - TrainerSpec::_internal_add_input
  - TrainerSpec::add_input
  - TrainerSpec::add_input
  - TrainerSpec::add_input
  - TrainerSpec::add_input
  - '&

    TrainerSpec::input() const'
  - TrainerSpec::mutable_input
  - TrainerSpec::_internal_has_input_format
  - TrainerSpec::has_input_format
  - TrainerSpec::clear_input_format
  - '& TrainerSpec::input_format() const'
  - TrainerSpec::set_input_format
  - TrainerSpec::mutable_input_format
  - '& TrainerSpec::_internal_input_format() const'
  - TrainerSpec::_internal_set_input_format
  - TrainerSpec::set_input_format
  - TrainerSpec::set_input_format
  - TrainerSpec::set_input_format
  - TrainerSpec::_internal_mutable_input_format
  - TrainerSpec::release_input_format
  - TrainerSpec::set_allocated_input_format
  - TrainerSpec::_internal_has_model_prefix
  - TrainerSpec::has_model_prefix
  - TrainerSpec::clear_model_prefix
  - '& TrainerSpec::model_prefix() const'
  - TrainerSpec::set_model_prefix
  - TrainerSpec::mutable_model_prefix
  - '& TrainerSpec::_internal_model_prefix() const'
  - TrainerSpec::_internal_set_model_prefix
  - TrainerSpec::set_model_prefix
  - TrainerSpec::set_model_prefix
  - TrainerSpec::set_model_prefix
  - TrainerSpec::_internal_mutable_model_prefix
  - TrainerSpec::release_model_prefix
  - TrainerSpec::set_allocated_model_prefix
  - TrainerSpec::_internal_has_model_type
  - TrainerSpec::has_model_type
  - TrainerSpec::clear_model_type
  - TrainerSpec::_internal_model_type
  - TrainerSpec::model_type
  - TrainerSpec::_internal_set_model_type
  - TrainerSpec::set_model_type
  - TrainerSpec::_internal_has_vocab_size
  - TrainerSpec::has_vocab_size
  - TrainerSpec::clear_vocab_size
  - TrainerSpec::_internal_vocab_size
  - TrainerSpec::vocab_size
  - TrainerSpec::_internal_set_vocab_size
  - TrainerSpec::set_vocab_size
  - TrainerSpec::_internal_accept_language_size
  - TrainerSpec::accept_language_size
  - TrainerSpec::clear_accept_language
  - TrainerSpec::add_accept_language
  - '& TrainerSpec::_internal_accept_language(int index) const'
  - '& TrainerSpec::accept_language(int index) const'
  - TrainerSpec::mutable_accept_language
  - TrainerSpec::set_accept_language
  - TrainerSpec::set_accept_language
  - TrainerSpec::set_accept_language
  - TrainerSpec::set_accept_language
  - TrainerSpec::_internal_add_accept_language
  - TrainerSpec::add_accept_language
  - TrainerSpec::add_accept_language
  - TrainerSpec::add_accept_language
  - TrainerSpec::add_accept_language
  - '&

    TrainerSpec::accept_language() const'
  - TrainerSpec::mutable_accept_language
  - TrainerSpec::_internal_has_self_test_sample_size
  - TrainerSpec::has_self_test_sample_size
  - TrainerSpec::clear_self_test_sample_size
  - TrainerSpec::_internal_self_test_sample_size
  - TrainerSpec::self_test_sample_size
  - TrainerSpec::_internal_set_self_test_sample_size
  - TrainerSpec::set_self_test_sample_size
  - TrainerSpec::_internal_has_enable_differential_privacy
  - TrainerSpec::has_enable_differential_privacy
  - TrainerSpec::clear_enable_differential_privacy
  - TrainerSpec::_internal_enable_differential_privacy
  - TrainerSpec::enable_differential_privacy
  - TrainerSpec::_internal_set_enable_differential_privacy
  - TrainerSpec::set_enable_differential_privacy
  - TrainerSpec::_internal_has_differential_privacy_noise_level
  - TrainerSpec::has_differential_privacy_noise_level
  - TrainerSpec::clear_differential_privacy_noise_level
  - TrainerSpec::_internal_differential_privacy_noise_level
  - TrainerSpec::differential_privacy_noise_level
  - TrainerSpec::_internal_set_differential_privacy_noise_level
  - TrainerSpec::set_differential_privacy_noise_level
  - TrainerSpec::_internal_has_differential_privacy_clipping_threshold
  - TrainerSpec::has_differential_privacy_clipping_threshold
  - TrainerSpec::clear_differential_privacy_clipping_threshold
  - TrainerSpec::_internal_differential_privacy_clipping_threshold
  - TrainerSpec::differential_privacy_clipping_threshold
  - TrainerSpec::_internal_set_differential_privacy_clipping_threshold
  - TrainerSpec::set_differential_privacy_clipping_threshold
  - TrainerSpec::_internal_has_character_coverage
  - TrainerSpec::has_character_coverage
  - TrainerSpec::clear_character_coverage
  - TrainerSpec::_internal_character_coverage
  - TrainerSpec::character_coverage
  - TrainerSpec::_internal_set_character_coverage
  - TrainerSpec::set_character_coverage
  - TrainerSpec::_internal_has_input_sentence_size
  - TrainerSpec::has_input_sentence_size
  - TrainerSpec::clear_input_sentence_size
  - TrainerSpec::_internal_input_sentence_size
  - TrainerSpec::input_sentence_size
  - TrainerSpec::_internal_set_input_sentence_size
  - TrainerSpec::set_input_sentence_size
  - TrainerSpec::_internal_has_shuffle_input_sentence
  - TrainerSpec::has_shuffle_input_sentence
  - TrainerSpec::clear_shuffle_input_sentence
  - TrainerSpec::_internal_shuffle_input_sentence
  - TrainerSpec::shuffle_input_sentence
  - TrainerSpec::_internal_set_shuffle_input_sentence
  - TrainerSpec::set_shuffle_input_sentence
  - TrainerSpec::_internal_has_mining_sentence_size
  - TrainerSpec::has_mining_sentence_size
  - TrainerSpec::clear_mining_sentence_size
  - TrainerSpec::_internal_mining_sentence_size
  - TrainerSpec::mining_sentence_size
  - TrainerSpec::_internal_set_mining_sentence_size
  - TrainerSpec::set_mining_sentence_size
  - TrainerSpec::_internal_has_training_sentence_size
  - TrainerSpec::has_training_sentence_size
  - TrainerSpec::clear_training_sentence_size
  - TrainerSpec::_internal_training_sentence_size
  - TrainerSpec::training_sentence_size
  - TrainerSpec::_internal_set_training_sentence_size
  - TrainerSpec::set_training_sentence_size
  - TrainerSpec::_internal_has_seed_sentencepiece_size
  - TrainerSpec::has_seed_sentencepiece_size
  - TrainerSpec::clear_seed_sentencepiece_size
  - TrainerSpec::_internal_seed_sentencepiece_size
  - TrainerSpec::seed_sentencepiece_size
  - TrainerSpec::_internal_set_seed_sentencepiece_size
  - TrainerSpec::set_seed_sentencepiece_size
  - TrainerSpec::_internal_has_shrinking_factor
  - TrainerSpec::has_shrinking_factor
  - TrainerSpec::clear_shrinking_factor
  - TrainerSpec::_internal_shrinking_factor
  - TrainerSpec::shrinking_factor
  - TrainerSpec::_internal_set_shrinking_factor
  - TrainerSpec::set_shrinking_factor
  - TrainerSpec::_internal_has_max_sentence_length
  - TrainerSpec::has_max_sentence_length
  - TrainerSpec::clear_max_sentence_length
  - TrainerSpec::_internal_max_sentence_length
  - TrainerSpec::max_sentence_length
  - TrainerSpec::_internal_set_max_sentence_length
  - TrainerSpec::set_max_sentence_length
  - TrainerSpec::_internal_has_num_threads
  - TrainerSpec::has_num_threads
  - TrainerSpec::clear_num_threads
  - TrainerSpec::_internal_num_threads
  - TrainerSpec::num_threads
  - TrainerSpec::_internal_set_num_threads
  - TrainerSpec::set_num_threads
  - TrainerSpec::_internal_has_num_sub_iterations
  - TrainerSpec::has_num_sub_iterations
  - TrainerSpec::clear_num_sub_iterations
  - TrainerSpec::_internal_num_sub_iterations
  - TrainerSpec::num_sub_iterations
  - TrainerSpec::_internal_set_num_sub_iterations
  - TrainerSpec::set_num_sub_iterations
  - TrainerSpec::_internal_has_max_sentencepiece_length
  - TrainerSpec::has_max_sentencepiece_length
  - TrainerSpec::clear_max_sentencepiece_length
  - TrainerSpec::_internal_max_sentencepiece_length
  - TrainerSpec::max_sentencepiece_length
  - TrainerSpec::_internal_set_max_sentencepiece_length
  - TrainerSpec::set_max_sentencepiece_length
  - TrainerSpec::_internal_has_split_by_unicode_script
  - TrainerSpec::has_split_by_unicode_script
  - TrainerSpec::clear_split_by_unicode_script
  - TrainerSpec::_internal_split_by_unicode_script
  - TrainerSpec::split_by_unicode_script
  - TrainerSpec::_internal_set_split_by_unicode_script
  - TrainerSpec::set_split_by_unicode_script
  - TrainerSpec::_internal_has_split_by_number
  - TrainerSpec::has_split_by_number
  - TrainerSpec::clear_split_by_number
  - TrainerSpec::_internal_split_by_number
  - TrainerSpec::split_by_number
  - TrainerSpec::_internal_set_split_by_number
  - TrainerSpec::set_split_by_number
  - TrainerSpec::_internal_has_split_by_whitespace
  - TrainerSpec::has_split_by_whitespace
  - TrainerSpec::clear_split_by_whitespace
  - TrainerSpec::_internal_split_by_whitespace
  - TrainerSpec::split_by_whitespace
  - TrainerSpec::_internal_set_split_by_whitespace
  - TrainerSpec::set_split_by_whitespace
  - TrainerSpec::_internal_has_treat_whitespace_as_suffix
  - TrainerSpec::has_treat_whitespace_as_suffix
  - TrainerSpec::clear_treat_whitespace_as_suffix
  - TrainerSpec::_internal_treat_whitespace_as_suffix
  - TrainerSpec::treat_whitespace_as_suffix
  - TrainerSpec::_internal_set_treat_whitespace_as_suffix
  - TrainerSpec::set_treat_whitespace_as_suffix
  - TrainerSpec::_internal_has_allow_whitespace_only_pieces
  - TrainerSpec::has_allow_whitespace_only_pieces
  - TrainerSpec::clear_allow_whitespace_only_pieces
  - TrainerSpec::_internal_allow_whitespace_only_pieces
  - TrainerSpec::allow_whitespace_only_pieces
  - TrainerSpec::_internal_set_allow_whitespace_only_pieces
  - TrainerSpec::set_allow_whitespace_only_pieces
  - TrainerSpec::_internal_has_split_digits
  - TrainerSpec::has_split_digits
  - TrainerSpec::clear_split_digits
  - TrainerSpec::_internal_split_digits
  - TrainerSpec::split_digits
  - TrainerSpec::_internal_set_split_digits
  - TrainerSpec::set_split_digits
  - TrainerSpec::_internal_has_pretokenization_delimiter
  - TrainerSpec::has_pretokenization_delimiter
  - TrainerSpec::clear_pretokenization_delimiter
  - '& TrainerSpec::pretokenization_delimiter() const'
  - TrainerSpec::set_pretokenization_delimiter
  - TrainerSpec::mutable_pretokenization_delimiter
  - '& TrainerSpec::_internal_pretokenization_delimiter() const'
  - TrainerSpec::_internal_set_pretokenization_delimiter
  - TrainerSpec::set_pretokenization_delimiter
  - TrainerSpec::set_pretokenization_delimiter
  - TrainerSpec::set_pretokenization_delimiter
  - TrainerSpec::_internal_mutable_pretokenization_delimiter
  - TrainerSpec::release_pretokenization_delimiter
  - TrainerSpec::set_allocated_pretokenization_delimiter
  - TrainerSpec::_internal_control_symbols_size
  - TrainerSpec::control_symbols_size
  - TrainerSpec::clear_control_symbols
  - TrainerSpec::add_control_symbols
  - '& TrainerSpec::_internal_control_symbols(int index) const'
  - '& TrainerSpec::control_symbols(int index) const'
  - TrainerSpec::mutable_control_symbols
  - TrainerSpec::set_control_symbols
  - TrainerSpec::set_control_symbols
  - TrainerSpec::set_control_symbols
  - TrainerSpec::set_control_symbols
  - TrainerSpec::_internal_add_control_symbols
  - TrainerSpec::add_control_symbols
  - TrainerSpec::add_control_symbols
  - TrainerSpec::add_control_symbols
  - TrainerSpec::add_control_symbols
  - '&

    TrainerSpec::control_symbols() const'
  - TrainerSpec::mutable_control_symbols
  - TrainerSpec::_internal_user_defined_symbols_size
  - TrainerSpec::user_defined_symbols_size
  - TrainerSpec::clear_user_defined_symbols
  - TrainerSpec::add_user_defined_symbols
  - '& TrainerSpec::_internal_user_defined_symbols(int index) const'
  - '& TrainerSpec::user_defined_symbols(int index) const'
  - TrainerSpec::mutable_user_defined_symbols
  - TrainerSpec::set_user_defined_symbols
  - TrainerSpec::set_user_defined_symbols
  - TrainerSpec::set_user_defined_symbols
  - TrainerSpec::set_user_defined_symbols
  - TrainerSpec::_internal_add_user_defined_symbols
  - TrainerSpec::add_user_defined_symbols
  - TrainerSpec::add_user_defined_symbols
  - TrainerSpec::add_user_defined_symbols
  - TrainerSpec::add_user_defined_symbols
  - '&

    TrainerSpec::user_defined_symbols() const'
  - TrainerSpec::mutable_user_defined_symbols
  - TrainerSpec::_internal_has_required_chars
  - TrainerSpec::has_required_chars
  - TrainerSpec::clear_required_chars
  - '& TrainerSpec::required_chars() const'
  - TrainerSpec::set_required_chars
  - TrainerSpec::mutable_required_chars
  - '& TrainerSpec::_internal_required_chars() const'
  - TrainerSpec::_internal_set_required_chars
  - TrainerSpec::set_required_chars
  - TrainerSpec::set_required_chars
  - TrainerSpec::set_required_chars
  - TrainerSpec::_internal_mutable_required_chars
  - TrainerSpec::release_required_chars
  - TrainerSpec::set_allocated_required_chars
  - TrainerSpec::_internal_has_byte_fallback
  - TrainerSpec::has_byte_fallback
  - TrainerSpec::clear_byte_fallback
  - TrainerSpec::_internal_byte_fallback
  - TrainerSpec::byte_fallback
  - TrainerSpec::_internal_set_byte_fallback
  - TrainerSpec::set_byte_fallback
  - TrainerSpec::_internal_has_vocabulary_output_piece_score
  - TrainerSpec::has_vocabulary_output_piece_score
  - TrainerSpec::clear_vocabulary_output_piece_score
  - TrainerSpec::_internal_vocabulary_output_piece_score
  - TrainerSpec::vocabulary_output_piece_score
  - TrainerSpec::_internal_set_vocabulary_output_piece_score
  - TrainerSpec::set_vocabulary_output_piece_score
  - TrainerSpec::_internal_has_hard_vocab_limit
  - TrainerSpec::has_hard_vocab_limit
  - TrainerSpec::clear_hard_vocab_limit
  - TrainerSpec::_internal_hard_vocab_limit
  - TrainerSpec::hard_vocab_limit
  - TrainerSpec::_internal_set_hard_vocab_limit
  - TrainerSpec::set_hard_vocab_limit
  - TrainerSpec::_internal_has_use_all_vocab
  - TrainerSpec::has_use_all_vocab
  - TrainerSpec::clear_use_all_vocab
  - TrainerSpec::_internal_use_all_vocab
  - TrainerSpec::use_all_vocab
  - TrainerSpec::_internal_set_use_all_vocab
  - TrainerSpec::set_use_all_vocab
  - TrainerSpec::_internal_has_unk_id
  - TrainerSpec::has_unk_id
  - TrainerSpec::clear_unk_id
  - TrainerSpec::_internal_unk_id
  - TrainerSpec::unk_id
  - TrainerSpec::_internal_set_unk_id
  - TrainerSpec::set_unk_id
  - TrainerSpec::_internal_has_bos_id
  - TrainerSpec::has_bos_id
  - TrainerSpec::clear_bos_id
  - TrainerSpec::_internal_bos_id
  - TrainerSpec::bos_id
  - TrainerSpec::_internal_set_bos_id
  - TrainerSpec::set_bos_id
  - TrainerSpec::_internal_has_eos_id
  - TrainerSpec::has_eos_id
  - TrainerSpec::clear_eos_id
  - TrainerSpec::_internal_eos_id
  - TrainerSpec::eos_id
  - TrainerSpec::_internal_set_eos_id
  - TrainerSpec::set_eos_id
  - TrainerSpec::_internal_has_pad_id
  - TrainerSpec::has_pad_id
  - TrainerSpec::clear_pad_id
  - TrainerSpec::_internal_pad_id
  - TrainerSpec::pad_id
  - TrainerSpec::_internal_set_pad_id
  - TrainerSpec::set_pad_id
  - TrainerSpec::_internal_has_unk_piece
  - TrainerSpec::has_unk_piece
  - TrainerSpec::clear_unk_piece
  - '& TrainerSpec::unk_piece() const'
  - TrainerSpec::set_unk_piece
  - TrainerSpec::mutable_unk_piece
  - '& TrainerSpec::_internal_unk_piece() const'
  - TrainerSpec::_internal_set_unk_piece
  - TrainerSpec::set_unk_piece
  - TrainerSpec::set_unk_piece
  - TrainerSpec::set_unk_piece
  - TrainerSpec::_internal_mutable_unk_piece
  - TrainerSpec::release_unk_piece
  - TrainerSpec::set_allocated_unk_piece
  - TrainerSpec::_internal_has_bos_piece
  - TrainerSpec::has_bos_piece
  - TrainerSpec::clear_bos_piece
  - '& TrainerSpec::bos_piece() const'
  - TrainerSpec::set_bos_piece
  - TrainerSpec::mutable_bos_piece
  - '& TrainerSpec::_internal_bos_piece() const'
  - TrainerSpec::_internal_set_bos_piece
  - TrainerSpec::set_bos_piece
  - TrainerSpec::set_bos_piece
  - TrainerSpec::set_bos_piece
  - TrainerSpec::_internal_mutable_bos_piece
  - TrainerSpec::release_bos_piece
  - TrainerSpec::set_allocated_bos_piece
  - TrainerSpec::_internal_has_eos_piece
  - TrainerSpec::has_eos_piece
  - TrainerSpec::clear_eos_piece
  - '& TrainerSpec::eos_piece() const'
  - TrainerSpec::set_eos_piece
  - TrainerSpec::mutable_eos_piece
  - '& TrainerSpec::_internal_eos_piece() const'
  - TrainerSpec::_internal_set_eos_piece
  - TrainerSpec::set_eos_piece
  - TrainerSpec::set_eos_piece
  - TrainerSpec::set_eos_piece
  - TrainerSpec::_internal_mutable_eos_piece
  - TrainerSpec::release_eos_piece
  - TrainerSpec::set_allocated_eos_piece
  - TrainerSpec::_internal_has_pad_piece
  - TrainerSpec::has_pad_piece
  - TrainerSpec::clear_pad_piece
  - '& TrainerSpec::pad_piece() const'
  - TrainerSpec::set_pad_piece
  - TrainerSpec::mutable_pad_piece
  - '& TrainerSpec::_internal_pad_piece() const'
  - TrainerSpec::_internal_set_pad_piece
  - TrainerSpec::set_pad_piece
  - TrainerSpec::set_pad_piece
  - TrainerSpec::set_pad_piece
  - TrainerSpec::_internal_mutable_pad_piece
  - TrainerSpec::release_pad_piece
  - TrainerSpec::set_allocated_pad_piece
  - TrainerSpec::_internal_has_unk_surface
  - TrainerSpec::has_unk_surface
  - TrainerSpec::clear_unk_surface
  - '& TrainerSpec::unk_surface() const'
  - TrainerSpec::set_unk_surface
  - TrainerSpec::mutable_unk_surface
  - '& TrainerSpec::_internal_unk_surface() const'
  - TrainerSpec::_internal_set_unk_surface
  - TrainerSpec::set_unk_surface
  - TrainerSpec::set_unk_surface
  - TrainerSpec::set_unk_surface
  - TrainerSpec::_internal_mutable_unk_surface
  - TrainerSpec::release_unk_surface
  - TrainerSpec::set_allocated_unk_surface
  - TrainerSpec::_internal_has_train_extremely_large_corpus
  - TrainerSpec::has_train_extremely_large_corpus
  - TrainerSpec::clear_train_extremely_large_corpus
  - TrainerSpec::_internal_train_extremely_large_corpus
  - TrainerSpec::train_extremely_large_corpus
  - TrainerSpec::_internal_set_train_extremely_large_corpus
  - TrainerSpec::set_train_extremely_large_corpus
  - TrainerSpec::_internal_has_seed_sentencepieces_file
  - TrainerSpec::has_seed_sentencepieces_file
  - TrainerSpec::clear_seed_sentencepieces_file
  - '& TrainerSpec::seed_sentencepieces_file() const'
  - TrainerSpec::set_seed_sentencepieces_file
  - TrainerSpec::mutable_seed_sentencepieces_file
  - '& TrainerSpec::_internal_seed_sentencepieces_file() const'
  - TrainerSpec::_internal_set_seed_sentencepieces_file
  - TrainerSpec::set_seed_sentencepieces_file
  - TrainerSpec::set_seed_sentencepieces_file
  - TrainerSpec::set_seed_sentencepieces_file
  - TrainerSpec::_internal_mutable_seed_sentencepieces_file
  - TrainerSpec::release_seed_sentencepieces_file
  - TrainerSpec::set_allocated_seed_sentencepieces_file
  - NormalizerSpec::_internal_has_name
  - NormalizerSpec::has_name
  - NormalizerSpec::clear_name
  - '& NormalizerSpec::name() const'
  - NormalizerSpec::set_name
  - NormalizerSpec::mutable_name
  - '& NormalizerSpec::_internal_name() const'
  - NormalizerSpec::_internal_set_name
  - NormalizerSpec::set_name
  - NormalizerSpec::set_name
  - NormalizerSpec::set_name
  - NormalizerSpec::_internal_mutable_name
  - NormalizerSpec::release_name
  - NormalizerSpec::set_allocated_name
  - NormalizerSpec::_internal_has_precompiled_charsmap
  - NormalizerSpec::has_precompiled_charsmap
  - NormalizerSpec::clear_precompiled_charsmap
  - '& NormalizerSpec::precompiled_charsmap() const'
  - NormalizerSpec::set_precompiled_charsmap
  - NormalizerSpec::mutable_precompiled_charsmap
  - '& NormalizerSpec::_internal_precompiled_charsmap() const'
  - NormalizerSpec::_internal_set_precompiled_charsmap
  - NormalizerSpec::set_precompiled_charsmap
  - NormalizerSpec::set_precompiled_charsmap
  - NormalizerSpec::set_precompiled_charsmap
  - NormalizerSpec::_internal_mutable_precompiled_charsmap
  - NormalizerSpec::release_precompiled_charsmap
  - NormalizerSpec::set_allocated_precompiled_charsmap
  - NormalizerSpec::_internal_has_add_dummy_prefix
  - NormalizerSpec::has_add_dummy_prefix
  - NormalizerSpec::clear_add_dummy_prefix
  - NormalizerSpec::_internal_add_dummy_prefix
  - NormalizerSpec::add_dummy_prefix
  - NormalizerSpec::_internal_set_add_dummy_prefix
  - NormalizerSpec::set_add_dummy_prefix
  - NormalizerSpec::_internal_has_remove_extra_whitespaces
  - NormalizerSpec::has_remove_extra_whitespaces
  - NormalizerSpec::clear_remove_extra_whitespaces
  - NormalizerSpec::_internal_remove_extra_whitespaces
  - NormalizerSpec::remove_extra_whitespaces
  - NormalizerSpec::_internal_set_remove_extra_whitespaces
  - NormalizerSpec::set_remove_extra_whitespaces
  - NormalizerSpec::_internal_has_escape_whitespaces
  - NormalizerSpec::has_escape_whitespaces
  - NormalizerSpec::clear_escape_whitespaces
  - NormalizerSpec::_internal_escape_whitespaces
  - NormalizerSpec::escape_whitespaces
  - NormalizerSpec::_internal_set_escape_whitespaces
  - NormalizerSpec::set_escape_whitespaces
  - NormalizerSpec::_internal_has_normalization_rule_tsv
  - NormalizerSpec::has_normalization_rule_tsv
  - NormalizerSpec::clear_normalization_rule_tsv
  - '& NormalizerSpec::normalization_rule_tsv() const'
  - NormalizerSpec::set_normalization_rule_tsv
  - NormalizerSpec::mutable_normalization_rule_tsv
  - '& NormalizerSpec::_internal_normalization_rule_tsv() const'
  - NormalizerSpec::_internal_set_normalization_rule_tsv
  - NormalizerSpec::set_normalization_rule_tsv
  - NormalizerSpec::set_normalization_rule_tsv
  - NormalizerSpec::set_normalization_rule_tsv
  - NormalizerSpec::_internal_mutable_normalization_rule_tsv
  - NormalizerSpec::release_normalization_rule_tsv
  - NormalizerSpec::set_allocated_normalization_rule_tsv
  - SelfTestData_Sample::_internal_has_input
  - SelfTestData_Sample::has_input
  - SelfTestData_Sample::clear_input
  - '& SelfTestData_Sample::input() const'
  - SelfTestData_Sample::set_input
  - SelfTestData_Sample::mutable_input
  - '& SelfTestData_Sample::_internal_input() const'
  - SelfTestData_Sample::_internal_set_input
  - SelfTestData_Sample::set_input
  - SelfTestData_Sample::set_input
  - SelfTestData_Sample::set_input
  - SelfTestData_Sample::_internal_mutable_input
  - SelfTestData_Sample::release_input
  - SelfTestData_Sample::set_allocated_input
  - SelfTestData_Sample::_internal_has_expected
  - SelfTestData_Sample::has_expected
  - SelfTestData_Sample::clear_expected
  - '& SelfTestData_Sample::expected() const'
  - SelfTestData_Sample::set_expected
  - SelfTestData_Sample::mutable_expected
  - '& SelfTestData_Sample::_internal_expected() const'
  - SelfTestData_Sample::_internal_set_expected
  - SelfTestData_Sample::set_expected
  - SelfTestData_Sample::set_expected
  - SelfTestData_Sample::set_expected
  - SelfTestData_Sample::_internal_mutable_expected
  - SelfTestData_Sample::release_expected
  - SelfTestData_Sample::set_allocated_expected
  - SelfTestData::_internal_samples_size
  - SelfTestData::samples_size
  - SelfTestData::clear_samples
  - SelfTestData::mutable_samples
  - SelfTestData::mutable_samples
  - '& SelfTestData::_internal_samples(int index) const'
  - '& SelfTestData::samples(int index) const'
  - SelfTestData::_internal_add_samples
  - SelfTestData::add_samples
  - '&

    SelfTestData::samples() const'
  - ModelProto_SentencePiece::_internal_has_piece
  - ModelProto_SentencePiece::has_piece
  - ModelProto_SentencePiece::clear_piece
  - '& ModelProto_SentencePiece::piece() const'
  - ModelProto_SentencePiece::set_piece
  - ModelProto_SentencePiece::mutable_piece
  - '& ModelProto_SentencePiece::_internal_piece() const'
  - ModelProto_SentencePiece::_internal_set_piece
  - ModelProto_SentencePiece::set_piece
  - ModelProto_SentencePiece::set_piece
  - ModelProto_SentencePiece::set_piece
  - ModelProto_SentencePiece::_internal_mutable_piece
  - ModelProto_SentencePiece::release_piece
  - ModelProto_SentencePiece::set_allocated_piece
  - ModelProto_SentencePiece::_internal_has_score
  - ModelProto_SentencePiece::has_score
  - ModelProto_SentencePiece::clear_score
  - ModelProto_SentencePiece::_internal_score
  - ModelProto_SentencePiece::score
  - ModelProto_SentencePiece::_internal_set_score
  - ModelProto_SentencePiece::set_score
  - ModelProto_SentencePiece::_internal_has_type
  - ModelProto_SentencePiece::has_type
  - ModelProto_SentencePiece::clear_type
  - ModelProto_SentencePiece::_internal_type
  - ModelProto_SentencePiece::type
  - ModelProto_SentencePiece::_internal_set_type
  - ModelProto_SentencePiece::set_type
  - ModelProto::_internal_pieces_size
  - ModelProto::pieces_size
  - ModelProto::clear_pieces
  - ModelProto::mutable_pieces
  - ModelProto::mutable_pieces
  - '& ModelProto::_internal_pieces(int index) const'
  - '& ModelProto::pieces(int index) const'
  - ModelProto::_internal_add_pieces
  - ModelProto::add_pieces
  - '&

    ModelProto::pieces() const'
  - ModelProto::_internal_has_trainer_spec
  - ModelProto::has_trainer_spec
  - ModelProto::clear_trainer_spec
  - '& ModelProto::_internal_trainer_spec() const'
  - '& ModelProto::trainer_spec() const'
  - ModelProto::unsafe_arena_set_allocated_trainer_spec
  - ModelProto::release_trainer_spec
  - ModelProto::unsafe_arena_release_trainer_spec
  - ModelProto::_internal_mutable_trainer_spec
  - ModelProto::mutable_trainer_spec
  - ModelProto::set_allocated_trainer_spec
  - ModelProto::_internal_has_normalizer_spec
  - ModelProto::has_normalizer_spec
  - ModelProto::clear_normalizer_spec
  - '& ModelProto::_internal_normalizer_spec() const'
  - '& ModelProto::normalizer_spec() const'
  - ModelProto::unsafe_arena_set_allocated_normalizer_spec
  - ModelProto::release_normalizer_spec
  - ModelProto::unsafe_arena_release_normalizer_spec
  - ModelProto::_internal_mutable_normalizer_spec
  - ModelProto::mutable_normalizer_spec
  - ModelProto::set_allocated_normalizer_spec
  - ModelProto::_internal_has_self_test_data
  - ModelProto::has_self_test_data
  - ModelProto::clear_self_test_data
  - '& ModelProto::_internal_self_test_data() const'
  - '& ModelProto::self_test_data() const'
  - ModelProto::unsafe_arena_set_allocated_self_test_data
  - ModelProto::release_self_test_data
  - ModelProto::unsafe_arena_release_self_test_data
  - ModelProto::_internal_mutable_self_test_data
  - ModelProto::mutable_self_test_data
  - ModelProto::set_allocated_self_test_data
  - ModelProto::_internal_has_denormalizer_spec
  - ModelProto::has_denormalizer_spec
  - ModelProto::clear_denormalizer_spec
  - '& ModelProto::_internal_denormalizer_spec() const'
  - '& ModelProto::denormalizer_spec() const'
  - ModelProto::unsafe_arena_set_allocated_denormalizer_spec
  - ModelProto::release_denormalizer_spec
  - ModelProto::unsafe_arena_release_denormalizer_spec
  - ModelProto::_internal_mutable_denormalizer_spec
  - ModelProto::mutable_denormalizer_spec
  - ModelProto::set_allocated_denormalizer_spec
  source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
  types:
    enum:
    - enumerators:
      - name: TrainerSpec_ModelType_UNIGRAM
        value: '1'
      - name: TrainerSpec_ModelType_CHAR
        value: '4'
      - name: TrainerSpec_ModelType_BPE
        value: '2'
      - name: TrainerSpec_ModelType_WORD
        value: '3'
      item_type: enum
      name: TrainerSpec_ModelType
      pos:
        line_end: 88
        line_start: 83
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    - enumerators:
      - name: ModelProto_SentencePiece_Type_NORMAL
        value: '1'
      - name: ModelProto_SentencePiece_Type_USER_DEFINED
        value: '4'
      - name: ModelProto_SentencePiece_Type_UNKNOWN
        value: '2'
      - name: ModelProto_SentencePiece_Type_CONTROL
        value: '3'
      - name: ModelProto_SentencePiece_Type_BYTE
        value: '6'
      - name: ModelProto_SentencePiece_Type_UNUSED
        value: '5'
      item_type: enum
      name: ModelProto_SentencePiece_Type
      pos:
        line_end: 111
        line_start: 104
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: is_proto_enum< ::sentencepiece::ModelProto_SentencePiece_Type>
      pos:
        line_end: 5022
        line_start: 5022
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
    typedefs:
    - item_type: typedef
      name: ModelType
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: TrainerSpec_ModelType
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 1030
        line_start: 1030
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 1031
        line_start: 1031
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: void
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 1307
        line_start: 1307
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 1308
        line_start: 1308
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: void
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 1473
        line_start: 1473
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 1474
        line_start: 1474
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: void
    - item_type: typedef
      name: Sample
      pos:
        line_end: 1584
        line_start: 1584
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: SelfTestData_Sample
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 1617
        line_start: 1617
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 1618
        line_start: 1618
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: void
    - item_type: typedef
      name: Type
      pos:
        line_end: 1726
        line_start: 1726
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: ModelProto_SentencePiece_Type
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 1821
        line_start: 1821
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 1822
        line_start: 1822
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: void
    - item_type: typedef
      name: SentencePiece
      pos:
        line_end: 1933
        line_start: 1933
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: ModelProto_SentencePiece
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 2042
        line_start: 2042
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 2043
        line_start: 2043
        source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.h
      type: void
    union: []
- function_names:
  - InitDefaultsscc_info_NBestSentencePieceText_sentencepiece_2eproto
  - InitDefaultsscc_info_SentencePieceText_sentencepiece_2eproto
  - InitDefaultsscc_info_SentencePieceText_SentencePiece_sentencepiece_2eproto
  - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_piece
  - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_id
  - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_surface
  - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_begin
  - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_end
  - sentencepiece::SentencePieceText_SentencePiece::SentencePieceText_SentencePiece
  - sentencepiece::SentencePieceText_SentencePiece::SentencePieceText_SentencePiece
  - sentencepiece::SentencePieceText_SentencePiece::SharedCtor
  - SentencePieceText_SentencePiece::~SentencePieceText_SentencePiece()
  - sentencepiece::SentencePieceText_SentencePiece::SharedDtor
  - sentencepiece::SentencePieceText_SentencePiece::ArenaDtor
  - sentencepiece::SentencePieceText_SentencePiece::RegisterArenaDtor
  - sentencepiece::SentencePieceText_SentencePiece::SetCachedSize
  - '& SentencePieceText_SentencePiece::default_instance()'
  - sentencepiece::SentencePieceText_SentencePiece::Clear
  - sentencepiece::SentencePieceText_SentencePiece::_InternalParse
  - CHK_
  - sentencepiece::SentencePieceText_SentencePiece::_InternalSerialize
  - sentencepiece::SentencePieceText_SentencePiece::ByteSizeLong
  - sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
  - sentencepiece::SentencePieceText_SentencePiece::MergeFrom
  - sentencepiece::SentencePieceText_SentencePiece::CopyFrom
  - sentencepiece::SentencePieceText_SentencePiece::IsInitialized
  - sentencepiece::SentencePieceText_SentencePiece::InternalSwap
  - sentencepiece::SentencePieceText_SentencePiece::GetTypeName
  - sentencepiece::SentencePieceText::_Internal::set_has_text
  - sentencepiece::SentencePieceText::_Internal::set_has_score
  - sentencepiece::SentencePieceText::SentencePieceText
  - sentencepiece::SentencePieceText::SentencePieceText
  - sentencepiece::SentencePieceText::SharedCtor
  - SentencePieceText::~SentencePieceText()
  - sentencepiece::SentencePieceText::SharedDtor
  - sentencepiece::SentencePieceText::ArenaDtor
  - sentencepiece::SentencePieceText::RegisterArenaDtor
  - sentencepiece::SentencePieceText::SetCachedSize
  - '& SentencePieceText::default_instance()'
  - sentencepiece::SentencePieceText::Clear
  - sentencepiece::SentencePieceText::_InternalParse
  - CHK_
  - sentencepiece::SentencePieceText::_InternalSerialize
  - sentencepiece::SentencePieceText::ByteSizeLong
  - sentencepiece::SentencePieceText::CheckTypeAndMergeFrom
  - sentencepiece::SentencePieceText::MergeFrom
  - sentencepiece::SentencePieceText::CopyFrom
  - sentencepiece::SentencePieceText::IsInitialized
  - sentencepiece::SentencePieceText::InternalSwap
  - sentencepiece::SentencePieceText::GetTypeName
  - sentencepiece::NBestSentencePieceText::NBestSentencePieceText
  - sentencepiece::NBestSentencePieceText::NBestSentencePieceText
  - sentencepiece::NBestSentencePieceText::SharedCtor
  - NBestSentencePieceText::~NBestSentencePieceText()
  - sentencepiece::NBestSentencePieceText::SharedDtor
  - sentencepiece::NBestSentencePieceText::ArenaDtor
  - sentencepiece::NBestSentencePieceText::RegisterArenaDtor
  - sentencepiece::NBestSentencePieceText::SetCachedSize
  - '& NBestSentencePieceText::default_instance()'
  - sentencepiece::NBestSentencePieceText::Clear
  - sentencepiece::NBestSentencePieceText::_InternalParse
  - CHK_
  - sentencepiece::NBestSentencePieceText::_InternalSerialize
  - sentencepiece::NBestSentencePieceText::ByteSizeLong
  - sentencepiece::NBestSentencePieceText::CheckTypeAndMergeFrom
  - sentencepiece::NBestSentencePieceText::MergeFrom
  - sentencepiece::NBestSentencePieceText::CopyFrom
  - sentencepiece::NBestSentencePieceText::IsInitialized
  - sentencepiece::NBestSentencePieceText::InternalSwap
  - sentencepiece::NBestSentencePieceText::GetTypeName
  - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_piece
  - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_id
  - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_surface
  - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_begin
  - sentencepiece::SentencePieceText_SentencePiece::_Internal::set_has_end
  - sentencepiece::SentencePieceText_SentencePiece::SentencePieceText_SentencePiece
  - sentencepiece::SentencePieceText_SentencePiece::SentencePieceText_SentencePiece
  - sentencepiece::SentencePieceText_SentencePiece::SharedCtor
  - SentencePieceText_SentencePiece::~SentencePieceText_SentencePiece()
  - sentencepiece::SentencePieceText_SentencePiece::SharedDtor
  - sentencepiece::SentencePieceText_SentencePiece::ArenaDtor
  - sentencepiece::SentencePieceText_SentencePiece::RegisterArenaDtor
  - sentencepiece::SentencePieceText_SentencePiece::SetCachedSize
  - '& SentencePieceText_SentencePiece::default_instance()'
  - sentencepiece::SentencePieceText_SentencePiece::Clear
  - sentencepiece::SentencePieceText_SentencePiece::_InternalParse
  - CHK_
  - sentencepiece::SentencePieceText_SentencePiece::_InternalSerialize
  - sentencepiece::SentencePieceText_SentencePiece::ByteSizeLong
  - sentencepiece::SentencePieceText_SentencePiece::CheckTypeAndMergeFrom
  - sentencepiece::SentencePieceText_SentencePiece::MergeFrom
  - sentencepiece::SentencePieceText_SentencePiece::CopyFrom
  - sentencepiece::SentencePieceText_SentencePiece::IsInitialized
  - sentencepiece::SentencePieceText_SentencePiece::InternalSwap
  - sentencepiece::SentencePieceText_SentencePiece::GetTypeName
  - sentencepiece::SentencePieceText::_Internal::set_has_text
  - sentencepiece::SentencePieceText::_Internal::set_has_score
  - sentencepiece::SentencePieceText::SentencePieceText
  - sentencepiece::SentencePieceText::SentencePieceText
  - sentencepiece::SentencePieceText::SharedCtor
  - SentencePieceText::~SentencePieceText()
  - sentencepiece::SentencePieceText::SharedDtor
  - sentencepiece::SentencePieceText::ArenaDtor
  - sentencepiece::SentencePieceText::RegisterArenaDtor
  - sentencepiece::SentencePieceText::SetCachedSize
  - '& SentencePieceText::default_instance()'
  - sentencepiece::SentencePieceText::Clear
  - sentencepiece::SentencePieceText::_InternalParse
  - CHK_
  - sentencepiece::SentencePieceText::_InternalSerialize
  - sentencepiece::SentencePieceText::ByteSizeLong
  - sentencepiece::SentencePieceText::CheckTypeAndMergeFrom
  - sentencepiece::SentencePieceText::MergeFrom
  - sentencepiece::SentencePieceText::CopyFrom
  - sentencepiece::SentencePieceText::IsInitialized
  - sentencepiece::SentencePieceText::InternalSwap
  - sentencepiece::SentencePieceText::GetTypeName
  - sentencepiece::NBestSentencePieceText::NBestSentencePieceText
  - sentencepiece::NBestSentencePieceText::NBestSentencePieceText
  - sentencepiece::NBestSentencePieceText::SharedCtor
  - NBestSentencePieceText::~NBestSentencePieceText()
  - sentencepiece::NBestSentencePieceText::SharedDtor
  - sentencepiece::NBestSentencePieceText::ArenaDtor
  - sentencepiece::NBestSentencePieceText::RegisterArenaDtor
  - sentencepiece::NBestSentencePieceText::SetCachedSize
  - '& NBestSentencePieceText::default_instance()'
  - sentencepiece::NBestSentencePieceText::Clear
  - sentencepiece::NBestSentencePieceText::_InternalParse
  - CHK_
  - sentencepiece::NBestSentencePieceText::_InternalSerialize
  - sentencepiece::NBestSentencePieceText::ByteSizeLong
  - sentencepiece::NBestSentencePieceText::CheckTypeAndMergeFrom
  - sentencepiece::NBestSentencePieceText::MergeFrom
  - sentencepiece::NBestSentencePieceText::CopyFrom
  - sentencepiece::NBestSentencePieceText::IsInitialized
  - sentencepiece::NBestSentencePieceText::InternalSwap
  - sentencepiece::NBestSentencePieceText::GetTypeName
  - '* Arena::CreateMaybeMessage< ::sentencepiece::SentencePieceText_SentencePiece
    >(Arena* arena)'
  - '* Arena::CreateMaybeMessage< ::sentencepiece::SentencePieceText >(Arena* arena)'
  - '* Arena::CreateMaybeMessage< ::sentencepiece::NBestSentencePieceText >(Arena*
    arena)'
  source_file: /src/sentencepiece/src/builtin_pb/sentencepiece.pb.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - InitDefaultsscc_info_ModelProto_sentencepiece_5fmodel_2eproto
  - InitDefaultsscc_info_ModelProto_SentencePiece_sentencepiece_5fmodel_2eproto
  - InitDefaultsscc_info_NormalizerSpec_sentencepiece_5fmodel_2eproto
  - InitDefaultsscc_info_SelfTestData_sentencepiece_5fmodel_2eproto
  - InitDefaultsscc_info_SelfTestData_Sample_sentencepiece_5fmodel_2eproto
  - InitDefaultsscc_info_TrainerSpec_sentencepiece_5fmodel_2eproto
  - sentencepiece::TrainerSpec_ModelType_IsValid
  - sentencepiece::TrainerSpec_ModelType_Name
  - sentencepiece::TrainerSpec_ModelType_Parse
  - sentencepiece::ModelProto_SentencePiece_Type_IsValid
  - sentencepiece::ModelProto_SentencePiece_Type_Name
  - sentencepiece::ModelProto_SentencePiece_Type_Parse
  - sentencepiece::TrainerSpec::_Internal::set_has_input_format
  - sentencepiece::TrainerSpec::_Internal::set_has_model_prefix
  - sentencepiece::TrainerSpec::_Internal::set_has_model_type
  - sentencepiece::TrainerSpec::_Internal::set_has_vocab_size
  - sentencepiece::TrainerSpec::_Internal::set_has_self_test_sample_size
  - sentencepiece::TrainerSpec::_Internal::set_has_enable_differential_privacy
  - sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_noise_level
  - sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_clipping_threshold
  - sentencepiece::TrainerSpec::_Internal::set_has_character_coverage
  - sentencepiece::TrainerSpec::_Internal::set_has_input_sentence_size
  - sentencepiece::TrainerSpec::_Internal::set_has_shuffle_input_sentence
  - sentencepiece::TrainerSpec::_Internal::set_has_mining_sentence_size
  - sentencepiece::TrainerSpec::_Internal::set_has_training_sentence_size
  - sentencepiece::TrainerSpec::_Internal::set_has_seed_sentencepiece_size
  - sentencepiece::TrainerSpec::_Internal::set_has_shrinking_factor
  - sentencepiece::TrainerSpec::_Internal::set_has_max_sentence_length
  - sentencepiece::TrainerSpec::_Internal::set_has_num_threads
  - sentencepiece::TrainerSpec::_Internal::set_has_num_sub_iterations
  - sentencepiece::TrainerSpec::_Internal::set_has_max_sentencepiece_length
  - sentencepiece::TrainerSpec::_Internal::set_has_split_by_unicode_script
  - sentencepiece::TrainerSpec::_Internal::set_has_split_by_number
  - sentencepiece::TrainerSpec::_Internal::set_has_split_by_whitespace
  - sentencepiece::TrainerSpec::_Internal::set_has_treat_whitespace_as_suffix
  - sentencepiece::TrainerSpec::_Internal::set_has_allow_whitespace_only_pieces
  - sentencepiece::TrainerSpec::_Internal::set_has_split_digits
  - sentencepiece::TrainerSpec::_Internal::set_has_pretokenization_delimiter
  - sentencepiece::TrainerSpec::_Internal::set_has_required_chars
  - sentencepiece::TrainerSpec::_Internal::set_has_byte_fallback
  - sentencepiece::TrainerSpec::_Internal::set_has_vocabulary_output_piece_score
  - sentencepiece::TrainerSpec::_Internal::set_has_hard_vocab_limit
  - sentencepiece::TrainerSpec::_Internal::set_has_use_all_vocab
  - sentencepiece::TrainerSpec::_Internal::set_has_unk_id
  - sentencepiece::TrainerSpec::_Internal::set_has_bos_id
  - sentencepiece::TrainerSpec::_Internal::set_has_eos_id
  - sentencepiece::TrainerSpec::_Internal::set_has_pad_id
  - sentencepiece::TrainerSpec::_Internal::set_has_unk_piece
  - sentencepiece::TrainerSpec::_Internal::set_has_bos_piece
  - sentencepiece::TrainerSpec::_Internal::set_has_eos_piece
  - sentencepiece::TrainerSpec::_Internal::set_has_pad_piece
  - sentencepiece::TrainerSpec::_Internal::set_has_unk_surface
  - sentencepiece::TrainerSpec::_Internal::set_has_train_extremely_large_corpus
  - sentencepiece::TrainerSpec::_Internal::set_has_seed_sentencepieces_file
  - sentencepiece::TrainerSpec::TrainerSpec
  - sentencepiece::TrainerSpec::TrainerSpec
  - sentencepiece::TrainerSpec::SharedCtor
  - TrainerSpec::~TrainerSpec()
  - sentencepiece::TrainerSpec::SharedDtor
  - sentencepiece::TrainerSpec::ArenaDtor
  - sentencepiece::TrainerSpec::RegisterArenaDtor
  - sentencepiece::TrainerSpec::SetCachedSize
  - '& TrainerSpec::default_instance()'
  - sentencepiece::TrainerSpec::Clear
  - sentencepiece::TrainerSpec::_InternalParse
  - CHK_
  - sentencepiece::TrainerSpec::_InternalSerialize
  - sentencepiece::TrainerSpec::ByteSizeLong
  - sentencepiece::TrainerSpec::CheckTypeAndMergeFrom
  - sentencepiece::TrainerSpec::MergeFrom
  - sentencepiece::TrainerSpec::CopyFrom
  - sentencepiece::TrainerSpec::IsInitialized
  - sentencepiece::TrainerSpec::InternalSwap
  - sentencepiece::TrainerSpec::GetTypeName
  - sentencepiece::NormalizerSpec::_Internal::set_has_name
  - sentencepiece::NormalizerSpec::_Internal::set_has_precompiled_charsmap
  - sentencepiece::NormalizerSpec::_Internal::set_has_add_dummy_prefix
  - sentencepiece::NormalizerSpec::_Internal::set_has_remove_extra_whitespaces
  - sentencepiece::NormalizerSpec::_Internal::set_has_escape_whitespaces
  - sentencepiece::NormalizerSpec::_Internal::set_has_normalization_rule_tsv
  - sentencepiece::NormalizerSpec::NormalizerSpec
  - sentencepiece::NormalizerSpec::NormalizerSpec
  - sentencepiece::NormalizerSpec::SharedCtor
  - NormalizerSpec::~NormalizerSpec()
  - sentencepiece::NormalizerSpec::SharedDtor
  - sentencepiece::NormalizerSpec::ArenaDtor
  - sentencepiece::NormalizerSpec::RegisterArenaDtor
  - sentencepiece::NormalizerSpec::SetCachedSize
  - '& NormalizerSpec::default_instance()'
  - sentencepiece::NormalizerSpec::Clear
  - sentencepiece::NormalizerSpec::_InternalParse
  - CHK_
  - sentencepiece::NormalizerSpec::_InternalSerialize
  - sentencepiece::NormalizerSpec::ByteSizeLong
  - sentencepiece::NormalizerSpec::CheckTypeAndMergeFrom
  - sentencepiece::NormalizerSpec::MergeFrom
  - sentencepiece::NormalizerSpec::CopyFrom
  - sentencepiece::NormalizerSpec::IsInitialized
  - sentencepiece::NormalizerSpec::InternalSwap
  - sentencepiece::NormalizerSpec::GetTypeName
  - sentencepiece::SelfTestData_Sample::_Internal::set_has_input
  - sentencepiece::SelfTestData_Sample::_Internal::set_has_expected
  - sentencepiece::SelfTestData_Sample::SelfTestData_Sample
  - sentencepiece::SelfTestData_Sample::SelfTestData_Sample
  - sentencepiece::SelfTestData_Sample::SharedCtor
  - SelfTestData_Sample::~SelfTestData_Sample()
  - sentencepiece::SelfTestData_Sample::SharedDtor
  - sentencepiece::SelfTestData_Sample::ArenaDtor
  - sentencepiece::SelfTestData_Sample::RegisterArenaDtor
  - sentencepiece::SelfTestData_Sample::SetCachedSize
  - '& SelfTestData_Sample::default_instance()'
  - sentencepiece::SelfTestData_Sample::Clear
  - sentencepiece::SelfTestData_Sample::_InternalParse
  - CHK_
  - sentencepiece::SelfTestData_Sample::_InternalSerialize
  - sentencepiece::SelfTestData_Sample::ByteSizeLong
  - sentencepiece::SelfTestData_Sample::CheckTypeAndMergeFrom
  - sentencepiece::SelfTestData_Sample::MergeFrom
  - sentencepiece::SelfTestData_Sample::CopyFrom
  - sentencepiece::SelfTestData_Sample::IsInitialized
  - sentencepiece::SelfTestData_Sample::InternalSwap
  - sentencepiece::SelfTestData_Sample::GetTypeName
  - sentencepiece::SelfTestData::SelfTestData
  - sentencepiece::SelfTestData::SelfTestData
  - sentencepiece::SelfTestData::SharedCtor
  - SelfTestData::~SelfTestData()
  - sentencepiece::SelfTestData::SharedDtor
  - sentencepiece::SelfTestData::ArenaDtor
  - sentencepiece::SelfTestData::RegisterArenaDtor
  - sentencepiece::SelfTestData::SetCachedSize
  - '& SelfTestData::default_instance()'
  - sentencepiece::SelfTestData::Clear
  - sentencepiece::SelfTestData::_InternalParse
  - CHK_
  - sentencepiece::SelfTestData::_InternalSerialize
  - sentencepiece::SelfTestData::ByteSizeLong
  - sentencepiece::SelfTestData::CheckTypeAndMergeFrom
  - sentencepiece::SelfTestData::MergeFrom
  - sentencepiece::SelfTestData::CopyFrom
  - sentencepiece::SelfTestData::IsInitialized
  - sentencepiece::SelfTestData::InternalSwap
  - sentencepiece::SelfTestData::GetTypeName
  - sentencepiece::ModelProto_SentencePiece::_Internal::set_has_piece
  - sentencepiece::ModelProto_SentencePiece::_Internal::set_has_score
  - sentencepiece::ModelProto_SentencePiece::_Internal::set_has_type
  - sentencepiece::ModelProto_SentencePiece::ModelProto_SentencePiece
  - sentencepiece::ModelProto_SentencePiece::ModelProto_SentencePiece
  - sentencepiece::ModelProto_SentencePiece::SharedCtor
  - ModelProto_SentencePiece::~ModelProto_SentencePiece()
  - sentencepiece::ModelProto_SentencePiece::SharedDtor
  - sentencepiece::ModelProto_SentencePiece::ArenaDtor
  - sentencepiece::ModelProto_SentencePiece::RegisterArenaDtor
  - sentencepiece::ModelProto_SentencePiece::SetCachedSize
  - '& ModelProto_SentencePiece::default_instance()'
  - sentencepiece::ModelProto_SentencePiece::Clear
  - sentencepiece::ModelProto_SentencePiece::_InternalParse
  - CHK_
  - sentencepiece::ModelProto_SentencePiece::_InternalSerialize
  - sentencepiece::ModelProto_SentencePiece::ByteSizeLong
  - sentencepiece::ModelProto_SentencePiece::CheckTypeAndMergeFrom
  - sentencepiece::ModelProto_SentencePiece::MergeFrom
  - sentencepiece::ModelProto_SentencePiece::CopyFrom
  - sentencepiece::ModelProto_SentencePiece::IsInitialized
  - sentencepiece::ModelProto_SentencePiece::InternalSwap
  - sentencepiece::ModelProto_SentencePiece::GetTypeName
  - sentencepiece::ModelProto::_Internal::set_has_trainer_spec
  - sentencepiece::ModelProto::_Internal::set_has_normalizer_spec
  - sentencepiece::ModelProto::_Internal::set_has_self_test_data
  - sentencepiece::ModelProto::_Internal::set_has_denormalizer_spec
  - '&

    ModelProto::_Internal::trainer_spec(const ModelProto* msg)'
  - '&

    ModelProto::_Internal::normalizer_spec(const ModelProto* msg)'
  - '&

    ModelProto::_Internal::self_test_data(const ModelProto* msg)'
  - '&

    ModelProto::_Internal::denormalizer_spec(const ModelProto* msg)'
  - sentencepiece::ModelProto::ModelProto
  - sentencepiece::ModelProto::ModelProto
  - sentencepiece::ModelProto::SharedCtor
  - ModelProto::~ModelProto()
  - sentencepiece::ModelProto::SharedDtor
  - sentencepiece::ModelProto::ArenaDtor
  - sentencepiece::ModelProto::RegisterArenaDtor
  - sentencepiece::ModelProto::SetCachedSize
  - '& ModelProto::default_instance()'
  - sentencepiece::ModelProto::Clear
  - sentencepiece::ModelProto::_InternalParse
  - CHK_
  - sentencepiece::ModelProto::_InternalSerialize
  - sentencepiece::ModelProto::ByteSizeLong
  - sentencepiece::ModelProto::CheckTypeAndMergeFrom
  - sentencepiece::ModelProto::MergeFrom
  - sentencepiece::ModelProto::CopyFrom
  - sentencepiece::ModelProto::IsInitialized
  - sentencepiece::ModelProto::InternalSwap
  - sentencepiece::ModelProto::GetTypeName
  - sentencepiece::TrainerSpec_ModelType_IsValid
  - sentencepiece::TrainerSpec_ModelType_Name
  - sentencepiece::TrainerSpec_ModelType_Parse
  - sentencepiece::ModelProto_SentencePiece_Type_IsValid
  - sentencepiece::ModelProto_SentencePiece_Type_Name
  - sentencepiece::ModelProto_SentencePiece_Type_Parse
  - sentencepiece::TrainerSpec::_Internal::set_has_input_format
  - sentencepiece::TrainerSpec::_Internal::set_has_model_prefix
  - sentencepiece::TrainerSpec::_Internal::set_has_model_type
  - sentencepiece::TrainerSpec::_Internal::set_has_vocab_size
  - sentencepiece::TrainerSpec::_Internal::set_has_self_test_sample_size
  - sentencepiece::TrainerSpec::_Internal::set_has_enable_differential_privacy
  - sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_noise_level
  - sentencepiece::TrainerSpec::_Internal::set_has_differential_privacy_clipping_threshold
  - sentencepiece::TrainerSpec::_Internal::set_has_character_coverage
  - sentencepiece::TrainerSpec::_Internal::set_has_input_sentence_size
  - sentencepiece::TrainerSpec::_Internal::set_has_shuffle_input_sentence
  - sentencepiece::TrainerSpec::_Internal::set_has_mining_sentence_size
  - sentencepiece::TrainerSpec::_Internal::set_has_training_sentence_size
  - sentencepiece::TrainerSpec::_Internal::set_has_seed_sentencepiece_size
  - sentencepiece::TrainerSpec::_Internal::set_has_shrinking_factor
  - sentencepiece::TrainerSpec::_Internal::set_has_max_sentence_length
  - sentencepiece::TrainerSpec::_Internal::set_has_num_threads
  - sentencepiece::TrainerSpec::_Internal::set_has_num_sub_iterations
  - sentencepiece::TrainerSpec::_Internal::set_has_max_sentencepiece_length
  - sentencepiece::TrainerSpec::_Internal::set_has_split_by_unicode_script
  - sentencepiece::TrainerSpec::_Internal::set_has_split_by_number
  - sentencepiece::TrainerSpec::_Internal::set_has_split_by_whitespace
  - sentencepiece::TrainerSpec::_Internal::set_has_treat_whitespace_as_suffix
  - sentencepiece::TrainerSpec::_Internal::set_has_allow_whitespace_only_pieces
  - sentencepiece::TrainerSpec::_Internal::set_has_split_digits
  - sentencepiece::TrainerSpec::_Internal::set_has_pretokenization_delimiter
  - sentencepiece::TrainerSpec::_Internal::set_has_required_chars
  - sentencepiece::TrainerSpec::_Internal::set_has_byte_fallback
  - sentencepiece::TrainerSpec::_Internal::set_has_vocabulary_output_piece_score
  - sentencepiece::TrainerSpec::_Internal::set_has_hard_vocab_limit
  - sentencepiece::TrainerSpec::_Internal::set_has_use_all_vocab
  - sentencepiece::TrainerSpec::_Internal::set_has_unk_id
  - sentencepiece::TrainerSpec::_Internal::set_has_bos_id
  - sentencepiece::TrainerSpec::_Internal::set_has_eos_id
  - sentencepiece::TrainerSpec::_Internal::set_has_pad_id
  - sentencepiece::TrainerSpec::_Internal::set_has_unk_piece
  - sentencepiece::TrainerSpec::_Internal::set_has_bos_piece
  - sentencepiece::TrainerSpec::_Internal::set_has_eos_piece
  - sentencepiece::TrainerSpec::_Internal::set_has_pad_piece
  - sentencepiece::TrainerSpec::_Internal::set_has_unk_surface
  - sentencepiece::TrainerSpec::_Internal::set_has_train_extremely_large_corpus
  - sentencepiece::TrainerSpec::_Internal::set_has_seed_sentencepieces_file
  - sentencepiece::TrainerSpec::TrainerSpec
  - sentencepiece::TrainerSpec::TrainerSpec
  - sentencepiece::TrainerSpec::SharedCtor
  - TrainerSpec::~TrainerSpec()
  - sentencepiece::TrainerSpec::SharedDtor
  - sentencepiece::TrainerSpec::ArenaDtor
  - sentencepiece::TrainerSpec::RegisterArenaDtor
  - sentencepiece::TrainerSpec::SetCachedSize
  - '& TrainerSpec::default_instance()'
  - sentencepiece::TrainerSpec::Clear
  - sentencepiece::TrainerSpec::_InternalParse
  - CHK_
  - sentencepiece::TrainerSpec::_InternalSerialize
  - sentencepiece::TrainerSpec::ByteSizeLong
  - sentencepiece::TrainerSpec::CheckTypeAndMergeFrom
  - sentencepiece::TrainerSpec::MergeFrom
  - sentencepiece::TrainerSpec::CopyFrom
  - sentencepiece::TrainerSpec::IsInitialized
  - sentencepiece::TrainerSpec::InternalSwap
  - sentencepiece::TrainerSpec::GetTypeName
  - sentencepiece::NormalizerSpec::_Internal::set_has_name
  - sentencepiece::NormalizerSpec::_Internal::set_has_precompiled_charsmap
  - sentencepiece::NormalizerSpec::_Internal::set_has_add_dummy_prefix
  - sentencepiece::NormalizerSpec::_Internal::set_has_remove_extra_whitespaces
  - sentencepiece::NormalizerSpec::_Internal::set_has_escape_whitespaces
  - sentencepiece::NormalizerSpec::_Internal::set_has_normalization_rule_tsv
  - sentencepiece::NormalizerSpec::NormalizerSpec
  - sentencepiece::NormalizerSpec::NormalizerSpec
  - sentencepiece::NormalizerSpec::SharedCtor
  - NormalizerSpec::~NormalizerSpec()
  - sentencepiece::NormalizerSpec::SharedDtor
  - sentencepiece::NormalizerSpec::ArenaDtor
  - sentencepiece::NormalizerSpec::RegisterArenaDtor
  - sentencepiece::NormalizerSpec::SetCachedSize
  - '& NormalizerSpec::default_instance()'
  - sentencepiece::NormalizerSpec::Clear
  - sentencepiece::NormalizerSpec::_InternalParse
  - CHK_
  - sentencepiece::NormalizerSpec::_InternalSerialize
  - sentencepiece::NormalizerSpec::ByteSizeLong
  - sentencepiece::NormalizerSpec::CheckTypeAndMergeFrom
  - sentencepiece::NormalizerSpec::MergeFrom
  - sentencepiece::NormalizerSpec::CopyFrom
  - sentencepiece::NormalizerSpec::IsInitialized
  - sentencepiece::NormalizerSpec::InternalSwap
  - sentencepiece::NormalizerSpec::GetTypeName
  - sentencepiece::SelfTestData_Sample::_Internal::set_has_input
  - sentencepiece::SelfTestData_Sample::_Internal::set_has_expected
  - sentencepiece::SelfTestData_Sample::SelfTestData_Sample
  - sentencepiece::SelfTestData_Sample::SelfTestData_Sample
  - sentencepiece::SelfTestData_Sample::SharedCtor
  - SelfTestData_Sample::~SelfTestData_Sample()
  - sentencepiece::SelfTestData_Sample::SharedDtor
  - sentencepiece::SelfTestData_Sample::ArenaDtor
  - sentencepiece::SelfTestData_Sample::RegisterArenaDtor
  - sentencepiece::SelfTestData_Sample::SetCachedSize
  - '& SelfTestData_Sample::default_instance()'
  - sentencepiece::SelfTestData_Sample::Clear
  - sentencepiece::SelfTestData_Sample::_InternalParse
  - CHK_
  - sentencepiece::SelfTestData_Sample::_InternalSerialize
  - sentencepiece::SelfTestData_Sample::ByteSizeLong
  - sentencepiece::SelfTestData_Sample::CheckTypeAndMergeFrom
  - sentencepiece::SelfTestData_Sample::MergeFrom
  - sentencepiece::SelfTestData_Sample::CopyFrom
  - sentencepiece::SelfTestData_Sample::IsInitialized
  - sentencepiece::SelfTestData_Sample::InternalSwap
  - sentencepiece::SelfTestData_Sample::GetTypeName
  - sentencepiece::SelfTestData::SelfTestData
  - sentencepiece::SelfTestData::SelfTestData
  - sentencepiece::SelfTestData::SharedCtor
  - SelfTestData::~SelfTestData()
  - sentencepiece::SelfTestData::SharedDtor
  - sentencepiece::SelfTestData::ArenaDtor
  - sentencepiece::SelfTestData::RegisterArenaDtor
  - sentencepiece::SelfTestData::SetCachedSize
  - '& SelfTestData::default_instance()'
  - sentencepiece::SelfTestData::Clear
  - sentencepiece::SelfTestData::_InternalParse
  - CHK_
  - sentencepiece::SelfTestData::_InternalSerialize
  - sentencepiece::SelfTestData::ByteSizeLong
  - sentencepiece::SelfTestData::CheckTypeAndMergeFrom
  - sentencepiece::SelfTestData::MergeFrom
  - sentencepiece::SelfTestData::CopyFrom
  - sentencepiece::SelfTestData::IsInitialized
  - sentencepiece::SelfTestData::InternalSwap
  - sentencepiece::SelfTestData::GetTypeName
  - sentencepiece::ModelProto_SentencePiece::_Internal::set_has_piece
  - sentencepiece::ModelProto_SentencePiece::_Internal::set_has_score
  - sentencepiece::ModelProto_SentencePiece::_Internal::set_has_type
  - sentencepiece::ModelProto_SentencePiece::ModelProto_SentencePiece
  - sentencepiece::ModelProto_SentencePiece::ModelProto_SentencePiece
  - sentencepiece::ModelProto_SentencePiece::SharedCtor
  - ModelProto_SentencePiece::~ModelProto_SentencePiece()
  - sentencepiece::ModelProto_SentencePiece::SharedDtor
  - sentencepiece::ModelProto_SentencePiece::ArenaDtor
  - sentencepiece::ModelProto_SentencePiece::RegisterArenaDtor
  - sentencepiece::ModelProto_SentencePiece::SetCachedSize
  - '& ModelProto_SentencePiece::default_instance()'
  - sentencepiece::ModelProto_SentencePiece::Clear
  - sentencepiece::ModelProto_SentencePiece::_InternalParse
  - CHK_
  - sentencepiece::ModelProto_SentencePiece::_InternalSerialize
  - sentencepiece::ModelProto_SentencePiece::ByteSizeLong
  - sentencepiece::ModelProto_SentencePiece::CheckTypeAndMergeFrom
  - sentencepiece::ModelProto_SentencePiece::MergeFrom
  - sentencepiece::ModelProto_SentencePiece::CopyFrom
  - sentencepiece::ModelProto_SentencePiece::IsInitialized
  - sentencepiece::ModelProto_SentencePiece::InternalSwap
  - sentencepiece::ModelProto_SentencePiece::GetTypeName
  - sentencepiece::ModelProto::_Internal::set_has_trainer_spec
  - sentencepiece::ModelProto::_Internal::set_has_normalizer_spec
  - sentencepiece::ModelProto::_Internal::set_has_self_test_data
  - sentencepiece::ModelProto::_Internal::set_has_denormalizer_spec
  - '&

    ModelProto::_Internal::trainer_spec(const ModelProto* msg)'
  - '&

    ModelProto::_Internal::normalizer_spec(const ModelProto* msg)'
  - '&

    ModelProto::_Internal::self_test_data(const ModelProto* msg)'
  - '&

    ModelProto::_Internal::denormalizer_spec(const ModelProto* msg)'
  - sentencepiece::ModelProto::ModelProto
  - sentencepiece::ModelProto::ModelProto
  - sentencepiece::ModelProto::SharedCtor
  - ModelProto::~ModelProto()
  - sentencepiece::ModelProto::SharedDtor
  - sentencepiece::ModelProto::ArenaDtor
  - sentencepiece::ModelProto::RegisterArenaDtor
  - sentencepiece::ModelProto::SetCachedSize
  - '& ModelProto::default_instance()'
  - sentencepiece::ModelProto::Clear
  - sentencepiece::ModelProto::_InternalParse
  - CHK_
  - sentencepiece::ModelProto::_InternalSerialize
  - sentencepiece::ModelProto::ByteSizeLong
  - sentencepiece::ModelProto::CheckTypeAndMergeFrom
  - sentencepiece::ModelProto::MergeFrom
  - sentencepiece::ModelProto::CopyFrom
  - sentencepiece::ModelProto::IsInitialized
  - sentencepiece::ModelProto::InternalSwap
  - sentencepiece::ModelProto::GetTypeName
  - '* Arena::CreateMaybeMessage< ::sentencepiece::TrainerSpec >(Arena* arena)'
  - '* Arena::CreateMaybeMessage< ::sentencepiece::NormalizerSpec >(Arena* arena)'
  - '* Arena::CreateMaybeMessage< ::sentencepiece::SelfTestData_Sample >(Arena* arena)'
  - '* Arena::CreateMaybeMessage< ::sentencepiece::SelfTestData >(Arena* arena)'
  - '* Arena::CreateMaybeMessage< ::sentencepiece::ModelProto_SentencePiece >(Arena*
    arena)'
  - '* Arena::CreateMaybeMessage< ::sentencepiece::ModelProto >(Arena* arena)'
  source_file: /src/sentencepiece/src/builtin_pb/sentencepiece_model.pb.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PyInputStringView
  - ToPyString
  - ToPyStringList
  - RegisterExceptionTranslator
  - PySentenceIterator::PySentenceIterator
  - PySentenceIterator::done
  - PySentenceIterator::Next
  - '& value() const override'
  - PySentenceIterator::status
  - RewriteIds
  - RewriteIds
  - RewriteIdsThrowException
  - RewriteIdsThrowException
  - CheckIds
  - CheckIdsThrowException
  - GetNumThreads
  - PyThreadPool::PyThreadPool
  - PyThreadPool::get
  - PyThreadPool::num_threads
  - WorkerPool::WorkerPool
  - WorkerPool::get
  - PyListStringViewVector::PyListStringViewVector
  - PyListStringViewVector::views
  - PyListStringViewVector::size
  - PyListStringViewVector::empty
  - operator[](size_t i) const
  - IntSpanOrVector::IntSpanOrVector
  - IntSpanOrVector::IntSpanOrVector
  - IntSpanOrVector::IntSpanOrVector
  - IntSpanOrVector::IntSpanOrVector
  - '& operator=(const IntSpanOrVector&)'
  - IntSpanOrVector::IntSpanOrVector
  - '& operator=(IntSpanOrVector&&)'
  - IntSpanOrVector::span
  - VectorBuffer::VectorBuffer
  - VectorBuffer::VectorBuffer
  - VectorBuffer::data
  - VectorBuffer::size
  - IsIntegerFormat
  - CastToIntSpanOrVector
  - CastToVectorIntSpanOrVector
  - SingleCall
  - BatchCall
  - REGISTER_ID_METHOD
  - CheckProtoArgsThrowException
  - OneCharLen
  - BuildUtf8ToUnicodeMap
  - ExtractOffsetMapping
  - PyInputStringView
  - ToPyString
  - ToPyStringList
  - RegisterExceptionTranslator
  - PySentenceIterator::PySentenceIterator
  - PySentenceIterator::done
  - PySentenceIterator::Next
  - '& value() const override'
  - PySentenceIterator::status
  - RewriteIds
  - RewriteIds
  - RewriteIdsThrowException
  - RewriteIdsThrowException
  - CheckIds
  - CheckIdsThrowException
  - GetNumThreads
  - PyThreadPool::PyThreadPool
  - PyThreadPool::get
  - PyThreadPool::num_threads
  - WorkerPool::WorkerPool
  - WorkerPool::get
  - PyListStringViewVector::PyListStringViewVector
  - PyListStringViewVector::views
  - PyListStringViewVector::size
  - PyListStringViewVector::empty
  - operator[](size_t i) const
  - IntSpanOrVector::IntSpanOrVector
  - IntSpanOrVector::IntSpanOrVector
  - IntSpanOrVector::IntSpanOrVector
  - IntSpanOrVector::IntSpanOrVector
  - '& operator=(const IntSpanOrVector&)'
  - IntSpanOrVector::IntSpanOrVector
  - '& operator=(IntSpanOrVector&&)'
  - IntSpanOrVector::span
  - VectorBuffer::VectorBuffer
  - VectorBuffer::VectorBuffer
  - VectorBuffer::data
  - VectorBuffer::size
  - IsIntegerFormat
  - CastToIntSpanOrVector
  - CastToVectorIntSpanOrVector
  - SingleCall
  - BatchCall
  - REGISTER_ID_METHOD
  - CheckProtoArgsThrowException
  - OneCharLen
  - BuildUtf8ToUnicodeMap
  - ExtractOffsetMapping
  - PYBIND11_MODULE
  source_file: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: is_bytes
        type: bool
      - name: value
        type: std::string_view
      item_type: struct
      name: PyInputStringView
      pos:
        line_end: 38
        line_start: 23
        source_file: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    - fields:
      - name: is_bytes
        type: bool
      - name: value
        type: std::string_view
      item_type: struct
      name: PyInputStringView
      pos:
        line_end: 38
        line_start: 23
        source_file: /src/sentencepiece/python/src/sentencepiece/sentencepiece_pybind.cc
    typedefs: []
    union: []
- function_names:
  - sentencepiece::nlcodec::RunFastBPEMerges
  - sentencepiece::nlcodec::RunFastBPEMerges
  - sentencepiece::nlcodec::RunFastBPEMerges
  - sentencepiece::nlcodec::RunFastBPEMerges
  source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ids
        type: std::vector<int32_t>
      - name: freq
        type: int64_t
      item_type: struct
      name: WordSeq
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc
    - fields:
      - name: ids
        type: std::vector<int32_t>
      - name: freq
        type: int64_t
      item_type: struct
      name: WordSeq
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc
    - fields:
      - name: ids
        type: std::vector<int32_t>
      - name: freq
        type: int64_t
      item_type: struct
      name: WordSeq
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc
    - fields:
      - name: ids
        type: std::vector<int32_t>
      - name: freq
        type: int64_t
      item_type: struct
      name: WordSeq
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.cc
    typedefs: []
    union: []
- function_names:
  - sentencepiece::nlcodec::TrainAndGetPieces
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TrainAndGetPieces
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TrainAndGetPieces
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TrainAndGetPieces
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TrainAndGetPieces
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TrainAndGetPieces
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TrainAndGetPieces
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TrainAndGetPieces
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  - sentencepiece::nlcodec::TEST
  source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sentencepiece::nlcodec::unlink
  - sentencepiece::nlcodec::is_unlinked
  - sentencepiece::nlcodec::NodeArena::NodeArena
  - sentencepiece::nlcodec::NodeArena::alloc
  - sentencepiece::nlcodec::NodeArena::from_seq
  - operator()(const Bigram &b) const
  - sentencepiece::nlcodec::MaxHeap::MaxHeap
  - sentencepiece::nlcodec::MaxHeap::push
  - sentencepiece::nlcodec::MaxHeap::pop
  - sentencepiece::nlcodec::MaxHeap::empty
  - sentencepiece::nlcodec::unlink
  - sentencepiece::nlcodec::is_unlinked
  - sentencepiece::nlcodec::NodeArena::NodeArena
  - sentencepiece::nlcodec::NodeArena::alloc
  - sentencepiece::nlcodec::NodeArena::from_seq
  - operator()(const Bigram &b) const
  - sentencepiece::nlcodec::MaxHeap::MaxHeap
  - sentencepiece::nlcodec::MaxHeap::push
  - sentencepiece::nlcodec::MaxHeap::pop
  - sentencepiece::nlcodec::MaxHeap::empty
  - sentencepiece::nlcodec::unlink
  - sentencepiece::nlcodec::is_unlinked
  - sentencepiece::nlcodec::NodeArena::NodeArena
  - sentencepiece::nlcodec::NodeArena::alloc
  - sentencepiece::nlcodec::NodeArena::from_seq
  - operator()(const Bigram &b) const
  - sentencepiece::nlcodec::MaxHeap::MaxHeap
  - sentencepiece::nlcodec::MaxHeap::push
  - sentencepiece::nlcodec::MaxHeap::pop
  - sentencepiece::nlcodec::MaxHeap::empty
  - sentencepiece::nlcodec::unlink
  - sentencepiece::nlcodec::is_unlinked
  - sentencepiece::nlcodec::NodeArena::NodeArena
  - sentencepiece::nlcodec::NodeArena::alloc
  - sentencepiece::nlcodec::NodeArena::from_seq
  - operator()(const Bigram &b) const
  - sentencepiece::nlcodec::MaxHeap::MaxHeap
  - sentencepiece::nlcodec::MaxHeap::push
  - sentencepiece::nlcodec::MaxHeap::pop
  - sentencepiece::nlcodec::MaxHeap::empty
  source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: val
        type: int32_t
      - name: '*left'
        type: LnNode
      - name: freq
        type: int64_t
      item_type: struct
      name: LnNode
      pos:
        line_end: 44
        line_start: 33
        source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    - fields: []
      item_type: struct
      name: BigramHash
      pos:
        line_end: 90
        line_start: 84
        source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    - fields:
      - name: val
        type: int32_t
      - name: '*left'
        type: LnNode
      - name: freq
        type: int64_t
      item_type: struct
      name: LnNode
      pos:
        line_end: 44
        line_start: 33
        source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    - fields: []
      item_type: struct
      name: BigramHash
      pos:
        line_end: 90
        line_start: 84
        source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    - fields:
      - name: val
        type: int32_t
      - name: '*left'
        type: LnNode
      - name: freq
        type: int64_t
      item_type: struct
      name: LnNode
      pos:
        line_end: 44
        line_start: 33
        source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    - fields: []
      item_type: struct
      name: BigramHash
      pos:
        line_end: 90
        line_start: 84
        source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    - fields:
      - name: val
        type: int32_t
      - name: '*left'
        type: LnNode
      - name: freq
        type: int64_t
      item_type: struct
      name: LnNode
      pos:
        line_end: 44
        line_start: 33
        source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    - fields: []
      item_type: struct
      name: BigramHash
      pos:
        line_end: 90
        line_start: 84
        source_file: /src/sentencepiece/contrib/nlcodec/bpe_model_trainer_nlcodec.h
    typedefs: []
    union: []
- function_names:
  - DARTS_INT_TO_STR
  - DARTS_LINE_TO_STR
  - DARTS_THROW
  - Darts::Details::DoubleArrayUnit::DoubleArrayUnit
  - Darts::Details::DoubleArrayUnit::has_leaf
  - Darts::Details::DoubleArrayUnit::value
  - Darts::Details::DoubleArrayUnit::label
  - Darts::Details::DoubleArrayUnit::offset
  - Darts::Details::Exception::Exception
  - Darts::Details::Exception::Exception
  - ~Exception() throw()
  - Darts::Details::Exception::what
  - Darts::Details::DoubleArrayUnit::DoubleArrayUnit
  - Darts::Details::DoubleArrayUnit::has_leaf
  - Darts::Details::DoubleArrayUnit::value
  - Darts::Details::DoubleArrayUnit::label
  - Darts::Details::DoubleArrayUnit::offset
  - Darts::Details::Exception::Exception
  - Darts::Details::Exception::Exception
  - ~Exception() throw()
  - Darts::Details::Exception::what
  - Darts::DoubleArrayImpl::DoubleArrayImpl
  - ~DoubleArrayImpl()
  - Darts::DoubleArrayImpl::set_result
  - Darts::DoubleArrayImpl::set_result
  - Darts::DoubleArrayImpl::set_array
  - Darts::DoubleArrayImpl::copy_array
  - Darts::DoubleArrayImpl::array
  - Darts::DoubleArrayImpl::clear
  - Darts::DoubleArrayImpl::unit_size
  - Darts::DoubleArrayImpl::size
  - Darts::DoubleArrayImpl::total_size
  - Darts::DoubleArrayImpl::nonzero_size
  - Darts::DoubleArrayImpl::exactMatchSearch
  - Darts::DoubleArrayImpl<A, B, T, C>::open
  - Darts::DoubleArrayImpl<A, B, T, C>::save
  - Darts::DoubleArrayImpl<A, B, T, C>::validate
  - Darts::DoubleArrayImpl<A, B, T, C>::exactMatchSearch
  - Darts::DoubleArrayImpl<A, B, T, C>::commonPrefixSearch
  - Darts::DoubleArrayImpl<A, B, T, C>::traverse
  - Darts::Details::AutoArray::AutoArray
  - ~AutoArray()
  - '&operator[](std::size_t id) const'
  - '&operator[](std::size_t id)'
  - Darts::Details::AutoArray::empty
  - Darts::Details::AutoArray::clear
  - Darts::Details::AutoArray::swap
  - Darts::Details::AutoArray::reset
  - Darts::Details::AutoPool::AutoPool
  - ~AutoPool()
  - '&operator[](std::size_t id) const'
  - '&operator[](std::size_t id)'
  - Darts::Details::AutoPool::empty
  - Darts::Details::AutoPool::size
  - Darts::Details::AutoPool::clear
  - Darts::Details::AutoPool::push_back
  - Darts::Details::AutoPool::pop_back
  - Darts::Details::AutoPool::append
  - Darts::Details::AutoPool::append
  - Darts::Details::AutoPool::resize
  - Darts::Details::AutoPool::resize
  - Darts::Details::AutoPool::reserve
  - Darts::Details::AutoPool<T>::resize_buf
  - Darts::Details::AutoStack::AutoStack
  - ~AutoStack()
  - '&top() const'
  - '&top()'
  - Darts::Details::AutoStack::empty
  - Darts::Details::AutoStack::size
  - Darts::Details::AutoStack::push
  - Darts::Details::AutoStack::pop
  - Darts::Details::AutoStack::clear
  - Darts::Details::BitVector::BitVector
  - ~BitVector()
  - operator[](std::size_t id) const
  - Darts::Details::BitVector::rank
  - Darts::Details::BitVector::set
  - Darts::Details::BitVector::empty
  - Darts::Details::BitVector::num_ones
  - Darts::Details::BitVector::size
  - Darts::Details::BitVector::append
  - Darts::Details::BitVector::clear
  - Darts::Details::BitVector::pop_count
  - Darts::Details::BitVector::build
  - Darts::Details::Keyset::Keyset
  - Darts::Details::Keyset::num_keys
  - Darts::Details::Keyset::keys
  - Darts::Details::Keyset::keys
  - Darts::Details::Keyset::has_lengths
  - Darts::Details::Keyset::lengths
  - Darts::Details::Keyset::has_values
  - Darts::Details::Keyset::values
  - Darts::Details::DawgNode::DawgNode
  - Darts::Details::DawgNode::set_child
  - Darts::Details::DawgNode::set_sibling
  - Darts::Details::DawgNode::set_value
  - Darts::Details::DawgNode::set_label
  - Darts::Details::DawgNode::set_is_state
  - Darts::Details::DawgNode::set_has_sibling
  - Darts::Details::DawgNode::child
  - Darts::Details::DawgNode::sibling
  - Darts::Details::DawgNode::value
  - Darts::Details::DawgNode::label
  - Darts::Details::DawgNode::is_state
  - Darts::Details::DawgNode::has_sibling
  - Darts::Details::DawgNode::unit
  - Darts::Details::DawgUnit::DawgUnit
  - Darts::Details::DawgUnit::DawgUnit
  - '&operator=(id_type unit)'
  - Darts::Details::DawgUnit::unit
  - Darts::Details::DawgUnit::child
  - Darts::Details::DawgUnit::has_sibling
  - Darts::Details::DawgUnit::value
  - Darts::Details::DawgUnit::is_state
  - Darts::Details::DawgBuilder::DawgBuilder
  - ~DawgBuilder()
  - Darts::Details::DawgBuilder::root
  - Darts::Details::DawgBuilder::child
  - Darts::Details::DawgBuilder::sibling
  - Darts::Details::DawgBuilder::value
  - Darts::Details::DawgBuilder::is_leaf
  - Darts::Details::DawgBuilder::label
  - Darts::Details::DawgBuilder::is_intersection
  - Darts::Details::DawgBuilder::intersection_id
  - Darts::Details::DawgBuilder::num_intersections
  - Darts::Details::DawgBuilder::size
  - Darts::Details::DawgBuilder::free_node
  - Darts::Details::DawgBuilder::hash
  - Darts::Details::DawgBuilder::init
  - Darts::Details::DawgBuilder::finish
  - Darts::Details::DawgBuilder::insert
  - Darts::Details::DawgBuilder::clear
  - Darts::Details::DawgBuilder::flush
  - Darts::Details::DawgBuilder::expand_table
  - Darts::Details::DawgBuilder::find_unit
  - Darts::Details::DawgBuilder::find_node
  - Darts::Details::DawgBuilder::are_equal
  - Darts::Details::DawgBuilder::hash_unit
  - Darts::Details::DawgBuilder::hash_node
  - Darts::Details::DawgBuilder::append_unit
  - Darts::Details::DawgBuilder::append_node
  - Darts::Details::DoubleArrayBuilderUnit::DoubleArrayBuilderUnit
  - Darts::Details::DoubleArrayBuilderUnit::set_has_leaf
  - Darts::Details::DoubleArrayBuilderUnit::set_value
  - Darts::Details::DoubleArrayBuilderUnit::set_label
  - Darts::Details::DoubleArrayBuilderUnit::set_offset
  - Darts::Details::DoubleArrayBuilderExtraUnit::DoubleArrayBuilderExtraUnit
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_prev
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_next
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_is_fixed
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_is_used
  - Darts::Details::DoubleArrayBuilderExtraUnit::prev
  - Darts::Details::DoubleArrayBuilderExtraUnit::next
  - Darts::Details::DoubleArrayBuilderExtraUnit::is_fixed
  - Darts::Details::DoubleArrayBuilderExtraUnit::is_used
  - Darts::Details::DoubleArrayBuilder::DoubleArrayBuilder
  - ~DoubleArrayBuilder()
  - Darts::Details::DoubleArrayBuilder::num_blocks
  - '&extras(id_type id) const'
  - '&extras(id_type id)'
  - Darts::Details::DoubleArrayBuilder::build
  - Darts::Details::DoubleArrayBuilder::copy
  - Darts::Details::DoubleArrayBuilder::clear
  - Darts::Details::DoubleArrayBuilder::build_dawg
  - Darts::Details::DoubleArrayBuilder::build_from_dawg
  - Darts::Details::DoubleArrayBuilder::build_from_dawg
  - Darts::Details::DoubleArrayBuilder::arrange_from_dawg
  - Darts::Details::DoubleArrayBuilder::build_from_keyset
  - Darts::Details::DoubleArrayBuilder::build_from_keyset
  - Darts::Details::DoubleArrayBuilder::arrange_from_keyset
  - Darts::Details::DoubleArrayBuilder::find_valid_offset
  - Darts::Details::DoubleArrayBuilder::is_valid_offset
  - Darts::Details::DoubleArrayBuilder::reserve_id
  - Darts::Details::DoubleArrayBuilder::expand_units
  - Darts::Details::DoubleArrayBuilder::fix_all_blocks
  - Darts::Details::DoubleArrayBuilder::fix_block
  - Darts::Details::AutoArray::AutoArray
  - ~AutoArray()
  - '&operator[](std::size_t id) const'
  - '&operator[](std::size_t id)'
  - Darts::Details::AutoArray::empty
  - Darts::Details::AutoArray::clear
  - Darts::Details::AutoArray::swap
  - Darts::Details::AutoArray::reset
  - Darts::Details::AutoPool::AutoPool
  - ~AutoPool()
  - '&operator[](std::size_t id) const'
  - '&operator[](std::size_t id)'
  - Darts::Details::AutoPool::empty
  - Darts::Details::AutoPool::size
  - Darts::Details::AutoPool::clear
  - Darts::Details::AutoPool::push_back
  - Darts::Details::AutoPool::pop_back
  - Darts::Details::AutoPool::append
  - Darts::Details::AutoPool::append
  - Darts::Details::AutoPool::resize
  - Darts::Details::AutoPool::resize
  - Darts::Details::AutoPool::reserve
  - Darts::Details::AutoPool<T>::resize_buf
  - Darts::Details::AutoStack::AutoStack
  - ~AutoStack()
  - '&top() const'
  - '&top()'
  - Darts::Details::AutoStack::empty
  - Darts::Details::AutoStack::size
  - Darts::Details::AutoStack::push
  - Darts::Details::AutoStack::pop
  - Darts::Details::AutoStack::clear
  - Darts::Details::BitVector::BitVector
  - ~BitVector()
  - operator[](std::size_t id) const
  - Darts::Details::BitVector::rank
  - Darts::Details::BitVector::set
  - Darts::Details::BitVector::empty
  - Darts::Details::BitVector::num_ones
  - Darts::Details::BitVector::size
  - Darts::Details::BitVector::append
  - Darts::Details::BitVector::clear
  - Darts::Details::BitVector::pop_count
  - Darts::Details::BitVector::build
  - Darts::Details::Keyset::Keyset
  - Darts::Details::Keyset::num_keys
  - Darts::Details::Keyset::keys
  - Darts::Details::Keyset::keys
  - Darts::Details::Keyset::has_lengths
  - Darts::Details::Keyset::lengths
  - Darts::Details::Keyset::has_values
  - Darts::Details::Keyset::values
  - Darts::Details::DawgNode::DawgNode
  - Darts::Details::DawgNode::set_child
  - Darts::Details::DawgNode::set_sibling
  - Darts::Details::DawgNode::set_value
  - Darts::Details::DawgNode::set_label
  - Darts::Details::DawgNode::set_is_state
  - Darts::Details::DawgNode::set_has_sibling
  - Darts::Details::DawgNode::child
  - Darts::Details::DawgNode::sibling
  - Darts::Details::DawgNode::value
  - Darts::Details::DawgNode::label
  - Darts::Details::DawgNode::is_state
  - Darts::Details::DawgNode::has_sibling
  - Darts::Details::DawgNode::unit
  - Darts::Details::DawgUnit::DawgUnit
  - Darts::Details::DawgUnit::DawgUnit
  - '&operator=(id_type unit)'
  - Darts::Details::DawgUnit::unit
  - Darts::Details::DawgUnit::child
  - Darts::Details::DawgUnit::has_sibling
  - Darts::Details::DawgUnit::value
  - Darts::Details::DawgUnit::is_state
  - Darts::Details::DawgBuilder::DawgBuilder
  - ~DawgBuilder()
  - Darts::Details::DawgBuilder::root
  - Darts::Details::DawgBuilder::child
  - Darts::Details::DawgBuilder::sibling
  - Darts::Details::DawgBuilder::value
  - Darts::Details::DawgBuilder::is_leaf
  - Darts::Details::DawgBuilder::label
  - Darts::Details::DawgBuilder::is_intersection
  - Darts::Details::DawgBuilder::intersection_id
  - Darts::Details::DawgBuilder::num_intersections
  - Darts::Details::DawgBuilder::size
  - Darts::Details::DawgBuilder::free_node
  - Darts::Details::DawgBuilder::hash
  - Darts::Details::DawgBuilder::init
  - Darts::Details::DawgBuilder::finish
  - Darts::Details::DawgBuilder::insert
  - Darts::Details::DawgBuilder::clear
  - Darts::Details::DawgBuilder::flush
  - Darts::Details::DawgBuilder::expand_table
  - Darts::Details::DawgBuilder::find_unit
  - Darts::Details::DawgBuilder::find_node
  - Darts::Details::DawgBuilder::are_equal
  - Darts::Details::DawgBuilder::hash_unit
  - Darts::Details::DawgBuilder::hash_node
  - Darts::Details::DawgBuilder::append_unit
  - Darts::Details::DawgBuilder::append_node
  - Darts::Details::DoubleArrayBuilderUnit::DoubleArrayBuilderUnit
  - Darts::Details::DoubleArrayBuilderUnit::set_has_leaf
  - Darts::Details::DoubleArrayBuilderUnit::set_value
  - Darts::Details::DoubleArrayBuilderUnit::set_label
  - Darts::Details::DoubleArrayBuilderUnit::set_offset
  - Darts::Details::DoubleArrayBuilderExtraUnit::DoubleArrayBuilderExtraUnit
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_prev
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_next
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_is_fixed
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_is_used
  - Darts::Details::DoubleArrayBuilderExtraUnit::prev
  - Darts::Details::DoubleArrayBuilderExtraUnit::next
  - Darts::Details::DoubleArrayBuilderExtraUnit::is_fixed
  - Darts::Details::DoubleArrayBuilderExtraUnit::is_used
  - Darts::Details::DoubleArrayBuilder::DoubleArrayBuilder
  - ~DoubleArrayBuilder()
  - Darts::Details::DoubleArrayBuilder::num_blocks
  - '&extras(id_type id) const'
  - '&extras(id_type id)'
  - Darts::Details::DoubleArrayBuilder::build
  - Darts::Details::DoubleArrayBuilder::copy
  - Darts::Details::DoubleArrayBuilder::clear
  - Darts::Details::DoubleArrayBuilder::build_dawg
  - Darts::Details::DoubleArrayBuilder::build_from_dawg
  - Darts::Details::DoubleArrayBuilder::build_from_dawg
  - Darts::Details::DoubleArrayBuilder::arrange_from_dawg
  - Darts::Details::DoubleArrayBuilder::build_from_keyset
  - Darts::Details::DoubleArrayBuilder::build_from_keyset
  - Darts::Details::DoubleArrayBuilder::arrange_from_keyset
  - Darts::Details::DoubleArrayBuilder::find_valid_offset
  - Darts::Details::DoubleArrayBuilder::is_valid_offset
  - Darts::Details::DoubleArrayBuilder::reserve_id
  - Darts::Details::DoubleArrayBuilder::expand_units
  - Darts::Details::DoubleArrayBuilder::fix_all_blocks
  - Darts::Details::DoubleArrayBuilder::fix_block
  - Darts::DoubleArrayImpl<A, B, T, C>::build
  - Darts::Details::DoubleArrayUnit::DoubleArrayUnit
  - Darts::Details::DoubleArrayUnit::has_leaf
  - Darts::Details::DoubleArrayUnit::value
  - Darts::Details::DoubleArrayUnit::label
  - Darts::Details::DoubleArrayUnit::offset
  - Darts::Details::Exception::Exception
  - Darts::Details::Exception::Exception
  - ~Exception() throw()
  - Darts::Details::Exception::what
  - Darts::Details::DoubleArrayUnit::DoubleArrayUnit
  - Darts::Details::DoubleArrayUnit::has_leaf
  - Darts::Details::DoubleArrayUnit::value
  - Darts::Details::DoubleArrayUnit::label
  - Darts::Details::DoubleArrayUnit::offset
  - Darts::Details::Exception::Exception
  - Darts::Details::Exception::Exception
  - ~Exception() throw()
  - Darts::Details::Exception::what
  - Darts::DoubleArrayImpl::DoubleArrayImpl
  - ~DoubleArrayImpl()
  - Darts::DoubleArrayImpl::set_result
  - Darts::DoubleArrayImpl::set_result
  - Darts::DoubleArrayImpl::set_array
  - Darts::DoubleArrayImpl::copy_array
  - Darts::DoubleArrayImpl::array
  - Darts::DoubleArrayImpl::clear
  - Darts::DoubleArrayImpl::unit_size
  - Darts::DoubleArrayImpl::size
  - Darts::DoubleArrayImpl::total_size
  - Darts::DoubleArrayImpl::nonzero_size
  - Darts::DoubleArrayImpl::exactMatchSearch
  - Darts::DoubleArrayImpl<A, B, T, C>::open
  - Darts::DoubleArrayImpl<A, B, T, C>::save
  - Darts::DoubleArrayImpl<A, B, T, C>::validate
  - Darts::DoubleArrayImpl<A, B, T, C>::exactMatchSearch
  - Darts::DoubleArrayImpl<A, B, T, C>::commonPrefixSearch
  - Darts::DoubleArrayImpl<A, B, T, C>::traverse
  - Darts::Details::AutoArray::AutoArray
  - ~AutoArray()
  - '&operator[](std::size_t id) const'
  - '&operator[](std::size_t id)'
  - Darts::Details::AutoArray::empty
  - Darts::Details::AutoArray::clear
  - Darts::Details::AutoArray::swap
  - Darts::Details::AutoArray::reset
  - Darts::Details::AutoPool::AutoPool
  - ~AutoPool()
  - '&operator[](std::size_t id) const'
  - '&operator[](std::size_t id)'
  - Darts::Details::AutoPool::empty
  - Darts::Details::AutoPool::size
  - Darts::Details::AutoPool::clear
  - Darts::Details::AutoPool::push_back
  - Darts::Details::AutoPool::pop_back
  - Darts::Details::AutoPool::append
  - Darts::Details::AutoPool::append
  - Darts::Details::AutoPool::resize
  - Darts::Details::AutoPool::resize
  - Darts::Details::AutoPool::reserve
  - Darts::Details::AutoPool<T>::resize_buf
  - Darts::Details::AutoStack::AutoStack
  - ~AutoStack()
  - '&top() const'
  - '&top()'
  - Darts::Details::AutoStack::empty
  - Darts::Details::AutoStack::size
  - Darts::Details::AutoStack::push
  - Darts::Details::AutoStack::pop
  - Darts::Details::AutoStack::clear
  - Darts::Details::BitVector::BitVector
  - ~BitVector()
  - operator[](std::size_t id) const
  - Darts::Details::BitVector::rank
  - Darts::Details::BitVector::set
  - Darts::Details::BitVector::empty
  - Darts::Details::BitVector::num_ones
  - Darts::Details::BitVector::size
  - Darts::Details::BitVector::append
  - Darts::Details::BitVector::clear
  - Darts::Details::BitVector::pop_count
  - Darts::Details::BitVector::build
  - Darts::Details::Keyset::Keyset
  - Darts::Details::Keyset::num_keys
  - Darts::Details::Keyset::keys
  - Darts::Details::Keyset::keys
  - Darts::Details::Keyset::has_lengths
  - Darts::Details::Keyset::lengths
  - Darts::Details::Keyset::has_values
  - Darts::Details::Keyset::values
  - Darts::Details::DawgNode::DawgNode
  - Darts::Details::DawgNode::set_child
  - Darts::Details::DawgNode::set_sibling
  - Darts::Details::DawgNode::set_value
  - Darts::Details::DawgNode::set_label
  - Darts::Details::DawgNode::set_is_state
  - Darts::Details::DawgNode::set_has_sibling
  - Darts::Details::DawgNode::child
  - Darts::Details::DawgNode::sibling
  - Darts::Details::DawgNode::value
  - Darts::Details::DawgNode::label
  - Darts::Details::DawgNode::is_state
  - Darts::Details::DawgNode::has_sibling
  - Darts::Details::DawgNode::unit
  - Darts::Details::DawgUnit::DawgUnit
  - Darts::Details::DawgUnit::DawgUnit
  - '&operator=(id_type unit)'
  - Darts::Details::DawgUnit::unit
  - Darts::Details::DawgUnit::child
  - Darts::Details::DawgUnit::has_sibling
  - Darts::Details::DawgUnit::value
  - Darts::Details::DawgUnit::is_state
  - Darts::Details::DawgBuilder::DawgBuilder
  - ~DawgBuilder()
  - Darts::Details::DawgBuilder::root
  - Darts::Details::DawgBuilder::child
  - Darts::Details::DawgBuilder::sibling
  - Darts::Details::DawgBuilder::value
  - Darts::Details::DawgBuilder::is_leaf
  - Darts::Details::DawgBuilder::label
  - Darts::Details::DawgBuilder::is_intersection
  - Darts::Details::DawgBuilder::intersection_id
  - Darts::Details::DawgBuilder::num_intersections
  - Darts::Details::DawgBuilder::size
  - Darts::Details::DawgBuilder::free_node
  - Darts::Details::DawgBuilder::hash
  - Darts::Details::DawgBuilder::init
  - Darts::Details::DawgBuilder::finish
  - Darts::Details::DawgBuilder::insert
  - Darts::Details::DawgBuilder::clear
  - Darts::Details::DawgBuilder::flush
  - Darts::Details::DawgBuilder::expand_table
  - Darts::Details::DawgBuilder::find_unit
  - Darts::Details::DawgBuilder::find_node
  - Darts::Details::DawgBuilder::are_equal
  - Darts::Details::DawgBuilder::hash_unit
  - Darts::Details::DawgBuilder::hash_node
  - Darts::Details::DawgBuilder::append_unit
  - Darts::Details::DawgBuilder::append_node
  - Darts::Details::DoubleArrayBuilderUnit::DoubleArrayBuilderUnit
  - Darts::Details::DoubleArrayBuilderUnit::set_has_leaf
  - Darts::Details::DoubleArrayBuilderUnit::set_value
  - Darts::Details::DoubleArrayBuilderUnit::set_label
  - Darts::Details::DoubleArrayBuilderUnit::set_offset
  - Darts::Details::DoubleArrayBuilderExtraUnit::DoubleArrayBuilderExtraUnit
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_prev
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_next
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_is_fixed
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_is_used
  - Darts::Details::DoubleArrayBuilderExtraUnit::prev
  - Darts::Details::DoubleArrayBuilderExtraUnit::next
  - Darts::Details::DoubleArrayBuilderExtraUnit::is_fixed
  - Darts::Details::DoubleArrayBuilderExtraUnit::is_used
  - Darts::Details::DoubleArrayBuilder::DoubleArrayBuilder
  - ~DoubleArrayBuilder()
  - Darts::Details::DoubleArrayBuilder::num_blocks
  - '&extras(id_type id) const'
  - '&extras(id_type id)'
  - Darts::Details::DoubleArrayBuilder::build
  - Darts::Details::DoubleArrayBuilder::copy
  - Darts::Details::DoubleArrayBuilder::clear
  - Darts::Details::DoubleArrayBuilder::build_dawg
  - Darts::Details::DoubleArrayBuilder::build_from_dawg
  - Darts::Details::DoubleArrayBuilder::build_from_dawg
  - Darts::Details::DoubleArrayBuilder::arrange_from_dawg
  - Darts::Details::DoubleArrayBuilder::build_from_keyset
  - Darts::Details::DoubleArrayBuilder::build_from_keyset
  - Darts::Details::DoubleArrayBuilder::arrange_from_keyset
  - Darts::Details::DoubleArrayBuilder::find_valid_offset
  - Darts::Details::DoubleArrayBuilder::is_valid_offset
  - Darts::Details::DoubleArrayBuilder::reserve_id
  - Darts::Details::DoubleArrayBuilder::expand_units
  - Darts::Details::DoubleArrayBuilder::fix_all_blocks
  - Darts::Details::DoubleArrayBuilder::fix_block
  - Darts::Details::AutoArray::AutoArray
  - ~AutoArray()
  - '&operator[](std::size_t id) const'
  - '&operator[](std::size_t id)'
  - Darts::Details::AutoArray::empty
  - Darts::Details::AutoArray::clear
  - Darts::Details::AutoArray::swap
  - Darts::Details::AutoArray::reset
  - Darts::Details::AutoPool::AutoPool
  - ~AutoPool()
  - '&operator[](std::size_t id) const'
  - '&operator[](std::size_t id)'
  - Darts::Details::AutoPool::empty
  - Darts::Details::AutoPool::size
  - Darts::Details::AutoPool::clear
  - Darts::Details::AutoPool::push_back
  - Darts::Details::AutoPool::pop_back
  - Darts::Details::AutoPool::append
  - Darts::Details::AutoPool::append
  - Darts::Details::AutoPool::resize
  - Darts::Details::AutoPool::resize
  - Darts::Details::AutoPool::reserve
  - Darts::Details::AutoPool<T>::resize_buf
  - Darts::Details::AutoStack::AutoStack
  - ~AutoStack()
  - '&top() const'
  - '&top()'
  - Darts::Details::AutoStack::empty
  - Darts::Details::AutoStack::size
  - Darts::Details::AutoStack::push
  - Darts::Details::AutoStack::pop
  - Darts::Details::AutoStack::clear
  - Darts::Details::BitVector::BitVector
  - ~BitVector()
  - operator[](std::size_t id) const
  - Darts::Details::BitVector::rank
  - Darts::Details::BitVector::set
  - Darts::Details::BitVector::empty
  - Darts::Details::BitVector::num_ones
  - Darts::Details::BitVector::size
  - Darts::Details::BitVector::append
  - Darts::Details::BitVector::clear
  - Darts::Details::BitVector::pop_count
  - Darts::Details::BitVector::build
  - Darts::Details::Keyset::Keyset
  - Darts::Details::Keyset::num_keys
  - Darts::Details::Keyset::keys
  - Darts::Details::Keyset::keys
  - Darts::Details::Keyset::has_lengths
  - Darts::Details::Keyset::lengths
  - Darts::Details::Keyset::has_values
  - Darts::Details::Keyset::values
  - Darts::Details::DawgNode::DawgNode
  - Darts::Details::DawgNode::set_child
  - Darts::Details::DawgNode::set_sibling
  - Darts::Details::DawgNode::set_value
  - Darts::Details::DawgNode::set_label
  - Darts::Details::DawgNode::set_is_state
  - Darts::Details::DawgNode::set_has_sibling
  - Darts::Details::DawgNode::child
  - Darts::Details::DawgNode::sibling
  - Darts::Details::DawgNode::value
  - Darts::Details::DawgNode::label
  - Darts::Details::DawgNode::is_state
  - Darts::Details::DawgNode::has_sibling
  - Darts::Details::DawgNode::unit
  - Darts::Details::DawgUnit::DawgUnit
  - Darts::Details::DawgUnit::DawgUnit
  - '&operator=(id_type unit)'
  - Darts::Details::DawgUnit::unit
  - Darts::Details::DawgUnit::child
  - Darts::Details::DawgUnit::has_sibling
  - Darts::Details::DawgUnit::value
  - Darts::Details::DawgUnit::is_state
  - Darts::Details::DawgBuilder::DawgBuilder
  - ~DawgBuilder()
  - Darts::Details::DawgBuilder::root
  - Darts::Details::DawgBuilder::child
  - Darts::Details::DawgBuilder::sibling
  - Darts::Details::DawgBuilder::value
  - Darts::Details::DawgBuilder::is_leaf
  - Darts::Details::DawgBuilder::label
  - Darts::Details::DawgBuilder::is_intersection
  - Darts::Details::DawgBuilder::intersection_id
  - Darts::Details::DawgBuilder::num_intersections
  - Darts::Details::DawgBuilder::size
  - Darts::Details::DawgBuilder::free_node
  - Darts::Details::DawgBuilder::hash
  - Darts::Details::DawgBuilder::init
  - Darts::Details::DawgBuilder::finish
  - Darts::Details::DawgBuilder::insert
  - Darts::Details::DawgBuilder::clear
  - Darts::Details::DawgBuilder::flush
  - Darts::Details::DawgBuilder::expand_table
  - Darts::Details::DawgBuilder::find_unit
  - Darts::Details::DawgBuilder::find_node
  - Darts::Details::DawgBuilder::are_equal
  - Darts::Details::DawgBuilder::hash_unit
  - Darts::Details::DawgBuilder::hash_node
  - Darts::Details::DawgBuilder::append_unit
  - Darts::Details::DawgBuilder::append_node
  - Darts::Details::DoubleArrayBuilderUnit::DoubleArrayBuilderUnit
  - Darts::Details::DoubleArrayBuilderUnit::set_has_leaf
  - Darts::Details::DoubleArrayBuilderUnit::set_value
  - Darts::Details::DoubleArrayBuilderUnit::set_label
  - Darts::Details::DoubleArrayBuilderUnit::set_offset
  - Darts::Details::DoubleArrayBuilderExtraUnit::DoubleArrayBuilderExtraUnit
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_prev
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_next
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_is_fixed
  - Darts::Details::DoubleArrayBuilderExtraUnit::set_is_used
  - Darts::Details::DoubleArrayBuilderExtraUnit::prev
  - Darts::Details::DoubleArrayBuilderExtraUnit::next
  - Darts::Details::DoubleArrayBuilderExtraUnit::is_fixed
  - Darts::Details::DoubleArrayBuilderExtraUnit::is_used
  - Darts::Details::DoubleArrayBuilder::DoubleArrayBuilder
  - ~DoubleArrayBuilder()
  - Darts::Details::DoubleArrayBuilder::num_blocks
  - '&extras(id_type id) const'
  - '&extras(id_type id)'
  - Darts::Details::DoubleArrayBuilder::build
  - Darts::Details::DoubleArrayBuilder::copy
  - Darts::Details::DoubleArrayBuilder::clear
  - Darts::Details::DoubleArrayBuilder::build_dawg
  - Darts::Details::DoubleArrayBuilder::build_from_dawg
  - Darts::Details::DoubleArrayBuilder::build_from_dawg
  - Darts::Details::DoubleArrayBuilder::arrange_from_dawg
  - Darts::Details::DoubleArrayBuilder::build_from_keyset
  - Darts::Details::DoubleArrayBuilder::build_from_keyset
  - Darts::Details::DoubleArrayBuilder::arrange_from_keyset
  - Darts::Details::DoubleArrayBuilder::find_valid_offset
  - Darts::Details::DoubleArrayBuilder::is_valid_offset
  - Darts::Details::DoubleArrayBuilder::reserve_id
  - Darts::Details::DoubleArrayBuilder::expand_units
  - Darts::Details::DoubleArrayBuilder::fix_all_blocks
  - Darts::Details::DoubleArrayBuilder::fix_block
  - Darts::DoubleArrayImpl<A, B, T, C>::build
  source_file: /src/sentencepiece/third_party/darts_clone/darts.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DARTS_VERSION
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type_or_value: '"0.32"'
    - item_type: preproc_def
      name: DARTS_LINE_STR
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type_or_value: DARTS_LINE_TO_STR(__LINE__)
    structs:
    - fields:
      - name: value
        type: value_type
      - name: length
        type: std::size_t
      item_type: struct
      name: result_pair_type
      pos:
        line_end: 135
        line_start: 132
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
    - fields:
      - name: value
        type: value_type
      - name: length
        type: std::size_t
      item_type: struct
      name: result_pair_type
      pos:
        line_end: 135
        line_start: 132
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
    typedefs:
    - item_type: typedef
      name: char_type
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: char
    - item_type: typedef
      name: uchar_type
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: unsigned char
    - item_type: typedef
      name: value_type
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: int
    - item_type: typedef
      name: id_type
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: unsigned int
    - item_type: typedef
      name: (*progress_func_type)(std::size_t, std::size_t)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: int
    - item_type: typedef
      name: char_type
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: char
    - item_type: typedef
      name: uchar_type
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: unsigned char
    - item_type: typedef
      name: value_type
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: int
    - item_type: typedef
      name: id_type
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: unsigned int
    - item_type: typedef
      name: (*progress_func_type)(std::size_t, std::size_t)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: int
    - item_type: typedef
      name: value_type
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: T
    - item_type: typedef
      name: key_type
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: char_type
    - item_type: typedef
      name: result_type
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: value_type
    - item_type: typedef
      name: uchar_type
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: uchar_type
    - item_type: typedef
      name: id_type
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: id_type
    - item_type: typedef
      name: unit_type
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: DoubleArrayUnit
    - item_type: typedef
      name: DoubleArray
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: DoubleArrayImpl
    - item_type: typedef
      name: unit_type
      pos:
        line_end: 1500
        line_start: 1500
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: DoubleArrayBuilderUnit
    - item_type: typedef
      name: extra_type
      pos:
        line_end: 1501
        line_start: 1501
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: DoubleArrayBuilderExtraUnit
    - item_type: typedef
      name: unit_type
      pos:
        line_end: 1500
        line_start: 1500
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: DoubleArrayBuilderUnit
    - item_type: typedef
      name: extra_type
      pos:
        line_end: 1501
        line_start: 1501
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: DoubleArrayBuilderExtraUnit
    - item_type: typedef
      name: char_type
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: char
    - item_type: typedef
      name: uchar_type
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: unsigned char
    - item_type: typedef
      name: value_type
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: int
    - item_type: typedef
      name: id_type
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: unsigned int
    - item_type: typedef
      name: (*progress_func_type)(std::size_t, std::size_t)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: int
    - item_type: typedef
      name: char_type
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: char
    - item_type: typedef
      name: uchar_type
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: unsigned char
    - item_type: typedef
      name: value_type
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: int
    - item_type: typedef
      name: id_type
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: unsigned int
    - item_type: typedef
      name: (*progress_func_type)(std::size_t, std::size_t)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: int
    - item_type: typedef
      name: value_type
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: T
    - item_type: typedef
      name: key_type
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: char_type
    - item_type: typedef
      name: result_type
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: value_type
    - item_type: typedef
      name: uchar_type
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: uchar_type
    - item_type: typedef
      name: id_type
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: id_type
    - item_type: typedef
      name: unit_type
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: DoubleArrayUnit
    - item_type: typedef
      name: DoubleArray
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: DoubleArrayImpl
    - item_type: typedef
      name: unit_type
      pos:
        line_end: 1500
        line_start: 1500
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: DoubleArrayBuilderUnit
    - item_type: typedef
      name: extra_type
      pos:
        line_end: 1501
        line_start: 1501
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: DoubleArrayBuilderExtraUnit
    - item_type: typedef
      name: unit_type
      pos:
        line_end: 1500
        line_start: 1500
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: DoubleArrayBuilderUnit
    - item_type: typedef
      name: extra_type
      pos:
        line_end: 1501
        line_start: 1501
        source_file: /src/sentencepiece/third_party/darts_clone/darts.h
      type: DoubleArrayBuilderExtraUnit
    union: []
- function_names:
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - ExtensionFinder::~ExtensionFinder()
  - google::protobuf::internal::GeneratedExtensionFinder::Find
  - google::protobuf::internal::ExtensionSet::RegisterExtension
  - google::protobuf::internal::CallNoArgValidityFunc
  - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
  - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
  - google::protobuf::internal::ExtensionSet::ExtensionSet
  - ExtensionSet::~ExtensionSet()
  - google::protobuf::internal::ExtensionSet::DeleteFlatMap
  - google::protobuf::internal::ExtensionSet::Has
  - google::protobuf::internal::ExtensionSet::NumExtensions
  - google::protobuf::internal::ExtensionSet::ExtensionSize
  - google::protobuf::internal::ExtensionSet::ExtensionType
  - google::protobuf::internal::ExtensionSet::ClearExtension
  - GOOGLE_DCHECK_TYPE
  - PRIMITIVE_ACCESSORS
  - google::protobuf::internal::ExtensionSet::GetRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::GetEnum
  - google::protobuf::internal::ExtensionSet::SetEnum
  - google::protobuf::internal::ExtensionSet::GetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::SetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::AddEnum
  - "& ExtensionSet::GetString(\n    int number, const std::string& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableString
  - "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedString
  - google::protobuf::internal::ExtensionSet::AddString
  - "& ExtensionSet::GetMessage(\n    int number, const MessageLite& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableMessage
  - google::protobuf::internal::ExtensionSet::SetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::ReleaseMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
  - "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
  - google::protobuf::internal::ExtensionSet::AddMessage
  - google::protobuf::internal::ExtensionSet::RemoveLast
  - google::protobuf::internal::ExtensionSet::ReleaseLast
  - google::protobuf::internal::ExtensionSet::SwapElements
  - google::protobuf::internal::ExtensionSet::Clear
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::ExtensionSet::MergeFrom
  - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::Swap
  - google::protobuf::internal::ExtensionSet::SwapExtension
  - google::protobuf::internal::ExtensionSet::IsInitialized
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItem
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
  - google::protobuf::internal::ParseField
  - google::protobuf::internal::SkipField
  - google::protobuf::internal::ExtensionSet::ParseMessageSet
  - google::protobuf::internal::ExtensionSet::_InternalSerialize
  - google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
  - google::protobuf::internal::ExtensionSet::ByteSize
  - google::protobuf::internal::ExtensionSet::MaybeNewExtension
  - ExtensionSet::Extension::Clear()
  - HANDLE_TYPE
  - ExtensionSet::Extension::ByteSize(int number) const
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - ExtensionSet::Extension::GetSize() const
  - HANDLE_TYPE
  - ExtensionSet::Extension::Free()
  - HANDLE_TYPE
  - ExtensionSet::Extension::IsInitialized() const
  - ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::Insert
  - google::protobuf::internal::ExtensionSet::GrowCapacity
  - google::protobuf::internal::ExtensionSet::Erase
  - google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
  - google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
  - "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n    int
    number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
    \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - ExtensionSet::Extension::MessageSetItemByteSize(int number) const
  - google::protobuf::internal::ExtensionSet::MessageSetByteSize
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - ExtensionFinder::~ExtensionFinder()
  - google::protobuf::internal::GeneratedExtensionFinder::Find
  - google::protobuf::internal::ExtensionSet::RegisterExtension
  - google::protobuf::internal::CallNoArgValidityFunc
  - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
  - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
  - google::protobuf::internal::ExtensionSet::ExtensionSet
  - ExtensionSet::~ExtensionSet()
  - google::protobuf::internal::ExtensionSet::DeleteFlatMap
  - google::protobuf::internal::ExtensionSet::Has
  - google::protobuf::internal::ExtensionSet::NumExtensions
  - google::protobuf::internal::ExtensionSet::ExtensionSize
  - google::protobuf::internal::ExtensionSet::ExtensionType
  - google::protobuf::internal::ExtensionSet::ClearExtension
  - GOOGLE_DCHECK_TYPE
  - PRIMITIVE_ACCESSORS
  - google::protobuf::internal::ExtensionSet::GetRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::GetEnum
  - google::protobuf::internal::ExtensionSet::SetEnum
  - google::protobuf::internal::ExtensionSet::GetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::SetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::AddEnum
  - "& ExtensionSet::GetString(\n    int number, const std::string& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableString
  - "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedString
  - google::protobuf::internal::ExtensionSet::AddString
  - "& ExtensionSet::GetMessage(\n    int number, const MessageLite& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableMessage
  - google::protobuf::internal::ExtensionSet::SetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::ReleaseMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
  - "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
  - google::protobuf::internal::ExtensionSet::AddMessage
  - google::protobuf::internal::ExtensionSet::RemoveLast
  - google::protobuf::internal::ExtensionSet::ReleaseLast
  - google::protobuf::internal::ExtensionSet::SwapElements
  - google::protobuf::internal::ExtensionSet::Clear
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::ExtensionSet::MergeFrom
  - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::Swap
  - google::protobuf::internal::ExtensionSet::SwapExtension
  - google::protobuf::internal::ExtensionSet::IsInitialized
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItem
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
  - google::protobuf::internal::ParseField
  - google::protobuf::internal::SkipField
  - google::protobuf::internal::ExtensionSet::ParseMessageSet
  - google::protobuf::internal::ExtensionSet::_InternalSerialize
  - google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
  - google::protobuf::internal::ExtensionSet::ByteSize
  - google::protobuf::internal::ExtensionSet::MaybeNewExtension
  - ExtensionSet::Extension::Clear()
  - HANDLE_TYPE
  - ExtensionSet::Extension::ByteSize(int number) const
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - ExtensionSet::Extension::GetSize() const
  - HANDLE_TYPE
  - ExtensionSet::Extension::Free()
  - HANDLE_TYPE
  - ExtensionSet::Extension::IsInitialized() const
  - ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::Insert
  - google::protobuf::internal::ExtensionSet::GrowCapacity
  - google::protobuf::internal::ExtensionSet::Erase
  - google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
  - google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
  - "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n    int
    number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
    \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - ExtensionSet::Extension::MessageSetItemByteSize(int number) const
  - google::protobuf::internal::ExtensionSet::MessageSetByteSize
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - ExtensionFinder::~ExtensionFinder()
  - google::protobuf::internal::GeneratedExtensionFinder::Find
  - google::protobuf::internal::ExtensionSet::RegisterExtension
  - google::protobuf::internal::CallNoArgValidityFunc
  - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
  - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
  - google::protobuf::internal::ExtensionSet::ExtensionSet
  - ExtensionSet::~ExtensionSet()
  - google::protobuf::internal::ExtensionSet::DeleteFlatMap
  - google::protobuf::internal::ExtensionSet::Has
  - google::protobuf::internal::ExtensionSet::NumExtensions
  - google::protobuf::internal::ExtensionSet::ExtensionSize
  - google::protobuf::internal::ExtensionSet::ExtensionType
  - google::protobuf::internal::ExtensionSet::ClearExtension
  - GOOGLE_DCHECK_TYPE
  - PRIMITIVE_ACCESSORS
  - google::protobuf::internal::ExtensionSet::GetRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::GetEnum
  - google::protobuf::internal::ExtensionSet::SetEnum
  - google::protobuf::internal::ExtensionSet::GetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::SetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::AddEnum
  - "& ExtensionSet::GetString(\n    int number, const std::string& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableString
  - "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedString
  - google::protobuf::internal::ExtensionSet::AddString
  - "& ExtensionSet::GetMessage(\n    int number, const MessageLite& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableMessage
  - google::protobuf::internal::ExtensionSet::SetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::ReleaseMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
  - "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
  - google::protobuf::internal::ExtensionSet::AddMessage
  - google::protobuf::internal::ExtensionSet::RemoveLast
  - google::protobuf::internal::ExtensionSet::ReleaseLast
  - google::protobuf::internal::ExtensionSet::SwapElements
  - google::protobuf::internal::ExtensionSet::Clear
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::ExtensionSet::MergeFrom
  - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::Swap
  - google::protobuf::internal::ExtensionSet::SwapExtension
  - google::protobuf::internal::ExtensionSet::IsInitialized
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItem
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
  - google::protobuf::internal::ParseField
  - google::protobuf::internal::SkipField
  - google::protobuf::internal::ExtensionSet::ParseMessageSet
  - google::protobuf::internal::ExtensionSet::_InternalSerialize
  - google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
  - google::protobuf::internal::ExtensionSet::ByteSize
  - google::protobuf::internal::ExtensionSet::MaybeNewExtension
  - ExtensionSet::Extension::Clear()
  - HANDLE_TYPE
  - ExtensionSet::Extension::ByteSize(int number) const
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - ExtensionSet::Extension::GetSize() const
  - HANDLE_TYPE
  - ExtensionSet::Extension::Free()
  - HANDLE_TYPE
  - ExtensionSet::Extension::IsInitialized() const
  - ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::Insert
  - google::protobuf::internal::ExtensionSet::GrowCapacity
  - google::protobuf::internal::ExtensionSet::Erase
  - google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
  - google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
  - "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n    int
    number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
    \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - ExtensionSet::Extension::MessageSetItemByteSize(int number) const
  - google::protobuf::internal::ExtensionSet::MessageSetByteSize
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - ExtensionFinder::~ExtensionFinder()
  - google::protobuf::internal::GeneratedExtensionFinder::Find
  - google::protobuf::internal::ExtensionSet::RegisterExtension
  - google::protobuf::internal::CallNoArgValidityFunc
  - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
  - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
  - google::protobuf::internal::ExtensionSet::ExtensionSet
  - ExtensionSet::~ExtensionSet()
  - google::protobuf::internal::ExtensionSet::DeleteFlatMap
  - google::protobuf::internal::ExtensionSet::Has
  - google::protobuf::internal::ExtensionSet::NumExtensions
  - google::protobuf::internal::ExtensionSet::ExtensionSize
  - google::protobuf::internal::ExtensionSet::ExtensionType
  - google::protobuf::internal::ExtensionSet::ClearExtension
  - GOOGLE_DCHECK_TYPE
  - PRIMITIVE_ACCESSORS
  - google::protobuf::internal::ExtensionSet::GetRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::GetEnum
  - google::protobuf::internal::ExtensionSet::SetEnum
  - google::protobuf::internal::ExtensionSet::GetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::SetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::AddEnum
  - "& ExtensionSet::GetString(\n    int number, const std::string& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableString
  - "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedString
  - google::protobuf::internal::ExtensionSet::AddString
  - "& ExtensionSet::GetMessage(\n    int number, const MessageLite& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableMessage
  - google::protobuf::internal::ExtensionSet::SetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::ReleaseMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
  - "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
  - google::protobuf::internal::ExtensionSet::AddMessage
  - google::protobuf::internal::ExtensionSet::RemoveLast
  - google::protobuf::internal::ExtensionSet::ReleaseLast
  - google::protobuf::internal::ExtensionSet::SwapElements
  - google::protobuf::internal::ExtensionSet::Clear
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::ExtensionSet::MergeFrom
  - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::Swap
  - google::protobuf::internal::ExtensionSet::SwapExtension
  - google::protobuf::internal::ExtensionSet::IsInitialized
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItem
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
  - google::protobuf::internal::ParseField
  - google::protobuf::internal::SkipField
  - google::protobuf::internal::ExtensionSet::ParseMessageSet
  - google::protobuf::internal::ExtensionSet::_InternalSerialize
  - google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
  - google::protobuf::internal::ExtensionSet::ByteSize
  - google::protobuf::internal::ExtensionSet::MaybeNewExtension
  - ExtensionSet::Extension::Clear()
  - HANDLE_TYPE
  - ExtensionSet::Extension::ByteSize(int number) const
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - ExtensionSet::Extension::GetSize() const
  - HANDLE_TYPE
  - ExtensionSet::Extension::Free()
  - HANDLE_TYPE
  - ExtensionSet::Extension::IsInitialized() const
  - ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::Insert
  - google::protobuf::internal::ExtensionSet::GrowCapacity
  - google::protobuf::internal::ExtensionSet::Erase
  - google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
  - google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
  - "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n    int
    number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
    \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - ExtensionSet::Extension::MessageSetItemByteSize(int number) const
  - google::protobuf::internal::ExtensionSet::MessageSetByteSize
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - ExtensionFinder::~ExtensionFinder()
  - google::protobuf::internal::GeneratedExtensionFinder::Find
  - google::protobuf::internal::ExtensionSet::RegisterExtension
  - google::protobuf::internal::CallNoArgValidityFunc
  - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
  - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
  - google::protobuf::internal::ExtensionSet::ExtensionSet
  - ExtensionSet::~ExtensionSet()
  - google::protobuf::internal::ExtensionSet::DeleteFlatMap
  - google::protobuf::internal::ExtensionSet::Has
  - google::protobuf::internal::ExtensionSet::NumExtensions
  - google::protobuf::internal::ExtensionSet::ExtensionSize
  - google::protobuf::internal::ExtensionSet::ExtensionType
  - google::protobuf::internal::ExtensionSet::ClearExtension
  - GOOGLE_DCHECK_TYPE
  - PRIMITIVE_ACCESSORS
  - google::protobuf::internal::ExtensionSet::GetRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::GetEnum
  - google::protobuf::internal::ExtensionSet::SetEnum
  - google::protobuf::internal::ExtensionSet::GetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::SetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::AddEnum
  - "& ExtensionSet::GetString(\n    int number, const std::string& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableString
  - "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedString
  - google::protobuf::internal::ExtensionSet::AddString
  - "& ExtensionSet::GetMessage(\n    int number, const MessageLite& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableMessage
  - google::protobuf::internal::ExtensionSet::SetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::ReleaseMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
  - "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
  - google::protobuf::internal::ExtensionSet::AddMessage
  - google::protobuf::internal::ExtensionSet::RemoveLast
  - google::protobuf::internal::ExtensionSet::ReleaseLast
  - google::protobuf::internal::ExtensionSet::SwapElements
  - google::protobuf::internal::ExtensionSet::Clear
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::ExtensionSet::MergeFrom
  - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::Swap
  - google::protobuf::internal::ExtensionSet::SwapExtension
  - google::protobuf::internal::ExtensionSet::IsInitialized
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItem
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
  - google::protobuf::internal::ParseField
  - google::protobuf::internal::SkipField
  - google::protobuf::internal::ExtensionSet::ParseMessageSet
  - google::protobuf::internal::ExtensionSet::_InternalSerialize
  - google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
  - google::protobuf::internal::ExtensionSet::ByteSize
  - google::protobuf::internal::ExtensionSet::MaybeNewExtension
  - ExtensionSet::Extension::Clear()
  - HANDLE_TYPE
  - ExtensionSet::Extension::ByteSize(int number) const
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - ExtensionSet::Extension::GetSize() const
  - HANDLE_TYPE
  - ExtensionSet::Extension::Free()
  - HANDLE_TYPE
  - ExtensionSet::Extension::IsInitialized() const
  - ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::Insert
  - google::protobuf::internal::ExtensionSet::GrowCapacity
  - google::protobuf::internal::ExtensionSet::Erase
  - google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
  - google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
  - "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n    int
    number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
    \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - ExtensionSet::Extension::MessageSetItemByteSize(int number) const
  - google::protobuf::internal::ExtensionSet::MessageSetByteSize
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - ExtensionFinder::~ExtensionFinder()
  - google::protobuf::internal::GeneratedExtensionFinder::Find
  - google::protobuf::internal::ExtensionSet::RegisterExtension
  - google::protobuf::internal::CallNoArgValidityFunc
  - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
  - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
  - google::protobuf::internal::ExtensionSet::ExtensionSet
  - ExtensionSet::~ExtensionSet()
  - google::protobuf::internal::ExtensionSet::DeleteFlatMap
  - google::protobuf::internal::ExtensionSet::Has
  - google::protobuf::internal::ExtensionSet::NumExtensions
  - google::protobuf::internal::ExtensionSet::ExtensionSize
  - google::protobuf::internal::ExtensionSet::ExtensionType
  - google::protobuf::internal::ExtensionSet::ClearExtension
  - GOOGLE_DCHECK_TYPE
  - PRIMITIVE_ACCESSORS
  - google::protobuf::internal::ExtensionSet::GetRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::GetEnum
  - google::protobuf::internal::ExtensionSet::SetEnum
  - google::protobuf::internal::ExtensionSet::GetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::SetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::AddEnum
  - "& ExtensionSet::GetString(\n    int number, const std::string& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableString
  - "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedString
  - google::protobuf::internal::ExtensionSet::AddString
  - "& ExtensionSet::GetMessage(\n    int number, const MessageLite& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableMessage
  - google::protobuf::internal::ExtensionSet::SetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::ReleaseMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
  - "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
  - google::protobuf::internal::ExtensionSet::AddMessage
  - google::protobuf::internal::ExtensionSet::RemoveLast
  - google::protobuf::internal::ExtensionSet::ReleaseLast
  - google::protobuf::internal::ExtensionSet::SwapElements
  - google::protobuf::internal::ExtensionSet::Clear
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::ExtensionSet::MergeFrom
  - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::Swap
  - google::protobuf::internal::ExtensionSet::SwapExtension
  - google::protobuf::internal::ExtensionSet::IsInitialized
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItem
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
  - google::protobuf::internal::ParseField
  - google::protobuf::internal::SkipField
  - google::protobuf::internal::ExtensionSet::ParseMessageSet
  - google::protobuf::internal::ExtensionSet::_InternalSerialize
  - google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
  - google::protobuf::internal::ExtensionSet::ByteSize
  - google::protobuf::internal::ExtensionSet::MaybeNewExtension
  - ExtensionSet::Extension::Clear()
  - HANDLE_TYPE
  - ExtensionSet::Extension::ByteSize(int number) const
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - ExtensionSet::Extension::GetSize() const
  - HANDLE_TYPE
  - ExtensionSet::Extension::Free()
  - HANDLE_TYPE
  - ExtensionSet::Extension::IsInitialized() const
  - ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::Insert
  - google::protobuf::internal::ExtensionSet::GrowCapacity
  - google::protobuf::internal::ExtensionSet::Erase
  - google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
  - google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
  - "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n    int
    number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
    \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - ExtensionSet::Extension::MessageSetItemByteSize(int number) const
  - google::protobuf::internal::ExtensionSet::MessageSetByteSize
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - ExtensionFinder::~ExtensionFinder()
  - google::protobuf::internal::GeneratedExtensionFinder::Find
  - google::protobuf::internal::ExtensionSet::RegisterExtension
  - google::protobuf::internal::CallNoArgValidityFunc
  - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
  - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
  - google::protobuf::internal::ExtensionSet::ExtensionSet
  - ExtensionSet::~ExtensionSet()
  - google::protobuf::internal::ExtensionSet::DeleteFlatMap
  - google::protobuf::internal::ExtensionSet::Has
  - google::protobuf::internal::ExtensionSet::NumExtensions
  - google::protobuf::internal::ExtensionSet::ExtensionSize
  - google::protobuf::internal::ExtensionSet::ExtensionType
  - google::protobuf::internal::ExtensionSet::ClearExtension
  - GOOGLE_DCHECK_TYPE
  - PRIMITIVE_ACCESSORS
  - google::protobuf::internal::ExtensionSet::GetRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::GetEnum
  - google::protobuf::internal::ExtensionSet::SetEnum
  - google::protobuf::internal::ExtensionSet::GetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::SetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::AddEnum
  - "& ExtensionSet::GetString(\n    int number, const std::string& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableString
  - "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedString
  - google::protobuf::internal::ExtensionSet::AddString
  - "& ExtensionSet::GetMessage(\n    int number, const MessageLite& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableMessage
  - google::protobuf::internal::ExtensionSet::SetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::ReleaseMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
  - "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
  - google::protobuf::internal::ExtensionSet::AddMessage
  - google::protobuf::internal::ExtensionSet::RemoveLast
  - google::protobuf::internal::ExtensionSet::ReleaseLast
  - google::protobuf::internal::ExtensionSet::SwapElements
  - google::protobuf::internal::ExtensionSet::Clear
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::ExtensionSet::MergeFrom
  - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::Swap
  - google::protobuf::internal::ExtensionSet::SwapExtension
  - google::protobuf::internal::ExtensionSet::IsInitialized
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItem
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
  - google::protobuf::internal::ParseField
  - google::protobuf::internal::SkipField
  - google::protobuf::internal::ExtensionSet::ParseMessageSet
  - google::protobuf::internal::ExtensionSet::_InternalSerialize
  - google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
  - google::protobuf::internal::ExtensionSet::ByteSize
  - google::protobuf::internal::ExtensionSet::MaybeNewExtension
  - ExtensionSet::Extension::Clear()
  - HANDLE_TYPE
  - ExtensionSet::Extension::ByteSize(int number) const
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - ExtensionSet::Extension::GetSize() const
  - HANDLE_TYPE
  - ExtensionSet::Extension::Free()
  - HANDLE_TYPE
  - ExtensionSet::Extension::IsInitialized() const
  - ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::Insert
  - google::protobuf::internal::ExtensionSet::GrowCapacity
  - google::protobuf::internal::ExtensionSet::Erase
  - google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
  - google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
  - "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n    int
    number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
    \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - ExtensionSet::Extension::MessageSetItemByteSize(int number) const
  - google::protobuf::internal::ExtensionSet::MessageSetByteSize
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - google::protobuf::internal::real_type
  - google::protobuf::internal::cpp_type
  - google::protobuf::internal::is_packable
  - operator()(const std::pair<const MessageLite*, int>& p) const
  - google::protobuf::internal::Register
  - google::protobuf::internal::FindRegisteredExtension
  - ExtensionFinder::~ExtensionFinder()
  - google::protobuf::internal::GeneratedExtensionFinder::Find
  - google::protobuf::internal::ExtensionSet::RegisterExtension
  - google::protobuf::internal::CallNoArgValidityFunc
  - google::protobuf::internal::ExtensionSet::RegisterEnumExtension
  - google::protobuf::internal::ExtensionSet::RegisterMessageExtension
  - google::protobuf::internal::ExtensionSet::ExtensionSet
  - ExtensionSet::~ExtensionSet()
  - google::protobuf::internal::ExtensionSet::DeleteFlatMap
  - google::protobuf::internal::ExtensionSet::Has
  - google::protobuf::internal::ExtensionSet::NumExtensions
  - google::protobuf::internal::ExtensionSet::ExtensionSize
  - google::protobuf::internal::ExtensionSet::ExtensionType
  - google::protobuf::internal::ExtensionSet::ClearExtension
  - GOOGLE_DCHECK_TYPE
  - PRIMITIVE_ACCESSORS
  - google::protobuf::internal::ExtensionSet::GetRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::MutableRawRepeatedField
  - google::protobuf::internal::ExtensionSet::GetEnum
  - google::protobuf::internal::ExtensionSet::SetEnum
  - google::protobuf::internal::ExtensionSet::GetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::SetRepeatedEnum
  - google::protobuf::internal::ExtensionSet::AddEnum
  - "& ExtensionSet::GetString(\n    int number, const std::string& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableString
  - "& ExtensionSet::GetRepeatedString(int number,\n                                                   int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedString
  - google::protobuf::internal::ExtensionSet::AddString
  - "& ExtensionSet::GetMessage(\n    int number, const MessageLite& default_value)
    const"
  - google::protobuf::internal::ExtensionSet::MutableMessage
  - google::protobuf::internal::ExtensionSet::SetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaSetAllocatedMessage
  - google::protobuf::internal::ExtensionSet::ReleaseMessage
  - google::protobuf::internal::ExtensionSet::UnsafeArenaReleaseMessage
  - "& ExtensionSet::GetRepeatedMessage(int number,\n                                                    int
    index) const"
  - google::protobuf::internal::ExtensionSet::MutableRepeatedMessage
  - google::protobuf::internal::ExtensionSet::AddMessage
  - google::protobuf::internal::ExtensionSet::RemoveLast
  - google::protobuf::internal::ExtensionSet::ReleaseLast
  - google::protobuf::internal::ExtensionSet::SwapElements
  - google::protobuf::internal::ExtensionSet::Clear
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::SizeOfUnion
  - google::protobuf::internal::ExtensionSet::MergeFrom
  - google::protobuf::internal::ExtensionSet::InternalExtensionMergeFrom
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::Swap
  - google::protobuf::internal::ExtensionSet::SwapExtension
  - google::protobuf::internal::ExtensionSet::IsInitialized
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromTag
  - google::protobuf::internal::ExtensionSet::FindExtensionInfoFromFieldNumber
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItem
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_TYPE
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseField
  - google::protobuf::internal::ExtensionSet::ParseMessageSetLite
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemLite
  - google::protobuf::internal::ParseField
  - google::protobuf::internal::SkipField
  - google::protobuf::internal::ExtensionSet::ParseMessageSet
  - google::protobuf::internal::ExtensionSet::_InternalSerialize
  - google::protobuf::internal::ExtensionSet::InternalSerializeMessageSetWithCachedSizesToArray
  - google::protobuf::internal::ExtensionSet::ByteSize
  - google::protobuf::internal::ExtensionSet::MaybeNewExtension
  - ExtensionSet::Extension::Clear()
  - HANDLE_TYPE
  - ExtensionSet::Extension::ByteSize(int number) const
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - ExtensionSet::Extension::GetSize() const
  - HANDLE_TYPE
  - ExtensionSet::Extension::Free()
  - HANDLE_TYPE
  - ExtensionSet::Extension::IsInitialized() const
  - ExtensionSet::LazyMessageExtension::UnusedKeyMethod()
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::FindOrNull
  - google::protobuf::internal::ExtensionSet::FindOrNullInLargeMap
  - google::protobuf::internal::ExtensionSet::Insert
  - google::protobuf::internal::ExtensionSet::GrowCapacity
  - google::protobuf::internal::ExtensionSet::Erase
  - google::protobuf::internal::RepeatedPrimitiveDefaults::default_instance
  - google::protobuf::internal::RepeatedStringTypeTraits::GetDefaultRepeatedField
  - "* ExtensionSet::Extension::InternalSerializeFieldWithCachedSizesToArray(\n    int
    number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - HANDLE_TYPE
  - "*\nExtensionSet::Extension::InternalSerializeMessageSetItemWithCachedSizesToArray(\n
    \   int number, uint8* target, io::EpsCopyOutputStream* stream) const"
  - ExtensionSet::Extension::MessageSetItemByteSize(int number) const
  - google::protobuf::internal::ExtensionSet::MessageSetByteSize
  source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* extension_finder'
        type: ExtensionFinder
      - name: '* field_skipper'
        type: FieldSkipper
      item_type: struct
      name: MSLite
      pos:
        line_end: 1441
        line_start: 1427
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* extension_finder'
        type: ExtensionFinder
      - name: '* field_skipper'
        type: FieldSkipper
      item_type: struct
      name: MSLite
      pos:
        line_end: 1441
        line_start: 1427
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* extension_finder'
        type: ExtensionFinder
      - name: '* field_skipper'
        type: FieldSkipper
      item_type: struct
      name: MSLite
      pos:
        line_end: 1441
        line_start: 1427
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* extension_finder'
        type: ExtensionFinder
      - name: '* field_skipper'
        type: FieldSkipper
      item_type: struct
      name: MSLite
      pos:
        line_end: 1441
        line_start: 1427
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* extension_finder'
        type: ExtensionFinder
      - name: '* field_skipper'
        type: FieldSkipper
      item_type: struct
      name: MSLite
      pos:
        line_end: 1441
        line_start: 1427
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* extension_finder'
        type: ExtensionFinder
      - name: '* field_skipper'
        type: FieldSkipper
      item_type: struct
      name: MSLite
      pos:
        line_end: 1441
        line_start: 1427
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* extension_finder'
        type: ExtensionFinder
      - name: '* field_skipper'
        type: FieldSkipper
      item_type: struct
      name: MSLite
      pos:
        line_end: 1441
        line_start: 1427
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields: []
      item_type: struct
      name: ExtensionHasher
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* extension_finder'
        type: ExtensionFinder
      - name: '* field_skipper'
        type: FieldSkipper
      item_type: struct
      name: MSLite
      pos:
        line_end: 1441
        line_start: 1427
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
    typedefs:
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    - item_type: typedef
      name: ExtensionRegistry
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/extension_set.cc
      type: "unordered_map<std::pair<const MessageLite*, int>, ExtensionInfo,\n                           ExtensionHasher>"
    union: []
- function_names:
  - google::protobuf::io::NextNonEmpty
  - google::protobuf::io::NextNonEmpty
  - CodedInputStream::~CodedInputStream()
  - google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
  - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
  - google::protobuf::io::CodedInputStream::PushLimit
  - google::protobuf::io::CodedInputStream::PopLimit
  - google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
  - google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
  - google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
  - google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
  - google::protobuf::io::CodedInputStream::BytesUntilLimit
  - google::protobuf::io::CodedInputStream::SetTotalBytesLimit
  - google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
  - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
  - google::protobuf::io::CodedInputStream::SkipFallback
  - google::protobuf::io::CodedInputStream::GetDirectBufferPointer
  - google::protobuf::io::CodedInputStream::ReadRaw
  - google::protobuf::io::CodedInputStream::ReadString
  - google::protobuf::io::CodedInputStream::ReadStringFallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::CodedInputStream::ReadVarint32Slow
  - google::protobuf::io::CodedInputStream::ReadVarint32Fallback
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
  - google::protobuf::io::CodedInputStream::ReadTagSlow
  - google::protobuf::io::CodedInputStream::ReadTagFallback
  - google::protobuf::io::CodedInputStream::ReadVarint64Slow
  - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
  - google::protobuf::io::CodedInputStream::Refresh
  - google::protobuf::io::EpsCopyOutputStream::EnableAliasing
  - google::protobuf::io::EpsCopyOutputStream::ByteCount
  - google::protobuf::io::EpsCopyOutputStream::Flush
  - google::protobuf::io::EpsCopyOutputStream::Trim
  - google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
  - google::protobuf::io::EpsCopyOutputStream::Skip
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
  - google::protobuf::io::EpsCopyOutputStream::Next
  - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
  - google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
  - google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
  - google::protobuf::io::CodedOutputStream::CodedOutputStream
  - CodedOutputStream::~CodedOutputStream()
  - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
  - google::protobuf::io::NextNonEmpty
  - google::protobuf::io::NextNonEmpty
  - CodedInputStream::~CodedInputStream()
  - google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
  - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
  - google::protobuf::io::CodedInputStream::PushLimit
  - google::protobuf::io::CodedInputStream::PopLimit
  - google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
  - google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
  - google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
  - google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
  - google::protobuf::io::CodedInputStream::BytesUntilLimit
  - google::protobuf::io::CodedInputStream::SetTotalBytesLimit
  - google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
  - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
  - google::protobuf::io::CodedInputStream::SkipFallback
  - google::protobuf::io::CodedInputStream::GetDirectBufferPointer
  - google::protobuf::io::CodedInputStream::ReadRaw
  - google::protobuf::io::CodedInputStream::ReadString
  - google::protobuf::io::CodedInputStream::ReadStringFallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::CodedInputStream::ReadVarint32Slow
  - google::protobuf::io::CodedInputStream::ReadVarint32Fallback
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
  - google::protobuf::io::CodedInputStream::ReadTagSlow
  - google::protobuf::io::CodedInputStream::ReadTagFallback
  - google::protobuf::io::CodedInputStream::ReadVarint64Slow
  - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
  - google::protobuf::io::CodedInputStream::Refresh
  - google::protobuf::io::EpsCopyOutputStream::EnableAliasing
  - google::protobuf::io::EpsCopyOutputStream::ByteCount
  - google::protobuf::io::EpsCopyOutputStream::Flush
  - google::protobuf::io::EpsCopyOutputStream::Trim
  - google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
  - google::protobuf::io::EpsCopyOutputStream::Skip
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
  - google::protobuf::io::EpsCopyOutputStream::Next
  - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
  - google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
  - google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
  - google::protobuf::io::CodedOutputStream::CodedOutputStream
  - CodedOutputStream::~CodedOutputStream()
  - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
  - google::protobuf::io::NextNonEmpty
  - google::protobuf::io::NextNonEmpty
  - CodedInputStream::~CodedInputStream()
  - google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
  - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
  - google::protobuf::io::CodedInputStream::PushLimit
  - google::protobuf::io::CodedInputStream::PopLimit
  - google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
  - google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
  - google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
  - google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
  - google::protobuf::io::CodedInputStream::BytesUntilLimit
  - google::protobuf::io::CodedInputStream::SetTotalBytesLimit
  - google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
  - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
  - google::protobuf::io::CodedInputStream::SkipFallback
  - google::protobuf::io::CodedInputStream::GetDirectBufferPointer
  - google::protobuf::io::CodedInputStream::ReadRaw
  - google::protobuf::io::CodedInputStream::ReadString
  - google::protobuf::io::CodedInputStream::ReadStringFallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::CodedInputStream::ReadVarint32Slow
  - google::protobuf::io::CodedInputStream::ReadVarint32Fallback
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
  - google::protobuf::io::CodedInputStream::ReadTagSlow
  - google::protobuf::io::CodedInputStream::ReadTagFallback
  - google::protobuf::io::CodedInputStream::ReadVarint64Slow
  - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
  - google::protobuf::io::CodedInputStream::Refresh
  - google::protobuf::io::EpsCopyOutputStream::EnableAliasing
  - google::protobuf::io::EpsCopyOutputStream::ByteCount
  - google::protobuf::io::EpsCopyOutputStream::Flush
  - google::protobuf::io::EpsCopyOutputStream::Trim
  - google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
  - google::protobuf::io::EpsCopyOutputStream::Skip
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
  - google::protobuf::io::EpsCopyOutputStream::Next
  - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
  - google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
  - google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
  - google::protobuf::io::CodedOutputStream::CodedOutputStream
  - CodedOutputStream::~CodedOutputStream()
  - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
  - google::protobuf::io::NextNonEmpty
  - google::protobuf::io::NextNonEmpty
  - CodedInputStream::~CodedInputStream()
  - google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
  - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
  - google::protobuf::io::CodedInputStream::PushLimit
  - google::protobuf::io::CodedInputStream::PopLimit
  - google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
  - google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
  - google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
  - google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
  - google::protobuf::io::CodedInputStream::BytesUntilLimit
  - google::protobuf::io::CodedInputStream::SetTotalBytesLimit
  - google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
  - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
  - google::protobuf::io::CodedInputStream::SkipFallback
  - google::protobuf::io::CodedInputStream::GetDirectBufferPointer
  - google::protobuf::io::CodedInputStream::ReadRaw
  - google::protobuf::io::CodedInputStream::ReadString
  - google::protobuf::io::CodedInputStream::ReadStringFallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::CodedInputStream::ReadVarint32Slow
  - google::protobuf::io::CodedInputStream::ReadVarint32Fallback
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
  - google::protobuf::io::CodedInputStream::ReadTagSlow
  - google::protobuf::io::CodedInputStream::ReadTagFallback
  - google::protobuf::io::CodedInputStream::ReadVarint64Slow
  - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
  - google::protobuf::io::CodedInputStream::Refresh
  - google::protobuf::io::EpsCopyOutputStream::EnableAliasing
  - google::protobuf::io::EpsCopyOutputStream::ByteCount
  - google::protobuf::io::EpsCopyOutputStream::Flush
  - google::protobuf::io::EpsCopyOutputStream::Trim
  - google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
  - google::protobuf::io::EpsCopyOutputStream::Skip
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
  - google::protobuf::io::EpsCopyOutputStream::Next
  - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
  - google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
  - google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
  - google::protobuf::io::CodedOutputStream::CodedOutputStream
  - CodedOutputStream::~CodedOutputStream()
  - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
  - google::protobuf::io::NextNonEmpty
  - google::protobuf::io::NextNonEmpty
  - CodedInputStream::~CodedInputStream()
  - google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
  - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
  - google::protobuf::io::CodedInputStream::PushLimit
  - google::protobuf::io::CodedInputStream::PopLimit
  - google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
  - google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
  - google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
  - google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
  - google::protobuf::io::CodedInputStream::BytesUntilLimit
  - google::protobuf::io::CodedInputStream::SetTotalBytesLimit
  - google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
  - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
  - google::protobuf::io::CodedInputStream::SkipFallback
  - google::protobuf::io::CodedInputStream::GetDirectBufferPointer
  - google::protobuf::io::CodedInputStream::ReadRaw
  - google::protobuf::io::CodedInputStream::ReadString
  - google::protobuf::io::CodedInputStream::ReadStringFallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::CodedInputStream::ReadVarint32Slow
  - google::protobuf::io::CodedInputStream::ReadVarint32Fallback
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
  - google::protobuf::io::CodedInputStream::ReadTagSlow
  - google::protobuf::io::CodedInputStream::ReadTagFallback
  - google::protobuf::io::CodedInputStream::ReadVarint64Slow
  - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
  - google::protobuf::io::CodedInputStream::Refresh
  - google::protobuf::io::EpsCopyOutputStream::EnableAliasing
  - google::protobuf::io::EpsCopyOutputStream::ByteCount
  - google::protobuf::io::EpsCopyOutputStream::Flush
  - google::protobuf::io::EpsCopyOutputStream::Trim
  - google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
  - google::protobuf::io::EpsCopyOutputStream::Skip
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
  - google::protobuf::io::EpsCopyOutputStream::Next
  - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
  - google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
  - google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
  - google::protobuf::io::CodedOutputStream::CodedOutputStream
  - CodedOutputStream::~CodedOutputStream()
  - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
  - google::protobuf::io::NextNonEmpty
  - google::protobuf::io::NextNonEmpty
  - CodedInputStream::~CodedInputStream()
  - google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
  - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
  - google::protobuf::io::CodedInputStream::PushLimit
  - google::protobuf::io::CodedInputStream::PopLimit
  - google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
  - google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
  - google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
  - google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
  - google::protobuf::io::CodedInputStream::BytesUntilLimit
  - google::protobuf::io::CodedInputStream::SetTotalBytesLimit
  - google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
  - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
  - google::protobuf::io::CodedInputStream::SkipFallback
  - google::protobuf::io::CodedInputStream::GetDirectBufferPointer
  - google::protobuf::io::CodedInputStream::ReadRaw
  - google::protobuf::io::CodedInputStream::ReadString
  - google::protobuf::io::CodedInputStream::ReadStringFallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::CodedInputStream::ReadVarint32Slow
  - google::protobuf::io::CodedInputStream::ReadVarint32Fallback
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
  - google::protobuf::io::CodedInputStream::ReadTagSlow
  - google::protobuf::io::CodedInputStream::ReadTagFallback
  - google::protobuf::io::CodedInputStream::ReadVarint64Slow
  - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
  - google::protobuf::io::CodedInputStream::Refresh
  - google::protobuf::io::EpsCopyOutputStream::EnableAliasing
  - google::protobuf::io::EpsCopyOutputStream::ByteCount
  - google::protobuf::io::EpsCopyOutputStream::Flush
  - google::protobuf::io::EpsCopyOutputStream::Trim
  - google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
  - google::protobuf::io::EpsCopyOutputStream::Skip
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
  - google::protobuf::io::EpsCopyOutputStream::Next
  - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
  - google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
  - google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
  - google::protobuf::io::CodedOutputStream::CodedOutputStream
  - CodedOutputStream::~CodedOutputStream()
  - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
  - google::protobuf::io::NextNonEmpty
  - google::protobuf::io::NextNonEmpty
  - CodedInputStream::~CodedInputStream()
  - google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
  - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
  - google::protobuf::io::CodedInputStream::PushLimit
  - google::protobuf::io::CodedInputStream::PopLimit
  - google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
  - google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
  - google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
  - google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
  - google::protobuf::io::CodedInputStream::BytesUntilLimit
  - google::protobuf::io::CodedInputStream::SetTotalBytesLimit
  - google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
  - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
  - google::protobuf::io::CodedInputStream::SkipFallback
  - google::protobuf::io::CodedInputStream::GetDirectBufferPointer
  - google::protobuf::io::CodedInputStream::ReadRaw
  - google::protobuf::io::CodedInputStream::ReadString
  - google::protobuf::io::CodedInputStream::ReadStringFallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::CodedInputStream::ReadVarint32Slow
  - google::protobuf::io::CodedInputStream::ReadVarint32Fallback
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
  - google::protobuf::io::CodedInputStream::ReadTagSlow
  - google::protobuf::io::CodedInputStream::ReadTagFallback
  - google::protobuf::io::CodedInputStream::ReadVarint64Slow
  - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
  - google::protobuf::io::CodedInputStream::Refresh
  - google::protobuf::io::EpsCopyOutputStream::EnableAliasing
  - google::protobuf::io::EpsCopyOutputStream::ByteCount
  - google::protobuf::io::EpsCopyOutputStream::Flush
  - google::protobuf::io::EpsCopyOutputStream::Trim
  - google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
  - google::protobuf::io::EpsCopyOutputStream::Skip
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
  - google::protobuf::io::EpsCopyOutputStream::Next
  - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
  - google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
  - google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
  - google::protobuf::io::CodedOutputStream::CodedOutputStream
  - CodedOutputStream::~CodedOutputStream()
  - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
  - google::protobuf::io::NextNonEmpty
  - google::protobuf::io::NextNonEmpty
  - CodedInputStream::~CodedInputStream()
  - google::protobuf::io::CodedInputStream::BackUpInputToCurrentPosition
  - google::protobuf::io::CodedInputStream::RecomputeBufferLimits
  - google::protobuf::io::CodedInputStream::PushLimit
  - google::protobuf::io::CodedInputStream::PopLimit
  - google::protobuf::io::CodedInputStream::IncrementRecursionDepthAndPushLimit
  - google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit
  - google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit
  - google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit
  - google::protobuf::io::CodedInputStream::BytesUntilLimit
  - google::protobuf::io::CodedInputStream::SetTotalBytesLimit
  - google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit
  - google::protobuf::io::CodedInputStream::PrintTotalBytesLimitError
  - google::protobuf::io::CodedInputStream::SkipFallback
  - google::protobuf::io::CodedInputStream::GetDirectBufferPointer
  - google::protobuf::io::CodedInputStream::ReadRaw
  - google::protobuf::io::CodedInputStream::ReadString
  - google::protobuf::io::CodedInputStream::ReadStringFallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian32Fallback
  - google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::DecodeVarint64KnownSize
  - google::protobuf::io::ReadVarint32FromArray
  - google::protobuf::io::ReadVarint64FromArray
  - google::protobuf::io::CodedInputStream::ReadVarint32Slow
  - google::protobuf::io::CodedInputStream::ReadVarint32Fallback
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntSlow
  - google::protobuf::io::CodedInputStream::ReadVarintSizeAsIntFallback
  - google::protobuf::io::CodedInputStream::ReadTagSlow
  - google::protobuf::io::CodedInputStream::ReadTagFallback
  - google::protobuf::io::CodedInputStream::ReadVarint64Slow
  - google::protobuf::io::CodedInputStream::ReadVarint64Fallback
  - google::protobuf::io::CodedInputStream::Refresh
  - google::protobuf::io::EpsCopyOutputStream::EnableAliasing
  - google::protobuf::io::EpsCopyOutputStream::ByteCount
  - google::protobuf::io::EpsCopyOutputStream::Flush
  - google::protobuf::io::EpsCopyOutputStream::Trim
  - google::protobuf::io::EpsCopyOutputStream::FlushAndResetBuffer
  - google::protobuf::io::EpsCopyOutputStream::Skip
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferPointer
  - google::protobuf::io::EpsCopyOutputStream::GetDirectBufferForNBytesAndAdvance
  - google::protobuf::io::EpsCopyOutputStream::Next
  - google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteRawFallback
  - google::protobuf::io::EpsCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian32
  - google::protobuf::io::EpsCopyOutputStream::WriteRawLittleEndian64
  - google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline
  - google::protobuf::io::EpsCopyOutputStream::WriteStringOutline
  - google::protobuf::io::CodedOutputStream::CodedOutputStream
  - CodedOutputStream::~CodedOutputStream()
  - google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray
  source_file: /src/sentencepiece/third_party/protobuf-lite/coded_stream.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STEP
  - google::protobuf::Fls64
  - google::protobuf::Fls128
  - google::protobuf::uint128::DivModImpl
  - '& uint128::operator/=(const uint128& divisor)'
  - '& uint128::operator%=(const uint128& divisor)'
  - '& operator<<(std::ostream& o, const uint128& b)'
  - STEP
  - google::protobuf::Fls64
  - google::protobuf::Fls128
  - google::protobuf::uint128::DivModImpl
  - '& uint128::operator/=(const uint128& divisor)'
  - '& uint128::operator%=(const uint128& divisor)'
  - '& operator<<(std::ostream& o, const uint128& b)'
  - STEP
  - google::protobuf::Fls64
  - google::protobuf::Fls128
  - google::protobuf::uint128::DivModImpl
  - '& uint128::operator/=(const uint128& divisor)'
  - '& uint128::operator%=(const uint128& divisor)'
  - '& operator<<(std::ostream& o, const uint128& b)'
  - STEP
  - google::protobuf::Fls64
  - google::protobuf::Fls128
  - google::protobuf::uint128::DivModImpl
  - '& uint128::operator/=(const uint128& divisor)'
  - '& uint128::operator%=(const uint128& divisor)'
  - '& operator<<(std::ostream& o, const uint128& b)'
  source_file: /src/sentencepiece/third_party/protobuf-lite/int128.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::InStateZero
  - google::protobuf::internal::UTF8GenericScan
  - google::protobuf::internal::UTF8GenericScanFastAscii
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::UTF8SpnStructurallyValid
  - google::protobuf::internal::UTF8CoerceToStructurallyValid
  - google::protobuf::internal::InStateZero
  - google::protobuf::internal::UTF8GenericScan
  - google::protobuf::internal::UTF8GenericScanFastAscii
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::UTF8SpnStructurallyValid
  - google::protobuf::internal::UTF8CoerceToStructurallyValid
  - google::protobuf::internal::InStateZero
  - google::protobuf::internal::UTF8GenericScan
  - google::protobuf::internal::UTF8GenericScanFastAscii
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::UTF8SpnStructurallyValid
  - google::protobuf::internal::UTF8CoerceToStructurallyValid
  - google::protobuf::internal::InStateZero
  - google::protobuf::internal::UTF8GenericScan
  - google::protobuf::internal::UTF8GenericScanFastAscii
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::UTF8SpnStructurallyValid
  - google::protobuf::internal::UTF8CoerceToStructurallyValid
  - google::protobuf::internal::InStateZero
  - google::protobuf::internal::UTF8GenericScan
  - google::protobuf::internal::UTF8GenericScanFastAscii
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::UTF8SpnStructurallyValid
  - google::protobuf::internal::UTF8CoerceToStructurallyValid
  - google::protobuf::internal::InStateZero
  - google::protobuf::internal::UTF8GenericScan
  - google::protobuf::internal::UTF8GenericScanFastAscii
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::UTF8SpnStructurallyValid
  - google::protobuf::internal::UTF8CoerceToStructurallyValid
  - google::protobuf::internal::InStateZero
  - google::protobuf::internal::UTF8GenericScan
  - google::protobuf::internal::UTF8GenericScanFastAscii
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::UTF8SpnStructurallyValid
  - google::protobuf::internal::UTF8CoerceToStructurallyValid
  - google::protobuf::internal::InStateZero
  - google::protobuf::internal::UTF8GenericScan
  - google::protobuf::internal::UTF8GenericScanFastAscii
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::InitDetector
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::UTF8SpnStructurallyValid
  - google::protobuf::internal::UTF8CoerceToStructurallyValid
  source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: X__
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitIllegalStructure)
    - item_type: preproc_def
      name: RJ_
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReject)
    - item_type: preproc_def
      name: S1_
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1)
    - item_type: preproc_def
      name: S2_
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace2)
    - item_type: preproc_def
      name: S3_
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace3)
    - item_type: preproc_def
      name: S21
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace21)
    - item_type: preproc_def
      name: S31
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace31)
    - item_type: preproc_def
      name: S32
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace32)
    - item_type: preproc_def
      name: T1_
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset1)
    - item_type: preproc_def
      name: T2_
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset2)
    - item_type: preproc_def
      name: S11
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1S0)
    - item_type: preproc_def
      name: SP_
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitSpecial)
    - item_type: preproc_def
      name: D__
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitDoAgain)
    - item_type: preproc_def
      name: RJA
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitRejectAlt)
    - item_type: preproc_def
      name: X__
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitIllegalStructure)
    - item_type: preproc_def
      name: RJ_
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReject)
    - item_type: preproc_def
      name: S1_
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1)
    - item_type: preproc_def
      name: S2_
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace2)
    - item_type: preproc_def
      name: S3_
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace3)
    - item_type: preproc_def
      name: S21
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace21)
    - item_type: preproc_def
      name: S31
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace31)
    - item_type: preproc_def
      name: S32
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace32)
    - item_type: preproc_def
      name: T1_
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset1)
    - item_type: preproc_def
      name: T2_
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset2)
    - item_type: preproc_def
      name: S11
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1S0)
    - item_type: preproc_def
      name: SP_
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitSpecial)
    - item_type: preproc_def
      name: D__
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitDoAgain)
    - item_type: preproc_def
      name: RJA
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitRejectAlt)
    - item_type: preproc_def
      name: X__
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitIllegalStructure)
    - item_type: preproc_def
      name: RJ_
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReject)
    - item_type: preproc_def
      name: S1_
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1)
    - item_type: preproc_def
      name: S2_
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace2)
    - item_type: preproc_def
      name: S3_
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace3)
    - item_type: preproc_def
      name: S21
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace21)
    - item_type: preproc_def
      name: S31
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace31)
    - item_type: preproc_def
      name: S32
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace32)
    - item_type: preproc_def
      name: T1_
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset1)
    - item_type: preproc_def
      name: T2_
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset2)
    - item_type: preproc_def
      name: S11
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1S0)
    - item_type: preproc_def
      name: SP_
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitSpecial)
    - item_type: preproc_def
      name: D__
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitDoAgain)
    - item_type: preproc_def
      name: RJA
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitRejectAlt)
    - item_type: preproc_def
      name: X__
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitIllegalStructure)
    - item_type: preproc_def
      name: RJ_
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReject)
    - item_type: preproc_def
      name: S1_
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1)
    - item_type: preproc_def
      name: S2_
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace2)
    - item_type: preproc_def
      name: S3_
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace3)
    - item_type: preproc_def
      name: S21
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace21)
    - item_type: preproc_def
      name: S31
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace31)
    - item_type: preproc_def
      name: S32
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace32)
    - item_type: preproc_def
      name: T1_
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset1)
    - item_type: preproc_def
      name: T2_
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset2)
    - item_type: preproc_def
      name: S11
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1S0)
    - item_type: preproc_def
      name: SP_
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitSpecial)
    - item_type: preproc_def
      name: D__
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitDoAgain)
    - item_type: preproc_def
      name: RJA
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitRejectAlt)
    - item_type: preproc_def
      name: X__
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitIllegalStructure)
    - item_type: preproc_def
      name: RJ_
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReject)
    - item_type: preproc_def
      name: S1_
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1)
    - item_type: preproc_def
      name: S2_
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace2)
    - item_type: preproc_def
      name: S3_
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace3)
    - item_type: preproc_def
      name: S21
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace21)
    - item_type: preproc_def
      name: S31
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace31)
    - item_type: preproc_def
      name: S32
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace32)
    - item_type: preproc_def
      name: T1_
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset1)
    - item_type: preproc_def
      name: T2_
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset2)
    - item_type: preproc_def
      name: S11
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1S0)
    - item_type: preproc_def
      name: SP_
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitSpecial)
    - item_type: preproc_def
      name: D__
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitDoAgain)
    - item_type: preproc_def
      name: RJA
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitRejectAlt)
    - item_type: preproc_def
      name: X__
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitIllegalStructure)
    - item_type: preproc_def
      name: RJ_
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReject)
    - item_type: preproc_def
      name: S1_
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1)
    - item_type: preproc_def
      name: S2_
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace2)
    - item_type: preproc_def
      name: S3_
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace3)
    - item_type: preproc_def
      name: S21
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace21)
    - item_type: preproc_def
      name: S31
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace31)
    - item_type: preproc_def
      name: S32
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace32)
    - item_type: preproc_def
      name: T1_
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset1)
    - item_type: preproc_def
      name: T2_
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset2)
    - item_type: preproc_def
      name: S11
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1S0)
    - item_type: preproc_def
      name: SP_
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitSpecial)
    - item_type: preproc_def
      name: D__
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitDoAgain)
    - item_type: preproc_def
      name: RJA
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitRejectAlt)
    - item_type: preproc_def
      name: X__
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitIllegalStructure)
    - item_type: preproc_def
      name: RJ_
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReject)
    - item_type: preproc_def
      name: S1_
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1)
    - item_type: preproc_def
      name: S2_
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace2)
    - item_type: preproc_def
      name: S3_
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace3)
    - item_type: preproc_def
      name: S21
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace21)
    - item_type: preproc_def
      name: S31
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace31)
    - item_type: preproc_def
      name: S32
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace32)
    - item_type: preproc_def
      name: T1_
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset1)
    - item_type: preproc_def
      name: T2_
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset2)
    - item_type: preproc_def
      name: S11
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1S0)
    - item_type: preproc_def
      name: SP_
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitSpecial)
    - item_type: preproc_def
      name: D__
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitDoAgain)
    - item_type: preproc_def
      name: RJA
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitRejectAlt)
    - item_type: preproc_def
      name: X__
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitIllegalStructure)
    - item_type: preproc_def
      name: RJ_
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReject)
    - item_type: preproc_def
      name: S1_
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1)
    - item_type: preproc_def
      name: S2_
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace2)
    - item_type: preproc_def
      name: S3_
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace3)
    - item_type: preproc_def
      name: S21
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace21)
    - item_type: preproc_def
      name: S31
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace31)
    - item_type: preproc_def
      name: S32
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace32)
    - item_type: preproc_def
      name: T1_
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset1)
    - item_type: preproc_def
      name: T2_
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplaceOffset2)
    - item_type: preproc_def
      name: S11
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitReplace1S0)
    - item_type: preproc_def
      name: SP_
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitSpecial)
    - item_type: preproc_def
      name: D__
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitDoAgain)
    - item_type: preproc_def
      name: RJA
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type_or_value: (kExitRejectAlt)
    structs:
    - fields:
      - name: delete_bytes
        type: uint8
      - name: add_bytes
        type: uint8
      - name: bytes_offset
        type: uint16
      item_type: struct
      name: RemapEntry
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: state0
        type: uint32
      - name: state0_size
        type: uint32
      - name: total_size
        type: uint32
      - name: max_expand
        type: int
      - name: entry_shift
        type: int
      - name: bytes_per_entry
        type: int
      - name: losub
        type: uint32
      - name: hiadd
        type: uint32
      - name: '* state_table'
        type: uint8
      - name: '* remap_base'
        type: RemapEntry
      - name: '* remap_string'
        type: uint8
      - name: '* fast_state'
        type: uint8
      item_type: struct
      name: UTF8StateMachineObj
      pos:
        line_end: 95
        line_start: 82
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: delete_bytes
        type: uint8
      - name: add_bytes
        type: uint8
      - name: bytes_offset
        type: uint16
      item_type: struct
      name: RemapEntry
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: state0
        type: uint32
      - name: state0_size
        type: uint32
      - name: total_size
        type: uint32
      - name: max_expand
        type: int
      - name: entry_shift
        type: int
      - name: bytes_per_entry
        type: int
      - name: losub
        type: uint32
      - name: hiadd
        type: uint32
      - name: '* state_table'
        type: uint8
      - name: '* remap_base'
        type: RemapEntry
      - name: '* remap_string'
        type: uint8
      - name: '* fast_state'
        type: uint8
      item_type: struct
      name: UTF8StateMachineObj
      pos:
        line_end: 95
        line_start: 82
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: delete_bytes
        type: uint8
      - name: add_bytes
        type: uint8
      - name: bytes_offset
        type: uint16
      item_type: struct
      name: RemapEntry
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: state0
        type: uint32
      - name: state0_size
        type: uint32
      - name: total_size
        type: uint32
      - name: max_expand
        type: int
      - name: entry_shift
        type: int
      - name: bytes_per_entry
        type: int
      - name: losub
        type: uint32
      - name: hiadd
        type: uint32
      - name: '* state_table'
        type: uint8
      - name: '* remap_base'
        type: RemapEntry
      - name: '* remap_string'
        type: uint8
      - name: '* fast_state'
        type: uint8
      item_type: struct
      name: UTF8StateMachineObj
      pos:
        line_end: 95
        line_start: 82
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: delete_bytes
        type: uint8
      - name: add_bytes
        type: uint8
      - name: bytes_offset
        type: uint16
      item_type: struct
      name: RemapEntry
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: state0
        type: uint32
      - name: state0_size
        type: uint32
      - name: total_size
        type: uint32
      - name: max_expand
        type: int
      - name: entry_shift
        type: int
      - name: bytes_per_entry
        type: int
      - name: losub
        type: uint32
      - name: hiadd
        type: uint32
      - name: '* state_table'
        type: uint8
      - name: '* remap_base'
        type: RemapEntry
      - name: '* remap_string'
        type: uint8
      - name: '* fast_state'
        type: uint8
      item_type: struct
      name: UTF8StateMachineObj
      pos:
        line_end: 95
        line_start: 82
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: delete_bytes
        type: uint8
      - name: add_bytes
        type: uint8
      - name: bytes_offset
        type: uint16
      item_type: struct
      name: RemapEntry
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: state0
        type: uint32
      - name: state0_size
        type: uint32
      - name: total_size
        type: uint32
      - name: max_expand
        type: int
      - name: entry_shift
        type: int
      - name: bytes_per_entry
        type: int
      - name: losub
        type: uint32
      - name: hiadd
        type: uint32
      - name: '* state_table'
        type: uint8
      - name: '* remap_base'
        type: RemapEntry
      - name: '* remap_string'
        type: uint8
      - name: '* fast_state'
        type: uint8
      item_type: struct
      name: UTF8StateMachineObj
      pos:
        line_end: 95
        line_start: 82
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: delete_bytes
        type: uint8
      - name: add_bytes
        type: uint8
      - name: bytes_offset
        type: uint16
      item_type: struct
      name: RemapEntry
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: state0
        type: uint32
      - name: state0_size
        type: uint32
      - name: total_size
        type: uint32
      - name: max_expand
        type: int
      - name: entry_shift
        type: int
      - name: bytes_per_entry
        type: int
      - name: losub
        type: uint32
      - name: hiadd
        type: uint32
      - name: '* state_table'
        type: uint8
      - name: '* remap_base'
        type: RemapEntry
      - name: '* remap_string'
        type: uint8
      - name: '* fast_state'
        type: uint8
      item_type: struct
      name: UTF8StateMachineObj
      pos:
        line_end: 95
        line_start: 82
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: delete_bytes
        type: uint8
      - name: add_bytes
        type: uint8
      - name: bytes_offset
        type: uint16
      item_type: struct
      name: RemapEntry
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: state0
        type: uint32
      - name: state0_size
        type: uint32
      - name: total_size
        type: uint32
      - name: max_expand
        type: int
      - name: entry_shift
        type: int
      - name: bytes_per_entry
        type: int
      - name: losub
        type: uint32
      - name: hiadd
        type: uint32
      - name: '* state_table'
        type: uint8
      - name: '* remap_base'
        type: RemapEntry
      - name: '* remap_string'
        type: uint8
      - name: '* fast_state'
        type: uint8
      item_type: struct
      name: UTF8StateMachineObj
      pos:
        line_end: 95
        line_start: 82
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: delete_bytes
        type: uint8
      - name: add_bytes
        type: uint8
      - name: bytes_offset
        type: uint16
      item_type: struct
      name: RemapEntry
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields:
      - name: state0
        type: uint32
      - name: state0_size
        type: uint32
      - name: total_size
        type: uint32
      - name: max_expand
        type: int
      - name: entry_shift
        type: int
      - name: bytes_per_entry
        type: int
      - name: losub
        type: uint32
      - name: hiadd
        type: uint32
      - name: '* state_table'
        type: uint8
      - name: '* remap_base'
        type: RemapEntry
      - name: '* remap_string'
        type: uint8
      - name: '* fast_state'
        type: uint8
      item_type: struct
      name: UTF8StateMachineObj
      pos:
        line_end: 95
        line_start: 82
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    - fields: []
      item_type: struct
      name: InitDetector
      pos:
        line_end: 549
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
    typedefs:
    - item_type: typedef
      name: UTF8ScanObj
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type: UTF8StateMachineObj
    - item_type: typedef
      name: UTF8ScanObj
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type: UTF8StateMachineObj
    - item_type: typedef
      name: UTF8ScanObj
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type: UTF8StateMachineObj
    - item_type: typedef
      name: UTF8ScanObj
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type: UTF8StateMachineObj
    - item_type: typedef
      name: UTF8ScanObj
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type: UTF8StateMachineObj
    - item_type: typedef
      name: UTF8ScanObj
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type: UTF8StateMachineObj
    - item_type: typedef
      name: UTF8ScanObj
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type: UTF8StateMachineObj
    - item_type: typedef
      name: UTF8ScanObj
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/sentencepiece/third_party/protobuf-lite/structurally_valid.cc
      type: UTF8StateMachineObj
    union: []
- function_names:
  - google::protobuf::isxdigit
  - google::protobuf::isprint
  - google::protobuf::ReplaceCharacters
  - google::protobuf::StripWhitespace
  - google::protobuf::StringReplace
  - google::protobuf::StringReplace
  - google::protobuf::SplitStringToIteratorUsing
  - google::protobuf::SplitStringUsing
  - google::protobuf::SplitStringToIteratorAllowEmpty
  - google::protobuf::SplitStringAllowEmpty
  - google::protobuf::JoinStringsIterator
  - google::protobuf::JoinStrings
  - IS_OCTAL_DIGIT
  - LOG_STRING
  - google::protobuf::UnescapeCEscapeSequences
  - google::protobuf::UnescapeCEscapeSequences
  - google::protobuf::UnescapeCEscapeString
  - google::protobuf::UnescapeCEscapeString
  - google::protobuf::UnescapeCEscapeString
  - google::protobuf::CEscapeInternal
  - google::protobuf::CEscapedLength
  - google::protobuf::CEscapeAndAppend
  - google::protobuf::CEscape
  - google::protobuf::strings::Utf8SafeCEscape
  - google::protobuf::strings::CHexEscape
  - google::protobuf::strings::Utf8SafeCEscape
  - google::protobuf::strings::CHexEscape
  - google::protobuf::strto32_adaptor
  - google::protobuf::strtou32_adaptor
  - google::protobuf::safe_parse_sign
  - google::protobuf::safe_parse_positive_int
  - google::protobuf::safe_parse_negative_int
  - google::protobuf::safe_int_internal
  - google::protobuf::safe_uint_internal
  - google::protobuf::FastInt64ToBuffer
  - google::protobuf::FastInt32ToBuffer
  - google::protobuf::FastHexToBuffer
  - google::protobuf::InternalFastHexToBuffer
  - google::protobuf::FastHex64ToBuffer
  - google::protobuf::FastHex32ToBuffer
  - google::protobuf::FastUInt32ToBufferLeft
  - google::protobuf::FastInt32ToBufferLeft
  - google::protobuf::FastUInt64ToBufferLeft
  - google::protobuf::FastInt64ToBufferLeft
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleDtoa
  - google::protobuf::SimpleFtoa
  - google::protobuf::IsValidFloatChar
  - google::protobuf::DelocalizeRadix
  - google::protobuf::DoubleToBuffer
  - google::protobuf::memcasecmp
  - google::protobuf::CaseEqual
  - google::protobuf::safe_strtob
  - google::protobuf::safe_strtof
  - google::protobuf::safe_strtod
  - google::protobuf::safe_strto32
  - google::protobuf::safe_strtou32
  - google::protobuf::safe_strto64
  - google::protobuf::safe_strtou64
  - google::protobuf::FloatToBuffer
  - google::protobuf::strings::AlphaNum::AlphaNum
  - google::protobuf::strings::AlphaNum::AlphaNum
  - google::protobuf::Append1
  - google::protobuf::Append2
  - google::protobuf::Append4
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - GOOGLE_DCHECK_NO_OVERLAP
  - google::protobuf::StrAppend
  - google::protobuf::StrAppend
  - google::protobuf::StrAppend
  - google::protobuf::StrAppend
  - google::protobuf::GlobalReplaceSubstring
  - google::protobuf::CalculateBase64EscapedLen
  - google::protobuf::CalculateBase64EscapedLen
  - google::protobuf::Base64UnescapeInternal
  - GET_INPUT
  - google::protobuf::WebSafeBase64Unescape
  - google::protobuf::Base64UnescapeInternal
  - google::protobuf::Base64Unescape
  - google::protobuf::WebSafeBase64Unescape
  - google::protobuf::Base64EscapeInternal
  - google::protobuf::Base64Escape
  - google::protobuf::WebSafeBase64Escape
  - google::protobuf::Base64EscapeInternal
  - google::protobuf::Base64Escape
  - google::protobuf::WebSafeBase64Escape
  - google::protobuf::Base64Escape
  - google::protobuf::WebSafeBase64Escape
  - google::protobuf::WebSafeBase64EscapeWithPadding
  - google::protobuf::EncodeAsUTF8Char
  - google::protobuf::UTF8FirstLetterNumBytes
  - google::protobuf::CleanStringLineEndings
  - google::protobuf::CleanStringLineEndings
  - has_less
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::NoLocaleStrtod
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::NoLocaleStrtod
  - google::protobuf::isxdigit
  - google::protobuf::isprint
  - google::protobuf::ReplaceCharacters
  - google::protobuf::StripWhitespace
  - google::protobuf::StringReplace
  - google::protobuf::StringReplace
  - google::protobuf::SplitStringToIteratorUsing
  - google::protobuf::SplitStringUsing
  - google::protobuf::SplitStringToIteratorAllowEmpty
  - google::protobuf::SplitStringAllowEmpty
  - google::protobuf::JoinStringsIterator
  - google::protobuf::JoinStrings
  - IS_OCTAL_DIGIT
  - LOG_STRING
  - google::protobuf::UnescapeCEscapeSequences
  - google::protobuf::UnescapeCEscapeSequences
  - google::protobuf::UnescapeCEscapeString
  - google::protobuf::UnescapeCEscapeString
  - google::protobuf::UnescapeCEscapeString
  - google::protobuf::CEscapeInternal
  - google::protobuf::CEscapedLength
  - google::protobuf::CEscapeAndAppend
  - google::protobuf::CEscape
  - google::protobuf::strings::Utf8SafeCEscape
  - google::protobuf::strings::CHexEscape
  - google::protobuf::strings::Utf8SafeCEscape
  - google::protobuf::strings::CHexEscape
  - google::protobuf::strto32_adaptor
  - google::protobuf::strtou32_adaptor
  - google::protobuf::safe_parse_sign
  - google::protobuf::safe_parse_positive_int
  - google::protobuf::safe_parse_negative_int
  - google::protobuf::safe_int_internal
  - google::protobuf::safe_uint_internal
  - google::protobuf::FastInt64ToBuffer
  - google::protobuf::FastInt32ToBuffer
  - google::protobuf::FastHexToBuffer
  - google::protobuf::InternalFastHexToBuffer
  - google::protobuf::FastHex64ToBuffer
  - google::protobuf::FastHex32ToBuffer
  - google::protobuf::FastUInt32ToBufferLeft
  - google::protobuf::FastInt32ToBufferLeft
  - google::protobuf::FastUInt64ToBufferLeft
  - google::protobuf::FastInt64ToBufferLeft
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleDtoa
  - google::protobuf::SimpleFtoa
  - google::protobuf::IsValidFloatChar
  - google::protobuf::DelocalizeRadix
  - google::protobuf::DoubleToBuffer
  - google::protobuf::memcasecmp
  - google::protobuf::CaseEqual
  - google::protobuf::safe_strtob
  - google::protobuf::safe_strtof
  - google::protobuf::safe_strtod
  - google::protobuf::safe_strto32
  - google::protobuf::safe_strtou32
  - google::protobuf::safe_strto64
  - google::protobuf::safe_strtou64
  - google::protobuf::FloatToBuffer
  - google::protobuf::strings::AlphaNum::AlphaNum
  - google::protobuf::strings::AlphaNum::AlphaNum
  - google::protobuf::Append1
  - google::protobuf::Append2
  - google::protobuf::Append4
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - GOOGLE_DCHECK_NO_OVERLAP
  - google::protobuf::StrAppend
  - google::protobuf::StrAppend
  - google::protobuf::StrAppend
  - google::protobuf::StrAppend
  - google::protobuf::GlobalReplaceSubstring
  - google::protobuf::CalculateBase64EscapedLen
  - google::protobuf::CalculateBase64EscapedLen
  - google::protobuf::Base64UnescapeInternal
  - GET_INPUT
  - google::protobuf::WebSafeBase64Unescape
  - google::protobuf::Base64UnescapeInternal
  - google::protobuf::Base64Unescape
  - google::protobuf::WebSafeBase64Unescape
  - google::protobuf::Base64EscapeInternal
  - google::protobuf::Base64Escape
  - google::protobuf::WebSafeBase64Escape
  - google::protobuf::Base64EscapeInternal
  - google::protobuf::Base64Escape
  - google::protobuf::WebSafeBase64Escape
  - google::protobuf::Base64Escape
  - google::protobuf::WebSafeBase64Escape
  - google::protobuf::WebSafeBase64EscapeWithPadding
  - google::protobuf::EncodeAsUTF8Char
  - google::protobuf::UTF8FirstLetterNumBytes
  - google::protobuf::CleanStringLineEndings
  - google::protobuf::CleanStringLineEndings
  - has_less
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::NoLocaleStrtod
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::NoLocaleStrtod
  - google::protobuf::isxdigit
  - google::protobuf::isprint
  - google::protobuf::ReplaceCharacters
  - google::protobuf::StripWhitespace
  - google::protobuf::StringReplace
  - google::protobuf::StringReplace
  - google::protobuf::SplitStringToIteratorUsing
  - google::protobuf::SplitStringUsing
  - google::protobuf::SplitStringToIteratorAllowEmpty
  - google::protobuf::SplitStringAllowEmpty
  - google::protobuf::JoinStringsIterator
  - google::protobuf::JoinStrings
  - IS_OCTAL_DIGIT
  - LOG_STRING
  - google::protobuf::UnescapeCEscapeSequences
  - google::protobuf::UnescapeCEscapeSequences
  - google::protobuf::UnescapeCEscapeString
  - google::protobuf::UnescapeCEscapeString
  - google::protobuf::UnescapeCEscapeString
  - google::protobuf::CEscapeInternal
  - google::protobuf::CEscapedLength
  - google::protobuf::CEscapeAndAppend
  - google::protobuf::CEscape
  - google::protobuf::strings::Utf8SafeCEscape
  - google::protobuf::strings::CHexEscape
  - google::protobuf::strings::Utf8SafeCEscape
  - google::protobuf::strings::CHexEscape
  - google::protobuf::strto32_adaptor
  - google::protobuf::strtou32_adaptor
  - google::protobuf::safe_parse_sign
  - google::protobuf::safe_parse_positive_int
  - google::protobuf::safe_parse_negative_int
  - google::protobuf::safe_int_internal
  - google::protobuf::safe_uint_internal
  - google::protobuf::FastInt64ToBuffer
  - google::protobuf::FastInt32ToBuffer
  - google::protobuf::FastHexToBuffer
  - google::protobuf::InternalFastHexToBuffer
  - google::protobuf::FastHex64ToBuffer
  - google::protobuf::FastHex32ToBuffer
  - google::protobuf::FastUInt32ToBufferLeft
  - google::protobuf::FastInt32ToBufferLeft
  - google::protobuf::FastUInt64ToBufferLeft
  - google::protobuf::FastInt64ToBufferLeft
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleDtoa
  - google::protobuf::SimpleFtoa
  - google::protobuf::IsValidFloatChar
  - google::protobuf::DelocalizeRadix
  - google::protobuf::DoubleToBuffer
  - google::protobuf::memcasecmp
  - google::protobuf::CaseEqual
  - google::protobuf::safe_strtob
  - google::protobuf::safe_strtof
  - google::protobuf::safe_strtod
  - google::protobuf::safe_strto32
  - google::protobuf::safe_strtou32
  - google::protobuf::safe_strto64
  - google::protobuf::safe_strtou64
  - google::protobuf::FloatToBuffer
  - google::protobuf::strings::AlphaNum::AlphaNum
  - google::protobuf::strings::AlphaNum::AlphaNum
  - google::protobuf::Append1
  - google::protobuf::Append2
  - google::protobuf::Append4
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - GOOGLE_DCHECK_NO_OVERLAP
  - google::protobuf::StrAppend
  - google::protobuf::StrAppend
  - google::protobuf::StrAppend
  - google::protobuf::StrAppend
  - google::protobuf::GlobalReplaceSubstring
  - google::protobuf::CalculateBase64EscapedLen
  - google::protobuf::CalculateBase64EscapedLen
  - google::protobuf::Base64UnescapeInternal
  - GET_INPUT
  - google::protobuf::WebSafeBase64Unescape
  - google::protobuf::Base64UnescapeInternal
  - google::protobuf::Base64Unescape
  - google::protobuf::WebSafeBase64Unescape
  - google::protobuf::Base64EscapeInternal
  - google::protobuf::Base64Escape
  - google::protobuf::WebSafeBase64Escape
  - google::protobuf::Base64EscapeInternal
  - google::protobuf::Base64Escape
  - google::protobuf::WebSafeBase64Escape
  - google::protobuf::Base64Escape
  - google::protobuf::WebSafeBase64Escape
  - google::protobuf::WebSafeBase64EscapeWithPadding
  - google::protobuf::EncodeAsUTF8Char
  - google::protobuf::UTF8FirstLetterNumBytes
  - google::protobuf::CleanStringLineEndings
  - google::protobuf::CleanStringLineEndings
  - has_less
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::NoLocaleStrtod
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::NoLocaleStrtod
  - google::protobuf::isxdigit
  - google::protobuf::isprint
  - google::protobuf::ReplaceCharacters
  - google::protobuf::StripWhitespace
  - google::protobuf::StringReplace
  - google::protobuf::StringReplace
  - google::protobuf::SplitStringToIteratorUsing
  - google::protobuf::SplitStringUsing
  - google::protobuf::SplitStringToIteratorAllowEmpty
  - google::protobuf::SplitStringAllowEmpty
  - google::protobuf::JoinStringsIterator
  - google::protobuf::JoinStrings
  - IS_OCTAL_DIGIT
  - LOG_STRING
  - google::protobuf::UnescapeCEscapeSequences
  - google::protobuf::UnescapeCEscapeSequences
  - google::protobuf::UnescapeCEscapeString
  - google::protobuf::UnescapeCEscapeString
  - google::protobuf::UnescapeCEscapeString
  - google::protobuf::CEscapeInternal
  - google::protobuf::CEscapedLength
  - google::protobuf::CEscapeAndAppend
  - google::protobuf::CEscape
  - google::protobuf::strings::Utf8SafeCEscape
  - google::protobuf::strings::CHexEscape
  - google::protobuf::strings::Utf8SafeCEscape
  - google::protobuf::strings::CHexEscape
  - google::protobuf::strto32_adaptor
  - google::protobuf::strtou32_adaptor
  - google::protobuf::safe_parse_sign
  - google::protobuf::safe_parse_positive_int
  - google::protobuf::safe_parse_negative_int
  - google::protobuf::safe_int_internal
  - google::protobuf::safe_uint_internal
  - google::protobuf::FastInt64ToBuffer
  - google::protobuf::FastInt32ToBuffer
  - google::protobuf::FastHexToBuffer
  - google::protobuf::InternalFastHexToBuffer
  - google::protobuf::FastHex64ToBuffer
  - google::protobuf::FastHex32ToBuffer
  - google::protobuf::FastUInt32ToBufferLeft
  - google::protobuf::FastInt32ToBufferLeft
  - google::protobuf::FastUInt64ToBufferLeft
  - google::protobuf::FastInt64ToBufferLeft
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleItoa
  - google::protobuf::SimpleDtoa
  - google::protobuf::SimpleFtoa
  - google::protobuf::IsValidFloatChar
  - google::protobuf::DelocalizeRadix
  - google::protobuf::DoubleToBuffer
  - google::protobuf::memcasecmp
  - google::protobuf::CaseEqual
  - google::protobuf::safe_strtob
  - google::protobuf::safe_strtof
  - google::protobuf::safe_strtod
  - google::protobuf::safe_strto32
  - google::protobuf::safe_strtou32
  - google::protobuf::safe_strto64
  - google::protobuf::safe_strtou64
  - google::protobuf::FloatToBuffer
  - google::protobuf::strings::AlphaNum::AlphaNum
  - google::protobuf::strings::AlphaNum::AlphaNum
  - google::protobuf::Append1
  - google::protobuf::Append2
  - google::protobuf::Append4
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - google::protobuf::StrCat
  - GOOGLE_DCHECK_NO_OVERLAP
  - google::protobuf::StrAppend
  - google::protobuf::StrAppend
  - google::protobuf::StrAppend
  - google::protobuf::StrAppend
  - google::protobuf::GlobalReplaceSubstring
  - google::protobuf::CalculateBase64EscapedLen
  - google::protobuf::CalculateBase64EscapedLen
  - google::protobuf::Base64UnescapeInternal
  - GET_INPUT
  - google::protobuf::WebSafeBase64Unescape
  - google::protobuf::Base64UnescapeInternal
  - google::protobuf::Base64Unescape
  - google::protobuf::WebSafeBase64Unescape
  - google::protobuf::Base64EscapeInternal
  - google::protobuf::Base64Escape
  - google::protobuf::WebSafeBase64Escape
  - google::protobuf::Base64EscapeInternal
  - google::protobuf::Base64Escape
  - google::protobuf::WebSafeBase64Escape
  - google::protobuf::Base64Escape
  - google::protobuf::WebSafeBase64Escape
  - google::protobuf::WebSafeBase64EscapeWithPadding
  - google::protobuf::EncodeAsUTF8Char
  - google::protobuf::UTF8FirstLetterNumBytes
  - google::protobuf::CleanStringLineEndings
  - google::protobuf::CleanStringLineEndings
  - has_less
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::NoLocaleStrtod
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::LocalizeRadix
  - google::protobuf::internal::NoLocaleStrtod
  source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/sentencepiece/third_party/protobuf-lite/strutil.cc
      type_or_value: _snprintf
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - '& Status::operator=(const Status& other)'
  - Status::operator==(const Status& x) const
  - google::protobuf::util::Status::ToString
  - '& operator<<(std::ostream& os, const Status& x)'
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - '& Status::operator=(const Status& other)'
  - Status::operator==(const Status& x) const
  - google::protobuf::util::Status::ToString
  - '& operator<<(std::ostream& os, const Status& x)'
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - '& Status::operator=(const Status& other)'
  - Status::operator==(const Status& x) const
  - google::protobuf::util::Status::ToString
  - '& operator<<(std::ostream& os, const Status& x)'
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - '& Status::operator=(const Status& other)'
  - Status::operator==(const Status& x) const
  - google::protobuf::util::Status::ToString
  - '& operator<<(std::ostream& os, const Status& x)'
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - '& Status::operator=(const Status& other)'
  - Status::operator==(const Status& x) const
  - google::protobuf::util::Status::ToString
  - '& operator<<(std::ostream& os, const Status& x)'
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - '& Status::operator=(const Status& other)'
  - Status::operator==(const Status& x) const
  - google::protobuf::util::Status::ToString
  - '& operator<<(std::ostream& os, const Status& x)'
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - '& Status::operator=(const Status& other)'
  - Status::operator==(const Status& x) const
  - google::protobuf::util::Status::ToString
  - '& operator<<(std::ostream& os, const Status& x)'
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::error::CodeEnumToString
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - google::protobuf::util::Status::Status
  - '& Status::operator=(const Status& other)'
  - Status::operator==(const Status& x) const
  - google::protobuf::util::Status::ToString
  - '& operator<<(std::ostream& os, const Status& x)'
  source_file: /src/sentencepiece/third_party/protobuf-lite/status.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::MessageLite::InitializationErrorString
  - google::protobuf::MessageLite::DebugString
  - google::protobuf::ByteSizeConsistencyError
  - google::protobuf::InitializationErrorMessage
  - google::protobuf::as_string_view
  - google::protobuf::CheckFieldPresence
  - google::protobuf::ByteSizeConsistencyError
  - google::protobuf::InitializationErrorMessage
  - google::protobuf::as_string_view
  - google::protobuf::CheckFieldPresence
  - google::protobuf::MessageLite::LogInitializationErrorMessage
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::MessageLite::New
  - google::protobuf::ZeroCopyCodedInputStream::ZeroCopyCodedInputStream
  - google::protobuf::ZeroCopyCodedInputStream::Next
  - google::protobuf::ZeroCopyCodedInputStream::BackUp
  - google::protobuf::ZeroCopyCodedInputStream::Skip
  - google::protobuf::ZeroCopyCodedInputStream::ByteCount
  - google::protobuf::ZeroCopyCodedInputStream::aliasing_enabled
  - google::protobuf::MessageLite::MergeFromImpl
  - google::protobuf::MessageLite::MergePartialFromCodedStream
  - google::protobuf::MessageLite::MergeFromCodedStream
  - google::protobuf::MessageLite::ParseFromCodedStream
  - google::protobuf::MessageLite::ParsePartialFromCodedStream
  - google::protobuf::MessageLite::ParseFromZeroCopyStream
  - google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
  - google::protobuf::MessageLite::ParseFromFileDescriptor
  - google::protobuf::MessageLite::ParsePartialFromFileDescriptor
  - google::protobuf::MessageLite::ParseFromIstream
  - google::protobuf::MessageLite::ParsePartialFromIstream
  - google::protobuf::MessageLite::MergePartialFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::MergeFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::ParseFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::ParsePartialFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::ParseFromString
  - google::protobuf::MessageLite::ParsePartialFromString
  - google::protobuf::MessageLite::ParseFromArray
  - google::protobuf::MessageLite::ParsePartialFromArray
  - google::protobuf::MessageLite::MergeFromString
  - google::protobuf::SerializeToArrayImpl
  - google::protobuf::MessageLite::SerializeWithCachedSizesToArray
  - google::protobuf::MessageLite::SerializeToCodedStream
  - google::protobuf::MessageLite::SerializePartialToCodedStream
  - google::protobuf::MessageLite::SerializeToZeroCopyStream
  - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
  - google::protobuf::MessageLite::SerializeToFileDescriptor
  - google::protobuf::MessageLite::SerializePartialToFileDescriptor
  - google::protobuf::MessageLite::SerializeToOstream
  - google::protobuf::MessageLite::SerializePartialToOstream
  - google::protobuf::MessageLite::AppendToString
  - google::protobuf::MessageLite::AppendPartialToString
  - google::protobuf::MessageLite::SerializeToString
  - google::protobuf::MessageLite::SerializePartialToString
  - google::protobuf::MessageLite::SerializeToArray
  - google::protobuf::MessageLite::SerializePartialToArray
  - google::protobuf::MessageLite::SerializeAsString
  - google::protobuf::MessageLite::SerializePartialAsString
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
  - google::protobuf::internal::GenericTypeHandler<std::string>::Merge
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
  - google::protobuf::internal::GenericTypeHandler<std::string>::Merge
  - ~ShutdownData()
  - google::protobuf::internal::get
  - google::protobuf::internal::RunZeroArgFunc
  - google::protobuf::internal::OnShutdown
  - google::protobuf::internal::OnShutdownRun
  - ~ShutdownData()
  - google::protobuf::internal::get
  - google::protobuf::internal::RunZeroArgFunc
  - google::protobuf::internal::OnShutdown
  - google::protobuf::internal::OnShutdownRun
  - google::protobuf::ShutdownProtobufLibrary
  - google::protobuf::MessageLite::InitializationErrorString
  - google::protobuf::MessageLite::DebugString
  - google::protobuf::ByteSizeConsistencyError
  - google::protobuf::InitializationErrorMessage
  - google::protobuf::as_string_view
  - google::protobuf::CheckFieldPresence
  - google::protobuf::ByteSizeConsistencyError
  - google::protobuf::InitializationErrorMessage
  - google::protobuf::as_string_view
  - google::protobuf::CheckFieldPresence
  - google::protobuf::MessageLite::LogInitializationErrorMessage
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::MessageLite::New
  - google::protobuf::ZeroCopyCodedInputStream::ZeroCopyCodedInputStream
  - google::protobuf::ZeroCopyCodedInputStream::Next
  - google::protobuf::ZeroCopyCodedInputStream::BackUp
  - google::protobuf::ZeroCopyCodedInputStream::Skip
  - google::protobuf::ZeroCopyCodedInputStream::ByteCount
  - google::protobuf::ZeroCopyCodedInputStream::aliasing_enabled
  - google::protobuf::MessageLite::MergeFromImpl
  - google::protobuf::MessageLite::MergePartialFromCodedStream
  - google::protobuf::MessageLite::MergeFromCodedStream
  - google::protobuf::MessageLite::ParseFromCodedStream
  - google::protobuf::MessageLite::ParsePartialFromCodedStream
  - google::protobuf::MessageLite::ParseFromZeroCopyStream
  - google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
  - google::protobuf::MessageLite::ParseFromFileDescriptor
  - google::protobuf::MessageLite::ParsePartialFromFileDescriptor
  - google::protobuf::MessageLite::ParseFromIstream
  - google::protobuf::MessageLite::ParsePartialFromIstream
  - google::protobuf::MessageLite::MergePartialFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::MergeFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::ParseFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::ParsePartialFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::ParseFromString
  - google::protobuf::MessageLite::ParsePartialFromString
  - google::protobuf::MessageLite::ParseFromArray
  - google::protobuf::MessageLite::ParsePartialFromArray
  - google::protobuf::MessageLite::MergeFromString
  - google::protobuf::SerializeToArrayImpl
  - google::protobuf::MessageLite::SerializeWithCachedSizesToArray
  - google::protobuf::MessageLite::SerializeToCodedStream
  - google::protobuf::MessageLite::SerializePartialToCodedStream
  - google::protobuf::MessageLite::SerializeToZeroCopyStream
  - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
  - google::protobuf::MessageLite::SerializeToFileDescriptor
  - google::protobuf::MessageLite::SerializePartialToFileDescriptor
  - google::protobuf::MessageLite::SerializeToOstream
  - google::protobuf::MessageLite::SerializePartialToOstream
  - google::protobuf::MessageLite::AppendToString
  - google::protobuf::MessageLite::AppendPartialToString
  - google::protobuf::MessageLite::SerializeToString
  - google::protobuf::MessageLite::SerializePartialToString
  - google::protobuf::MessageLite::SerializeToArray
  - google::protobuf::MessageLite::SerializePartialToArray
  - google::protobuf::MessageLite::SerializeAsString
  - google::protobuf::MessageLite::SerializePartialAsString
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
  - google::protobuf::internal::GenericTypeHandler<std::string>::Merge
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
  - google::protobuf::internal::GenericTypeHandler<std::string>::Merge
  - ~ShutdownData()
  - google::protobuf::internal::get
  - google::protobuf::internal::RunZeroArgFunc
  - google::protobuf::internal::OnShutdown
  - google::protobuf::internal::OnShutdownRun
  - ~ShutdownData()
  - google::protobuf::internal::get
  - google::protobuf::internal::RunZeroArgFunc
  - google::protobuf::internal::OnShutdown
  - google::protobuf::internal::OnShutdownRun
  - google::protobuf::ShutdownProtobufLibrary
  - google::protobuf::MessageLite::InitializationErrorString
  - google::protobuf::MessageLite::DebugString
  - google::protobuf::ByteSizeConsistencyError
  - google::protobuf::InitializationErrorMessage
  - google::protobuf::as_string_view
  - google::protobuf::CheckFieldPresence
  - google::protobuf::ByteSizeConsistencyError
  - google::protobuf::InitializationErrorMessage
  - google::protobuf::as_string_view
  - google::protobuf::CheckFieldPresence
  - google::protobuf::MessageLite::LogInitializationErrorMessage
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::MessageLite::New
  - google::protobuf::ZeroCopyCodedInputStream::ZeroCopyCodedInputStream
  - google::protobuf::ZeroCopyCodedInputStream::Next
  - google::protobuf::ZeroCopyCodedInputStream::BackUp
  - google::protobuf::ZeroCopyCodedInputStream::Skip
  - google::protobuf::ZeroCopyCodedInputStream::ByteCount
  - google::protobuf::ZeroCopyCodedInputStream::aliasing_enabled
  - google::protobuf::MessageLite::MergeFromImpl
  - google::protobuf::MessageLite::MergePartialFromCodedStream
  - google::protobuf::MessageLite::MergeFromCodedStream
  - google::protobuf::MessageLite::ParseFromCodedStream
  - google::protobuf::MessageLite::ParsePartialFromCodedStream
  - google::protobuf::MessageLite::ParseFromZeroCopyStream
  - google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
  - google::protobuf::MessageLite::ParseFromFileDescriptor
  - google::protobuf::MessageLite::ParsePartialFromFileDescriptor
  - google::protobuf::MessageLite::ParseFromIstream
  - google::protobuf::MessageLite::ParsePartialFromIstream
  - google::protobuf::MessageLite::MergePartialFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::MergeFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::ParseFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::ParsePartialFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::ParseFromString
  - google::protobuf::MessageLite::ParsePartialFromString
  - google::protobuf::MessageLite::ParseFromArray
  - google::protobuf::MessageLite::ParsePartialFromArray
  - google::protobuf::MessageLite::MergeFromString
  - google::protobuf::SerializeToArrayImpl
  - google::protobuf::MessageLite::SerializeWithCachedSizesToArray
  - google::protobuf::MessageLite::SerializeToCodedStream
  - google::protobuf::MessageLite::SerializePartialToCodedStream
  - google::protobuf::MessageLite::SerializeToZeroCopyStream
  - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
  - google::protobuf::MessageLite::SerializeToFileDescriptor
  - google::protobuf::MessageLite::SerializePartialToFileDescriptor
  - google::protobuf::MessageLite::SerializeToOstream
  - google::protobuf::MessageLite::SerializePartialToOstream
  - google::protobuf::MessageLite::AppendToString
  - google::protobuf::MessageLite::AppendPartialToString
  - google::protobuf::MessageLite::SerializeToString
  - google::protobuf::MessageLite::SerializePartialToString
  - google::protobuf::MessageLite::SerializeToArray
  - google::protobuf::MessageLite::SerializePartialToArray
  - google::protobuf::MessageLite::SerializeAsString
  - google::protobuf::MessageLite::SerializePartialAsString
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
  - google::protobuf::internal::GenericTypeHandler<std::string>::Merge
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
  - google::protobuf::internal::GenericTypeHandler<std::string>::Merge
  - ~ShutdownData()
  - google::protobuf::internal::get
  - google::protobuf::internal::RunZeroArgFunc
  - google::protobuf::internal::OnShutdown
  - google::protobuf::internal::OnShutdownRun
  - ~ShutdownData()
  - google::protobuf::internal::get
  - google::protobuf::internal::RunZeroArgFunc
  - google::protobuf::internal::OnShutdown
  - google::protobuf::internal::OnShutdownRun
  - google::protobuf::ShutdownProtobufLibrary
  - google::protobuf::MessageLite::InitializationErrorString
  - google::protobuf::MessageLite::DebugString
  - google::protobuf::ByteSizeConsistencyError
  - google::protobuf::InitializationErrorMessage
  - google::protobuf::as_string_view
  - google::protobuf::CheckFieldPresence
  - google::protobuf::ByteSizeConsistencyError
  - google::protobuf::InitializationErrorMessage
  - google::protobuf::as_string_view
  - google::protobuf::CheckFieldPresence
  - google::protobuf::MessageLite::LogInitializationErrorMessage
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::MessageLite::New
  - google::protobuf::ZeroCopyCodedInputStream::ZeroCopyCodedInputStream
  - google::protobuf::ZeroCopyCodedInputStream::Next
  - google::protobuf::ZeroCopyCodedInputStream::BackUp
  - google::protobuf::ZeroCopyCodedInputStream::Skip
  - google::protobuf::ZeroCopyCodedInputStream::ByteCount
  - google::protobuf::ZeroCopyCodedInputStream::aliasing_enabled
  - google::protobuf::MessageLite::MergeFromImpl
  - google::protobuf::MessageLite::MergePartialFromCodedStream
  - google::protobuf::MessageLite::MergeFromCodedStream
  - google::protobuf::MessageLite::ParseFromCodedStream
  - google::protobuf::MessageLite::ParsePartialFromCodedStream
  - google::protobuf::MessageLite::ParseFromZeroCopyStream
  - google::protobuf::MessageLite::ParsePartialFromZeroCopyStream
  - google::protobuf::MessageLite::ParseFromFileDescriptor
  - google::protobuf::MessageLite::ParsePartialFromFileDescriptor
  - google::protobuf::MessageLite::ParseFromIstream
  - google::protobuf::MessageLite::ParsePartialFromIstream
  - google::protobuf::MessageLite::MergePartialFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::MergeFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::ParseFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::ParsePartialFromBoundedZeroCopyStream
  - google::protobuf::MessageLite::ParseFromString
  - google::protobuf::MessageLite::ParsePartialFromString
  - google::protobuf::MessageLite::ParseFromArray
  - google::protobuf::MessageLite::ParsePartialFromArray
  - google::protobuf::MessageLite::MergeFromString
  - google::protobuf::SerializeToArrayImpl
  - google::protobuf::MessageLite::SerializeWithCachedSizesToArray
  - google::protobuf::MessageLite::SerializeToCodedStream
  - google::protobuf::MessageLite::SerializePartialToCodedStream
  - google::protobuf::MessageLite::SerializeToZeroCopyStream
  - google::protobuf::MessageLite::SerializePartialToZeroCopyStream
  - google::protobuf::MessageLite::SerializeToFileDescriptor
  - google::protobuf::MessageLite::SerializePartialToFileDescriptor
  - google::protobuf::MessageLite::SerializeToOstream
  - google::protobuf::MessageLite::SerializePartialToOstream
  - google::protobuf::MessageLite::AppendToString
  - google::protobuf::MessageLite::AppendPartialToString
  - google::protobuf::MessageLite::SerializeToString
  - google::protobuf::MessageLite::SerializePartialToString
  - google::protobuf::MessageLite::SerializeToArray
  - google::protobuf::MessageLite::SerializePartialToArray
  - google::protobuf::MessageLite::SerializeAsString
  - google::protobuf::MessageLite::SerializePartialAsString
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
  - google::protobuf::internal::GenericTypeHandler<std::string>::Merge
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::Merge
  - google::protobuf::internal::GenericTypeHandler<std::string>::Merge
  - ~ShutdownData()
  - google::protobuf::internal::get
  - google::protobuf::internal::RunZeroArgFunc
  - google::protobuf::internal::OnShutdown
  - google::protobuf::internal::OnShutdownRun
  - ~ShutdownData()
  - google::protobuf::internal::get
  - google::protobuf::internal::RunZeroArgFunc
  - google::protobuf::internal::OnShutdown
  - google::protobuf::internal::OnShutdownRun
  - google::protobuf::ShutdownProtobufLibrary
  source_file: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: functions
        type: std::vector<std::pair<void (*)(const void*), const void*>>
      - name: mutex
        type: Mutex
      item_type: struct
      name: ShutdownData
      pos:
        line_end: 552
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    - fields:
      - name: functions
        type: std::vector<std::pair<void (*)(const void*), const void*>>
      - name: mutex
        type: Mutex
      item_type: struct
      name: ShutdownData
      pos:
        line_end: 552
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    - fields:
      - name: functions
        type: std::vector<std::pair<void (*)(const void*), const void*>>
      - name: mutex
        type: Mutex
      item_type: struct
      name: ShutdownData
      pos:
        line_end: 552
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    - fields:
      - name: functions
        type: std::vector<std::pair<void (*)(const void*), const void*>>
      - name: mutex
        type: Mutex
      item_type: struct
      name: ShutdownData
      pos:
        line_end: 552
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    - fields:
      - name: functions
        type: std::vector<std::pair<void (*)(const void*), const void*>>
      - name: mutex
        type: Mutex
      item_type: struct
      name: ShutdownData
      pos:
        line_end: 552
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    - fields:
      - name: functions
        type: std::vector<std::pair<void (*)(const void*), const void*>>
      - name: mutex
        type: Mutex
      item_type: struct
      name: ShutdownData
      pos:
        line_end: 552
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    - fields:
      - name: functions
        type: std::vector<std::pair<void (*)(const void*), const void*>>
      - name: mutex
        type: Mutex
      item_type: struct
      name: ShutdownData
      pos:
        line_end: 552
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    - fields:
      - name: functions
        type: std::vector<std::pair<void (*)(const void*), const void*>>
      - name: mutex
        type: Mutex
      item_type: struct
      name: ShutdownData
      pos:
        line_end: 552
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/message_lite.cc
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::EpsCopyInputStream::NextBuffer
  - google::protobuf::internal::EpsCopyInputStream::Next
  - google::protobuf::internal::EpsCopyInputStream::DoneFallback
  - google::protobuf::internal::EpsCopyInputStream::SkipFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
  - google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
  - google::protobuf::internal::EpsCopyInputStream::InitFrom
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::internal::VarintParseSlow32
  - google::protobuf::internal::VarintParseSlow64
  - google::protobuf::internal::ReadTagFallback
  - google::protobuf::internal::ReadSizeFallback
  - google::protobuf::internal::StringParser
  - google::protobuf::internal::VerifyUTF8
  - google::protobuf::internal::InlineGreedyStringParser
  - google::protobuf::internal::VarintParser
  - google::protobuf::internal::PackedInt32Parser
  - google::protobuf::internal::PackedUInt32Parser
  - google::protobuf::internal::PackedInt64Parser
  - google::protobuf::internal::PackedUInt64Parser
  - google::protobuf::internal::PackedSInt32Parser
  - google::protobuf::internal::PackedSInt64Parser
  - google::protobuf::internal::PackedEnumParser
  - google::protobuf::internal::PackedBoolParser
  - google::protobuf::internal::FixedParser
  - google::protobuf::internal::PackedFixed32Parser
  - google::protobuf::internal::PackedSFixed32Parser
  - google::protobuf::internal::PackedFixed64Parser
  - google::protobuf::internal::PackedSFixed64Parser
  - google::protobuf::internal::PackedFloatParser
  - google::protobuf::internal::PackedDoubleParser
  - google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
  - google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
  - google::protobuf::internal::UnknownGroupLiteParse
  - google::protobuf::internal::UnknownFieldParse
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::EpsCopyInputStream::NextBuffer
  - google::protobuf::internal::EpsCopyInputStream::Next
  - google::protobuf::internal::EpsCopyInputStream::DoneFallback
  - google::protobuf::internal::EpsCopyInputStream::SkipFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
  - google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
  - google::protobuf::internal::EpsCopyInputStream::InitFrom
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::internal::VarintParseSlow32
  - google::protobuf::internal::VarintParseSlow64
  - google::protobuf::internal::ReadTagFallback
  - google::protobuf::internal::ReadSizeFallback
  - google::protobuf::internal::StringParser
  - google::protobuf::internal::VerifyUTF8
  - google::protobuf::internal::InlineGreedyStringParser
  - google::protobuf::internal::VarintParser
  - google::protobuf::internal::PackedInt32Parser
  - google::protobuf::internal::PackedUInt32Parser
  - google::protobuf::internal::PackedInt64Parser
  - google::protobuf::internal::PackedUInt64Parser
  - google::protobuf::internal::PackedSInt32Parser
  - google::protobuf::internal::PackedSInt64Parser
  - google::protobuf::internal::PackedEnumParser
  - google::protobuf::internal::PackedBoolParser
  - google::protobuf::internal::FixedParser
  - google::protobuf::internal::PackedFixed32Parser
  - google::protobuf::internal::PackedSFixed32Parser
  - google::protobuf::internal::PackedFixed64Parser
  - google::protobuf::internal::PackedSFixed64Parser
  - google::protobuf::internal::PackedFloatParser
  - google::protobuf::internal::PackedDoubleParser
  - google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
  - google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
  - google::protobuf::internal::UnknownGroupLiteParse
  - google::protobuf::internal::UnknownFieldParse
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::EpsCopyInputStream::NextBuffer
  - google::protobuf::internal::EpsCopyInputStream::Next
  - google::protobuf::internal::EpsCopyInputStream::DoneFallback
  - google::protobuf::internal::EpsCopyInputStream::SkipFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
  - google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
  - google::protobuf::internal::EpsCopyInputStream::InitFrom
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::internal::VarintParseSlow32
  - google::protobuf::internal::VarintParseSlow64
  - google::protobuf::internal::ReadTagFallback
  - google::protobuf::internal::ReadSizeFallback
  - google::protobuf::internal::StringParser
  - google::protobuf::internal::VerifyUTF8
  - google::protobuf::internal::InlineGreedyStringParser
  - google::protobuf::internal::VarintParser
  - google::protobuf::internal::PackedInt32Parser
  - google::protobuf::internal::PackedUInt32Parser
  - google::protobuf::internal::PackedInt64Parser
  - google::protobuf::internal::PackedUInt64Parser
  - google::protobuf::internal::PackedSInt32Parser
  - google::protobuf::internal::PackedSInt64Parser
  - google::protobuf::internal::PackedEnumParser
  - google::protobuf::internal::PackedBoolParser
  - google::protobuf::internal::FixedParser
  - google::protobuf::internal::PackedFixed32Parser
  - google::protobuf::internal::PackedSFixed32Parser
  - google::protobuf::internal::PackedFixed64Parser
  - google::protobuf::internal::PackedSFixed64Parser
  - google::protobuf::internal::PackedFloatParser
  - google::protobuf::internal::PackedDoubleParser
  - google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
  - google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
  - google::protobuf::internal::UnknownGroupLiteParse
  - google::protobuf::internal::UnknownFieldParse
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::EpsCopyInputStream::NextBuffer
  - google::protobuf::internal::EpsCopyInputStream::Next
  - google::protobuf::internal::EpsCopyInputStream::DoneFallback
  - google::protobuf::internal::EpsCopyInputStream::SkipFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
  - google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
  - google::protobuf::internal::EpsCopyInputStream::InitFrom
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::internal::VarintParseSlow32
  - google::protobuf::internal::VarintParseSlow64
  - google::protobuf::internal::ReadTagFallback
  - google::protobuf::internal::ReadSizeFallback
  - google::protobuf::internal::StringParser
  - google::protobuf::internal::VerifyUTF8
  - google::protobuf::internal::InlineGreedyStringParser
  - google::protobuf::internal::VarintParser
  - google::protobuf::internal::PackedInt32Parser
  - google::protobuf::internal::PackedUInt32Parser
  - google::protobuf::internal::PackedInt64Parser
  - google::protobuf::internal::PackedUInt64Parser
  - google::protobuf::internal::PackedSInt32Parser
  - google::protobuf::internal::PackedSInt64Parser
  - google::protobuf::internal::PackedEnumParser
  - google::protobuf::internal::PackedBoolParser
  - google::protobuf::internal::FixedParser
  - google::protobuf::internal::PackedFixed32Parser
  - google::protobuf::internal::PackedSFixed32Parser
  - google::protobuf::internal::PackedFixed64Parser
  - google::protobuf::internal::PackedSFixed64Parser
  - google::protobuf::internal::PackedFloatParser
  - google::protobuf::internal::PackedDoubleParser
  - google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
  - google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
  - google::protobuf::internal::UnknownGroupLiteParse
  - google::protobuf::internal::UnknownFieldParse
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::EpsCopyInputStream::NextBuffer
  - google::protobuf::internal::EpsCopyInputStream::Next
  - google::protobuf::internal::EpsCopyInputStream::DoneFallback
  - google::protobuf::internal::EpsCopyInputStream::SkipFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
  - google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
  - google::protobuf::internal::EpsCopyInputStream::InitFrom
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::internal::VarintParseSlow32
  - google::protobuf::internal::VarintParseSlow64
  - google::protobuf::internal::ReadTagFallback
  - google::protobuf::internal::ReadSizeFallback
  - google::protobuf::internal::StringParser
  - google::protobuf::internal::VerifyUTF8
  - google::protobuf::internal::InlineGreedyStringParser
  - google::protobuf::internal::VarintParser
  - google::protobuf::internal::PackedInt32Parser
  - google::protobuf::internal::PackedUInt32Parser
  - google::protobuf::internal::PackedInt64Parser
  - google::protobuf::internal::PackedUInt64Parser
  - google::protobuf::internal::PackedSInt32Parser
  - google::protobuf::internal::PackedSInt64Parser
  - google::protobuf::internal::PackedEnumParser
  - google::protobuf::internal::PackedBoolParser
  - google::protobuf::internal::FixedParser
  - google::protobuf::internal::PackedFixed32Parser
  - google::protobuf::internal::PackedSFixed32Parser
  - google::protobuf::internal::PackedFixed64Parser
  - google::protobuf::internal::PackedSFixed64Parser
  - google::protobuf::internal::PackedFloatParser
  - google::protobuf::internal::PackedDoubleParser
  - google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
  - google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
  - google::protobuf::internal::UnknownGroupLiteParse
  - google::protobuf::internal::UnknownFieldParse
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::EpsCopyInputStream::NextBuffer
  - google::protobuf::internal::EpsCopyInputStream::Next
  - google::protobuf::internal::EpsCopyInputStream::DoneFallback
  - google::protobuf::internal::EpsCopyInputStream::SkipFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
  - google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
  - google::protobuf::internal::EpsCopyInputStream::InitFrom
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::internal::VarintParseSlow32
  - google::protobuf::internal::VarintParseSlow64
  - google::protobuf::internal::ReadTagFallback
  - google::protobuf::internal::ReadSizeFallback
  - google::protobuf::internal::StringParser
  - google::protobuf::internal::VerifyUTF8
  - google::protobuf::internal::InlineGreedyStringParser
  - google::protobuf::internal::VarintParser
  - google::protobuf::internal::PackedInt32Parser
  - google::protobuf::internal::PackedUInt32Parser
  - google::protobuf::internal::PackedInt64Parser
  - google::protobuf::internal::PackedUInt64Parser
  - google::protobuf::internal::PackedSInt32Parser
  - google::protobuf::internal::PackedSInt64Parser
  - google::protobuf::internal::PackedEnumParser
  - google::protobuf::internal::PackedBoolParser
  - google::protobuf::internal::FixedParser
  - google::protobuf::internal::PackedFixed32Parser
  - google::protobuf::internal::PackedSFixed32Parser
  - google::protobuf::internal::PackedFixed64Parser
  - google::protobuf::internal::PackedSFixed64Parser
  - google::protobuf::internal::PackedFloatParser
  - google::protobuf::internal::PackedDoubleParser
  - google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
  - google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
  - google::protobuf::internal::UnknownGroupLiteParse
  - google::protobuf::internal::UnknownFieldParse
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::EpsCopyInputStream::NextBuffer
  - google::protobuf::internal::EpsCopyInputStream::Next
  - google::protobuf::internal::EpsCopyInputStream::DoneFallback
  - google::protobuf::internal::EpsCopyInputStream::SkipFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
  - google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
  - google::protobuf::internal::EpsCopyInputStream::InitFrom
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::internal::VarintParseSlow32
  - google::protobuf::internal::VarintParseSlow64
  - google::protobuf::internal::ReadTagFallback
  - google::protobuf::internal::ReadSizeFallback
  - google::protobuf::internal::StringParser
  - google::protobuf::internal::VerifyUTF8
  - google::protobuf::internal::InlineGreedyStringParser
  - google::protobuf::internal::VarintParser
  - google::protobuf::internal::PackedInt32Parser
  - google::protobuf::internal::PackedUInt32Parser
  - google::protobuf::internal::PackedInt64Parser
  - google::protobuf::internal::PackedUInt64Parser
  - google::protobuf::internal::PackedSInt32Parser
  - google::protobuf::internal::PackedSInt64Parser
  - google::protobuf::internal::PackedEnumParser
  - google::protobuf::internal::PackedBoolParser
  - google::protobuf::internal::FixedParser
  - google::protobuf::internal::PackedFixed32Parser
  - google::protobuf::internal::PackedSFixed32Parser
  - google::protobuf::internal::PackedFixed64Parser
  - google::protobuf::internal::PackedSFixed64Parser
  - google::protobuf::internal::PackedFloatParser
  - google::protobuf::internal::PackedDoubleParser
  - google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
  - google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
  - google::protobuf::internal::UnknownGroupLiteParse
  - google::protobuf::internal::UnknownFieldParse
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::ParseEndsInSlopRegion
  - google::protobuf::internal::EpsCopyInputStream::NextBuffer
  - google::protobuf::internal::EpsCopyInputStream::Next
  - google::protobuf::internal::EpsCopyInputStream::DoneFallback
  - google::protobuf::internal::EpsCopyInputStream::SkipFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadStringFallback
  - google::protobuf::internal::EpsCopyInputStream::AppendStringFallback
  - google::protobuf::internal::EpsCopyInputStream::ReadRepeatedFixed
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::byteswap
  - google::protobuf::internal::EpsCopyInputStream::ReadPackedFixed
  - google::protobuf::internal::EpsCopyInputStream::InitFrom
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::ParseContext::ParseMessage
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::internal::VarintParseSlow32
  - google::protobuf::internal::VarintParseSlow64
  - google::protobuf::internal::ReadTagFallback
  - google::protobuf::internal::ReadSizeFallback
  - google::protobuf::internal::StringParser
  - google::protobuf::internal::VerifyUTF8
  - google::protobuf::internal::InlineGreedyStringParser
  - google::protobuf::internal::VarintParser
  - google::protobuf::internal::PackedInt32Parser
  - google::protobuf::internal::PackedUInt32Parser
  - google::protobuf::internal::PackedInt64Parser
  - google::protobuf::internal::PackedUInt64Parser
  - google::protobuf::internal::PackedSInt32Parser
  - google::protobuf::internal::PackedSInt64Parser
  - google::protobuf::internal::PackedEnumParser
  - google::protobuf::internal::PackedBoolParser
  - google::protobuf::internal::FixedParser
  - google::protobuf::internal::PackedFixed32Parser
  - google::protobuf::internal::PackedSFixed32Parser
  - google::protobuf::internal::PackedFixed64Parser
  - google::protobuf::internal::PackedSFixed64Parser
  - google::protobuf::internal::PackedFloatParser
  - google::protobuf::internal::PackedDoubleParser
  - google::protobuf::internal::UnknownFieldLiteParserHelper::UnknownFieldLiteParserHelper
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddVarint
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed64
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseLengthDelimited
  - google::protobuf::internal::UnknownFieldLiteParserHelper::ParseGroup
  - google::protobuf::internal::UnknownFieldLiteParserHelper::AddFixed32
  - google::protobuf::internal::UnknownFieldLiteParserHelper::_InternalParse
  - google::protobuf::internal::UnknownGroupLiteParse
  - google::protobuf::internal::UnknownFieldParse
  source_file: /src/sentencepiece/third_party/protobuf-lite/parse_context.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::LookUpEnumValue
  - google::protobuf::internal::LookUpEnumName
  - google::protobuf::internal::InitializeEnumStrings
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::LookUpEnumValue
  - google::protobuf::internal::LookUpEnumName
  - google::protobuf::internal::InitializeEnumStrings
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::LookUpEnumValue
  - google::protobuf::internal::LookUpEnumName
  - google::protobuf::internal::InitializeEnumStrings
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::LookUpEnumValue
  - google::protobuf::internal::LookUpEnumName
  - google::protobuf::internal::InitializeEnumStrings
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::LookUpEnumValue
  - google::protobuf::internal::LookUpEnumName
  - google::protobuf::internal::InitializeEnumStrings
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::LookUpEnumValue
  - google::protobuf::internal::LookUpEnumName
  - google::protobuf::internal::InitializeEnumStrings
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::LookUpEnumValue
  - google::protobuf::internal::LookUpEnumName
  - google::protobuf::internal::InitializeEnumStrings
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::EnumCompareByName
  - google::protobuf::internal::GetValue
  - google::protobuf::internal::LookUpEnumValue
  - google::protobuf::internal::LookUpEnumName
  - google::protobuf::internal::InitializeEnumStrings
  source_file: /src/sentencepiece/third_party/protobuf-lite/generated_enum_util.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::is_alpha
  - google::protobuf::io::win32::null_or_empty
  - google::protobuf::io::win32::has_drive_letter
  - google::protobuf::io::win32::has_longpath_prefix
  - google::protobuf::io::win32::is_separator
  - google::protobuf::io::win32::is_path_absolute
  - google::protobuf::io::win32::is_drive_relative
  - google::protobuf::io::win32::join_paths
  - google::protobuf::io::win32::normalize
  - google::protobuf::io::win32::as_windows_path
  - google::protobuf::io::win32::open
  - google::protobuf::io::win32::mkdir
  - google::protobuf::io::win32::access
  - google::protobuf::io::win32::chdir
  - google::protobuf::io::win32::stat
  - google::protobuf::io::win32::fopen
  - google::protobuf::io::win32::close
  - google::protobuf::io::win32::dup
  - google::protobuf::io::win32::dup2
  - google::protobuf::io::win32::read
  - google::protobuf::io::win32::setmode
  - google::protobuf::io::win32::write
  - google::protobuf::io::win32::testonly_utf8_to_winpath
  - google::protobuf::io::win32::ExpandWildcards
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  - google::protobuf::io::win32::strings::wcs_to_mbs
  - google::protobuf::io::win32::strings::mbs_to_wcs
  - google::protobuf::io::win32::strings::utf8_to_wcs
  - google::protobuf::io::win32::strings::wcs_to_utf8
  source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WIN32_LEAN_AND_MEAN
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
      type_or_value: '1'
    structs:
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields:
      - name: is_alpha(char_type ch)
        type: bool
      item_type: struct
      name: CharTraits
      pos:
        line_end: 85
        line_start: 83
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<char>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    - fields: []
      item_type: struct
      name: CharTraits<wchar_t>
      pos:
        line_end: 95
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/io_win32.cc
    typedefs: []
    union: []
- function_names:
  - '& LazyString::Init() const'
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::MutableNoCopy
  - google::protobuf::internal::ArenaStringPtr::MutableSlow
  - google::protobuf::internal::ArenaStringPtr::Release
  - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
  - google::protobuf::internal::ArenaStringPtr::SetAllocated
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::ClearToEmpty
  - google::protobuf::internal::ArenaStringPtr::ClearToDefault
  - '& LazyString::Init() const'
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::MutableNoCopy
  - google::protobuf::internal::ArenaStringPtr::MutableSlow
  - google::protobuf::internal::ArenaStringPtr::Release
  - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
  - google::protobuf::internal::ArenaStringPtr::SetAllocated
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::ClearToEmpty
  - google::protobuf::internal::ArenaStringPtr::ClearToDefault
  - '& LazyString::Init() const'
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::MutableNoCopy
  - google::protobuf::internal::ArenaStringPtr::MutableSlow
  - google::protobuf::internal::ArenaStringPtr::Release
  - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
  - google::protobuf::internal::ArenaStringPtr::SetAllocated
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::ClearToEmpty
  - google::protobuf::internal::ArenaStringPtr::ClearToDefault
  - '& LazyString::Init() const'
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::MutableNoCopy
  - google::protobuf::internal::ArenaStringPtr::MutableSlow
  - google::protobuf::internal::ArenaStringPtr::Release
  - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
  - google::protobuf::internal::ArenaStringPtr::SetAllocated
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::ClearToEmpty
  - google::protobuf::internal::ArenaStringPtr::ClearToDefault
  - '& LazyString::Init() const'
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::MutableNoCopy
  - google::protobuf::internal::ArenaStringPtr::MutableSlow
  - google::protobuf::internal::ArenaStringPtr::Release
  - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
  - google::protobuf::internal::ArenaStringPtr::SetAllocated
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::ClearToEmpty
  - google::protobuf::internal::ArenaStringPtr::ClearToDefault
  - '& LazyString::Init() const'
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::MutableNoCopy
  - google::protobuf::internal::ArenaStringPtr::MutableSlow
  - google::protobuf::internal::ArenaStringPtr::Release
  - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
  - google::protobuf::internal::ArenaStringPtr::SetAllocated
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::ClearToEmpty
  - google::protobuf::internal::ArenaStringPtr::ClearToDefault
  - '& LazyString::Init() const'
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::MutableNoCopy
  - google::protobuf::internal::ArenaStringPtr::MutableSlow
  - google::protobuf::internal::ArenaStringPtr::Release
  - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
  - google::protobuf::internal::ArenaStringPtr::SetAllocated
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::ClearToEmpty
  - google::protobuf::internal::ArenaStringPtr::ClearToDefault
  - '& LazyString::Init() const'
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Set
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::Mutable
  - google::protobuf::internal::ArenaStringPtr::MutableNoCopy
  - google::protobuf::internal::ArenaStringPtr::MutableSlow
  - google::protobuf::internal::ArenaStringPtr::Release
  - google::protobuf::internal::ArenaStringPtr::ReleaseNonDefault
  - google::protobuf::internal::ArenaStringPtr::SetAllocated
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::Destroy
  - google::protobuf::internal::ArenaStringPtr::ClearToEmpty
  - google::protobuf::internal::ArenaStringPtr::ClearToDefault
  source_file: /src/sentencepiece/third_party/protobuf-lite/arenastring.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& operator<<(std::ostream& o, StringPiece piece)'
  - google::protobuf::StringPiece::LogFatalSizeTooBig
  - google::protobuf::StringPiece::StringPiece
  - google::protobuf::StringPiece::StringPiece
  - google::protobuf::StringPiece::CopyToString
  - google::protobuf::StringPiece::AppendToString
  - google::protobuf::StringPiece::Consume
  - google::protobuf::StringPiece::ConsumeFromEnd
  - google::protobuf::StringPiece::copy
  - google::protobuf::StringPiece::contains
  - google::protobuf::StringPiece::find
  - google::protobuf::StringPiece::find
  - google::protobuf::StringPiece::rfind
  - google::protobuf::StringPiece::rfind
  - google::protobuf::BuildLookupTable
  - google::protobuf::StringPiece::find_first_of
  - google::protobuf::StringPiece::find_first_not_of
  - google::protobuf::StringPiece::find_first_not_of
  - google::protobuf::StringPiece::find_last_of
  - google::protobuf::StringPiece::find_last_not_of
  - google::protobuf::StringPiece::find_last_not_of
  - google::protobuf::StringPiece::substr
  - '& operator<<(std::ostream& o, StringPiece piece)'
  - google::protobuf::StringPiece::LogFatalSizeTooBig
  - google::protobuf::StringPiece::StringPiece
  - google::protobuf::StringPiece::StringPiece
  - google::protobuf::StringPiece::CopyToString
  - google::protobuf::StringPiece::AppendToString
  - google::protobuf::StringPiece::Consume
  - google::protobuf::StringPiece::ConsumeFromEnd
  - google::protobuf::StringPiece::copy
  - google::protobuf::StringPiece::contains
  - google::protobuf::StringPiece::find
  - google::protobuf::StringPiece::find
  - google::protobuf::StringPiece::rfind
  - google::protobuf::StringPiece::rfind
  - google::protobuf::BuildLookupTable
  - google::protobuf::StringPiece::find_first_of
  - google::protobuf::StringPiece::find_first_not_of
  - google::protobuf::StringPiece::find_first_not_of
  - google::protobuf::StringPiece::find_last_of
  - google::protobuf::StringPiece::find_last_not_of
  - google::protobuf::StringPiece::find_last_not_of
  - google::protobuf::StringPiece::substr
  - '& operator<<(std::ostream& o, StringPiece piece)'
  - google::protobuf::StringPiece::LogFatalSizeTooBig
  - google::protobuf::StringPiece::StringPiece
  - google::protobuf::StringPiece::StringPiece
  - google::protobuf::StringPiece::CopyToString
  - google::protobuf::StringPiece::AppendToString
  - google::protobuf::StringPiece::Consume
  - google::protobuf::StringPiece::ConsumeFromEnd
  - google::protobuf::StringPiece::copy
  - google::protobuf::StringPiece::contains
  - google::protobuf::StringPiece::find
  - google::protobuf::StringPiece::find
  - google::protobuf::StringPiece::rfind
  - google::protobuf::StringPiece::rfind
  - google::protobuf::BuildLookupTable
  - google::protobuf::StringPiece::find_first_of
  - google::protobuf::StringPiece::find_first_not_of
  - google::protobuf::StringPiece::find_first_not_of
  - google::protobuf::StringPiece::find_last_of
  - google::protobuf::StringPiece::find_last_not_of
  - google::protobuf::StringPiece::find_last_not_of
  - google::protobuf::StringPiece::substr
  - '& operator<<(std::ostream& o, StringPiece piece)'
  - google::protobuf::StringPiece::LogFatalSizeTooBig
  - google::protobuf::StringPiece::StringPiece
  - google::protobuf::StringPiece::StringPiece
  - google::protobuf::StringPiece::CopyToString
  - google::protobuf::StringPiece::AppendToString
  - google::protobuf::StringPiece::Consume
  - google::protobuf::StringPiece::ConsumeFromEnd
  - google::protobuf::StringPiece::copy
  - google::protobuf::StringPiece::contains
  - google::protobuf::StringPiece::find
  - google::protobuf::StringPiece::find
  - google::protobuf::StringPiece::rfind
  - google::protobuf::StringPiece::rfind
  - google::protobuf::BuildLookupTable
  - google::protobuf::StringPiece::find_first_of
  - google::protobuf::StringPiece::find_first_not_of
  - google::protobuf::StringPiece::find_first_not_of
  - google::protobuf::StringPiece::find_last_of
  - google::protobuf::StringPiece::find_last_not_of
  - google::protobuf::StringPiece::find_last_not_of
  - google::protobuf::StringPiece::substr
  source_file: /src/sentencepiece/third_party/protobuf-lite/stringpiece.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::VerifyVersion
  - google::protobuf::internal::VersionString
  - google::protobuf::internal::VerifyVersion
  - google::protobuf::internal::VersionString
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::NullLogHandler
  - '& LogMessage::operator<<(const std::string& value)'
  - '& LogMessage::operator<<(const char* value)'
  - '& LogMessage::operator<<(const StringPiece& value)'
  - '& LogMessage::operator<<(const util::Status& status)'
  - '& LogMessage::operator<<(const uint128& value)'
  - DECLARE_STREAM_OPERATOR
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::NullLogHandler
  - '& LogMessage::operator<<(const std::string& value)'
  - '& LogMessage::operator<<(const char* value)'
  - '& LogMessage::operator<<(const StringPiece& value)'
  - '& LogMessage::operator<<(const util::Status& status)'
  - '& LogMessage::operator<<(const uint128& value)'
  - DECLARE_STREAM_OPERATOR
  - google::protobuf::DECLARE_STREAM_OPERATOR
  - google::protobuf::internal::VerifyVersion
  - google::protobuf::internal::VersionString
  - google::protobuf::internal::VerifyVersion
  - google::protobuf::internal::VersionString
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::NullLogHandler
  - '& LogMessage::operator<<(const std::string& value)'
  - '& LogMessage::operator<<(const char* value)'
  - '& LogMessage::operator<<(const StringPiece& value)'
  - '& LogMessage::operator<<(const util::Status& status)'
  - '& LogMessage::operator<<(const uint128& value)'
  - DECLARE_STREAM_OPERATOR
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::NullLogHandler
  - '& LogMessage::operator<<(const std::string& value)'
  - '& LogMessage::operator<<(const char* value)'
  - '& LogMessage::operator<<(const StringPiece& value)'
  - '& LogMessage::operator<<(const util::Status& status)'
  - '& LogMessage::operator<<(const uint128& value)'
  - DECLARE_STREAM_OPERATOR
  - google::protobuf::DECLARE_STREAM_OPERATOR
  - google::SetLogHandler
  - google::LogSilencer::LogSilencer
  - LogSilencer::~LogSilencer()
  - Closure::~Closure()
  - FunctionClosure0::~FunctionClosure0()
  - FunctionClosure0::~FunctionClosure0()
  - google::DoNothing
  - google::ghtonl
  - FatalException::~FatalException() throw()
  - google::FatalException::what
  - google::protobuf::internal::VerifyVersion
  - google::protobuf::internal::VersionString
  - google::protobuf::internal::VerifyVersion
  - google::protobuf::internal::VersionString
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::NullLogHandler
  - '& LogMessage::operator<<(const std::string& value)'
  - '& LogMessage::operator<<(const char* value)'
  - '& LogMessage::operator<<(const StringPiece& value)'
  - '& LogMessage::operator<<(const util::Status& status)'
  - '& LogMessage::operator<<(const uint128& value)'
  - DECLARE_STREAM_OPERATOR
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::NullLogHandler
  - '& LogMessage::operator<<(const std::string& value)'
  - '& LogMessage::operator<<(const char* value)'
  - '& LogMessage::operator<<(const StringPiece& value)'
  - '& LogMessage::operator<<(const util::Status& status)'
  - '& LogMessage::operator<<(const uint128& value)'
  - DECLARE_STREAM_OPERATOR
  - google::protobuf::DECLARE_STREAM_OPERATOR
  - google::protobuf::internal::VerifyVersion
  - google::protobuf::internal::VersionString
  - google::protobuf::internal::VerifyVersion
  - google::protobuf::internal::VersionString
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::NullLogHandler
  - '& LogMessage::operator<<(const std::string& value)'
  - '& LogMessage::operator<<(const char* value)'
  - '& LogMessage::operator<<(const StringPiece& value)'
  - '& LogMessage::operator<<(const util::Status& status)'
  - '& LogMessage::operator<<(const uint128& value)'
  - DECLARE_STREAM_OPERATOR
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::DefaultLogHandler
  - google::protobuf::internal::NullLogHandler
  - '& LogMessage::operator<<(const std::string& value)'
  - '& LogMessage::operator<<(const char* value)'
  - '& LogMessage::operator<<(const StringPiece& value)'
  - '& LogMessage::operator<<(const util::Status& status)'
  - '& LogMessage::operator<<(const uint128& value)'
  - DECLARE_STREAM_OPERATOR
  - google::protobuf::DECLARE_STREAM_OPERATOR
  - google::SetLogHandler
  - google::LogSilencer::LogSilencer
  - LogSilencer::~LogSilencer()
  - Closure::~Closure()
  - FunctionClosure0::~FunctionClosure0()
  - FunctionClosure0::~FunctionClosure0()
  - google::DoNothing
  - google::ghtonl
  - FatalException::~FatalException() throw()
  - google::FatalException::what
  source_file: /src/sentencepiece/third_party/protobuf-lite/common.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/common.cc
      type_or_value: _snprintf    // see comment in strutil.cc
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_MIN_LOG_LEVEL
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/sentencepiece/third_party/protobuf-lite/common.cc
      type_or_value: LOGLEVEL_INFO
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_MIN_LOG_LEVEL
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/sentencepiece/third_party/protobuf-lite/common.cc
      type_or_value: LOGLEVEL_INFO
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_MIN_LOG_LEVEL
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/sentencepiece/third_party/protobuf-lite/common.cc
      type_or_value: LOGLEVEL_INFO
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_MIN_LOG_LEVEL
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/sentencepiece/third_party/protobuf-lite/common.cc
      type_or_value: LOGLEVEL_INFO
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& ArenaImpl::thread_cache()'
  - '& ArenaImpl::thread_cache()'
  - google::protobuf::internal::ArenaFree
  - google::protobuf::internal::ArenaImpl::ArenaImpl
  - google::protobuf::internal::ArenaImpl::Init
  - google::protobuf::internal::ArenaImpl::SetInitialBlock
  - ArenaImpl::~ArenaImpl()
  - google::protobuf::internal::ArenaImpl::Reset
  - google::protobuf::internal::ArenaImpl::NewBuffer
  - google::protobuf::internal::SerialArena::NewBlock
  - google::protobuf::internal::SerialArena::AddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
  - google::protobuf::internal::ArenaImpl::AddCleanup
  - google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AddCleanupFallback
  - google::protobuf::internal::SerialArena::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::SpaceAllocated
  - google::protobuf::internal::ArenaImpl::SpaceUsed
  - google::protobuf::internal::SerialArena::SpaceUsed
  - google::protobuf::internal::ArenaImpl::CleanupList
  - google::protobuf::internal::SerialArena::CleanupList
  - google::protobuf::internal::SerialArena::CleanupListFallback
  - google::protobuf::internal::SerialArena::New
  - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
  - ArenaMetricsCollector::~ArenaMetricsCollector()
  - '& ArenaImpl::thread_cache()'
  - '& ArenaImpl::thread_cache()'
  - google::protobuf::internal::ArenaFree
  - google::protobuf::internal::ArenaImpl::ArenaImpl
  - google::protobuf::internal::ArenaImpl::Init
  - google::protobuf::internal::ArenaImpl::SetInitialBlock
  - ArenaImpl::~ArenaImpl()
  - google::protobuf::internal::ArenaImpl::Reset
  - google::protobuf::internal::ArenaImpl::NewBuffer
  - google::protobuf::internal::SerialArena::NewBlock
  - google::protobuf::internal::SerialArena::AddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
  - google::protobuf::internal::ArenaImpl::AddCleanup
  - google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AddCleanupFallback
  - google::protobuf::internal::SerialArena::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::SpaceAllocated
  - google::protobuf::internal::ArenaImpl::SpaceUsed
  - google::protobuf::internal::SerialArena::SpaceUsed
  - google::protobuf::internal::ArenaImpl::CleanupList
  - google::protobuf::internal::SerialArena::CleanupList
  - google::protobuf::internal::SerialArena::CleanupListFallback
  - google::protobuf::internal::SerialArena::New
  - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
  - ArenaMetricsCollector::~ArenaMetricsCollector()
  - google::protobuf::Arena::AllocateAlignedNoHook
  - '& ArenaImpl::thread_cache()'
  - '& ArenaImpl::thread_cache()'
  - google::protobuf::internal::ArenaFree
  - google::protobuf::internal::ArenaImpl::ArenaImpl
  - google::protobuf::internal::ArenaImpl::Init
  - google::protobuf::internal::ArenaImpl::SetInitialBlock
  - ArenaImpl::~ArenaImpl()
  - google::protobuf::internal::ArenaImpl::Reset
  - google::protobuf::internal::ArenaImpl::NewBuffer
  - google::protobuf::internal::SerialArena::NewBlock
  - google::protobuf::internal::SerialArena::AddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
  - google::protobuf::internal::ArenaImpl::AddCleanup
  - google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AddCleanupFallback
  - google::protobuf::internal::SerialArena::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::SpaceAllocated
  - google::protobuf::internal::ArenaImpl::SpaceUsed
  - google::protobuf::internal::SerialArena::SpaceUsed
  - google::protobuf::internal::ArenaImpl::CleanupList
  - google::protobuf::internal::SerialArena::CleanupList
  - google::protobuf::internal::SerialArena::CleanupListFallback
  - google::protobuf::internal::SerialArena::New
  - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
  - ArenaMetricsCollector::~ArenaMetricsCollector()
  - '& ArenaImpl::thread_cache()'
  - '& ArenaImpl::thread_cache()'
  - google::protobuf::internal::ArenaFree
  - google::protobuf::internal::ArenaImpl::ArenaImpl
  - google::protobuf::internal::ArenaImpl::Init
  - google::protobuf::internal::ArenaImpl::SetInitialBlock
  - ArenaImpl::~ArenaImpl()
  - google::protobuf::internal::ArenaImpl::Reset
  - google::protobuf::internal::ArenaImpl::NewBuffer
  - google::protobuf::internal::SerialArena::NewBlock
  - google::protobuf::internal::SerialArena::AddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
  - google::protobuf::internal::ArenaImpl::AddCleanup
  - google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AddCleanupFallback
  - google::protobuf::internal::SerialArena::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::SpaceAllocated
  - google::protobuf::internal::ArenaImpl::SpaceUsed
  - google::protobuf::internal::SerialArena::SpaceUsed
  - google::protobuf::internal::ArenaImpl::CleanupList
  - google::protobuf::internal::SerialArena::CleanupList
  - google::protobuf::internal::SerialArena::CleanupListFallback
  - google::protobuf::internal::SerialArena::New
  - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
  - ArenaMetricsCollector::~ArenaMetricsCollector()
  - google::protobuf::Arena::AllocateAlignedNoHook
  - '& ArenaImpl::thread_cache()'
  - '& ArenaImpl::thread_cache()'
  - google::protobuf::internal::ArenaFree
  - google::protobuf::internal::ArenaImpl::ArenaImpl
  - google::protobuf::internal::ArenaImpl::Init
  - google::protobuf::internal::ArenaImpl::SetInitialBlock
  - ArenaImpl::~ArenaImpl()
  - google::protobuf::internal::ArenaImpl::Reset
  - google::protobuf::internal::ArenaImpl::NewBuffer
  - google::protobuf::internal::SerialArena::NewBlock
  - google::protobuf::internal::SerialArena::AddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
  - google::protobuf::internal::ArenaImpl::AddCleanup
  - google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AddCleanupFallback
  - google::protobuf::internal::SerialArena::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::SpaceAllocated
  - google::protobuf::internal::ArenaImpl::SpaceUsed
  - google::protobuf::internal::SerialArena::SpaceUsed
  - google::protobuf::internal::ArenaImpl::CleanupList
  - google::protobuf::internal::SerialArena::CleanupList
  - google::protobuf::internal::SerialArena::CleanupListFallback
  - google::protobuf::internal::SerialArena::New
  - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
  - ArenaMetricsCollector::~ArenaMetricsCollector()
  - '& ArenaImpl::thread_cache()'
  - '& ArenaImpl::thread_cache()'
  - google::protobuf::internal::ArenaFree
  - google::protobuf::internal::ArenaImpl::ArenaImpl
  - google::protobuf::internal::ArenaImpl::Init
  - google::protobuf::internal::ArenaImpl::SetInitialBlock
  - ArenaImpl::~ArenaImpl()
  - google::protobuf::internal::ArenaImpl::Reset
  - google::protobuf::internal::ArenaImpl::NewBuffer
  - google::protobuf::internal::SerialArena::NewBlock
  - google::protobuf::internal::SerialArena::AddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
  - google::protobuf::internal::ArenaImpl::AddCleanup
  - google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AddCleanupFallback
  - google::protobuf::internal::SerialArena::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::SpaceAllocated
  - google::protobuf::internal::ArenaImpl::SpaceUsed
  - google::protobuf::internal::SerialArena::SpaceUsed
  - google::protobuf::internal::ArenaImpl::CleanupList
  - google::protobuf::internal::SerialArena::CleanupList
  - google::protobuf::internal::SerialArena::CleanupListFallback
  - google::protobuf::internal::SerialArena::New
  - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
  - ArenaMetricsCollector::~ArenaMetricsCollector()
  - google::protobuf::Arena::AllocateAlignedNoHook
  - '& ArenaImpl::thread_cache()'
  - '& ArenaImpl::thread_cache()'
  - google::protobuf::internal::ArenaFree
  - google::protobuf::internal::ArenaImpl::ArenaImpl
  - google::protobuf::internal::ArenaImpl::Init
  - google::protobuf::internal::ArenaImpl::SetInitialBlock
  - ArenaImpl::~ArenaImpl()
  - google::protobuf::internal::ArenaImpl::Reset
  - google::protobuf::internal::ArenaImpl::NewBuffer
  - google::protobuf::internal::SerialArena::NewBlock
  - google::protobuf::internal::SerialArena::AddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
  - google::protobuf::internal::ArenaImpl::AddCleanup
  - google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AddCleanupFallback
  - google::protobuf::internal::SerialArena::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::SpaceAllocated
  - google::protobuf::internal::ArenaImpl::SpaceUsed
  - google::protobuf::internal::SerialArena::SpaceUsed
  - google::protobuf::internal::ArenaImpl::CleanupList
  - google::protobuf::internal::SerialArena::CleanupList
  - google::protobuf::internal::SerialArena::CleanupListFallback
  - google::protobuf::internal::SerialArena::New
  - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
  - ArenaMetricsCollector::~ArenaMetricsCollector()
  - '& ArenaImpl::thread_cache()'
  - '& ArenaImpl::thread_cache()'
  - google::protobuf::internal::ArenaFree
  - google::protobuf::internal::ArenaImpl::ArenaImpl
  - google::protobuf::internal::ArenaImpl::Init
  - google::protobuf::internal::ArenaImpl::SetInitialBlock
  - ArenaImpl::~ArenaImpl()
  - google::protobuf::internal::ArenaImpl::Reset
  - google::protobuf::internal::ArenaImpl::NewBuffer
  - google::protobuf::internal::SerialArena::NewBlock
  - google::protobuf::internal::SerialArena::AddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup
  - google::protobuf::internal::ArenaImpl::AddCleanup
  - google::protobuf::internal::ArenaImpl::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanupFallback
  - google::protobuf::internal::ArenaImpl::AddCleanupFallback
  - google::protobuf::internal::SerialArena::AllocateAlignedFallback
  - google::protobuf::internal::ArenaImpl::SpaceAllocated
  - google::protobuf::internal::ArenaImpl::SpaceUsed
  - google::protobuf::internal::SerialArena::SpaceUsed
  - google::protobuf::internal::ArenaImpl::CleanupList
  - google::protobuf::internal::SerialArena::CleanupList
  - google::protobuf::internal::SerialArena::CleanupListFallback
  - google::protobuf::internal::SerialArena::New
  - google::protobuf::internal::ArenaImpl::GetSerialArenaFallback
  - ArenaMetricsCollector::~ArenaMetricsCollector()
  - google::protobuf::Arena::AllocateAlignedNoHook
  source_file: /src/sentencepiece/third_party/protobuf-lite/arena.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::DestroyMessage
  - google::protobuf::internal::DestroyString
  - google::protobuf::internal::InitProtobufDefaultsImpl
  - google::protobuf::internal::InitProtobufDefaultsSlow
  - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
  - google::protobuf::internal::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::SerializeTo
  - google::protobuf::internal::WriteTagTo
  - google::protobuf::internal::WriteLengthTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageTo
  - google::protobuf::internal::SerializeGroupTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::AccessorHelper::Size
  - google::protobuf::internal::AccessorHelper::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeNotImplemented
  - SERIALIZE_TABLE_OP
  - google::protobuf::internal::FieldMetadata::CalculateType
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - SERIALIZERS_FOR_TYPE
  - google::protobuf::internal::SerializeInternal
  - google::protobuf::internal::SerializeInternalToArray
  - google::protobuf::internal::ExtensionSerializer
  - google::protobuf::internal::UnknownFieldSerializerLite
  - google::protobuf::internal::DuplicateIfNonNullInternal
  - google::protobuf::internal::GenericSwap
  - google::protobuf::internal::GetOwnedMessageInternal
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCCImpl
  - google::protobuf::internal::DestroyMessage
  - google::protobuf::internal::DestroyString
  - google::protobuf::internal::InitProtobufDefaultsImpl
  - google::protobuf::internal::InitProtobufDefaultsSlow
  - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
  - google::protobuf::internal::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::SerializeTo
  - google::protobuf::internal::WriteTagTo
  - google::protobuf::internal::WriteLengthTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageTo
  - google::protobuf::internal::SerializeGroupTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::AccessorHelper::Size
  - google::protobuf::internal::AccessorHelper::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeNotImplemented
  - SERIALIZE_TABLE_OP
  - google::protobuf::internal::FieldMetadata::CalculateType
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - SERIALIZERS_FOR_TYPE
  - google::protobuf::internal::SerializeInternal
  - google::protobuf::internal::SerializeInternalToArray
  - google::protobuf::internal::ExtensionSerializer
  - google::protobuf::internal::UnknownFieldSerializerLite
  - google::protobuf::internal::DuplicateIfNonNullInternal
  - google::protobuf::internal::GenericSwap
  - google::protobuf::internal::GetOwnedMessageInternal
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCCImpl
  - google::protobuf::internal::DestroyMessage
  - google::protobuf::internal::DestroyString
  - google::protobuf::internal::InitProtobufDefaultsImpl
  - google::protobuf::internal::InitProtobufDefaultsSlow
  - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
  - google::protobuf::internal::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::SerializeTo
  - google::protobuf::internal::WriteTagTo
  - google::protobuf::internal::WriteLengthTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageTo
  - google::protobuf::internal::SerializeGroupTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::AccessorHelper::Size
  - google::protobuf::internal::AccessorHelper::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeNotImplemented
  - SERIALIZE_TABLE_OP
  - google::protobuf::internal::FieldMetadata::CalculateType
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - SERIALIZERS_FOR_TYPE
  - google::protobuf::internal::SerializeInternal
  - google::protobuf::internal::SerializeInternalToArray
  - google::protobuf::internal::ExtensionSerializer
  - google::protobuf::internal::UnknownFieldSerializerLite
  - google::protobuf::internal::DuplicateIfNonNullInternal
  - google::protobuf::internal::GenericSwap
  - google::protobuf::internal::GetOwnedMessageInternal
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCCImpl
  - google::protobuf::internal::DestroyMessage
  - google::protobuf::internal::DestroyString
  - google::protobuf::internal::InitProtobufDefaultsImpl
  - google::protobuf::internal::InitProtobufDefaultsSlow
  - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
  - google::protobuf::internal::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::SerializeTo
  - google::protobuf::internal::WriteTagTo
  - google::protobuf::internal::WriteLengthTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageTo
  - google::protobuf::internal::SerializeGroupTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::AccessorHelper::Size
  - google::protobuf::internal::AccessorHelper::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeNotImplemented
  - SERIALIZE_TABLE_OP
  - google::protobuf::internal::FieldMetadata::CalculateType
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - SERIALIZERS_FOR_TYPE
  - google::protobuf::internal::SerializeInternal
  - google::protobuf::internal::SerializeInternalToArray
  - google::protobuf::internal::ExtensionSerializer
  - google::protobuf::internal::UnknownFieldSerializerLite
  - google::protobuf::internal::DuplicateIfNonNullInternal
  - google::protobuf::internal::GenericSwap
  - google::protobuf::internal::GetOwnedMessageInternal
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCCImpl
  - google::protobuf::internal::DestroyMessage
  - google::protobuf::internal::DestroyString
  - google::protobuf::internal::InitProtobufDefaultsImpl
  - google::protobuf::internal::InitProtobufDefaultsSlow
  - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
  - google::protobuf::internal::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::SerializeTo
  - google::protobuf::internal::WriteTagTo
  - google::protobuf::internal::WriteLengthTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageTo
  - google::protobuf::internal::SerializeGroupTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::AccessorHelper::Size
  - google::protobuf::internal::AccessorHelper::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeNotImplemented
  - SERIALIZE_TABLE_OP
  - google::protobuf::internal::FieldMetadata::CalculateType
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - SERIALIZERS_FOR_TYPE
  - google::protobuf::internal::SerializeInternal
  - google::protobuf::internal::SerializeInternalToArray
  - google::protobuf::internal::ExtensionSerializer
  - google::protobuf::internal::UnknownFieldSerializerLite
  - google::protobuf::internal::DuplicateIfNonNullInternal
  - google::protobuf::internal::GenericSwap
  - google::protobuf::internal::GetOwnedMessageInternal
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCCImpl
  - google::protobuf::internal::DestroyMessage
  - google::protobuf::internal::DestroyString
  - google::protobuf::internal::InitProtobufDefaultsImpl
  - google::protobuf::internal::InitProtobufDefaultsSlow
  - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
  - google::protobuf::internal::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::SerializeTo
  - google::protobuf::internal::WriteTagTo
  - google::protobuf::internal::WriteLengthTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageTo
  - google::protobuf::internal::SerializeGroupTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::AccessorHelper::Size
  - google::protobuf::internal::AccessorHelper::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeNotImplemented
  - SERIALIZE_TABLE_OP
  - google::protobuf::internal::FieldMetadata::CalculateType
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - SERIALIZERS_FOR_TYPE
  - google::protobuf::internal::SerializeInternal
  - google::protobuf::internal::SerializeInternalToArray
  - google::protobuf::internal::ExtensionSerializer
  - google::protobuf::internal::UnknownFieldSerializerLite
  - google::protobuf::internal::DuplicateIfNonNullInternal
  - google::protobuf::internal::GenericSwap
  - google::protobuf::internal::GetOwnedMessageInternal
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCCImpl
  - google::protobuf::internal::DestroyMessage
  - google::protobuf::internal::DestroyString
  - google::protobuf::internal::InitProtobufDefaultsImpl
  - google::protobuf::internal::InitProtobufDefaultsSlow
  - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
  - google::protobuf::internal::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::SerializeTo
  - google::protobuf::internal::WriteTagTo
  - google::protobuf::internal::WriteLengthTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageTo
  - google::protobuf::internal::SerializeGroupTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::AccessorHelper::Size
  - google::protobuf::internal::AccessorHelper::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeNotImplemented
  - SERIALIZE_TABLE_OP
  - google::protobuf::internal::FieldMetadata::CalculateType
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - SERIALIZERS_FOR_TYPE
  - google::protobuf::internal::SerializeInternal
  - google::protobuf::internal::SerializeInternalToArray
  - google::protobuf::internal::ExtensionSerializer
  - google::protobuf::internal::UnknownFieldSerializerLite
  - google::protobuf::internal::DuplicateIfNonNullInternal
  - google::protobuf::internal::GenericSwap
  - google::protobuf::internal::GetOwnedMessageInternal
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCCImpl
  - google::protobuf::internal::DestroyMessage
  - google::protobuf::internal::DestroyString
  - google::protobuf::internal::InitProtobufDefaultsImpl
  - google::protobuf::internal::InitProtobufDefaultsSlow
  - google::protobuf::internal::StringSpaceUsedExcludingSelfLong
  - google::protobuf::internal::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeToArray
  - google::protobuf::internal::SerializeTo
  - google::protobuf::internal::WriteTagTo
  - google::protobuf::internal::WriteLengthTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageNoTable
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageDispatch
  - google::protobuf::internal::SerializeMessageTo
  - google::protobuf::internal::SerializeGroupTo
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::AccessorHelper::Size
  - google::protobuf::internal::AccessorHelper::Get
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::Serialize
  - google::protobuf::internal::SerializeNotImplemented
  - SERIALIZE_TABLE_OP
  - google::protobuf::internal::FieldMetadata::CalculateType
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - google::protobuf::internal::IsNull
  - SERIALIZERS_FOR_TYPE
  - google::protobuf::internal::SerializeInternal
  - google::protobuf::internal::SerializeInternalToArray
  - google::protobuf::internal::ExtensionSerializer
  - google::protobuf::internal::UnknownFieldSerializerLite
  - google::protobuf::internal::DuplicateIfNonNullInternal
  - google::protobuf::internal::GenericSwap
  - google::protobuf::internal::GetOwnedMessageInternal
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCC_DFS
  - google::protobuf::internal::InitSCCImpl
  source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BOOL>
      pos:
        line_end: 125
        line_start: 117
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT32>
      pos:
        line_end: 136
        line_start: 128
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT32>
      pos:
        line_end: 147
        line_start: 139
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT32>
      pos:
        line_end: 158
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT64>
      pos:
        line_end: 168
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT64>
      pos:
        line_end: 179
        line_start: 171
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT64>
      pos:
        line_end: 189
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED32>
      pos:
        line_end: 200
        line_start: 192
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED64>
      pos:
        line_end: 211
        line_start: 203
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_ENUM>
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED32>
      pos:
        line_end: 221
        line_start: 218
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED64>
      pos:
        line_end: 226
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FLOAT>
      pos:
        line_end: 231
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_DOUBLE>
      pos:
        line_end: 236
        line_start: 233
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 250
        line_start: 239
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<io::CodedOutputStream, type>
      pos:
        line_end: 284
        line_start: 280
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields:
      - name: '* ptr'
        type: uint8
      - name: is_deterministic
        type: bool
      item_type: struct
      name: ArrayOutput
      pos:
        line_end: 290
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<ArrayOutput, type>
      pos:
        line_end: 297
        line_start: 293
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper
      pos:
        line_end: 378
        line_start: 372
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 388
        line_start: 381
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 403
        line_start: 395
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 413
        line_start: 406
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper
      pos:
        line_end: 426
        line_start: 416
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 449
        line_start: 438
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 469
        line_start: 456
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 484
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper
      pos:
        line_end: 502
        line_start: 488
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 511
        line_start: 505
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OneOfFieldHelper
      pos:
        line_end: 529
        line_start: 524
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BOOL>
      pos:
        line_end: 125
        line_start: 117
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT32>
      pos:
        line_end: 136
        line_start: 128
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT32>
      pos:
        line_end: 147
        line_start: 139
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT32>
      pos:
        line_end: 158
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT64>
      pos:
        line_end: 168
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT64>
      pos:
        line_end: 179
        line_start: 171
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT64>
      pos:
        line_end: 189
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED32>
      pos:
        line_end: 200
        line_start: 192
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED64>
      pos:
        line_end: 211
        line_start: 203
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_ENUM>
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED32>
      pos:
        line_end: 221
        line_start: 218
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED64>
      pos:
        line_end: 226
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FLOAT>
      pos:
        line_end: 231
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_DOUBLE>
      pos:
        line_end: 236
        line_start: 233
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 250
        line_start: 239
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<io::CodedOutputStream, type>
      pos:
        line_end: 284
        line_start: 280
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields:
      - name: '* ptr'
        type: uint8
      - name: is_deterministic
        type: bool
      item_type: struct
      name: ArrayOutput
      pos:
        line_end: 290
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<ArrayOutput, type>
      pos:
        line_end: 297
        line_start: 293
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper
      pos:
        line_end: 378
        line_start: 372
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 388
        line_start: 381
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 403
        line_start: 395
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 413
        line_start: 406
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper
      pos:
        line_end: 426
        line_start: 416
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 449
        line_start: 438
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 469
        line_start: 456
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 484
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper
      pos:
        line_end: 502
        line_start: 488
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 511
        line_start: 505
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OneOfFieldHelper
      pos:
        line_end: 529
        line_start: 524
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BOOL>
      pos:
        line_end: 125
        line_start: 117
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT32>
      pos:
        line_end: 136
        line_start: 128
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT32>
      pos:
        line_end: 147
        line_start: 139
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT32>
      pos:
        line_end: 158
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT64>
      pos:
        line_end: 168
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT64>
      pos:
        line_end: 179
        line_start: 171
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT64>
      pos:
        line_end: 189
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED32>
      pos:
        line_end: 200
        line_start: 192
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED64>
      pos:
        line_end: 211
        line_start: 203
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_ENUM>
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED32>
      pos:
        line_end: 221
        line_start: 218
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED64>
      pos:
        line_end: 226
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FLOAT>
      pos:
        line_end: 231
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_DOUBLE>
      pos:
        line_end: 236
        line_start: 233
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 250
        line_start: 239
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<io::CodedOutputStream, type>
      pos:
        line_end: 284
        line_start: 280
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields:
      - name: '* ptr'
        type: uint8
      - name: is_deterministic
        type: bool
      item_type: struct
      name: ArrayOutput
      pos:
        line_end: 290
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<ArrayOutput, type>
      pos:
        line_end: 297
        line_start: 293
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper
      pos:
        line_end: 378
        line_start: 372
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 388
        line_start: 381
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 403
        line_start: 395
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 413
        line_start: 406
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper
      pos:
        line_end: 426
        line_start: 416
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 449
        line_start: 438
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 469
        line_start: 456
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 484
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper
      pos:
        line_end: 502
        line_start: 488
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 511
        line_start: 505
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OneOfFieldHelper
      pos:
        line_end: 529
        line_start: 524
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BOOL>
      pos:
        line_end: 125
        line_start: 117
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT32>
      pos:
        line_end: 136
        line_start: 128
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT32>
      pos:
        line_end: 147
        line_start: 139
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT32>
      pos:
        line_end: 158
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT64>
      pos:
        line_end: 168
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT64>
      pos:
        line_end: 179
        line_start: 171
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT64>
      pos:
        line_end: 189
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED32>
      pos:
        line_end: 200
        line_start: 192
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED64>
      pos:
        line_end: 211
        line_start: 203
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_ENUM>
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED32>
      pos:
        line_end: 221
        line_start: 218
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED64>
      pos:
        line_end: 226
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FLOAT>
      pos:
        line_end: 231
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_DOUBLE>
      pos:
        line_end: 236
        line_start: 233
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 250
        line_start: 239
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<io::CodedOutputStream, type>
      pos:
        line_end: 284
        line_start: 280
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields:
      - name: '* ptr'
        type: uint8
      - name: is_deterministic
        type: bool
      item_type: struct
      name: ArrayOutput
      pos:
        line_end: 290
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<ArrayOutput, type>
      pos:
        line_end: 297
        line_start: 293
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper
      pos:
        line_end: 378
        line_start: 372
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 388
        line_start: 381
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 403
        line_start: 395
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 413
        line_start: 406
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper
      pos:
        line_end: 426
        line_start: 416
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 449
        line_start: 438
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 469
        line_start: 456
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 484
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper
      pos:
        line_end: 502
        line_start: 488
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 511
        line_start: 505
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OneOfFieldHelper
      pos:
        line_end: 529
        line_start: 524
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BOOL>
      pos:
        line_end: 125
        line_start: 117
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT32>
      pos:
        line_end: 136
        line_start: 128
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT32>
      pos:
        line_end: 147
        line_start: 139
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT32>
      pos:
        line_end: 158
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT64>
      pos:
        line_end: 168
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT64>
      pos:
        line_end: 179
        line_start: 171
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT64>
      pos:
        line_end: 189
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED32>
      pos:
        line_end: 200
        line_start: 192
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED64>
      pos:
        line_end: 211
        line_start: 203
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_ENUM>
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED32>
      pos:
        line_end: 221
        line_start: 218
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED64>
      pos:
        line_end: 226
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FLOAT>
      pos:
        line_end: 231
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_DOUBLE>
      pos:
        line_end: 236
        line_start: 233
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 250
        line_start: 239
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<io::CodedOutputStream, type>
      pos:
        line_end: 284
        line_start: 280
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields:
      - name: '* ptr'
        type: uint8
      - name: is_deterministic
        type: bool
      item_type: struct
      name: ArrayOutput
      pos:
        line_end: 290
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<ArrayOutput, type>
      pos:
        line_end: 297
        line_start: 293
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper
      pos:
        line_end: 378
        line_start: 372
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 388
        line_start: 381
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 403
        line_start: 395
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 413
        line_start: 406
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper
      pos:
        line_end: 426
        line_start: 416
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 449
        line_start: 438
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 469
        line_start: 456
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 484
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper
      pos:
        line_end: 502
        line_start: 488
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 511
        line_start: 505
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OneOfFieldHelper
      pos:
        line_end: 529
        line_start: 524
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BOOL>
      pos:
        line_end: 125
        line_start: 117
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT32>
      pos:
        line_end: 136
        line_start: 128
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT32>
      pos:
        line_end: 147
        line_start: 139
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT32>
      pos:
        line_end: 158
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT64>
      pos:
        line_end: 168
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT64>
      pos:
        line_end: 179
        line_start: 171
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT64>
      pos:
        line_end: 189
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED32>
      pos:
        line_end: 200
        line_start: 192
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED64>
      pos:
        line_end: 211
        line_start: 203
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_ENUM>
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED32>
      pos:
        line_end: 221
        line_start: 218
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED64>
      pos:
        line_end: 226
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FLOAT>
      pos:
        line_end: 231
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_DOUBLE>
      pos:
        line_end: 236
        line_start: 233
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 250
        line_start: 239
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<io::CodedOutputStream, type>
      pos:
        line_end: 284
        line_start: 280
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields:
      - name: '* ptr'
        type: uint8
      - name: is_deterministic
        type: bool
      item_type: struct
      name: ArrayOutput
      pos:
        line_end: 290
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<ArrayOutput, type>
      pos:
        line_end: 297
        line_start: 293
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper
      pos:
        line_end: 378
        line_start: 372
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 388
        line_start: 381
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 403
        line_start: 395
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 413
        line_start: 406
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper
      pos:
        line_end: 426
        line_start: 416
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 449
        line_start: 438
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 469
        line_start: 456
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 484
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper
      pos:
        line_end: 502
        line_start: 488
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 511
        line_start: 505
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OneOfFieldHelper
      pos:
        line_end: 529
        line_start: 524
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BOOL>
      pos:
        line_end: 125
        line_start: 117
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT32>
      pos:
        line_end: 136
        line_start: 128
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT32>
      pos:
        line_end: 147
        line_start: 139
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT32>
      pos:
        line_end: 158
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT64>
      pos:
        line_end: 168
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT64>
      pos:
        line_end: 179
        line_start: 171
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT64>
      pos:
        line_end: 189
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED32>
      pos:
        line_end: 200
        line_start: 192
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED64>
      pos:
        line_end: 211
        line_start: 203
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_ENUM>
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED32>
      pos:
        line_end: 221
        line_start: 218
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED64>
      pos:
        line_end: 226
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FLOAT>
      pos:
        line_end: 231
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_DOUBLE>
      pos:
        line_end: 236
        line_start: 233
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 250
        line_start: 239
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<io::CodedOutputStream, type>
      pos:
        line_end: 284
        line_start: 280
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields:
      - name: '* ptr'
        type: uint8
      - name: is_deterministic
        type: bool
      item_type: struct
      name: ArrayOutput
      pos:
        line_end: 290
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<ArrayOutput, type>
      pos:
        line_end: 297
        line_start: 293
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper
      pos:
        line_end: 378
        line_start: 372
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 388
        line_start: 381
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 403
        line_start: 395
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 413
        line_start: 406
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper
      pos:
        line_end: 426
        line_start: 416
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 449
        line_start: 438
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 469
        line_start: 456
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 484
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper
      pos:
        line_end: 502
        line_start: 488
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 511
        line_start: 505
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OneOfFieldHelper
      pos:
        line_end: 529
        line_start: 524
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BOOL>
      pos:
        line_end: 125
        line_start: 117
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT32>
      pos:
        line_end: 136
        line_start: 128
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT32>
      pos:
        line_end: 147
        line_start: 139
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT32>
      pos:
        line_end: 158
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_INT64>
      pos:
        line_end: 168
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SINT64>
      pos:
        line_end: 179
        line_start: 171
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_UINT64>
      pos:
        line_end: 189
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED32>
      pos:
        line_end: 200
        line_start: 192
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FIXED64>
      pos:
        line_end: 211
        line_start: 203
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_ENUM>
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED32>
      pos:
        line_end: 221
        line_start: 218
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_SFIXED64>
      pos:
        line_end: 226
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_FLOAT>
      pos:
        line_end: 231
        line_start: 228
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_DOUBLE>
      pos:
        line_end: 236
        line_start: 233
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 250
        line_start: 239
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PrimitiveTypeHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<io::CodedOutputStream, type>
      pos:
        line_end: 284
        line_start: 280
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields:
      - name: '* ptr'
        type: uint8
      - name: is_deterministic
        type: bool
      item_type: struct
      name: ArrayOutput
      pos:
        line_end: 290
        line_start: 287
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OutputHelper<ArrayOutput, type>
      pos:
        line_end: 297
        line_start: 293
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper
      pos:
        line_end: 378
        line_start: 372
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 388
        line_start: 381
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 392
        line_start: 391
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 403
        line_start: 395
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: SingularFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 413
        line_start: 406
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper
      pos:
        line_end: 426
        line_start: 416
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 449
        line_start: 438
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 469
        line_start: 456
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: RepeatedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 484
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper
      pos:
        line_end: 502
        line_start: 488
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 511
        line_start: 505
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 515
        line_start: 514
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_GROUP>
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: PackedFieldHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    - fields: []
      item_type: struct
      name: OneOfFieldHelper
      pos:
        line_end: 529
        line_start: 524
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
    typedefs:
    - item_type: typedef
      name: Type
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: bool
    - item_type: typedef
      name: Type
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: float
    - item_type: typedef
      name: Type
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: double
    - item_type: typedef
      name: Type
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: string
    - item_type: typedef
      name: T
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: T
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: Type
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: bool
    - item_type: typedef
      name: Type
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: float
    - item_type: typedef
      name: Type
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: double
    - item_type: typedef
      name: Type
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: string
    - item_type: typedef
      name: T
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: T
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: Type
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: bool
    - item_type: typedef
      name: Type
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: float
    - item_type: typedef
      name: Type
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: double
    - item_type: typedef
      name: Type
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: string
    - item_type: typedef
      name: T
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: T
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: Type
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: bool
    - item_type: typedef
      name: Type
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: float
    - item_type: typedef
      name: Type
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: double
    - item_type: typedef
      name: Type
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: string
    - item_type: typedef
      name: T
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: T
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: Type
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: bool
    - item_type: typedef
      name: Type
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: float
    - item_type: typedef
      name: Type
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: double
    - item_type: typedef
      name: Type
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: string
    - item_type: typedef
      name: T
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: T
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: Type
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: bool
    - item_type: typedef
      name: Type
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: float
    - item_type: typedef
      name: Type
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: double
    - item_type: typedef
      name: Type
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: string
    - item_type: typedef
      name: T
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: T
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: Type
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: bool
    - item_type: typedef
      name: Type
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: float
    - item_type: typedef
      name: Type
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: double
    - item_type: typedef
      name: Type
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: string
    - item_type: typedef
      name: T
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: T
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: Type
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: bool
    - item_type: typedef
      name: Type
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint32
    - item_type: typedef
      name: Type
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: uint64
    - item_type: typedef
      name: Type
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int32
    - item_type: typedef
      name: Type
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: int64
    - item_type: typedef
      name: Type
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: float
    - item_type: typedef
      name: Type
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: double
    - item_type: typedef
      name: Type
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: string
    - item_type: typedef
      name: T
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    - item_type: typedef
      name: T
      pos:
        line_end: 491
        line_start: 491
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_util.cc
      type: typename PrimitiveTypeHelper<type>::Type
    union: []
- function_names:
  - google::protobuf::internal::ImplicitWeakMessage::_InternalParse
  - google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
  - google::protobuf::internal::ImplicitWeakMessage::default_instance
  - google::protobuf::internal::ImplicitWeakMessage::_InternalParse
  - google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
  - google::protobuf::internal::ImplicitWeakMessage::default_instance
  - google::protobuf::internal::ImplicitWeakMessage::_InternalParse
  - google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
  - google::protobuf::internal::ImplicitWeakMessage::default_instance
  - google::protobuf::internal::ImplicitWeakMessage::_InternalParse
  - google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
  - google::protobuf::internal::ImplicitWeakMessage::default_instance
  - google::protobuf::internal::ImplicitWeakMessage::_InternalParse
  - google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
  - google::protobuf::internal::ImplicitWeakMessage::default_instance
  - google::protobuf::internal::ImplicitWeakMessage::_InternalParse
  - google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
  - google::protobuf::internal::ImplicitWeakMessage::default_instance
  - google::protobuf::internal::ImplicitWeakMessage::_InternalParse
  - google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
  - google::protobuf::internal::ImplicitWeakMessage::default_instance
  - google::protobuf::internal::ImplicitWeakMessage::_InternalParse
  - google::protobuf::internal::InitImplicitWeakMessageDefaultInstance
  - google::protobuf::internal::ImplicitWeakMessage::default_instance
  source_file: /src/sentencepiece/third_party/protobuf-lite/implicit_weak_message.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::strings::ByteSource::CopyTo
  - google::protobuf::strings::ByteSink::Flush
  - google::protobuf::strings::UncheckedArrayByteSink::Append
  - google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
  - google::protobuf::strings::CheckedArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
  - GrowingArrayByteSink::~GrowingArrayByteSink()
  - google::protobuf::strings::GrowingArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GetBuffer
  - google::protobuf::strings::GrowingArrayByteSink::Expand
  - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
  - google::protobuf::strings::StringByteSink::Append
  - google::protobuf::strings::ArrayByteSource::Available
  - google::protobuf::strings::ArrayByteSource::Peek
  - google::protobuf::strings::ArrayByteSource::Skip
  - google::protobuf::strings::LimitByteSource::LimitByteSource
  - google::protobuf::strings::LimitByteSource::Available
  - google::protobuf::strings::LimitByteSource::Peek
  - google::protobuf::strings::LimitByteSource::Skip
  - google::protobuf::strings::LimitByteSource::CopyTo
  - google::protobuf::strings::ByteSource::CopyTo
  - google::protobuf::strings::ByteSink::Flush
  - google::protobuf::strings::UncheckedArrayByteSink::Append
  - google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
  - google::protobuf::strings::CheckedArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
  - GrowingArrayByteSink::~GrowingArrayByteSink()
  - google::protobuf::strings::GrowingArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GetBuffer
  - google::protobuf::strings::GrowingArrayByteSink::Expand
  - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
  - google::protobuf::strings::StringByteSink::Append
  - google::protobuf::strings::ArrayByteSource::Available
  - google::protobuf::strings::ArrayByteSource::Peek
  - google::protobuf::strings::ArrayByteSource::Skip
  - google::protobuf::strings::LimitByteSource::LimitByteSource
  - google::protobuf::strings::LimitByteSource::Available
  - google::protobuf::strings::LimitByteSource::Peek
  - google::protobuf::strings::LimitByteSource::Skip
  - google::protobuf::strings::LimitByteSource::CopyTo
  - google::protobuf::strings::ByteSource::CopyTo
  - google::protobuf::strings::ByteSink::Flush
  - google::protobuf::strings::UncheckedArrayByteSink::Append
  - google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
  - google::protobuf::strings::CheckedArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
  - GrowingArrayByteSink::~GrowingArrayByteSink()
  - google::protobuf::strings::GrowingArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GetBuffer
  - google::protobuf::strings::GrowingArrayByteSink::Expand
  - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
  - google::protobuf::strings::StringByteSink::Append
  - google::protobuf::strings::ArrayByteSource::Available
  - google::protobuf::strings::ArrayByteSource::Peek
  - google::protobuf::strings::ArrayByteSource::Skip
  - google::protobuf::strings::LimitByteSource::LimitByteSource
  - google::protobuf::strings::LimitByteSource::Available
  - google::protobuf::strings::LimitByteSource::Peek
  - google::protobuf::strings::LimitByteSource::Skip
  - google::protobuf::strings::LimitByteSource::CopyTo
  - google::protobuf::strings::ByteSource::CopyTo
  - google::protobuf::strings::ByteSink::Flush
  - google::protobuf::strings::UncheckedArrayByteSink::Append
  - google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
  - google::protobuf::strings::CheckedArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
  - GrowingArrayByteSink::~GrowingArrayByteSink()
  - google::protobuf::strings::GrowingArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GetBuffer
  - google::protobuf::strings::GrowingArrayByteSink::Expand
  - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
  - google::protobuf::strings::StringByteSink::Append
  - google::protobuf::strings::ArrayByteSource::Available
  - google::protobuf::strings::ArrayByteSource::Peek
  - google::protobuf::strings::ArrayByteSource::Skip
  - google::protobuf::strings::LimitByteSource::LimitByteSource
  - google::protobuf::strings::LimitByteSource::Available
  - google::protobuf::strings::LimitByteSource::Peek
  - google::protobuf::strings::LimitByteSource::Skip
  - google::protobuf::strings::LimitByteSource::CopyTo
  - google::protobuf::strings::ByteSource::CopyTo
  - google::protobuf::strings::ByteSink::Flush
  - google::protobuf::strings::UncheckedArrayByteSink::Append
  - google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
  - google::protobuf::strings::CheckedArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
  - GrowingArrayByteSink::~GrowingArrayByteSink()
  - google::protobuf::strings::GrowingArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GetBuffer
  - google::protobuf::strings::GrowingArrayByteSink::Expand
  - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
  - google::protobuf::strings::StringByteSink::Append
  - google::protobuf::strings::ArrayByteSource::Available
  - google::protobuf::strings::ArrayByteSource::Peek
  - google::protobuf::strings::ArrayByteSource::Skip
  - google::protobuf::strings::LimitByteSource::LimitByteSource
  - google::protobuf::strings::LimitByteSource::Available
  - google::protobuf::strings::LimitByteSource::Peek
  - google::protobuf::strings::LimitByteSource::Skip
  - google::protobuf::strings::LimitByteSource::CopyTo
  - google::protobuf::strings::ByteSource::CopyTo
  - google::protobuf::strings::ByteSink::Flush
  - google::protobuf::strings::UncheckedArrayByteSink::Append
  - google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
  - google::protobuf::strings::CheckedArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
  - GrowingArrayByteSink::~GrowingArrayByteSink()
  - google::protobuf::strings::GrowingArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GetBuffer
  - google::protobuf::strings::GrowingArrayByteSink::Expand
  - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
  - google::protobuf::strings::StringByteSink::Append
  - google::protobuf::strings::ArrayByteSource::Available
  - google::protobuf::strings::ArrayByteSource::Peek
  - google::protobuf::strings::ArrayByteSource::Skip
  - google::protobuf::strings::LimitByteSource::LimitByteSource
  - google::protobuf::strings::LimitByteSource::Available
  - google::protobuf::strings::LimitByteSource::Peek
  - google::protobuf::strings::LimitByteSource::Skip
  - google::protobuf::strings::LimitByteSource::CopyTo
  - google::protobuf::strings::ByteSource::CopyTo
  - google::protobuf::strings::ByteSink::Flush
  - google::protobuf::strings::UncheckedArrayByteSink::Append
  - google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
  - google::protobuf::strings::CheckedArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
  - GrowingArrayByteSink::~GrowingArrayByteSink()
  - google::protobuf::strings::GrowingArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GetBuffer
  - google::protobuf::strings::GrowingArrayByteSink::Expand
  - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
  - google::protobuf::strings::StringByteSink::Append
  - google::protobuf::strings::ArrayByteSource::Available
  - google::protobuf::strings::ArrayByteSource::Peek
  - google::protobuf::strings::ArrayByteSource::Skip
  - google::protobuf::strings::LimitByteSource::LimitByteSource
  - google::protobuf::strings::LimitByteSource::Available
  - google::protobuf::strings::LimitByteSource::Peek
  - google::protobuf::strings::LimitByteSource::Skip
  - google::protobuf::strings::LimitByteSource::CopyTo
  - google::protobuf::strings::ByteSource::CopyTo
  - google::protobuf::strings::ByteSink::Flush
  - google::protobuf::strings::UncheckedArrayByteSink::Append
  - google::protobuf::strings::CheckedArrayByteSink::CheckedArrayByteSink
  - google::protobuf::strings::CheckedArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GrowingArrayByteSink
  - GrowingArrayByteSink::~GrowingArrayByteSink()
  - google::protobuf::strings::GrowingArrayByteSink::Append
  - google::protobuf::strings::GrowingArrayByteSink::GetBuffer
  - google::protobuf::strings::GrowingArrayByteSink::Expand
  - google::protobuf::strings::GrowingArrayByteSink::ShrinkToFit
  - google::protobuf::strings::StringByteSink::Append
  - google::protobuf::strings::ArrayByteSource::Available
  - google::protobuf::strings::ArrayByteSource::Peek
  - google::protobuf::strings::ArrayByteSource::Skip
  - google::protobuf::strings::LimitByteSource::LimitByteSource
  - google::protobuf::strings::LimitByteSource::Available
  - google::protobuf::strings::LimitByteSource::Peek
  - google::protobuf::strings::LimitByteSource::Skip
  - google::protobuf::strings::LimitByteSource::CopyTo
  source_file: /src/sentencepiece/third_party/protobuf-lite/bytestream.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::io::ArrayInputStream::ArrayInputStream
  - google::protobuf::io::ArrayInputStream::Next
  - google::protobuf::io::ArrayInputStream::BackUp
  - google::protobuf::io::ArrayInputStream::Skip
  - google::protobuf::io::ArrayInputStream::ByteCount
  - google::protobuf::io::ArrayOutputStream::ArrayOutputStream
  - google::protobuf::io::ArrayOutputStream::Next
  - google::protobuf::io::ArrayOutputStream::BackUp
  - google::protobuf::io::ArrayOutputStream::ByteCount
  - google::protobuf::io::StringOutputStream::StringOutputStream
  - google::protobuf::io::StringOutputStream::Next
  - google::protobuf::io::StringOutputStream::BackUp
  - google::protobuf::io::StringOutputStream::ByteCount
  - google::protobuf::io::CopyingInputStream::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
  - CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - google::protobuf::io::CopyingInputStreamAdaptor::Next
  - google::protobuf::io::CopyingInputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingInputStreamAdaptor::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
  - CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
  - google::protobuf::io::CopyingOutputStreamAdaptor::Next
  - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
  - google::protobuf::io::LimitingInputStream::LimitingInputStream
  - LimitingInputStream::~LimitingInputStream()
  - google::protobuf::io::LimitingInputStream::Next
  - google::protobuf::io::LimitingInputStream::BackUp
  - google::protobuf::io::LimitingInputStream::Skip
  - google::protobuf::io::LimitingInputStream::ByteCount
  - google::protobuf::io::ArrayInputStream::ArrayInputStream
  - google::protobuf::io::ArrayInputStream::Next
  - google::protobuf::io::ArrayInputStream::BackUp
  - google::protobuf::io::ArrayInputStream::Skip
  - google::protobuf::io::ArrayInputStream::ByteCount
  - google::protobuf::io::ArrayOutputStream::ArrayOutputStream
  - google::protobuf::io::ArrayOutputStream::Next
  - google::protobuf::io::ArrayOutputStream::BackUp
  - google::protobuf::io::ArrayOutputStream::ByteCount
  - google::protobuf::io::StringOutputStream::StringOutputStream
  - google::protobuf::io::StringOutputStream::Next
  - google::protobuf::io::StringOutputStream::BackUp
  - google::protobuf::io::StringOutputStream::ByteCount
  - google::protobuf::io::CopyingInputStream::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
  - CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - google::protobuf::io::CopyingInputStreamAdaptor::Next
  - google::protobuf::io::CopyingInputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingInputStreamAdaptor::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
  - CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
  - google::protobuf::io::CopyingOutputStreamAdaptor::Next
  - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
  - google::protobuf::io::LimitingInputStream::LimitingInputStream
  - LimitingInputStream::~LimitingInputStream()
  - google::protobuf::io::LimitingInputStream::Next
  - google::protobuf::io::LimitingInputStream::BackUp
  - google::protobuf::io::LimitingInputStream::Skip
  - google::protobuf::io::LimitingInputStream::ByteCount
  - google::protobuf::io::ArrayInputStream::ArrayInputStream
  - google::protobuf::io::ArrayInputStream::Next
  - google::protobuf::io::ArrayInputStream::BackUp
  - google::protobuf::io::ArrayInputStream::Skip
  - google::protobuf::io::ArrayInputStream::ByteCount
  - google::protobuf::io::ArrayOutputStream::ArrayOutputStream
  - google::protobuf::io::ArrayOutputStream::Next
  - google::protobuf::io::ArrayOutputStream::BackUp
  - google::protobuf::io::ArrayOutputStream::ByteCount
  - google::protobuf::io::StringOutputStream::StringOutputStream
  - google::protobuf::io::StringOutputStream::Next
  - google::protobuf::io::StringOutputStream::BackUp
  - google::protobuf::io::StringOutputStream::ByteCount
  - google::protobuf::io::CopyingInputStream::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
  - CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - google::protobuf::io::CopyingInputStreamAdaptor::Next
  - google::protobuf::io::CopyingInputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingInputStreamAdaptor::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
  - CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
  - google::protobuf::io::CopyingOutputStreamAdaptor::Next
  - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
  - google::protobuf::io::LimitingInputStream::LimitingInputStream
  - LimitingInputStream::~LimitingInputStream()
  - google::protobuf::io::LimitingInputStream::Next
  - google::protobuf::io::LimitingInputStream::BackUp
  - google::protobuf::io::LimitingInputStream::Skip
  - google::protobuf::io::LimitingInputStream::ByteCount
  - google::protobuf::io::ArrayInputStream::ArrayInputStream
  - google::protobuf::io::ArrayInputStream::Next
  - google::protobuf::io::ArrayInputStream::BackUp
  - google::protobuf::io::ArrayInputStream::Skip
  - google::protobuf::io::ArrayInputStream::ByteCount
  - google::protobuf::io::ArrayOutputStream::ArrayOutputStream
  - google::protobuf::io::ArrayOutputStream::Next
  - google::protobuf::io::ArrayOutputStream::BackUp
  - google::protobuf::io::ArrayOutputStream::ByteCount
  - google::protobuf::io::StringOutputStream::StringOutputStream
  - google::protobuf::io::StringOutputStream::Next
  - google::protobuf::io::StringOutputStream::BackUp
  - google::protobuf::io::StringOutputStream::ByteCount
  - google::protobuf::io::CopyingInputStream::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
  - CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - google::protobuf::io::CopyingInputStreamAdaptor::Next
  - google::protobuf::io::CopyingInputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingInputStreamAdaptor::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
  - CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
  - google::protobuf::io::CopyingOutputStreamAdaptor::Next
  - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
  - google::protobuf::io::LimitingInputStream::LimitingInputStream
  - LimitingInputStream::~LimitingInputStream()
  - google::protobuf::io::LimitingInputStream::Next
  - google::protobuf::io::LimitingInputStream::BackUp
  - google::protobuf::io::LimitingInputStream::Skip
  - google::protobuf::io::LimitingInputStream::ByteCount
  - google::protobuf::io::ArrayInputStream::ArrayInputStream
  - google::protobuf::io::ArrayInputStream::Next
  - google::protobuf::io::ArrayInputStream::BackUp
  - google::protobuf::io::ArrayInputStream::Skip
  - google::protobuf::io::ArrayInputStream::ByteCount
  - google::protobuf::io::ArrayOutputStream::ArrayOutputStream
  - google::protobuf::io::ArrayOutputStream::Next
  - google::protobuf::io::ArrayOutputStream::BackUp
  - google::protobuf::io::ArrayOutputStream::ByteCount
  - google::protobuf::io::StringOutputStream::StringOutputStream
  - google::protobuf::io::StringOutputStream::Next
  - google::protobuf::io::StringOutputStream::BackUp
  - google::protobuf::io::StringOutputStream::ByteCount
  - google::protobuf::io::CopyingInputStream::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
  - CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - google::protobuf::io::CopyingInputStreamAdaptor::Next
  - google::protobuf::io::CopyingInputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingInputStreamAdaptor::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
  - CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
  - google::protobuf::io::CopyingOutputStreamAdaptor::Next
  - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
  - google::protobuf::io::LimitingInputStream::LimitingInputStream
  - LimitingInputStream::~LimitingInputStream()
  - google::protobuf::io::LimitingInputStream::Next
  - google::protobuf::io::LimitingInputStream::BackUp
  - google::protobuf::io::LimitingInputStream::Skip
  - google::protobuf::io::LimitingInputStream::ByteCount
  - google::protobuf::io::ArrayInputStream::ArrayInputStream
  - google::protobuf::io::ArrayInputStream::Next
  - google::protobuf::io::ArrayInputStream::BackUp
  - google::protobuf::io::ArrayInputStream::Skip
  - google::protobuf::io::ArrayInputStream::ByteCount
  - google::protobuf::io::ArrayOutputStream::ArrayOutputStream
  - google::protobuf::io::ArrayOutputStream::Next
  - google::protobuf::io::ArrayOutputStream::BackUp
  - google::protobuf::io::ArrayOutputStream::ByteCount
  - google::protobuf::io::StringOutputStream::StringOutputStream
  - google::protobuf::io::StringOutputStream::Next
  - google::protobuf::io::StringOutputStream::BackUp
  - google::protobuf::io::StringOutputStream::ByteCount
  - google::protobuf::io::CopyingInputStream::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
  - CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - google::protobuf::io::CopyingInputStreamAdaptor::Next
  - google::protobuf::io::CopyingInputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingInputStreamAdaptor::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
  - CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
  - google::protobuf::io::CopyingOutputStreamAdaptor::Next
  - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
  - google::protobuf::io::LimitingInputStream::LimitingInputStream
  - LimitingInputStream::~LimitingInputStream()
  - google::protobuf::io::LimitingInputStream::Next
  - google::protobuf::io::LimitingInputStream::BackUp
  - google::protobuf::io::LimitingInputStream::Skip
  - google::protobuf::io::LimitingInputStream::ByteCount
  - google::protobuf::io::ArrayInputStream::ArrayInputStream
  - google::protobuf::io::ArrayInputStream::Next
  - google::protobuf::io::ArrayInputStream::BackUp
  - google::protobuf::io::ArrayInputStream::Skip
  - google::protobuf::io::ArrayInputStream::ByteCount
  - google::protobuf::io::ArrayOutputStream::ArrayOutputStream
  - google::protobuf::io::ArrayOutputStream::Next
  - google::protobuf::io::ArrayOutputStream::BackUp
  - google::protobuf::io::ArrayOutputStream::ByteCount
  - google::protobuf::io::StringOutputStream::StringOutputStream
  - google::protobuf::io::StringOutputStream::Next
  - google::protobuf::io::StringOutputStream::BackUp
  - google::protobuf::io::StringOutputStream::ByteCount
  - google::protobuf::io::CopyingInputStream::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
  - CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - google::protobuf::io::CopyingInputStreamAdaptor::Next
  - google::protobuf::io::CopyingInputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingInputStreamAdaptor::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
  - CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
  - google::protobuf::io::CopyingOutputStreamAdaptor::Next
  - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
  - google::protobuf::io::LimitingInputStream::LimitingInputStream
  - LimitingInputStream::~LimitingInputStream()
  - google::protobuf::io::LimitingInputStream::Next
  - google::protobuf::io::LimitingInputStream::BackUp
  - google::protobuf::io::LimitingInputStream::Skip
  - google::protobuf::io::LimitingInputStream::ByteCount
  - google::protobuf::io::ArrayInputStream::ArrayInputStream
  - google::protobuf::io::ArrayInputStream::Next
  - google::protobuf::io::ArrayInputStream::BackUp
  - google::protobuf::io::ArrayInputStream::Skip
  - google::protobuf::io::ArrayInputStream::ByteCount
  - google::protobuf::io::ArrayOutputStream::ArrayOutputStream
  - google::protobuf::io::ArrayOutputStream::Next
  - google::protobuf::io::ArrayOutputStream::BackUp
  - google::protobuf::io::ArrayOutputStream::ByteCount
  - google::protobuf::io::StringOutputStream::StringOutputStream
  - google::protobuf::io::StringOutputStream::Next
  - google::protobuf::io::StringOutputStream::BackUp
  - google::protobuf::io::StringOutputStream::ByteCount
  - google::protobuf::io::CopyingInputStream::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::CopyingInputStreamAdaptor
  - CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor()
  - google::protobuf::io::CopyingInputStreamAdaptor::Next
  - google::protobuf::io::CopyingInputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingInputStreamAdaptor::Skip
  - google::protobuf::io::CopyingInputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingInputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingInputStreamAdaptor::FreeBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor
  - CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor()
  - google::protobuf::io::CopyingOutputStreamAdaptor::Flush
  - google::protobuf::io::CopyingOutputStreamAdaptor::Next
  - google::protobuf::io::CopyingOutputStreamAdaptor::BackUp
  - google::protobuf::io::CopyingOutputStreamAdaptor::ByteCount
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteAliasedRaw
  - google::protobuf::io::CopyingOutputStreamAdaptor::WriteBuffer
  - google::protobuf::io::CopyingOutputStreamAdaptor::AllocateBufferIfNeeded
  - google::protobuf::io::CopyingOutputStreamAdaptor::FreeBuffer
  - google::protobuf::io::LimitingInputStream::LimitingInputStream
  - LimitingInputStream::~LimitingInputStream()
  - google::protobuf::io::LimitingInputStream::Next
  - google::protobuf::io::LimitingInputStream::BackUp
  - google::protobuf::io::LimitingInputStream::Skip
  - google::protobuf::io::LimitingInputStream::ByteCount
  source_file: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl_lite.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
  - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
  - google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
  - google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
  - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
  - google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
  - google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
  - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
  - google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
  - google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
  - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
  - google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
  - google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
  - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
  - google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
  - google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
  - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
  - google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
  - google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
  - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
  - google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
  - google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend
  - google::protobuf::internal::RepeatedPtrFieldBase::Reserve
  - google::protobuf::internal::RepeatedPtrFieldBase::CloseGap
  - google::protobuf::internal::RepeatedPtrFieldBase::AddWeak
  source_file: /src/sentencepiece/third_party/protobuf-lite/repeated_field.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipField
  - google::protobuf::internal::FieldSkipper::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::WriteArray
  - google::protobuf::internal::WireFormatLite::WriteFloatArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteBoolArray
  - google::protobuf::internal::WireFormatLite::WriteInt32
  - google::protobuf::internal::WireFormatLite::WriteInt64
  - google::protobuf::internal::WireFormatLite::WriteUInt32
  - google::protobuf::internal::WireFormatLite::WriteUInt64
  - google::protobuf::internal::WireFormatLite::WriteSInt32
  - google::protobuf::internal::WireFormatLite::WriteSInt64
  - google::protobuf::internal::WireFormatLite::WriteFixed32
  - google::protobuf::internal::WireFormatLite::WriteFixed64
  - google::protobuf::internal::WireFormatLite::WriteSFixed32
  - google::protobuf::internal::WireFormatLite::WriteSFixed64
  - google::protobuf::internal::WireFormatLite::WriteFloat
  - google::protobuf::internal::WireFormatLite::WriteDouble
  - google::protobuf::internal::WireFormatLite::WriteBool
  - google::protobuf::internal::WireFormatLite::WriteEnum
  - google::protobuf::internal::WireFormatLite::WriteString
  - google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteBytes
  - google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteGroup
  - google::protobuf::internal::WireFormatLite::WriteMessage
  - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
  - google::protobuf::internal::ReadBytesToString
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::PrintUTF8ErrorLog
  - google::protobuf::internal::WireFormatLite::VerifyUtf8String
  - google::protobuf::internal::VarintSize
  - google::protobuf::internal::VarintSize64
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipField
  - google::protobuf::internal::FieldSkipper::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::WriteArray
  - google::protobuf::internal::WireFormatLite::WriteFloatArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteBoolArray
  - google::protobuf::internal::WireFormatLite::WriteInt32
  - google::protobuf::internal::WireFormatLite::WriteInt64
  - google::protobuf::internal::WireFormatLite::WriteUInt32
  - google::protobuf::internal::WireFormatLite::WriteUInt64
  - google::protobuf::internal::WireFormatLite::WriteSInt32
  - google::protobuf::internal::WireFormatLite::WriteSInt64
  - google::protobuf::internal::WireFormatLite::WriteFixed32
  - google::protobuf::internal::WireFormatLite::WriteFixed64
  - google::protobuf::internal::WireFormatLite::WriteSFixed32
  - google::protobuf::internal::WireFormatLite::WriteSFixed64
  - google::protobuf::internal::WireFormatLite::WriteFloat
  - google::protobuf::internal::WireFormatLite::WriteDouble
  - google::protobuf::internal::WireFormatLite::WriteBool
  - google::protobuf::internal::WireFormatLite::WriteEnum
  - google::protobuf::internal::WireFormatLite::WriteString
  - google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteBytes
  - google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteGroup
  - google::protobuf::internal::WireFormatLite::WriteMessage
  - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
  - google::protobuf::internal::ReadBytesToString
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::PrintUTF8ErrorLog
  - google::protobuf::internal::WireFormatLite::VerifyUtf8String
  - google::protobuf::internal::VarintSize
  - google::protobuf::internal::VarintSize64
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipField
  - google::protobuf::internal::FieldSkipper::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::WriteArray
  - google::protobuf::internal::WireFormatLite::WriteFloatArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteBoolArray
  - google::protobuf::internal::WireFormatLite::WriteInt32
  - google::protobuf::internal::WireFormatLite::WriteInt64
  - google::protobuf::internal::WireFormatLite::WriteUInt32
  - google::protobuf::internal::WireFormatLite::WriteUInt64
  - google::protobuf::internal::WireFormatLite::WriteSInt32
  - google::protobuf::internal::WireFormatLite::WriteSInt64
  - google::protobuf::internal::WireFormatLite::WriteFixed32
  - google::protobuf::internal::WireFormatLite::WriteFixed64
  - google::protobuf::internal::WireFormatLite::WriteSFixed32
  - google::protobuf::internal::WireFormatLite::WriteSFixed64
  - google::protobuf::internal::WireFormatLite::WriteFloat
  - google::protobuf::internal::WireFormatLite::WriteDouble
  - google::protobuf::internal::WireFormatLite::WriteBool
  - google::protobuf::internal::WireFormatLite::WriteEnum
  - google::protobuf::internal::WireFormatLite::WriteString
  - google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteBytes
  - google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteGroup
  - google::protobuf::internal::WireFormatLite::WriteMessage
  - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
  - google::protobuf::internal::ReadBytesToString
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::PrintUTF8ErrorLog
  - google::protobuf::internal::WireFormatLite::VerifyUtf8String
  - google::protobuf::internal::VarintSize
  - google::protobuf::internal::VarintSize64
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipField
  - google::protobuf::internal::FieldSkipper::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::WriteArray
  - google::protobuf::internal::WireFormatLite::WriteFloatArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteBoolArray
  - google::protobuf::internal::WireFormatLite::WriteInt32
  - google::protobuf::internal::WireFormatLite::WriteInt64
  - google::protobuf::internal::WireFormatLite::WriteUInt32
  - google::protobuf::internal::WireFormatLite::WriteUInt64
  - google::protobuf::internal::WireFormatLite::WriteSInt32
  - google::protobuf::internal::WireFormatLite::WriteSInt64
  - google::protobuf::internal::WireFormatLite::WriteFixed32
  - google::protobuf::internal::WireFormatLite::WriteFixed64
  - google::protobuf::internal::WireFormatLite::WriteSFixed32
  - google::protobuf::internal::WireFormatLite::WriteSFixed64
  - google::protobuf::internal::WireFormatLite::WriteFloat
  - google::protobuf::internal::WireFormatLite::WriteDouble
  - google::protobuf::internal::WireFormatLite::WriteBool
  - google::protobuf::internal::WireFormatLite::WriteEnum
  - google::protobuf::internal::WireFormatLite::WriteString
  - google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteBytes
  - google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteGroup
  - google::protobuf::internal::WireFormatLite::WriteMessage
  - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
  - google::protobuf::internal::ReadBytesToString
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::PrintUTF8ErrorLog
  - google::protobuf::internal::WireFormatLite::VerifyUtf8String
  - google::protobuf::internal::VarintSize
  - google::protobuf::internal::VarintSize64
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipField
  - google::protobuf::internal::FieldSkipper::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::WriteArray
  - google::protobuf::internal::WireFormatLite::WriteFloatArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteBoolArray
  - google::protobuf::internal::WireFormatLite::WriteInt32
  - google::protobuf::internal::WireFormatLite::WriteInt64
  - google::protobuf::internal::WireFormatLite::WriteUInt32
  - google::protobuf::internal::WireFormatLite::WriteUInt64
  - google::protobuf::internal::WireFormatLite::WriteSInt32
  - google::protobuf::internal::WireFormatLite::WriteSInt64
  - google::protobuf::internal::WireFormatLite::WriteFixed32
  - google::protobuf::internal::WireFormatLite::WriteFixed64
  - google::protobuf::internal::WireFormatLite::WriteSFixed32
  - google::protobuf::internal::WireFormatLite::WriteSFixed64
  - google::protobuf::internal::WireFormatLite::WriteFloat
  - google::protobuf::internal::WireFormatLite::WriteDouble
  - google::protobuf::internal::WireFormatLite::WriteBool
  - google::protobuf::internal::WireFormatLite::WriteEnum
  - google::protobuf::internal::WireFormatLite::WriteString
  - google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteBytes
  - google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteGroup
  - google::protobuf::internal::WireFormatLite::WriteMessage
  - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
  - google::protobuf::internal::ReadBytesToString
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::PrintUTF8ErrorLog
  - google::protobuf::internal::WireFormatLite::VerifyUtf8String
  - google::protobuf::internal::VarintSize
  - google::protobuf::internal::VarintSize64
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipField
  - google::protobuf::internal::FieldSkipper::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::WriteArray
  - google::protobuf::internal::WireFormatLite::WriteFloatArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteBoolArray
  - google::protobuf::internal::WireFormatLite::WriteInt32
  - google::protobuf::internal::WireFormatLite::WriteInt64
  - google::protobuf::internal::WireFormatLite::WriteUInt32
  - google::protobuf::internal::WireFormatLite::WriteUInt64
  - google::protobuf::internal::WireFormatLite::WriteSInt32
  - google::protobuf::internal::WireFormatLite::WriteSInt64
  - google::protobuf::internal::WireFormatLite::WriteFixed32
  - google::protobuf::internal::WireFormatLite::WriteFixed64
  - google::protobuf::internal::WireFormatLite::WriteSFixed32
  - google::protobuf::internal::WireFormatLite::WriteSFixed64
  - google::protobuf::internal::WireFormatLite::WriteFloat
  - google::protobuf::internal::WireFormatLite::WriteDouble
  - google::protobuf::internal::WireFormatLite::WriteBool
  - google::protobuf::internal::WireFormatLite::WriteEnum
  - google::protobuf::internal::WireFormatLite::WriteString
  - google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteBytes
  - google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteGroup
  - google::protobuf::internal::WireFormatLite::WriteMessage
  - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
  - google::protobuf::internal::ReadBytesToString
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::PrintUTF8ErrorLog
  - google::protobuf::internal::WireFormatLite::VerifyUtf8String
  - google::protobuf::internal::VarintSize
  - google::protobuf::internal::VarintSize64
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipField
  - google::protobuf::internal::FieldSkipper::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::WriteArray
  - google::protobuf::internal::WireFormatLite::WriteFloatArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteBoolArray
  - google::protobuf::internal::WireFormatLite::WriteInt32
  - google::protobuf::internal::WireFormatLite::WriteInt64
  - google::protobuf::internal::WireFormatLite::WriteUInt32
  - google::protobuf::internal::WireFormatLite::WriteUInt64
  - google::protobuf::internal::WireFormatLite::WriteSInt32
  - google::protobuf::internal::WireFormatLite::WriteSInt64
  - google::protobuf::internal::WireFormatLite::WriteFixed32
  - google::protobuf::internal::WireFormatLite::WriteFixed64
  - google::protobuf::internal::WireFormatLite::WriteSFixed32
  - google::protobuf::internal::WireFormatLite::WriteSFixed64
  - google::protobuf::internal::WireFormatLite::WriteFloat
  - google::protobuf::internal::WireFormatLite::WriteDouble
  - google::protobuf::internal::WireFormatLite::WriteBool
  - google::protobuf::internal::WireFormatLite::WriteEnum
  - google::protobuf::internal::WireFormatLite::WriteString
  - google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteBytes
  - google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteGroup
  - google::protobuf::internal::WireFormatLite::WriteMessage
  - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
  - google::protobuf::internal::ReadBytesToString
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::PrintUTF8ErrorLog
  - google::protobuf::internal::WireFormatLite::VerifyUtf8String
  - google::protobuf::internal::VarintSize
  - google::protobuf::internal::VarintSize64
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipField
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::WireFormatLite::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipField
  - google::protobuf::internal::FieldSkipper::SkipMessage
  - google::protobuf::internal::FieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipField
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipMessage
  - google::protobuf::internal::CodedOutputStreamFieldSkipper::SkipUnknownEnum
  - google::protobuf::internal::WireFormatLite::ReadPackedEnumPreserveUnknowns
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::EncodeFixedSizeValue
  - google::protobuf::internal::WriteArray
  - google::protobuf::internal::WireFormatLite::WriteFloatArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed32Array
  - google::protobuf::internal::WireFormatLite::WriteSFixed64Array
  - google::protobuf::internal::WireFormatLite::WriteBoolArray
  - google::protobuf::internal::WireFormatLite::WriteInt32
  - google::protobuf::internal::WireFormatLite::WriteInt64
  - google::protobuf::internal::WireFormatLite::WriteUInt32
  - google::protobuf::internal::WireFormatLite::WriteUInt64
  - google::protobuf::internal::WireFormatLite::WriteSInt32
  - google::protobuf::internal::WireFormatLite::WriteSInt64
  - google::protobuf::internal::WireFormatLite::WriteFixed32
  - google::protobuf::internal::WireFormatLite::WriteFixed64
  - google::protobuf::internal::WireFormatLite::WriteSFixed32
  - google::protobuf::internal::WireFormatLite::WriteSFixed64
  - google::protobuf::internal::WireFormatLite::WriteFloat
  - google::protobuf::internal::WireFormatLite::WriteDouble
  - google::protobuf::internal::WireFormatLite::WriteBool
  - google::protobuf::internal::WireFormatLite::WriteEnum
  - google::protobuf::internal::WireFormatLite::WriteString
  - google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteBytes
  - google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased
  - google::protobuf::internal::WireFormatLite::WriteGroup
  - google::protobuf::internal::WireFormatLite::WriteMessage
  - google::protobuf::internal::WireFormatLite::WriteSubMessageMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteGroupMaybeToArray
  - google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray
  - google::protobuf::internal::ReadBytesToString
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::WireFormatLite::ReadBytes
  - google::protobuf::internal::PrintUTF8ErrorLog
  - google::protobuf::internal::WireFormatLite::VerifyUtf8String
  - google::protobuf::internal::VarintSize
  - google::protobuf::internal::VarintSize64
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  source_file: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_SSE_FOR_64_BIT_INTEGER_ARRAYS
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_SSE_FOR_64_BIT_INTEGER_ARRAYS
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_SSE_FOR_64_BIT_INTEGER_ARRAYS
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_SSE_FOR_64_BIT_INTEGER_ARRAYS
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_SSE_FOR_64_BIT_INTEGER_ARRAYS
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_SSE_FOR_64_BIT_INTEGER_ARRAYS
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_SSE_FOR_64_BIT_INTEGER_ARRAYS
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
      type_or_value: '0'
    - item_type: preproc_def
      name: USE_SSE_FOR_64_BIT_INTEGER_ARRAYS
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/sentencepiece/third_party/protobuf-lite/wire_format_lite.cc
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  - google::protobuf::util::internal::StatusOrHelper::Crash
  source_file: /src/sentencepiece/third_party/protobuf-lite/statusor.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lseek
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::FileInputStream::FileInputStream
  - google::protobuf::io::FileInputStream::Close
  - google::protobuf::io::FileInputStream::Next
  - google::protobuf::io::FileInputStream::BackUp
  - google::protobuf::io::FileInputStream::Skip
  - google::protobuf::io::FileInputStream::ByteCount
  - "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n    int file_descriptor)"
  - FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - FileInputStream::CopyingFileInputStream::Close()
  - FileInputStream::CopyingFileInputStream::Read(void* buffer, int size)
  - FileInputStream::CopyingFileInputStream::Skip(int count)
  - google::protobuf::io::FileOutputStream::FileOutputStream
  - google::protobuf::io::FileOutputStream::Close
  - "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n    int
    file_descriptor)"
  - FileOutputStream::~FileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::Close()
  - "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n                                                      int
    size)"
  - google::protobuf::io::IstreamInputStream::IstreamInputStream
  - google::protobuf::io::IstreamInputStream::Next
  - google::protobuf::io::IstreamInputStream::BackUp
  - google::protobuf::io::IstreamInputStream::Skip
  - google::protobuf::io::IstreamInputStream::ByteCount
  - "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n    std::istream*
    input)"
  - IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n                                                        int
    size)"
  - google::protobuf::io::OstreamOutputStream::OstreamOutputStream
  - OstreamOutputStream::~OstreamOutputStream()
  - google::protobuf::io::OstreamOutputStream::Next
  - google::protobuf::io::OstreamOutputStream::BackUp
  - google::protobuf::io::OstreamOutputStream::ByteCount
  - "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
    \   std::ostream* output)"
  - OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void* buffer,\n
    \                                                           int size)"
  - google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
  - google::protobuf::io::ConcatenatingInputStream::Next
  - google::protobuf::io::ConcatenatingInputStream::BackUp
  - google::protobuf::io::ConcatenatingInputStream::Skip
  - google::protobuf::io::ConcatenatingInputStream::ByteCount
  - lseek
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::FileInputStream::FileInputStream
  - google::protobuf::io::FileInputStream::Close
  - google::protobuf::io::FileInputStream::Next
  - google::protobuf::io::FileInputStream::BackUp
  - google::protobuf::io::FileInputStream::Skip
  - google::protobuf::io::FileInputStream::ByteCount
  - "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n    int file_descriptor)"
  - FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - FileInputStream::CopyingFileInputStream::Close()
  - FileInputStream::CopyingFileInputStream::Read(void* buffer, int size)
  - FileInputStream::CopyingFileInputStream::Skip(int count)
  - google::protobuf::io::FileOutputStream::FileOutputStream
  - google::protobuf::io::FileOutputStream::Close
  - "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n    int
    file_descriptor)"
  - FileOutputStream::~FileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::Close()
  - "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n                                                      int
    size)"
  - google::protobuf::io::IstreamInputStream::IstreamInputStream
  - google::protobuf::io::IstreamInputStream::Next
  - google::protobuf::io::IstreamInputStream::BackUp
  - google::protobuf::io::IstreamInputStream::Skip
  - google::protobuf::io::IstreamInputStream::ByteCount
  - "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n    std::istream*
    input)"
  - IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n                                                        int
    size)"
  - google::protobuf::io::OstreamOutputStream::OstreamOutputStream
  - OstreamOutputStream::~OstreamOutputStream()
  - google::protobuf::io::OstreamOutputStream::Next
  - google::protobuf::io::OstreamOutputStream::BackUp
  - google::protobuf::io::OstreamOutputStream::ByteCount
  - "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
    \   std::ostream* output)"
  - OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void* buffer,\n
    \                                                           int size)"
  - google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
  - google::protobuf::io::ConcatenatingInputStream::Next
  - google::protobuf::io::ConcatenatingInputStream::BackUp
  - google::protobuf::io::ConcatenatingInputStream::Skip
  - google::protobuf::io::ConcatenatingInputStream::ByteCount
  - lseek
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::FileInputStream::FileInputStream
  - google::protobuf::io::FileInputStream::Close
  - google::protobuf::io::FileInputStream::Next
  - google::protobuf::io::FileInputStream::BackUp
  - google::protobuf::io::FileInputStream::Skip
  - google::protobuf::io::FileInputStream::ByteCount
  - "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n    int file_descriptor)"
  - FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - FileInputStream::CopyingFileInputStream::Close()
  - FileInputStream::CopyingFileInputStream::Read(void* buffer, int size)
  - FileInputStream::CopyingFileInputStream::Skip(int count)
  - google::protobuf::io::FileOutputStream::FileOutputStream
  - google::protobuf::io::FileOutputStream::Close
  - "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n    int
    file_descriptor)"
  - FileOutputStream::~FileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::Close()
  - "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n                                                      int
    size)"
  - google::protobuf::io::IstreamInputStream::IstreamInputStream
  - google::protobuf::io::IstreamInputStream::Next
  - google::protobuf::io::IstreamInputStream::BackUp
  - google::protobuf::io::IstreamInputStream::Skip
  - google::protobuf::io::IstreamInputStream::ByteCount
  - "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n    std::istream*
    input)"
  - IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n                                                        int
    size)"
  - google::protobuf::io::OstreamOutputStream::OstreamOutputStream
  - OstreamOutputStream::~OstreamOutputStream()
  - google::protobuf::io::OstreamOutputStream::Next
  - google::protobuf::io::OstreamOutputStream::BackUp
  - google::protobuf::io::OstreamOutputStream::ByteCount
  - "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
    \   std::ostream* output)"
  - OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void* buffer,\n
    \                                                           int size)"
  - google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
  - google::protobuf::io::ConcatenatingInputStream::Next
  - google::protobuf::io::ConcatenatingInputStream::BackUp
  - google::protobuf::io::ConcatenatingInputStream::Skip
  - google::protobuf::io::ConcatenatingInputStream::ByteCount
  - lseek
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::FileInputStream::FileInputStream
  - google::protobuf::io::FileInputStream::Close
  - google::protobuf::io::FileInputStream::Next
  - google::protobuf::io::FileInputStream::BackUp
  - google::protobuf::io::FileInputStream::Skip
  - google::protobuf::io::FileInputStream::ByteCount
  - "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n    int file_descriptor)"
  - FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - FileInputStream::CopyingFileInputStream::Close()
  - FileInputStream::CopyingFileInputStream::Read(void* buffer, int size)
  - FileInputStream::CopyingFileInputStream::Skip(int count)
  - google::protobuf::io::FileOutputStream::FileOutputStream
  - google::protobuf::io::FileOutputStream::Close
  - "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n    int
    file_descriptor)"
  - FileOutputStream::~FileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::Close()
  - "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n                                                      int
    size)"
  - google::protobuf::io::IstreamInputStream::IstreamInputStream
  - google::protobuf::io::IstreamInputStream::Next
  - google::protobuf::io::IstreamInputStream::BackUp
  - google::protobuf::io::IstreamInputStream::Skip
  - google::protobuf::io::IstreamInputStream::ByteCount
  - "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n    std::istream*
    input)"
  - IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n                                                        int
    size)"
  - google::protobuf::io::OstreamOutputStream::OstreamOutputStream
  - OstreamOutputStream::~OstreamOutputStream()
  - google::protobuf::io::OstreamOutputStream::Next
  - google::protobuf::io::OstreamOutputStream::BackUp
  - google::protobuf::io::OstreamOutputStream::ByteCount
  - "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
    \   std::ostream* output)"
  - OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void* buffer,\n
    \                                                           int size)"
  - google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
  - google::protobuf::io::ConcatenatingInputStream::Next
  - google::protobuf::io::ConcatenatingInputStream::BackUp
  - google::protobuf::io::ConcatenatingInputStream::Skip
  - google::protobuf::io::ConcatenatingInputStream::ByteCount
  - lseek
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::FileInputStream::FileInputStream
  - google::protobuf::io::FileInputStream::Close
  - google::protobuf::io::FileInputStream::Next
  - google::protobuf::io::FileInputStream::BackUp
  - google::protobuf::io::FileInputStream::Skip
  - google::protobuf::io::FileInputStream::ByteCount
  - "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n    int file_descriptor)"
  - FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - FileInputStream::CopyingFileInputStream::Close()
  - FileInputStream::CopyingFileInputStream::Read(void* buffer, int size)
  - FileInputStream::CopyingFileInputStream::Skip(int count)
  - google::protobuf::io::FileOutputStream::FileOutputStream
  - google::protobuf::io::FileOutputStream::Close
  - "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n    int
    file_descriptor)"
  - FileOutputStream::~FileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::Close()
  - "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n                                                      int
    size)"
  - google::protobuf::io::IstreamInputStream::IstreamInputStream
  - google::protobuf::io::IstreamInputStream::Next
  - google::protobuf::io::IstreamInputStream::BackUp
  - google::protobuf::io::IstreamInputStream::Skip
  - google::protobuf::io::IstreamInputStream::ByteCount
  - "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n    std::istream*
    input)"
  - IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n                                                        int
    size)"
  - google::protobuf::io::OstreamOutputStream::OstreamOutputStream
  - OstreamOutputStream::~OstreamOutputStream()
  - google::protobuf::io::OstreamOutputStream::Next
  - google::protobuf::io::OstreamOutputStream::BackUp
  - google::protobuf::io::OstreamOutputStream::ByteCount
  - "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
    \   std::ostream* output)"
  - OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void* buffer,\n
    \                                                           int size)"
  - google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
  - google::protobuf::io::ConcatenatingInputStream::Next
  - google::protobuf::io::ConcatenatingInputStream::BackUp
  - google::protobuf::io::ConcatenatingInputStream::Skip
  - google::protobuf::io::ConcatenatingInputStream::ByteCount
  - lseek
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::FileInputStream::FileInputStream
  - google::protobuf::io::FileInputStream::Close
  - google::protobuf::io::FileInputStream::Next
  - google::protobuf::io::FileInputStream::BackUp
  - google::protobuf::io::FileInputStream::Skip
  - google::protobuf::io::FileInputStream::ByteCount
  - "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n    int file_descriptor)"
  - FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - FileInputStream::CopyingFileInputStream::Close()
  - FileInputStream::CopyingFileInputStream::Read(void* buffer, int size)
  - FileInputStream::CopyingFileInputStream::Skip(int count)
  - google::protobuf::io::FileOutputStream::FileOutputStream
  - google::protobuf::io::FileOutputStream::Close
  - "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n    int
    file_descriptor)"
  - FileOutputStream::~FileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::Close()
  - "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n                                                      int
    size)"
  - google::protobuf::io::IstreamInputStream::IstreamInputStream
  - google::protobuf::io::IstreamInputStream::Next
  - google::protobuf::io::IstreamInputStream::BackUp
  - google::protobuf::io::IstreamInputStream::Skip
  - google::protobuf::io::IstreamInputStream::ByteCount
  - "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n    std::istream*
    input)"
  - IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n                                                        int
    size)"
  - google::protobuf::io::OstreamOutputStream::OstreamOutputStream
  - OstreamOutputStream::~OstreamOutputStream()
  - google::protobuf::io::OstreamOutputStream::Next
  - google::protobuf::io::OstreamOutputStream::BackUp
  - google::protobuf::io::OstreamOutputStream::ByteCount
  - "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
    \   std::ostream* output)"
  - OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void* buffer,\n
    \                                                           int size)"
  - google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
  - google::protobuf::io::ConcatenatingInputStream::Next
  - google::protobuf::io::ConcatenatingInputStream::BackUp
  - google::protobuf::io::ConcatenatingInputStream::Skip
  - google::protobuf::io::ConcatenatingInputStream::ByteCount
  - lseek
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::FileInputStream::FileInputStream
  - google::protobuf::io::FileInputStream::Close
  - google::protobuf::io::FileInputStream::Next
  - google::protobuf::io::FileInputStream::BackUp
  - google::protobuf::io::FileInputStream::Skip
  - google::protobuf::io::FileInputStream::ByteCount
  - "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n    int file_descriptor)"
  - FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - FileInputStream::CopyingFileInputStream::Close()
  - FileInputStream::CopyingFileInputStream::Read(void* buffer, int size)
  - FileInputStream::CopyingFileInputStream::Skip(int count)
  - google::protobuf::io::FileOutputStream::FileOutputStream
  - google::protobuf::io::FileOutputStream::Close
  - "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n    int
    file_descriptor)"
  - FileOutputStream::~FileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::Close()
  - "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n                                                      int
    size)"
  - google::protobuf::io::IstreamInputStream::IstreamInputStream
  - google::protobuf::io::IstreamInputStream::Next
  - google::protobuf::io::IstreamInputStream::BackUp
  - google::protobuf::io::IstreamInputStream::Skip
  - google::protobuf::io::IstreamInputStream::ByteCount
  - "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n    std::istream*
    input)"
  - IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n                                                        int
    size)"
  - google::protobuf::io::OstreamOutputStream::OstreamOutputStream
  - OstreamOutputStream::~OstreamOutputStream()
  - google::protobuf::io::OstreamOutputStream::Next
  - google::protobuf::io::OstreamOutputStream::BackUp
  - google::protobuf::io::OstreamOutputStream::ByteCount
  - "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
    \   std::ostream* output)"
  - OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void* buffer,\n
    \                                                           int size)"
  - google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
  - google::protobuf::io::ConcatenatingInputStream::Next
  - google::protobuf::io::ConcatenatingInputStream::BackUp
  - google::protobuf::io::ConcatenatingInputStream::Skip
  - google::protobuf::io::ConcatenatingInputStream::ByteCount
  - lseek
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::close_no_eintr
  - google::protobuf::io::FileInputStream::FileInputStream
  - google::protobuf::io::FileInputStream::Close
  - google::protobuf::io::FileInputStream::Next
  - google::protobuf::io::FileInputStream::BackUp
  - google::protobuf::io::FileInputStream::Skip
  - google::protobuf::io::FileInputStream::ByteCount
  - "FileInputStream::CopyingFileInputStream::CopyingFileInputStream(\n    int file_descriptor)"
  - FileInputStream::CopyingFileInputStream::~CopyingFileInputStream()
  - FileInputStream::CopyingFileInputStream::Close()
  - FileInputStream::CopyingFileInputStream::Read(void* buffer, int size)
  - FileInputStream::CopyingFileInputStream::Skip(int count)
  - google::protobuf::io::FileOutputStream::FileOutputStream
  - google::protobuf::io::FileOutputStream::Close
  - "FileOutputStream::CopyingFileOutputStream::CopyingFileOutputStream(\n    int
    file_descriptor)"
  - FileOutputStream::~FileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::~CopyingFileOutputStream()
  - FileOutputStream::CopyingFileOutputStream::Close()
  - "FileOutputStream::CopyingFileOutputStream::Write(const void* buffer,\n                                                      int
    size)"
  - google::protobuf::io::IstreamInputStream::IstreamInputStream
  - google::protobuf::io::IstreamInputStream::Next
  - google::protobuf::io::IstreamInputStream::BackUp
  - google::protobuf::io::IstreamInputStream::Skip
  - google::protobuf::io::IstreamInputStream::ByteCount
  - "IstreamInputStream::CopyingIstreamInputStream::CopyingIstreamInputStream(\n    std::istream*
    input)"
  - IstreamInputStream::CopyingIstreamInputStream::~CopyingIstreamInputStream()
  - "IstreamInputStream::CopyingIstreamInputStream::Read(void* buffer,\n                                                        int
    size)"
  - google::protobuf::io::OstreamOutputStream::OstreamOutputStream
  - OstreamOutputStream::~OstreamOutputStream()
  - google::protobuf::io::OstreamOutputStream::Next
  - google::protobuf::io::OstreamOutputStream::BackUp
  - google::protobuf::io::OstreamOutputStream::ByteCount
  - "OstreamOutputStream::CopyingOstreamOutputStream::CopyingOstreamOutputStream(\n
    \   std::ostream* output)"
  - OstreamOutputStream::CopyingOstreamOutputStream::~CopyingOstreamOutputStream()
  - "OstreamOutputStream::CopyingOstreamOutputStream::Write(const void* buffer,\n
    \                                                           int size)"
  - google::protobuf::io::ConcatenatingInputStream::ConcatenatingInputStream
  - google::protobuf::io::ConcatenatingInputStream::Next
  - google::protobuf::io::ConcatenatingInputStream::BackUp
  - google::protobuf::io::ConcatenatingInputStream::Skip
  - google::protobuf::io::ConcatenatingInputStream::ByteCount
  source_file: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream_impl.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - va_copy
  - google::protobuf::StringAppendV
  - google::protobuf::StringPrintf
  - google::protobuf::SStringPrintf
  - google::protobuf::StringAppendF
  - google::protobuf::StringPrintfVector
  - va_copy
  - google::protobuf::StringAppendV
  - google::protobuf::StringPrintf
  - google::protobuf::SStringPrintf
  - google::protobuf::StringAppendF
  - google::protobuf::StringPrintfVector
  - va_copy
  - google::protobuf::StringAppendV
  - google::protobuf::StringPrintf
  - google::protobuf::SStringPrintf
  - google::protobuf::StringAppendF
  - google::protobuf::StringPrintfVector
  - va_copy
  - google::protobuf::StringAppendV
  - google::protobuf::StringPrintf
  - google::protobuf::SStringPrintf
  - google::protobuf::StringAppendF
  - google::protobuf::StringPrintfVector
  source_file: /src/sentencepiece/third_party/protobuf-lite/stringprintf.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MergePartialFromCodedStreamLite
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MergePartialFromCodedStreamLite
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MergePartialFromCodedStreamLite
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MergePartialFromCodedStreamLite
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MergePartialFromCodedStreamLite
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MergePartialFromCodedStreamLite
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MergePartialFromCodedStreamLite
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MutableUnknownFields
  - google::protobuf::internal::IsLite
  - google::protobuf::internal::Skip
  - google::protobuf::internal::Varint
  - google::protobuf::internal::ParseExtension
  - google::protobuf::internal::MergePartialFromCodedStreamLite
  source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    - fields: []
      item_type: struct
      name: UnknownFieldHandlerLite
      pos:
        line_end: 93
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/generated_message_table_driven_lite.cc
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsToDateTime
  - google::protobuf::internal::DateTimeToSeconds
  - google::protobuf::internal::GetCurrentTime
  - google::protobuf::internal::FormatTime
  - google::protobuf::internal::ParseTime
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsToDateTime
  - google::protobuf::internal::DateTimeToSeconds
  - google::protobuf::internal::GetCurrentTime
  - google::protobuf::internal::FormatTime
  - google::protobuf::internal::ParseTime
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsToDateTime
  - google::protobuf::internal::DateTimeToSeconds
  - google::protobuf::internal::GetCurrentTime
  - google::protobuf::internal::FormatTime
  - google::protobuf::internal::ParseTime
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsToDateTime
  - google::protobuf::internal::DateTimeToSeconds
  - google::protobuf::internal::GetCurrentTime
  - google::protobuf::internal::FormatTime
  - google::protobuf::internal::ParseTime
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsToDateTime
  - google::protobuf::internal::DateTimeToSeconds
  - google::protobuf::internal::GetCurrentTime
  - google::protobuf::internal::FormatTime
  - google::protobuf::internal::ParseTime
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsToDateTime
  - google::protobuf::internal::DateTimeToSeconds
  - google::protobuf::internal::GetCurrentTime
  - google::protobuf::internal::FormatTime
  - google::protobuf::internal::ParseTime
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsToDateTime
  - google::protobuf::internal::DateTimeToSeconds
  - google::protobuf::internal::GetCurrentTime
  - google::protobuf::internal::FormatTime
  - google::protobuf::internal::ParseTime
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsPer100Years
  - google::protobuf::internal::SecondsPer4Years
  - google::protobuf::internal::IsLeapYear
  - google::protobuf::internal::SecondsPerYear
  - google::protobuf::internal::SecondsPerMonth
  - google::protobuf::internal::ValidateDateTime
  - google::protobuf::internal::SecondsSinceCommonEra
  - google::protobuf::internal::FormatNanos
  - google::protobuf::internal::ParseInt
  - google::protobuf::internal::ParseNanos
  - google::protobuf::internal::ParseTimezoneOffset
  - google::protobuf::internal::SecondsToDateTime
  - google::protobuf::internal::DateTimeToSeconds
  - google::protobuf::internal::GetCurrentTime
  - google::protobuf::internal::FormatTime
  - google::protobuf::internal::ParseTime
  source_file: /src/sentencepiece/third_party/protobuf-lite/time.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
  - google::protobuf::io::ZeroCopyOutputStream::WriteAliasedRaw
  source_file: /src/sentencepiece/third_party/protobuf-lite/zero_copy_stream.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::ConstantInitialized
  - google::protobuf::internal::ToCachedSize
  - google::protobuf::internal::FromIntSize
  - google::protobuf::internal::ToIntSize
  - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
  - google::protobuf::internal::ExplicitlyConstructed::Construct
  - google::protobuf::internal::ExplicitlyConstructed::Destruct
  - '& get() const'
  - google::protobuf::internal::ExplicitlyConstructed::get_mutable
  - google::protobuf::internal::EmptyString
  - google::protobuf::internal::EmptyString
  - ~EmptyString()
  - google::protobuf::internal::GetEmptyStringAlreadyInited
  - google::protobuf::internal::ConstantInitialized
  - google::protobuf::internal::ToCachedSize
  - google::protobuf::internal::FromIntSize
  - google::protobuf::internal::ToIntSize
  - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
  - google::protobuf::internal::ExplicitlyConstructed::Construct
  - google::protobuf::internal::ExplicitlyConstructed::Destruct
  - '& get() const'
  - google::protobuf::internal::ExplicitlyConstructed::get_mutable
  - google::protobuf::internal::EmptyString
  - google::protobuf::internal::EmptyString
  - ~EmptyString()
  - google::protobuf::internal::GetEmptyStringAlreadyInited
  - google::protobuf::MessageLite
  - ~MessageLite()
  - google::protobuf::GetArena
  - google::protobuf::GetMaybeArenaPointer
  - google::protobuf::ShortDebugString
  - google::protobuf::Utf8DebugString
  - google::protobuf::ByteSize
  - google::protobuf::SerializeWithCachedSizes
  - google::protobuf::_InternalParse
  - google::protobuf::CreateMaybeMessage
  - google::protobuf::MessageLite
  - google::protobuf::IsInitializedWithErrors
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::MessageLite::ParseFrom
  - google::protobuf::internal::OnShutdownDelete
  - google::protobuf::internal::OnShutdownDelete
  - google::protobuf::internal::ConstantInitialized
  - google::protobuf::internal::ToCachedSize
  - google::protobuf::internal::FromIntSize
  - google::protobuf::internal::ToIntSize
  - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
  - google::protobuf::internal::ExplicitlyConstructed::Construct
  - google::protobuf::internal::ExplicitlyConstructed::Destruct
  - '& get() const'
  - google::protobuf::internal::ExplicitlyConstructed::get_mutable
  - google::protobuf::internal::EmptyString
  - google::protobuf::internal::EmptyString
  - ~EmptyString()
  - google::protobuf::internal::GetEmptyStringAlreadyInited
  - google::protobuf::internal::ConstantInitialized
  - google::protobuf::internal::ToCachedSize
  - google::protobuf::internal::FromIntSize
  - google::protobuf::internal::ToIntSize
  - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
  - google::protobuf::internal::ExplicitlyConstructed::Construct
  - google::protobuf::internal::ExplicitlyConstructed::Destruct
  - '& get() const'
  - google::protobuf::internal::ExplicitlyConstructed::get_mutable
  - google::protobuf::internal::EmptyString
  - google::protobuf::internal::EmptyString
  - ~EmptyString()
  - google::protobuf::internal::GetEmptyStringAlreadyInited
  - google::protobuf::MessageLite
  - ~MessageLite()
  - google::protobuf::GetArena
  - google::protobuf::GetMaybeArenaPointer
  - google::protobuf::ShortDebugString
  - google::protobuf::Utf8DebugString
  - google::protobuf::ByteSize
  - google::protobuf::SerializeWithCachedSizes
  - google::protobuf::_InternalParse
  - google::protobuf::CreateMaybeMessage
  - google::protobuf::MessageLite
  - google::protobuf::IsInitializedWithErrors
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::MessageLite::ParseFrom
  - google::protobuf::internal::OnShutdownDelete
  - google::protobuf::internal::OnShutdownDelete
  - google::protobuf::internal::ConstantInitialized
  - google::protobuf::internal::ToCachedSize
  - google::protobuf::internal::FromIntSize
  - google::protobuf::internal::ToIntSize
  - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
  - google::protobuf::internal::ExplicitlyConstructed::Construct
  - google::protobuf::internal::ExplicitlyConstructed::Destruct
  - '& get() const'
  - google::protobuf::internal::ExplicitlyConstructed::get_mutable
  - google::protobuf::internal::EmptyString
  - google::protobuf::internal::EmptyString
  - ~EmptyString()
  - google::protobuf::internal::GetEmptyStringAlreadyInited
  - google::protobuf::internal::ConstantInitialized
  - google::protobuf::internal::ToCachedSize
  - google::protobuf::internal::FromIntSize
  - google::protobuf::internal::ToIntSize
  - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
  - google::protobuf::internal::ExplicitlyConstructed::Construct
  - google::protobuf::internal::ExplicitlyConstructed::Destruct
  - '& get() const'
  - google::protobuf::internal::ExplicitlyConstructed::get_mutable
  - google::protobuf::internal::EmptyString
  - google::protobuf::internal::EmptyString
  - ~EmptyString()
  - google::protobuf::internal::GetEmptyStringAlreadyInited
  - google::protobuf::MessageLite
  - ~MessageLite()
  - google::protobuf::GetArena
  - google::protobuf::GetMaybeArenaPointer
  - google::protobuf::ShortDebugString
  - google::protobuf::Utf8DebugString
  - google::protobuf::ByteSize
  - google::protobuf::SerializeWithCachedSizes
  - google::protobuf::_InternalParse
  - google::protobuf::CreateMaybeMessage
  - google::protobuf::MessageLite
  - google::protobuf::IsInitializedWithErrors
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::MessageLite::ParseFrom
  - google::protobuf::internal::OnShutdownDelete
  - google::protobuf::internal::OnShutdownDelete
  - google::protobuf::internal::ConstantInitialized
  - google::protobuf::internal::ToCachedSize
  - google::protobuf::internal::FromIntSize
  - google::protobuf::internal::ToIntSize
  - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
  - google::protobuf::internal::ExplicitlyConstructed::Construct
  - google::protobuf::internal::ExplicitlyConstructed::Destruct
  - '& get() const'
  - google::protobuf::internal::ExplicitlyConstructed::get_mutable
  - google::protobuf::internal::EmptyString
  - google::protobuf::internal::EmptyString
  - ~EmptyString()
  - google::protobuf::internal::GetEmptyStringAlreadyInited
  - google::protobuf::internal::ConstantInitialized
  - google::protobuf::internal::ToCachedSize
  - google::protobuf::internal::FromIntSize
  - google::protobuf::internal::ToIntSize
  - google::protobuf::internal::ExplicitlyConstructed::DefaultConstruct
  - google::protobuf::internal::ExplicitlyConstructed::Construct
  - google::protobuf::internal::ExplicitlyConstructed::Destruct
  - '& get() const'
  - google::protobuf::internal::ExplicitlyConstructed::get_mutable
  - google::protobuf::internal::EmptyString
  - google::protobuf::internal::EmptyString
  - ~EmptyString()
  - google::protobuf::internal::GetEmptyStringAlreadyInited
  - google::protobuf::MessageLite
  - ~MessageLite()
  - google::protobuf::GetArena
  - google::protobuf::GetMaybeArenaPointer
  - google::protobuf::ShortDebugString
  - google::protobuf::Utf8DebugString
  - google::protobuf::ByteSize
  - google::protobuf::SerializeWithCachedSizes
  - google::protobuf::_InternalParse
  - google::protobuf::CreateMaybeMessage
  - google::protobuf::MessageLite
  - google::protobuf::IsInitializedWithErrors
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::internal::MergeFromImpl
  - google::protobuf::MessageLite::ParseFrom
  - google::protobuf::internal::OnShutdownDelete
  - google::protobuf::internal::OnShutdownDelete
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
  types:
    enum:
    - enumerators:
      - name: kMerge
        value: '0'
      - name: kParse
        value: '1'
      - name: kMergePartial
        value: '2'
      - name: kParsePartial
        value: '3'
      - name: kMergeWithAliasing
        value: '4'
      - name: kParseWithAliasing
        value: '5'
      - name: kMergePartialWithAliasing
        value: '6'
      - name: kParsePartialWithAliasing
        value: '7'
      item_type: enum
      name: ParseFlags
      pos:
        line_end: 496
        line_start: 487
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - enumerators:
      - name: kMerge
        value: '0'
      - name: kParse
        value: '1'
      - name: kMergePartial
        value: '2'
      - name: kParsePartial
        value: '3'
      - name: kMergeWithAliasing
        value: '4'
      - name: kParseWithAliasing
        value: '5'
      - name: kMergePartialWithAliasing
        value: '6'
      - name: kParsePartialWithAliasing
        value: '7'
      item_type: enum
      name: ParseFlags
      pos:
        line_end: 496
        line_start: 487
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - enumerators:
      - name: kMerge
        value: '0'
      - name: kParse
        value: '1'
      - name: kMergePartial
        value: '2'
      - name: kParsePartial
        value: '3'
      - name: kMergeWithAliasing
        value: '4'
      - name: kParseWithAliasing
        value: '5'
      - name: kMergePartialWithAliasing
        value: '6'
      - name: kParsePartialWithAliasing
        value: '7'
      item_type: enum
      name: ParseFlags
      pos:
        line_end: 496
        line_start: 487
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - enumerators:
      - name: kMerge
        value: '0'
      - name: kParse
        value: '1'
      - name: kMergePartial
        value: '2'
      - name: kParsePartial
        value: '3'
      - name: kMergeWithAliasing
        value: '4'
      - name: kParseWithAliasing
        value: '5'
      - name: kMergePartialWithAliasing
        value: '6'
      - name: kParsePartialWithAliasing
        value: '7'
      item_type: enum
      name: ParseFlags
      pos:
        line_end: 496
        line_start: 487
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: ConstantInitialized
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields: []
      item_type: struct
      name: ConstantInitialized
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: '* zcis'
        type: io::ZeroCopyInputStream
      - name: limit
        type: int
      item_type: struct
      name: BoundedZCIS
      pos:
        line_end: 553
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: '* zcis'
        type: io::ZeroCopyInputStream
      - name: limit
        type: int
      item_type: struct
      name: BoundedZCIS
      pos:
        line_end: 553
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields: []
      item_type: struct
      name: ConstantInitialized
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields: []
      item_type: struct
      name: ConstantInitialized
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: '* zcis'
        type: io::ZeroCopyInputStream
      - name: limit
        type: int
      item_type: struct
      name: BoundedZCIS
      pos:
        line_end: 553
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: '* zcis'
        type: io::ZeroCopyInputStream
      - name: limit
        type: int
      item_type: struct
      name: BoundedZCIS
      pos:
        line_end: 553
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields: []
      item_type: struct
      name: ConstantInitialized
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields: []
      item_type: struct
      name: ConstantInitialized
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: '* zcis'
        type: io::ZeroCopyInputStream
      - name: limit
        type: int
      item_type: struct
      name: BoundedZCIS
      pos:
        line_end: 553
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: '* zcis'
        type: io::ZeroCopyInputStream
      - name: limit
        type: int
      item_type: struct
      name: BoundedZCIS
      pos:
        line_end: 553
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields: []
      item_type: struct
      name: ConstantInitialized
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields: []
      item_type: struct
      name: ConstantInitialized
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: '* zcis'
        type: io::ZeroCopyInputStream
      - name: limit
        type: int
      item_type: struct
      name: BoundedZCIS
      pos:
        line_end: 553
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: '* zcis'
        type: io::ZeroCopyInputStream
      - name: limit
        type: int
      item_type: struct
      name: BoundedZCIS
      pos:
        line_end: 553
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    typedefs: []
    union:
    - fields:
      - name: space[sizeof(T)]
        type: char
      - name: align_to_int64
        type: int64
      - name: '* align_to_ptr'
        type: void
      item_type: union
      name: AlignedUnion
      pos:
        line_end: 150
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: space[sizeof(T)]
        type: char
      - name: align_to_int64
        type: int64
      - name: '* align_to_ptr'
        type: void
      item_type: union
      name: AlignedUnion
      pos:
        line_end: 150
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: space[sizeof(T)]
        type: char
      - name: align_to_int64
        type: int64
      - name: '* align_to_ptr'
        type: void
      item_type: union
      name: AlignedUnion
      pos:
        line_end: 150
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: space[sizeof(T)]
        type: char
      - name: align_to_int64
        type: int64
      - name: '* align_to_ptr'
        type: void
      item_type: union
      name: AlignedUnion
      pos:
        line_end: 150
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: space[sizeof(T)]
        type: char
      - name: align_to_int64
        type: int64
      - name: '* align_to_ptr'
        type: void
      item_type: union
      name: AlignedUnion
      pos:
        line_end: 150
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: space[sizeof(T)]
        type: char
      - name: align_to_int64
        type: int64
      - name: '* align_to_ptr'
        type: void
      item_type: union
      name: AlignedUnion
      pos:
        line_end: 150
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: space[sizeof(T)]
        type: char
      - name: align_to_int64
        type: int64
      - name: '* align_to_ptr'
        type: void
      item_type: union
      name: AlignedUnion
      pos:
        line_end: 150
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
    - fields:
      - name: space[sizeof(T)]
        type: char
      - name: align_to_int64
        type: int64
      - name: '* align_to_ptr'
        type: void
      item_type: union
      name: AlignedUnion
      pos:
        line_end: 150
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/message_lite.h
- function_names:
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::InitProtobufDefaults
  - google::protobuf::internal::GetEmptyString
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::AllAreInitializedWeak
  - google::protobuf::internal::IsPresent
  - google::protobuf::internal::IsOneofPresent
  - google::protobuf::internal::DuplicateIfNonNull
  - google::protobuf::internal::GetOwnedMessage
  - google::protobuf::internal::CachedSize
  - google::protobuf::internal::Set
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::InitProtobufDefaults
  - google::protobuf::internal::GetEmptyString
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::AllAreInitializedWeak
  - google::protobuf::internal::IsPresent
  - google::protobuf::internal::IsOneofPresent
  - google::protobuf::internal::DuplicateIfNonNull
  - google::protobuf::internal::GetOwnedMessage
  - google::protobuf::internal::CachedSize
  - google::protobuf::internal::Set
  - google::protobuf::SCCInfoBase
  - PROTOBUF_ARRAY_SIZE
  - PROTOBUF_ARRAY_SIZE
  - google::protobuf::InitSCC
  - google::protobuf::OnShutdownDestroyMessage
  - google::protobuf::OnShutdownDestroyString
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::InitProtobufDefaults
  - google::protobuf::internal::GetEmptyString
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::AllAreInitializedWeak
  - google::protobuf::internal::IsPresent
  - google::protobuf::internal::IsOneofPresent
  - google::protobuf::internal::DuplicateIfNonNull
  - google::protobuf::internal::GetOwnedMessage
  - google::protobuf::internal::CachedSize
  - google::protobuf::internal::Set
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::InitProtobufDefaults
  - google::protobuf::internal::GetEmptyString
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::AllAreInitializedWeak
  - google::protobuf::internal::IsPresent
  - google::protobuf::internal::IsOneofPresent
  - google::protobuf::internal::DuplicateIfNonNull
  - google::protobuf::internal::GetOwnedMessage
  - google::protobuf::internal::CachedSize
  - google::protobuf::internal::Set
  - google::protobuf::SCCInfoBase
  - PROTOBUF_ARRAY_SIZE
  - PROTOBUF_ARRAY_SIZE
  - google::protobuf::InitSCC
  - google::protobuf::OnShutdownDestroyMessage
  - google::protobuf::OnShutdownDestroyString
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::InitProtobufDefaults
  - google::protobuf::internal::GetEmptyString
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::AllAreInitializedWeak
  - google::protobuf::internal::IsPresent
  - google::protobuf::internal::IsOneofPresent
  - google::protobuf::internal::DuplicateIfNonNull
  - google::protobuf::internal::GetOwnedMessage
  - google::protobuf::internal::CachedSize
  - google::protobuf::internal::Set
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::InitProtobufDefaults
  - google::protobuf::internal::GetEmptyString
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::AllAreInitializedWeak
  - google::protobuf::internal::IsPresent
  - google::protobuf::internal::IsOneofPresent
  - google::protobuf::internal::DuplicateIfNonNull
  - google::protobuf::internal::GetOwnedMessage
  - google::protobuf::internal::CachedSize
  - google::protobuf::internal::Set
  - google::protobuf::SCCInfoBase
  - PROTOBUF_ARRAY_SIZE
  - PROTOBUF_ARRAY_SIZE
  - google::protobuf::InitSCC
  - google::protobuf::OnShutdownDestroyMessage
  - google::protobuf::OnShutdownDestroyString
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::InitProtobufDefaults
  - google::protobuf::internal::GetEmptyString
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::AllAreInitializedWeak
  - google::protobuf::internal::IsPresent
  - google::protobuf::internal::IsOneofPresent
  - google::protobuf::internal::DuplicateIfNonNull
  - google::protobuf::internal::GetOwnedMessage
  - google::protobuf::internal::CachedSize
  - google::protobuf::internal::Set
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::DownCast
  - google::protobuf::internal::InitProtobufDefaults
  - google::protobuf::internal::GetEmptyString
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::AllAreInitializedWeak
  - google::protobuf::internal::IsPresent
  - google::protobuf::internal::IsOneofPresent
  - google::protobuf::internal::DuplicateIfNonNull
  - google::protobuf::internal::GetOwnedMessage
  - google::protobuf::internal::CachedSize
  - google::protobuf::internal::Set
  - google::protobuf::SCCInfoBase
  - PROTOBUF_ARRAY_SIZE
  - PROTOBUF_ARRAY_SIZE
  - google::protobuf::InitSCC
  - google::protobuf::OnShutdownDestroyMessage
  - google::protobuf::OnShutdownDestroyString
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: base
        type: SCCInfoBase
      - name: '* deps[PROTOBUF_ARRAY_SIZE(N)]'
        type: void
      item_type: struct
      name: SCCInfo
      pos:
        line_end: 240
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    - fields:
      - name: base
        type: SCCInfoBase
      - name: '* deps[PROTOBUF_ARRAY_SIZE(N)]'
        type: void
      item_type: struct
      name: SCCInfo
      pos:
        line_end: 240
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    - fields:
      - name: base
        type: SCCInfoBase
      - name: '* deps[PROTOBUF_ARRAY_SIZE(N)]'
        type: void
      item_type: struct
      name: SCCInfo
      pos:
        line_end: 240
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    - fields:
      - name: base
        type: SCCInfoBase
      - name: '* deps[PROTOBUF_ARRAY_SIZE(N)]'
        type: void
      item_type: struct
      name: SCCInfo
      pos:
        line_end: 240
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
    typedefs:
    - item_type: typedef
      name: "(*SpecialSerializer)(const uint8* base, uint32 offset, uint32 tag,\n
        \                                 uint32 has_offset,\n                                  io::CodedOutputStream*
        output)"
      pos:
        line_end: 147
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
      type: void
    - item_type: typedef
      name: "(*SpecialSerializer)(const uint8* base, uint32 offset, uint32 tag,\n
        \                                 uint32 has_offset,\n                                  io::CodedOutputStream*
        output)"
      pos:
        line_end: 147
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
      type: void
    - item_type: typedef
      name: "(*SpecialSerializer)(const uint8* base, uint32 offset, uint32 tag,\n
        \                                 uint32 has_offset,\n                                  io::CodedOutputStream*
        output)"
      pos:
        line_end: 147
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
      type: void
    - item_type: typedef
      name: "(*SpecialSerializer)(const uint8* base, uint32 offset, uint32 tag,\n
        \                                 uint32 has_offset,\n                                  io::CodedOutputStream*
        output)"
      pos:
        line_end: 147
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
      type: void
    - item_type: typedef
      name: "(*SpecialSerializer)(const uint8* base, uint32 offset, uint32 tag,\n
        \                                 uint32 has_offset,\n                                  io::CodedOutputStream*
        output)"
      pos:
        line_end: 147
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
      type: void
    - item_type: typedef
      name: "(*SpecialSerializer)(const uint8* base, uint32 offset, uint32 tag,\n
        \                                 uint32 has_offset,\n                                  io::CodedOutputStream*
        output)"
      pos:
        line_end: 147
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
      type: void
    - item_type: typedef
      name: "(*SpecialSerializer)(const uint8* base, uint32 offset, uint32 tag,\n
        \                                 uint32 has_offset,\n                                  io::CodedOutputStream*
        output)"
      pos:
        line_end: 147
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
      type: void
    - item_type: typedef
      name: "(*SpecialSerializer)(const uint8* base, uint32 offset, uint32 tag,\n
        \                                 uint32 has_offset,\n                                  io::CodedOutputStream*
        output)"
      pos:
        line_end: 147
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_util.h
      type: void
    union: []
- function_names:
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_VARINT_TYPE
  - HANDLE_SVARINT_TYPE
  - HANDLE_FIXED_TYPE
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_VARINT_TYPE
  - HANDLE_SVARINT_TYPE
  - HANDLE_FIXED_TYPE
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_VARINT_TYPE
  - HANDLE_SVARINT_TYPE
  - HANDLE_FIXED_TYPE
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_VARINT_TYPE
  - HANDLE_SVARINT_TYPE
  - HANDLE_FIXED_TYPE
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_VARINT_TYPE
  - HANDLE_SVARINT_TYPE
  - HANDLE_FIXED_TYPE
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_VARINT_TYPE
  - HANDLE_SVARINT_TYPE
  - HANDLE_FIXED_TYPE
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_VARINT_TYPE
  - HANDLE_SVARINT_TYPE
  - HANDLE_FIXED_TYPE
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
  - google::protobuf::internal::ExtensionSet::ParseFieldWithExtensionInfo
  - HANDLE_TYPE
  - HANDLE_VARINT_TYPE
  - HANDLE_SVARINT_TYPE
  - HANDLE_FIXED_TYPE
  - google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set_inl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::DebugStringOptions
  - google::protobuf::internal::LazyDescriptor
  - google::protobuf::internal::Get
  - google::protobuf::internal::LazyDescriptor
  - google::protobuf::internal::Get
  - google::protobuf::DebugStringOptions
  - google::protobuf::internal::LazyDescriptor
  - google::protobuf::internal::Get
  - google::protobuf::internal::LazyDescriptor
  - google::protobuf::internal::Get
  - google::Descriptor
  - google::Descriptor
  - google::FieldDescriptor
  - google::FieldDescriptor
  - google::OneofDescriptor
  - google::OneofDescriptor
  - google::EnumDescriptor
  - google::EnumDescriptor
  - google::EnumValueDescriptor
  - google::EnumValueDescriptor
  - google::ServiceDescriptor
  - google::ServiceDescriptor
  - google::MethodDescriptor
  - google::MethodDescriptor
  - google::FileDescriptor
  - google::FileDescriptor
  - google::DescriptorPool
  - google::ErrorCollector
  - google::AddWarning
  - google::AllowUnknownDependencies
  - google::EnforceWeakDependencies
  - google::DisallowEnforceUtf8
  - google::InternalSetLazilyBuildDependencies
  - google::internal_set_underlay
  - PROTOBUF_DEFINE_ACCESSOR
  - PROTOBUF_DEFINE_STRING_ACCESSOR
  - PROTOBUF_DEFINE_ARRAY_ACCESSOR
  - PROTOBUF_DEFINE_OPTIONS_ACCESSOR
  - google::Descriptor::well_known_type
  - google::Descriptor::IsExtensionNumber
  - google::Descriptor::IsReservedNumber
  - google::Descriptor::IsReservedName
  - '& Descriptor::reserved_name(int index) const'
  - google::EnumDescriptor::IsReservedNumber
  - google::EnumDescriptor::IsReservedName
  - '& EnumDescriptor::reserved_name(int index) const'
  - google::FieldDescriptor::type
  - google::FieldDescriptor::is_required
  - google::FieldDescriptor::is_optional
  - google::FieldDescriptor::is_repeated
  - google::FieldDescriptor::is_packable
  - google::FieldDescriptor::is_map
  - google::FieldDescriptor::has_optional_keyword
  - google::FieldDescriptor::real_containing_oneof
  - google::FieldDescriptor::has_presence
  - google::FieldDescriptor::index
  - google::Descriptor::index
  - google::OneofDescriptor::file
  - google::OneofDescriptor::index
  - google::OneofDescriptor::is_synthetic
  - google::EnumDescriptor::index
  - google::EnumValueDescriptor::file
  - google::EnumValueDescriptor::index
  - google::ServiceDescriptor::index
  - google::MethodDescriptor::file
  - google::MethodDescriptor::index
  - google::FieldDescriptor::type_name
  - google::FieldDescriptor::cpp_type
  - google::FieldDescriptor::cpp_type_name
  - google::FieldDescriptor::TypeToCppType
  - google::FieldDescriptor::TypeName
  - google::FieldDescriptor::CppTypeName
  - google::FieldDescriptor::IsTypePackable
  - google::FileDescriptor::public_dependency
  - google::FileDescriptor::weak_dependency
  - google::FileDescriptor::syntax
  - google::OneofDescriptor::field
  - google::protobuf::DebugStringOptions
  - google::protobuf::internal::LazyDescriptor
  - google::protobuf::internal::Get
  - google::protobuf::internal::LazyDescriptor
  - google::protobuf::internal::Get
  - google::protobuf::DebugStringOptions
  - google::protobuf::internal::LazyDescriptor
  - google::protobuf::internal::Get
  - google::protobuf::internal::LazyDescriptor
  - google::protobuf::internal::Get
  - google::Descriptor
  - google::Descriptor
  - google::FieldDescriptor
  - google::FieldDescriptor
  - google::OneofDescriptor
  - google::OneofDescriptor
  - google::EnumDescriptor
  - google::EnumDescriptor
  - google::EnumValueDescriptor
  - google::EnumValueDescriptor
  - google::ServiceDescriptor
  - google::ServiceDescriptor
  - google::MethodDescriptor
  - google::MethodDescriptor
  - google::FileDescriptor
  - google::FileDescriptor
  - google::DescriptorPool
  - google::ErrorCollector
  - google::AddWarning
  - google::AllowUnknownDependencies
  - google::EnforceWeakDependencies
  - google::DisallowEnforceUtf8
  - google::InternalSetLazilyBuildDependencies
  - google::internal_set_underlay
  - PROTOBUF_DEFINE_ACCESSOR
  - PROTOBUF_DEFINE_STRING_ACCESSOR
  - PROTOBUF_DEFINE_ARRAY_ACCESSOR
  - PROTOBUF_DEFINE_OPTIONS_ACCESSOR
  - google::Descriptor::well_known_type
  - google::Descriptor::IsExtensionNumber
  - google::Descriptor::IsReservedNumber
  - google::Descriptor::IsReservedName
  - '& Descriptor::reserved_name(int index) const'
  - google::EnumDescriptor::IsReservedNumber
  - google::EnumDescriptor::IsReservedName
  - '& EnumDescriptor::reserved_name(int index) const'
  - google::FieldDescriptor::type
  - google::FieldDescriptor::is_required
  - google::FieldDescriptor::is_optional
  - google::FieldDescriptor::is_repeated
  - google::FieldDescriptor::is_packable
  - google::FieldDescriptor::is_map
  - google::FieldDescriptor::has_optional_keyword
  - google::FieldDescriptor::real_containing_oneof
  - google::FieldDescriptor::has_presence
  - google::FieldDescriptor::index
  - google::Descriptor::index
  - google::OneofDescriptor::file
  - google::OneofDescriptor::index
  - google::OneofDescriptor::is_synthetic
  - google::EnumDescriptor::index
  - google::EnumValueDescriptor::file
  - google::EnumValueDescriptor::index
  - google::ServiceDescriptor::index
  - google::MethodDescriptor::file
  - google::MethodDescriptor::index
  - google::FieldDescriptor::type_name
  - google::FieldDescriptor::cpp_type
  - google::FieldDescriptor::cpp_type_name
  - google::FieldDescriptor::TypeToCppType
  - google::FieldDescriptor::TypeName
  - google::FieldDescriptor::CppTypeName
  - google::FieldDescriptor::IsTypePackable
  - google::FileDescriptor::public_dependency
  - google::FileDescriptor::weak_dependency
  - google::FileDescriptor::syntax
  - google::OneofDescriptor::field
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
  types:
    enum:
    - enumerators:
      - name: WELLKNOWNTYPE_UNSPECIFIED
      - name: WELLKNOWNTYPE_DOUBLEVALUE
      - name: WELLKNOWNTYPE_UINT64VALUE
      - name: WELLKNOWNTYPE_INT64VALUE
      - name: WELLKNOWNTYPE_FLOATVALUE
      - name: WELLKNOWNTYPE_INT32VALUE
      - name: WELLKNOWNTYPE_UINT32VALUE
      - name: WELLKNOWNTYPE_STRINGVALUE
      - name: WELLKNOWNTYPE_BYTESVALUE
      - name: WELLKNOWNTYPE_BOOLVALUE
      - name: WELLKNOWNTYPE_STRUCT
      - name: WELLKNOWNTYPE_TIMESTAMP
      - name: WELLKNOWNTYPE_FIELDMASK
      - name: WELLKNOWNTYPE_DURATION
      - name: WELLKNOWNTYPE_LISTVALUE
      - name: WELLKNOWNTYPE_ANY
      - name: __WELLKNOWNTYPE__DO_NOT_USE__ADD_DEFAULT_INSTEAD__
      - name: WELLKNOWNTYPE_VALUE
      item_type: enum
      name: WellKnownType
      pos:
        line_end: 308
        line_start: 282
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - enumerators:
      - name: TYPE_INT32
        value: '5'
      - name: TYPE_FIXED32
        value: '7'
      - name: TYPE_BOOL
        value: '8'
      - name: TYPE_STRING
        value: '9'
      - name: TYPE_SFIXED64
        value: '16'
      - name: MAX_TYPE
        value: '18'
      - name: TYPE_SINT32
        value: '17'
      - name: TYPE_FLOAT
        value: '2'
      - name: TYPE_FIXED64
        value: '6'
      - name: TYPE_INT64
        value: '3'
      - name: TYPE_GROUP
        value: '10'
      - name: TYPE_SINT64
        value: '18'
      - name: TYPE_BYTES
        value: '12'
      - name: TYPE_MESSAGE
        value: '11'
      - name: TYPE_DOUBLE
        value: '1'
      - name: TYPE_UINT64
        value: '4'
      - name: TYPE_SFIXED32
        value: '15'
      - name: TYPE_UINT32
        value: '13'
      - name: TYPE_ENUM
        value: '14'
      item_type: enum
      name: Type
      pos:
        line_end: 619
        line_start: 592
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - enumerators:
      - name: CPPTYPE_INT32
        value: '1'
      - name: CPPTYPE_UINT32
        value: '3'
      - name: CPPTYPE_DOUBLE
        value: '5'
      - name: CPPTYPE_UINT64
        value: '4'
      - name: CPPTYPE_INT64
        value: '2'
      - name: CPPTYPE_FLOAT
        value: '6'
      - name: CPPTYPE_BOOL
        value: '7'
      - name: CPPTYPE_ENUM
        value: '8'
      - name: CPPTYPE_STRING
        value: '9'
      - name: CPPTYPE_MESSAGE
        value: '10'
      - name: MAX_CPPTYPE
        value: '10'
      item_type: enum
      name: CppType
      pos:
        line_end: 638
        line_start: 624
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - enumerators:
      - name: LABEL_OPTIONAL
        value: '1'
      - name: LABEL_REQUIRED
        value: '2'
      - name: MAX_LABEL
        value: '3'
      - name: LABEL_REPEATED
        value: '3'
      item_type: enum
      name: Label
      pos:
        line_end: 649
        line_start: 642
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - enumerators:
      - name: SYNTAX_UNKNOWN
        value: '0'
      - name: SYNTAX_PROTO2
        value: '2'
      - name: SYNTAX_PROTO3
        value: '3'
      item_type: enum
      name: Syntax
      pos:
        line_end: 1489
        line_start: 1485
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - enumerators:
      - name: NAME
      - name: NUMBER
      - name: EXTENDEE
      - name: DEFAULT_VALUE
      - name: TYPE
      - name: INPUT_TYPE
      - name: OUTPUT_TYPE
      - name: OPTION_NAME
      - name: OPTION_VALUE
      - name: IMPORT
      - name: OTHER
      item_type: enum
      name: ErrorLocation
      pos:
        line_end: 1744
        line_start: 1732
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - enumerators:
      - name: PLACEHOLDER_MESSAGE
      - name: PLACEHOLDER_ENUM
      - name: PLACEHOLDER_EXTENDABLE_MESSAGE
      item_type: enum
      name: PlaceholderType
      pos:
        line_end: 1944
        line_start: 1940
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - enumerators:
      - name: WELLKNOWNTYPE_UNSPECIFIED
      - name: WELLKNOWNTYPE_DOUBLEVALUE
      - name: WELLKNOWNTYPE_UINT64VALUE
      - name: WELLKNOWNTYPE_INT64VALUE
      - name: WELLKNOWNTYPE_FLOATVALUE
      - name: WELLKNOWNTYPE_INT32VALUE
      - name: WELLKNOWNTYPE_UINT32VALUE
      - name: WELLKNOWNTYPE_STRINGVALUE
      - name: WELLKNOWNTYPE_BYTESVALUE
      - name: WELLKNOWNTYPE_BOOLVALUE
      - name: WELLKNOWNTYPE_STRUCT
      - name: WELLKNOWNTYPE_TIMESTAMP
      - name: WELLKNOWNTYPE_FIELDMASK
      - name: WELLKNOWNTYPE_DURATION
      - name: WELLKNOWNTYPE_LISTVALUE
      - name: WELLKNOWNTYPE_ANY
      - name: __WELLKNOWNTYPE__DO_NOT_USE__ADD_DEFAULT_INSTEAD__
      - name: WELLKNOWNTYPE_VALUE
      item_type: enum
      name: WellKnownType
      pos:
        line_end: 308
        line_start: 282
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - enumerators:
      - name: TYPE_INT32
        value: '5'
      - name: TYPE_FIXED32
        value: '7'
      - name: TYPE_BOOL
        value: '8'
      - name: TYPE_STRING
        value: '9'
      - name: TYPE_SFIXED64
        value: '16'
      - name: MAX_TYPE
        value: '18'
      - name: TYPE_SINT32
        value: '17'
      - name: TYPE_FLOAT
        value: '2'
      - name: TYPE_FIXED64
        value: '6'
      - name: TYPE_INT64
        value: '3'
      - name: TYPE_GROUP
        value: '10'
      - name: TYPE_SINT64
        value: '18'
      - name: TYPE_BYTES
        value: '12'
      - name: TYPE_MESSAGE
        value: '11'
      - name: TYPE_DOUBLE
        value: '1'
      - name: TYPE_UINT64
        value: '4'
      - name: TYPE_SFIXED32
        value: '15'
      - name: TYPE_UINT32
        value: '13'
      - name: TYPE_ENUM
        value: '14'
      item_type: enum
      name: Type
      pos:
        line_end: 619
        line_start: 592
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - enumerators:
      - name: CPPTYPE_INT32
        value: '1'
      - name: CPPTYPE_UINT32
        value: '3'
      - name: CPPTYPE_DOUBLE
        value: '5'
      - name: CPPTYPE_UINT64
        value: '4'
      - name: CPPTYPE_INT64
        value: '2'
      - name: CPPTYPE_FLOAT
        value: '6'
      - name: CPPTYPE_BOOL
        value: '7'
      - name: CPPTYPE_ENUM
        value: '8'
      - name: CPPTYPE_STRING
        value: '9'
      - name: CPPTYPE_MESSAGE
        value: '10'
      - name: MAX_CPPTYPE
        value: '10'
      item_type: enum
      name: CppType
      pos:
        line_end: 638
        line_start: 624
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - enumerators:
      - name: LABEL_OPTIONAL
        value: '1'
      - name: LABEL_REQUIRED
        value: '2'
      - name: MAX_LABEL
        value: '3'
      - name: LABEL_REPEATED
        value: '3'
      item_type: enum
      name: Label
      pos:
        line_end: 649
        line_start: 642
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - enumerators:
      - name: SYNTAX_UNKNOWN
        value: '0'
      - name: SYNTAX_PROTO2
        value: '2'
      - name: SYNTAX_PROTO3
        value: '3'
      item_type: enum
      name: Syntax
      pos:
        line_end: 1489
        line_start: 1485
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - enumerators:
      - name: NAME
      - name: NUMBER
      - name: EXTENDEE
      - name: DEFAULT_VALUE
      - name: TYPE
      - name: INPUT_TYPE
      - name: OUTPUT_TYPE
      - name: OPTION_NAME
      - name: OPTION_VALUE
      - name: IMPORT
      - name: OTHER
      item_type: enum
      name: ErrorLocation
      pos:
        line_end: 1744
        line_start: 1732
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - enumerators:
      - name: PLACEHOLDER_MESSAGE
      - name: PLACEHOLDER_ENUM
      - name: PLACEHOLDER_EXTENDABLE_MESSAGE
      item_type: enum
      name: PlaceholderType
      pos:
        line_end: 1944
        line_start: 1940
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    preproc_defs: []
    structs:
    - fields:
      - name: start_line
        type: int
      - name: end_line
        type: int
      - name: start_column
        type: int
      - name: end_column
        type: int
      - name: leading_comments
        type: std::string
      - name: trailing_comments
        type: std::string
      - name: leading_detached_comments
        type: std::vector<std::string>
      item_type: struct
      name: SourceLocation
      pos:
        line_end: 158
        line_start: 147
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - fields:
      - name: include_comments
        type: bool
      - name: elide_group_body
        type: bool
      - name: elide_oneof_body
        type: bool
      item_type: struct
      name: DebugStringOptions
      pos:
        line_end: 177
        line_start: 162
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - fields:
      - name: start_line
        type: int
      - name: end_line
        type: int
      - name: start_column
        type: int
      - name: end_column
        type: int
      - name: leading_comments
        type: std::string
      - name: trailing_comments
        type: std::string
      - name: leading_detached_comments
        type: std::vector<std::string>
      item_type: struct
      name: SourceLocation
      pos:
        line_end: 158
        line_start: 147
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - fields:
      - name: include_comments
        type: bool
      - name: elide_group_body
        type: bool
      - name: elide_oneof_body
        type: bool
      item_type: struct
      name: DebugStringOptions
      pos:
        line_end: 177
        line_start: 162
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - fields:
      - name: CopyTo(DescriptorProto_ExtensionRange* proto) const
        type: void
      - name: start
        type: int
      - name: end
        type: int
      - name: '* options_'
        type: ExtensionRangeOptions
      item_type: struct
      name: ExtensionRange
      pos:
        line_end: 396
        line_start: 384
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - fields:
      - name: start
        type: int
      - name: end
        type: int
      item_type: struct
      name: ReservedRange
      pos:
        line_end: 460
        line_start: 457
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - fields:
      - name: start
        type: int
      - name: end
        type: int
      item_type: struct
      name: ReservedRange
      pos:
        line_end: 1070
        line_start: 1067
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - fields:
      - name: start_line
        type: int
      - name: end_line
        type: int
      - name: start_column
        type: int
      - name: end_column
        type: int
      - name: leading_comments
        type: std::string
      - name: trailing_comments
        type: std::string
      - name: leading_detached_comments
        type: std::vector<std::string>
      item_type: struct
      name: SourceLocation
      pos:
        line_end: 158
        line_start: 147
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - fields:
      - name: include_comments
        type: bool
      - name: elide_group_body
        type: bool
      - name: elide_oneof_body
        type: bool
      item_type: struct
      name: DebugStringOptions
      pos:
        line_end: 177
        line_start: 162
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - fields:
      - name: start_line
        type: int
      - name: end_line
        type: int
      - name: start_column
        type: int
      - name: end_column
        type: int
      - name: leading_comments
        type: std::string
      - name: trailing_comments
        type: std::string
      - name: leading_detached_comments
        type: std::vector<std::string>
      item_type: struct
      name: SourceLocation
      pos:
        line_end: 158
        line_start: 147
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - fields:
      - name: include_comments
        type: bool
      - name: elide_group_body
        type: bool
      - name: elide_oneof_body
        type: bool
      item_type: struct
      name: DebugStringOptions
      pos:
        line_end: 177
        line_start: 162
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - fields:
      - name: CopyTo(DescriptorProto_ExtensionRange* proto) const
        type: void
      - name: start
        type: int
      - name: end
        type: int
      - name: '* options_'
        type: ExtensionRangeOptions
      item_type: struct
      name: ExtensionRange
      pos:
        line_end: 396
        line_start: 384
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - fields:
      - name: start
        type: int
      - name: end
        type: int
      item_type: struct
      name: ReservedRange
      pos:
        line_end: 460
        line_start: 457
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    - fields:
      - name: start
        type: int
      - name: end
        type: int
      item_type: struct
      name: ReservedRange
      pos:
        line_end: 1070
        line_start: 1067
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
    typedefs:
    - item_type: typedef
      name: Proto
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
      type: DescriptorProto_ExtensionRange
    - item_type: typedef
      name: OptionsType
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
      type: ExtensionRangeOptions
    - item_type: typedef
      name: Proto
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
      type: DescriptorProto_ExtensionRange
    - item_type: typedef
      name: OptionsType
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/descriptor.h
      type: ExtensionRangeOptions
    union: []
- function_names: []
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/port.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
  - google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
  - TYPE_TRAITS
  - MAP_HANDLER
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize
  - GOOGLE_PROTOBUF_BYTE_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
  - GET_CACHED_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write
  - WRITE_METHOD
  - WRITE_METHOD
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::ReadINT64
  - google::protobuf::internal::ReadUINT64
  - google::protobuf::internal::ReadINT32
  - google::protobuf::internal::ReadUINT32
  - google::protobuf::internal::ReadSINT64
  - google::protobuf::internal::ReadSINT32
  - google::protobuf::internal::ReadENUM
  - google::protobuf::internal::ReadBOOL
  - google::protobuf::internal::ReadUnaligned
  - google::protobuf::internal::ReadFLOAT
  - google::protobuf::internal::ReadDOUBLE
  - google::protobuf::internal::ReadFIXED64
  - google::protobuf::internal::ReadFIXED32
  - google::protobuf::internal::ReadSFIXED64
  - google::protobuf::internal::ReadSFIXED32
  - READ_METHOD
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
    \   const Type* value)"
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
    \   const Type* value)"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
    \              \\\n                             Type>::DeleteNoArena"
  - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
  - google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
  - TYPE_TRAITS
  - MAP_HANDLER
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize
  - GOOGLE_PROTOBUF_BYTE_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
  - GET_CACHED_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write
  - WRITE_METHOD
  - WRITE_METHOD
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::ReadINT64
  - google::protobuf::internal::ReadUINT64
  - google::protobuf::internal::ReadINT32
  - google::protobuf::internal::ReadUINT32
  - google::protobuf::internal::ReadSINT64
  - google::protobuf::internal::ReadSINT32
  - google::protobuf::internal::ReadENUM
  - google::protobuf::internal::ReadBOOL
  - google::protobuf::internal::ReadUnaligned
  - google::protobuf::internal::ReadFLOAT
  - google::protobuf::internal::ReadDOUBLE
  - google::protobuf::internal::ReadFIXED64
  - google::protobuf::internal::ReadFIXED32
  - google::protobuf::internal::ReadSFIXED64
  - google::protobuf::internal::ReadSFIXED32
  - READ_METHOD
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
    \   const Type* value)"
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
    \   const Type* value)"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
    \              \\\n                             Type>::DeleteNoArena"
  - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
  - google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
  - TYPE_TRAITS
  - MAP_HANDLER
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize
  - GOOGLE_PROTOBUF_BYTE_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
  - GET_CACHED_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write
  - WRITE_METHOD
  - WRITE_METHOD
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::ReadINT64
  - google::protobuf::internal::ReadUINT64
  - google::protobuf::internal::ReadINT32
  - google::protobuf::internal::ReadUINT32
  - google::protobuf::internal::ReadSINT64
  - google::protobuf::internal::ReadSINT32
  - google::protobuf::internal::ReadENUM
  - google::protobuf::internal::ReadBOOL
  - google::protobuf::internal::ReadUnaligned
  - google::protobuf::internal::ReadFLOAT
  - google::protobuf::internal::ReadDOUBLE
  - google::protobuf::internal::ReadFIXED64
  - google::protobuf::internal::ReadFIXED32
  - google::protobuf::internal::ReadSFIXED64
  - google::protobuf::internal::ReadSFIXED32
  - READ_METHOD
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
    \   const Type* value)"
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
    \   const Type* value)"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
    \              \\\n                             Type>::DeleteNoArena"
  - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
  - google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
  - TYPE_TRAITS
  - MAP_HANDLER
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize
  - GOOGLE_PROTOBUF_BYTE_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
  - GET_CACHED_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write
  - WRITE_METHOD
  - WRITE_METHOD
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::ReadINT64
  - google::protobuf::internal::ReadUINT64
  - google::protobuf::internal::ReadINT32
  - google::protobuf::internal::ReadUINT32
  - google::protobuf::internal::ReadSINT64
  - google::protobuf::internal::ReadSINT32
  - google::protobuf::internal::ReadENUM
  - google::protobuf::internal::ReadBOOL
  - google::protobuf::internal::ReadUnaligned
  - google::protobuf::internal::ReadFLOAT
  - google::protobuf::internal::ReadDOUBLE
  - google::protobuf::internal::ReadFIXED64
  - google::protobuf::internal::ReadFIXED32
  - google::protobuf::internal::ReadSFIXED64
  - google::protobuf::internal::ReadSFIXED32
  - READ_METHOD
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
    \   const Type* value)"
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
    \   const Type* value)"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
    \              \\\n                             Type>::DeleteNoArena"
  - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
  - google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
  - TYPE_TRAITS
  - MAP_HANDLER
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize
  - GOOGLE_PROTOBUF_BYTE_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
  - GET_CACHED_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write
  - WRITE_METHOD
  - WRITE_METHOD
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::ReadINT64
  - google::protobuf::internal::ReadUINT64
  - google::protobuf::internal::ReadINT32
  - google::protobuf::internal::ReadUINT32
  - google::protobuf::internal::ReadSINT64
  - google::protobuf::internal::ReadSINT32
  - google::protobuf::internal::ReadENUM
  - google::protobuf::internal::ReadBOOL
  - google::protobuf::internal::ReadUnaligned
  - google::protobuf::internal::ReadFLOAT
  - google::protobuf::internal::ReadDOUBLE
  - google::protobuf::internal::ReadFIXED64
  - google::protobuf::internal::ReadFIXED32
  - google::protobuf::internal::ReadSFIXED64
  - google::protobuf::internal::ReadSFIXED32
  - READ_METHOD
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
    \   const Type* value)"
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
    \   const Type* value)"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
    \              \\\n                             Type>::DeleteNoArena"
  - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
  - google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
  - TYPE_TRAITS
  - MAP_HANDLER
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize
  - GOOGLE_PROTOBUF_BYTE_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
  - GET_CACHED_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write
  - WRITE_METHOD
  - WRITE_METHOD
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::ReadINT64
  - google::protobuf::internal::ReadUINT64
  - google::protobuf::internal::ReadINT32
  - google::protobuf::internal::ReadUINT32
  - google::protobuf::internal::ReadSINT64
  - google::protobuf::internal::ReadSINT32
  - google::protobuf::internal::ReadENUM
  - google::protobuf::internal::ReadBOOL
  - google::protobuf::internal::ReadUnaligned
  - google::protobuf::internal::ReadFLOAT
  - google::protobuf::internal::ReadDOUBLE
  - google::protobuf::internal::ReadFIXED64
  - google::protobuf::internal::ReadFIXED32
  - google::protobuf::internal::ReadSFIXED64
  - google::protobuf::internal::ReadSFIXED32
  - READ_METHOD
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
    \   const Type* value)"
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
    \   const Type* value)"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
    \              \\\n                             Type>::DeleteNoArena"
  - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
  - google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
  - TYPE_TRAITS
  - MAP_HANDLER
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize
  - GOOGLE_PROTOBUF_BYTE_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
  - GET_CACHED_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write
  - WRITE_METHOD
  - WRITE_METHOD
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::ReadINT64
  - google::protobuf::internal::ReadUINT64
  - google::protobuf::internal::ReadINT32
  - google::protobuf::internal::ReadUINT32
  - google::protobuf::internal::ReadSINT64
  - google::protobuf::internal::ReadSINT32
  - google::protobuf::internal::ReadENUM
  - google::protobuf::internal::ReadBOOL
  - google::protobuf::internal::ReadUnaligned
  - google::protobuf::internal::ReadFLOAT
  - google::protobuf::internal::ReadDOUBLE
  - google::protobuf::internal::ReadFIXED64
  - google::protobuf::internal::ReadFIXED32
  - google::protobuf::internal::ReadSFIXED64
  - google::protobuf::internal::ReadSFIXED32
  - READ_METHOD
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
    \   const Type* value)"
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
    \   const Type* value)"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
    \              \\\n                             Type>::DeleteNoArena"
  - google::protobuf::internal::MapArenaMessageCreator<Type, true>::CreateMessage
  - google::protobuf::internal::MapArenaMessageCreator<Type, false>::CreateMessage
  - TYPE_TRAITS
  - MAP_HANDLER
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize
  - GOOGLE_PROTOBUF_BYTE_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize
  - GET_CACHED_SIZE
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Write
  - WRITE_METHOD
  - WRITE_METHOD
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_STRING, Type>::Read
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_BYTES, Type>::Read
  - google::protobuf::internal::ReadINT64
  - google::protobuf::internal::ReadUINT64
  - google::protobuf::internal::ReadINT32
  - google::protobuf::internal::ReadUINT32
  - google::protobuf::internal::ReadSINT64
  - google::protobuf::internal::ReadSINT32
  - google::protobuf::internal::ReadENUM
  - google::protobuf::internal::ReadBOOL
  - google::protobuf::internal::ReadUnaligned
  - google::protobuf::internal::ReadFLOAT
  - google::protobuf::internal::ReadDOUBLE
  - google::protobuf::internal::ReadFIXED64
  - google::protobuf::internal::ReadFIXED32
  - google::protobuf::internal::ReadSFIXED64
  - google::protobuf::internal::ReadSFIXED32
  - READ_METHOD
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetExternalReference(\n
    \   const Type* value)"
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE,\n                             Type>::SpaceUsedInMapEntryLong"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Merge
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DeleteNoArena
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::Constinit
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::EnsureMutable
  - "&\nMapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::DefaultIfNotInitialized(\n
    \   const Type* value)"
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::IsInitialized
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Clear
  - google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::Merge
  - "google::protobuf::internal::MapTypeHandler<WireFormatLite::TYPE_##FieldType,
    \              \\\n                             Type>::DeleteNoArena"
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: MapIf<true, TrueType, FalseType>
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<false, TrueType, FalseType>
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<true, TrueType, FalseType>
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<false, TrueType, FalseType>
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<true, TrueType, FalseType>
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<false, TrueType, FalseType>
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<true, TrueType, FalseType>
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<false, TrueType, FalseType>
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<true, TrueType, FalseType>
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<false, TrueType, FalseType>
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<true, TrueType, FalseType>
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<false, TrueType, FalseType>
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<true, TrueType, FalseType>
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<false, TrueType, FalseType>
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<true, TrueType, FalseType>
      pos:
        line_end: 54
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    - fields: []
      item_type: struct
      name: MapIf<false, TrueType, FalseType>
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
    typedefs:
    - item_type: typedef
      name: type
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: TrueType
    - item_type: typedef
      name: type
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: FalseType
    - item_type: typedef
      name: MapEntryAccessorType
      pos:
        line_end: 129
        line_start: 127
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::MapEntryAccessorType"
    - item_type: typedef
      name: TypeOnMemory
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::TypeOnMemory"
    - item_type: typedef
      name: type
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: TrueType
    - item_type: typedef
      name: type
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: FalseType
    - item_type: typedef
      name: MapEntryAccessorType
      pos:
        line_end: 129
        line_start: 127
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::MapEntryAccessorType"
    - item_type: typedef
      name: TypeOnMemory
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::TypeOnMemory"
    - item_type: typedef
      name: type
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: TrueType
    - item_type: typedef
      name: type
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: FalseType
    - item_type: typedef
      name: MapEntryAccessorType
      pos:
        line_end: 129
        line_start: 127
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::MapEntryAccessorType"
    - item_type: typedef
      name: TypeOnMemory
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::TypeOnMemory"
    - item_type: typedef
      name: type
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: TrueType
    - item_type: typedef
      name: type
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: FalseType
    - item_type: typedef
      name: MapEntryAccessorType
      pos:
        line_end: 129
        line_start: 127
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::MapEntryAccessorType"
    - item_type: typedef
      name: TypeOnMemory
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::TypeOnMemory"
    - item_type: typedef
      name: type
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: TrueType
    - item_type: typedef
      name: type
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: FalseType
    - item_type: typedef
      name: MapEntryAccessorType
      pos:
        line_end: 129
        line_start: 127
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::MapEntryAccessorType"
    - item_type: typedef
      name: TypeOnMemory
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::TypeOnMemory"
    - item_type: typedef
      name: type
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: TrueType
    - item_type: typedef
      name: type
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: FalseType
    - item_type: typedef
      name: MapEntryAccessorType
      pos:
        line_end: 129
        line_start: 127
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::MapEntryAccessorType"
    - item_type: typedef
      name: TypeOnMemory
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::TypeOnMemory"
    - item_type: typedef
      name: type
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: TrueType
    - item_type: typedef
      name: type
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: FalseType
    - item_type: typedef
      name: MapEntryAccessorType
      pos:
        line_end: 129
        line_start: 127
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::MapEntryAccessorType"
    - item_type: typedef
      name: TypeOnMemory
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::TypeOnMemory"
    - item_type: typedef
      name: type
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: TrueType
    - item_type: typedef
      name: type
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: FalseType
    - item_type: typedef
      name: MapEntryAccessorType
      pos:
        line_end: 129
        line_start: 127
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::MapEntryAccessorType"
    - item_type: typedef
      name: TypeOnMemory
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_type_handler.h
      type: "typename MapWireFieldTypeTraits<WireFormatLite::TYPE_MESSAGE,\n                                          Type>::TypeOnMemory"
    union: []
- function_names:
  - google::protobuf::internal::WireFormatLite
  - google::protobuf::internal::WireTypeForFieldType
  - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
  - google::protobuf::internal::ReadMessageNoVirtual
  - google::protobuf::internal::WriteGroupToArray
  - google::protobuf::internal::WriteMessageToArray
  - google::protobuf::internal::FieldSkipper
  - ~FieldSkipper()
  - google::protobuf::internal::CodedOutputStreamFieldSkipper
  - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
  - google::protobuf::internal::WireFormatLite::MakeTag
  - google::protobuf::internal::WireFormatLite::GetTagWireType
  - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
  - google::protobuf::internal::WireFormatLite::TagSize
  - google::protobuf::internal::WireFormatLite::EncodeFloat
  - google::protobuf::internal::WireFormatLite::DecodeFloat
  - google::protobuf::internal::WireFormatLite::EncodeDouble
  - google::protobuf::internal::WireFormatLite::DecodeDouble
  - google::protobuf::internal::WireFormatLite::ZigZagEncode32
  - google::protobuf::internal::WireFormatLite::ZigZagDecode32
  - google::protobuf::internal::WireFormatLite::ZigZagEncode64
  - google::protobuf::internal::WireFormatLite::ZigZagDecode64
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
  - google::protobuf::internal::ComputeUnknownMessageSetItemsSize
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n    io::CodedInputStream*
    input, float* value)"
  - "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n    io::CodedInputStream*
    input, double* value)"
  - "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n    io::CodedInputStream*
    input, bool* value)"
  - "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n    io::CodedInputStream*
    input, int* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
    \   const uint8* buffer, uint32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
    \   const uint8* buffer, uint64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
    \   const uint8* buffer, int32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
    \   const uint8* buffer, int64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
    \   const uint8* buffer, float* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
    \   const uint8* buffer, double* value)"
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
  - READ_REPEATED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
  - READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadGroup
  - google::protobuf::internal::WireFormatLite::ReadMessage
  - google::protobuf::internal::WireFormatLite::WriteTag
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
  - google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WriteStringToArray
  - google::protobuf::internal::WireFormatLite::WriteBytesToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteGroup
  - google::protobuf::internal::WireFormatLite::InternalWriteMessage
  - google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::StringSize
  - google::protobuf::internal::WireFormatLite::BytesSize
  - google::protobuf::internal::WireFormatLite::GroupSize
  - google::protobuf::internal::WireFormatLite::MessageSize
  - google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
  - google::protobuf::internal::ParseMessageSetItemImpl
  - google::protobuf::internal::WireFormatLite
  - google::protobuf::internal::WireTypeForFieldType
  - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
  - google::protobuf::internal::ReadMessageNoVirtual
  - google::protobuf::internal::WriteGroupToArray
  - google::protobuf::internal::WriteMessageToArray
  - google::protobuf::internal::FieldSkipper
  - ~FieldSkipper()
  - google::protobuf::internal::CodedOutputStreamFieldSkipper
  - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
  - google::protobuf::internal::WireFormatLite::MakeTag
  - google::protobuf::internal::WireFormatLite::GetTagWireType
  - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
  - google::protobuf::internal::WireFormatLite::TagSize
  - google::protobuf::internal::WireFormatLite::EncodeFloat
  - google::protobuf::internal::WireFormatLite::DecodeFloat
  - google::protobuf::internal::WireFormatLite::EncodeDouble
  - google::protobuf::internal::WireFormatLite::DecodeDouble
  - google::protobuf::internal::WireFormatLite::ZigZagEncode32
  - google::protobuf::internal::WireFormatLite::ZigZagDecode32
  - google::protobuf::internal::WireFormatLite::ZigZagEncode64
  - google::protobuf::internal::WireFormatLite::ZigZagDecode64
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
  - google::protobuf::internal::ComputeUnknownMessageSetItemsSize
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n    io::CodedInputStream*
    input, float* value)"
  - "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n    io::CodedInputStream*
    input, double* value)"
  - "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n    io::CodedInputStream*
    input, bool* value)"
  - "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n    io::CodedInputStream*
    input, int* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
    \   const uint8* buffer, uint32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
    \   const uint8* buffer, uint64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
    \   const uint8* buffer, int32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
    \   const uint8* buffer, int64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
    \   const uint8* buffer, float* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
    \   const uint8* buffer, double* value)"
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
  - READ_REPEATED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
  - READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadGroup
  - google::protobuf::internal::WireFormatLite::ReadMessage
  - google::protobuf::internal::WireFormatLite::WriteTag
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
  - google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WriteStringToArray
  - google::protobuf::internal::WireFormatLite::WriteBytesToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteGroup
  - google::protobuf::internal::WireFormatLite::InternalWriteMessage
  - google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::StringSize
  - google::protobuf::internal::WireFormatLite::BytesSize
  - google::protobuf::internal::WireFormatLite::GroupSize
  - google::protobuf::internal::WireFormatLite::MessageSize
  - google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
  - google::protobuf::internal::ParseMessageSetItemImpl
  - google::protobuf::internal::WireFormatLite
  - google::protobuf::internal::WireTypeForFieldType
  - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
  - google::protobuf::internal::ReadMessageNoVirtual
  - google::protobuf::internal::WriteGroupToArray
  - google::protobuf::internal::WriteMessageToArray
  - google::protobuf::internal::FieldSkipper
  - ~FieldSkipper()
  - google::protobuf::internal::CodedOutputStreamFieldSkipper
  - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
  - google::protobuf::internal::WireFormatLite::MakeTag
  - google::protobuf::internal::WireFormatLite::GetTagWireType
  - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
  - google::protobuf::internal::WireFormatLite::TagSize
  - google::protobuf::internal::WireFormatLite::EncodeFloat
  - google::protobuf::internal::WireFormatLite::DecodeFloat
  - google::protobuf::internal::WireFormatLite::EncodeDouble
  - google::protobuf::internal::WireFormatLite::DecodeDouble
  - google::protobuf::internal::WireFormatLite::ZigZagEncode32
  - google::protobuf::internal::WireFormatLite::ZigZagDecode32
  - google::protobuf::internal::WireFormatLite::ZigZagEncode64
  - google::protobuf::internal::WireFormatLite::ZigZagDecode64
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
  - google::protobuf::internal::ComputeUnknownMessageSetItemsSize
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n    io::CodedInputStream*
    input, float* value)"
  - "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n    io::CodedInputStream*
    input, double* value)"
  - "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n    io::CodedInputStream*
    input, bool* value)"
  - "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n    io::CodedInputStream*
    input, int* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
    \   const uint8* buffer, uint32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
    \   const uint8* buffer, uint64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
    \   const uint8* buffer, int32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
    \   const uint8* buffer, int64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
    \   const uint8* buffer, float* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
    \   const uint8* buffer, double* value)"
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
  - READ_REPEATED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
  - READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadGroup
  - google::protobuf::internal::WireFormatLite::ReadMessage
  - google::protobuf::internal::WireFormatLite::WriteTag
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
  - google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WriteStringToArray
  - google::protobuf::internal::WireFormatLite::WriteBytesToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteGroup
  - google::protobuf::internal::WireFormatLite::InternalWriteMessage
  - google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::StringSize
  - google::protobuf::internal::WireFormatLite::BytesSize
  - google::protobuf::internal::WireFormatLite::GroupSize
  - google::protobuf::internal::WireFormatLite::MessageSize
  - google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
  - google::protobuf::internal::ParseMessageSetItemImpl
  - google::protobuf::internal::WireFormatLite
  - google::protobuf::internal::WireTypeForFieldType
  - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
  - google::protobuf::internal::ReadMessageNoVirtual
  - google::protobuf::internal::WriteGroupToArray
  - google::protobuf::internal::WriteMessageToArray
  - google::protobuf::internal::FieldSkipper
  - ~FieldSkipper()
  - google::protobuf::internal::CodedOutputStreamFieldSkipper
  - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
  - google::protobuf::internal::WireFormatLite::MakeTag
  - google::protobuf::internal::WireFormatLite::GetTagWireType
  - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
  - google::protobuf::internal::WireFormatLite::TagSize
  - google::protobuf::internal::WireFormatLite::EncodeFloat
  - google::protobuf::internal::WireFormatLite::DecodeFloat
  - google::protobuf::internal::WireFormatLite::EncodeDouble
  - google::protobuf::internal::WireFormatLite::DecodeDouble
  - google::protobuf::internal::WireFormatLite::ZigZagEncode32
  - google::protobuf::internal::WireFormatLite::ZigZagDecode32
  - google::protobuf::internal::WireFormatLite::ZigZagEncode64
  - google::protobuf::internal::WireFormatLite::ZigZagDecode64
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
  - google::protobuf::internal::ComputeUnknownMessageSetItemsSize
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n    io::CodedInputStream*
    input, float* value)"
  - "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n    io::CodedInputStream*
    input, double* value)"
  - "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n    io::CodedInputStream*
    input, bool* value)"
  - "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n    io::CodedInputStream*
    input, int* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
    \   const uint8* buffer, uint32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
    \   const uint8* buffer, uint64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
    \   const uint8* buffer, int32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
    \   const uint8* buffer, int64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
    \   const uint8* buffer, float* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
    \   const uint8* buffer, double* value)"
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
  - READ_REPEATED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
  - READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadGroup
  - google::protobuf::internal::WireFormatLite::ReadMessage
  - google::protobuf::internal::WireFormatLite::WriteTag
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
  - google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WriteStringToArray
  - google::protobuf::internal::WireFormatLite::WriteBytesToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteGroup
  - google::protobuf::internal::WireFormatLite::InternalWriteMessage
  - google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::StringSize
  - google::protobuf::internal::WireFormatLite::BytesSize
  - google::protobuf::internal::WireFormatLite::GroupSize
  - google::protobuf::internal::WireFormatLite::MessageSize
  - google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
  - google::protobuf::internal::ParseMessageSetItemImpl
  - google::protobuf::internal::WireFormatLite
  - google::protobuf::internal::WireTypeForFieldType
  - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
  - google::protobuf::internal::ReadMessageNoVirtual
  - google::protobuf::internal::WriteGroupToArray
  - google::protobuf::internal::WriteMessageToArray
  - google::protobuf::internal::FieldSkipper
  - ~FieldSkipper()
  - google::protobuf::internal::CodedOutputStreamFieldSkipper
  - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
  - google::protobuf::internal::WireFormatLite::MakeTag
  - google::protobuf::internal::WireFormatLite::GetTagWireType
  - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
  - google::protobuf::internal::WireFormatLite::TagSize
  - google::protobuf::internal::WireFormatLite::EncodeFloat
  - google::protobuf::internal::WireFormatLite::DecodeFloat
  - google::protobuf::internal::WireFormatLite::EncodeDouble
  - google::protobuf::internal::WireFormatLite::DecodeDouble
  - google::protobuf::internal::WireFormatLite::ZigZagEncode32
  - google::protobuf::internal::WireFormatLite::ZigZagDecode32
  - google::protobuf::internal::WireFormatLite::ZigZagEncode64
  - google::protobuf::internal::WireFormatLite::ZigZagDecode64
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
  - google::protobuf::internal::ComputeUnknownMessageSetItemsSize
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n    io::CodedInputStream*
    input, float* value)"
  - "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n    io::CodedInputStream*
    input, double* value)"
  - "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n    io::CodedInputStream*
    input, bool* value)"
  - "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n    io::CodedInputStream*
    input, int* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
    \   const uint8* buffer, uint32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
    \   const uint8* buffer, uint64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
    \   const uint8* buffer, int32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
    \   const uint8* buffer, int64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
    \   const uint8* buffer, float* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
    \   const uint8* buffer, double* value)"
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
  - READ_REPEATED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
  - READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadGroup
  - google::protobuf::internal::WireFormatLite::ReadMessage
  - google::protobuf::internal::WireFormatLite::WriteTag
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
  - google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WriteStringToArray
  - google::protobuf::internal::WireFormatLite::WriteBytesToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteGroup
  - google::protobuf::internal::WireFormatLite::InternalWriteMessage
  - google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::StringSize
  - google::protobuf::internal::WireFormatLite::BytesSize
  - google::protobuf::internal::WireFormatLite::GroupSize
  - google::protobuf::internal::WireFormatLite::MessageSize
  - google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
  - google::protobuf::internal::ParseMessageSetItemImpl
  - google::protobuf::internal::WireFormatLite
  - google::protobuf::internal::WireTypeForFieldType
  - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
  - google::protobuf::internal::ReadMessageNoVirtual
  - google::protobuf::internal::WriteGroupToArray
  - google::protobuf::internal::WriteMessageToArray
  - google::protobuf::internal::FieldSkipper
  - ~FieldSkipper()
  - google::protobuf::internal::CodedOutputStreamFieldSkipper
  - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
  - google::protobuf::internal::WireFormatLite::MakeTag
  - google::protobuf::internal::WireFormatLite::GetTagWireType
  - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
  - google::protobuf::internal::WireFormatLite::TagSize
  - google::protobuf::internal::WireFormatLite::EncodeFloat
  - google::protobuf::internal::WireFormatLite::DecodeFloat
  - google::protobuf::internal::WireFormatLite::EncodeDouble
  - google::protobuf::internal::WireFormatLite::DecodeDouble
  - google::protobuf::internal::WireFormatLite::ZigZagEncode32
  - google::protobuf::internal::WireFormatLite::ZigZagDecode32
  - google::protobuf::internal::WireFormatLite::ZigZagEncode64
  - google::protobuf::internal::WireFormatLite::ZigZagDecode64
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
  - google::protobuf::internal::ComputeUnknownMessageSetItemsSize
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n    io::CodedInputStream*
    input, float* value)"
  - "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n    io::CodedInputStream*
    input, double* value)"
  - "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n    io::CodedInputStream*
    input, bool* value)"
  - "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n    io::CodedInputStream*
    input, int* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
    \   const uint8* buffer, uint32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
    \   const uint8* buffer, uint64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
    \   const uint8* buffer, int32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
    \   const uint8* buffer, int64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
    \   const uint8* buffer, float* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
    \   const uint8* buffer, double* value)"
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
  - READ_REPEATED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
  - READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadGroup
  - google::protobuf::internal::WireFormatLite::ReadMessage
  - google::protobuf::internal::WireFormatLite::WriteTag
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
  - google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WriteStringToArray
  - google::protobuf::internal::WireFormatLite::WriteBytesToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteGroup
  - google::protobuf::internal::WireFormatLite::InternalWriteMessage
  - google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::StringSize
  - google::protobuf::internal::WireFormatLite::BytesSize
  - google::protobuf::internal::WireFormatLite::GroupSize
  - google::protobuf::internal::WireFormatLite::MessageSize
  - google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
  - google::protobuf::internal::ParseMessageSetItemImpl
  - google::protobuf::internal::WireFormatLite
  - google::protobuf::internal::WireTypeForFieldType
  - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
  - google::protobuf::internal::ReadMessageNoVirtual
  - google::protobuf::internal::WriteGroupToArray
  - google::protobuf::internal::WriteMessageToArray
  - google::protobuf::internal::FieldSkipper
  - ~FieldSkipper()
  - google::protobuf::internal::CodedOutputStreamFieldSkipper
  - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
  - google::protobuf::internal::WireFormatLite::MakeTag
  - google::protobuf::internal::WireFormatLite::GetTagWireType
  - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
  - google::protobuf::internal::WireFormatLite::TagSize
  - google::protobuf::internal::WireFormatLite::EncodeFloat
  - google::protobuf::internal::WireFormatLite::DecodeFloat
  - google::protobuf::internal::WireFormatLite::EncodeDouble
  - google::protobuf::internal::WireFormatLite::DecodeDouble
  - google::protobuf::internal::WireFormatLite::ZigZagEncode32
  - google::protobuf::internal::WireFormatLite::ZigZagDecode32
  - google::protobuf::internal::WireFormatLite::ZigZagEncode64
  - google::protobuf::internal::WireFormatLite::ZigZagDecode64
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
  - google::protobuf::internal::ComputeUnknownMessageSetItemsSize
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n    io::CodedInputStream*
    input, float* value)"
  - "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n    io::CodedInputStream*
    input, double* value)"
  - "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n    io::CodedInputStream*
    input, bool* value)"
  - "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n    io::CodedInputStream*
    input, int* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
    \   const uint8* buffer, uint32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
    \   const uint8* buffer, uint64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
    \   const uint8* buffer, int32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
    \   const uint8* buffer, int64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
    \   const uint8* buffer, float* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
    \   const uint8* buffer, double* value)"
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
  - READ_REPEATED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
  - READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadGroup
  - google::protobuf::internal::WireFormatLite::ReadMessage
  - google::protobuf::internal::WireFormatLite::WriteTag
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
  - google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WriteStringToArray
  - google::protobuf::internal::WireFormatLite::WriteBytesToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteGroup
  - google::protobuf::internal::WireFormatLite::InternalWriteMessage
  - google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::StringSize
  - google::protobuf::internal::WireFormatLite::BytesSize
  - google::protobuf::internal::WireFormatLite::GroupSize
  - google::protobuf::internal::WireFormatLite::MessageSize
  - google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
  - google::protobuf::internal::ParseMessageSetItemImpl
  - google::protobuf::internal::WireFormatLite
  - google::protobuf::internal::WireTypeForFieldType
  - GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG
  - google::protobuf::internal::ReadMessageNoVirtual
  - google::protobuf::internal::WriteGroupToArray
  - google::protobuf::internal::WriteMessageToArray
  - google::protobuf::internal::FieldSkipper
  - ~FieldSkipper()
  - google::protobuf::internal::CodedOutputStreamFieldSkipper
  - google::protobuf::internal::WireFormatLite::FieldTypeToCppType
  - google::protobuf::internal::WireFormatLite::MakeTag
  - google::protobuf::internal::WireFormatLite::GetTagWireType
  - google::protobuf::internal::WireFormatLite::GetTagFieldNumber
  - google::protobuf::internal::WireFormatLite::TagSize
  - google::protobuf::internal::WireFormatLite::EncodeFloat
  - google::protobuf::internal::WireFormatLite::DecodeFloat
  - google::protobuf::internal::WireFormatLite::EncodeDouble
  - google::protobuf::internal::WireFormatLite::DecodeDouble
  - google::protobuf::internal::WireFormatLite::ZigZagEncode32
  - google::protobuf::internal::WireFormatLite::ZigZagDecode32
  - google::protobuf::internal::WireFormatLite::ZigZagEncode64
  - google::protobuf::internal::WireFormatLite::ZigZagDecode64
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::WireFormatLite::ReadString
  - google::protobuf::internal::InternalSerializeUnknownMessageSetItemsToArray
  - google::protobuf::internal::ComputeUnknownMessageSetItemsSize
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_INT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_INT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_UINT32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_UINT64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SINT32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SINT64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<uint32, WireFormatLite::TYPE_FIXED32>(\n    io::CodedInputStream*
    input, uint32* value)"
  - "WireFormatLite::ReadPrimitive<uint64, WireFormatLite::TYPE_FIXED64>(\n    io::CodedInputStream*
    input, uint64* value)"
  - "WireFormatLite::ReadPrimitive<int32, WireFormatLite::TYPE_SFIXED32>(\n    io::CodedInputStream*
    input, int32* value)"
  - "WireFormatLite::ReadPrimitive<int64, WireFormatLite::TYPE_SFIXED64>(\n    io::CodedInputStream*
    input, int64* value)"
  - "WireFormatLite::ReadPrimitive<float, WireFormatLite::TYPE_FLOAT>(\n    io::CodedInputStream*
    input, float* value)"
  - "WireFormatLite::ReadPrimitive<double, WireFormatLite::TYPE_DOUBLE>(\n    io::CodedInputStream*
    input, double* value)"
  - "WireFormatLite::ReadPrimitive<bool, WireFormatLite::TYPE_BOOL>(\n    io::CodedInputStream*
    input, bool* value)"
  - "WireFormatLite::ReadPrimitive<int, WireFormatLite::TYPE_ENUM>(\n    io::CodedInputStream*
    input, int* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint32, WireFormatLite::TYPE_FIXED32>(\n
    \   const uint8* buffer, uint32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<uint64, WireFormatLite::TYPE_FIXED64>(\n
    \   const uint8* buffer, uint64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int32, WireFormatLite::TYPE_SFIXED32>(\n
    \   const uint8* buffer, int32* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<int64, WireFormatLite::TYPE_SFIXED64>(\n
    \   const uint8* buffer, int64* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<float, WireFormatLite::TYPE_FLOAT>(\n
    \   const uint8* buffer, float* value)"
  - "*\nWireFormatLite::ReadPrimitiveFromArray<double, WireFormatLite::TYPE_DOUBLE>(\n
    \   const uint8* buffer, double* value)"
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadRepeatedFixedSizePrimitive
  - READ_REPEATED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitive
  - google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive
  - READ_REPEATED_PACKED_FIXED_SIZE_PRIMITIVE
  - google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline
  - google::protobuf::internal::WireFormatLite::ReadGroup
  - google::protobuf::internal::WireFormatLite::ReadMessage
  - google::protobuf::internal::WireFormatLite::WriteTag
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTag
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTag
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTag
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTag
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTag
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTag
  - google::protobuf::internal::WireFormatLite::WriteGroupNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteMessageNoVirtual
  - google::protobuf::internal::WireFormatLite::WriteTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixedNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64NoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WritePrimitiveToArray
  - google::protobuf::internal::WireFormatLite::WriteInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteUInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSInt64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed32ToArray
  - google::protobuf::internal::WireFormatLite::WriteSFixed64ToArray
  - google::protobuf::internal::WireFormatLite::WriteFloatToArray
  - google::protobuf::internal::WireFormatLite::WriteDoubleToArray
  - google::protobuf::internal::WireFormatLite::WriteBoolToArray
  - google::protobuf::internal::WireFormatLite::WriteEnumToArray
  - google::protobuf::internal::WireFormatLite::WriteStringToArray
  - google::protobuf::internal::WireFormatLite::WriteBytesToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteGroup
  - google::protobuf::internal::WireFormatLite::InternalWriteMessage
  - google::protobuf::internal::WireFormatLite::InternalWriteGroupNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::InternalWriteMessageNoVirtualToArray
  - google::protobuf::internal::WireFormatLite::Int32Size
  - google::protobuf::internal::WireFormatLite::Int64Size
  - google::protobuf::internal::WireFormatLite::UInt32Size
  - google::protobuf::internal::WireFormatLite::UInt64Size
  - google::protobuf::internal::WireFormatLite::SInt32Size
  - google::protobuf::internal::WireFormatLite::SInt64Size
  - google::protobuf::internal::WireFormatLite::EnumSize
  - google::protobuf::internal::WireFormatLite::StringSize
  - google::protobuf::internal::WireFormatLite::BytesSize
  - google::protobuf::internal::WireFormatLite::GroupSize
  - google::protobuf::internal::WireFormatLite::MessageSize
  - google::protobuf::internal::WireFormatLite::GroupSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual
  - google::protobuf::internal::WireFormatLite::LengthDelimitedSize
  - google::protobuf::internal::ParseMessageSetItemImpl
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
  types:
    enum:
    - enumerators:
      - name: WIRETYPE_VARINT
        value: '0'
      - name: WIRETYPE_FIXED64
        value: '1'
      - name: WIRETYPE_LENGTH_DELIMITED
        value: '2'
      - name: WIRETYPE_START_GROUP
        value: '3'
      - name: WIRETYPE_END_GROUP
        value: '4'
      - name: WIRETYPE_FIXED32
        value: '5'
      item_type: enum
      name: WireType
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: TYPE_INT32
        value: '5'
      - name: TYPE_STRING
        value: '9'
      - name: MAX_FIELD_TYPE
        value: '18'
      - name: TYPE_SFIXED32
        value: '15'
      - name: TYPE_FIXED64
        value: '6'
      - name: TYPE_GROUP
        value: '10'
      - name: TYPE_BYTES
        value: '12'
      - name: TYPE_SFIXED64
        value: '16'
      - name: TYPE_DOUBLE
        value: '1'
      - name: TYPE_FLOAT
        value: '2'
      - name: TYPE_INT64
        value: '3'
      - name: TYPE_FIXED32
        value: '7'
      - name: TYPE_UINT32
        value: '13'
      - name: TYPE_SINT32
        value: '17'
      - name: TYPE_MESSAGE
        value: '11'
      - name: TYPE_UINT64
        value: '4'
      - name: TYPE_BOOL
        value: '8'
      - name: TYPE_SINT64
        value: '18'
      - name: TYPE_ENUM
        value: '14'
      item_type: enum
      name: FieldType
      pos:
        line_end: 131
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: CPPTYPE_INT32
        value: '1'
      - name: CPPTYPE_INT64
        value: '2'
      - name: CPPTYPE_UINT32
        value: '3'
      - name: CPPTYPE_UINT64
        value: '4'
      - name: CPPTYPE_DOUBLE
        value: '5'
      - name: CPPTYPE_FLOAT
        value: '6'
      - name: CPPTYPE_BOOL
        value: '7'
      - name: CPPTYPE_ENUM
        value: '8'
      - name: CPPTYPE_STRING
        value: '9'
      - name: CPPTYPE_MESSAGE
        value: '10'
      - name: MAX_CPPTYPE
        value: '10'
      item_type: enum
      name: CppType
      pos:
        line_end: 146
        line_start: 134
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: PARSE
        value: '0'
      - name: SERIALIZE
        value: '1'
      item_type: enum
      name: Operation
      pos:
        line_end: 325
        line_start: 322
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: WIRETYPE_VARINT
        value: '0'
      - name: WIRETYPE_FIXED64
        value: '1'
      - name: WIRETYPE_LENGTH_DELIMITED
        value: '2'
      - name: WIRETYPE_START_GROUP
        value: '3'
      - name: WIRETYPE_END_GROUP
        value: '4'
      - name: WIRETYPE_FIXED32
        value: '5'
      item_type: enum
      name: WireType
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: TYPE_INT32
        value: '5'
      - name: TYPE_STRING
        value: '9'
      - name: MAX_FIELD_TYPE
        value: '18'
      - name: TYPE_SFIXED32
        value: '15'
      - name: TYPE_FIXED64
        value: '6'
      - name: TYPE_GROUP
        value: '10'
      - name: TYPE_BYTES
        value: '12'
      - name: TYPE_SFIXED64
        value: '16'
      - name: TYPE_DOUBLE
        value: '1'
      - name: TYPE_FLOAT
        value: '2'
      - name: TYPE_INT64
        value: '3'
      - name: TYPE_FIXED32
        value: '7'
      - name: TYPE_UINT32
        value: '13'
      - name: TYPE_SINT32
        value: '17'
      - name: TYPE_MESSAGE
        value: '11'
      - name: TYPE_UINT64
        value: '4'
      - name: TYPE_BOOL
        value: '8'
      - name: TYPE_SINT64
        value: '18'
      - name: TYPE_ENUM
        value: '14'
      item_type: enum
      name: FieldType
      pos:
        line_end: 131
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: CPPTYPE_INT32
        value: '1'
      - name: CPPTYPE_INT64
        value: '2'
      - name: CPPTYPE_UINT32
        value: '3'
      - name: CPPTYPE_UINT64
        value: '4'
      - name: CPPTYPE_DOUBLE
        value: '5'
      - name: CPPTYPE_FLOAT
        value: '6'
      - name: CPPTYPE_BOOL
        value: '7'
      - name: CPPTYPE_ENUM
        value: '8'
      - name: CPPTYPE_STRING
        value: '9'
      - name: CPPTYPE_MESSAGE
        value: '10'
      - name: MAX_CPPTYPE
        value: '10'
      item_type: enum
      name: CppType
      pos:
        line_end: 146
        line_start: 134
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: PARSE
        value: '0'
      - name: SERIALIZE
        value: '1'
      item_type: enum
      name: Operation
      pos:
        line_end: 325
        line_start: 322
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: WIRETYPE_VARINT
        value: '0'
      - name: WIRETYPE_FIXED64
        value: '1'
      - name: WIRETYPE_LENGTH_DELIMITED
        value: '2'
      - name: WIRETYPE_START_GROUP
        value: '3'
      - name: WIRETYPE_END_GROUP
        value: '4'
      - name: WIRETYPE_FIXED32
        value: '5'
      item_type: enum
      name: WireType
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: TYPE_INT32
        value: '5'
      - name: TYPE_STRING
        value: '9'
      - name: MAX_FIELD_TYPE
        value: '18'
      - name: TYPE_SFIXED32
        value: '15'
      - name: TYPE_FIXED64
        value: '6'
      - name: TYPE_GROUP
        value: '10'
      - name: TYPE_BYTES
        value: '12'
      - name: TYPE_SFIXED64
        value: '16'
      - name: TYPE_DOUBLE
        value: '1'
      - name: TYPE_FLOAT
        value: '2'
      - name: TYPE_INT64
        value: '3'
      - name: TYPE_FIXED32
        value: '7'
      - name: TYPE_UINT32
        value: '13'
      - name: TYPE_SINT32
        value: '17'
      - name: TYPE_MESSAGE
        value: '11'
      - name: TYPE_UINT64
        value: '4'
      - name: TYPE_BOOL
        value: '8'
      - name: TYPE_SINT64
        value: '18'
      - name: TYPE_ENUM
        value: '14'
      item_type: enum
      name: FieldType
      pos:
        line_end: 131
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: CPPTYPE_INT32
        value: '1'
      - name: CPPTYPE_INT64
        value: '2'
      - name: CPPTYPE_UINT32
        value: '3'
      - name: CPPTYPE_UINT64
        value: '4'
      - name: CPPTYPE_DOUBLE
        value: '5'
      - name: CPPTYPE_FLOAT
        value: '6'
      - name: CPPTYPE_BOOL
        value: '7'
      - name: CPPTYPE_ENUM
        value: '8'
      - name: CPPTYPE_STRING
        value: '9'
      - name: CPPTYPE_MESSAGE
        value: '10'
      - name: MAX_CPPTYPE
        value: '10'
      item_type: enum
      name: CppType
      pos:
        line_end: 146
        line_start: 134
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: PARSE
        value: '0'
      - name: SERIALIZE
        value: '1'
      item_type: enum
      name: Operation
      pos:
        line_end: 325
        line_start: 322
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: WIRETYPE_VARINT
        value: '0'
      - name: WIRETYPE_FIXED64
        value: '1'
      - name: WIRETYPE_LENGTH_DELIMITED
        value: '2'
      - name: WIRETYPE_START_GROUP
        value: '3'
      - name: WIRETYPE_END_GROUP
        value: '4'
      - name: WIRETYPE_FIXED32
        value: '5'
      item_type: enum
      name: WireType
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: TYPE_INT32
        value: '5'
      - name: TYPE_STRING
        value: '9'
      - name: MAX_FIELD_TYPE
        value: '18'
      - name: TYPE_SFIXED32
        value: '15'
      - name: TYPE_FIXED64
        value: '6'
      - name: TYPE_GROUP
        value: '10'
      - name: TYPE_BYTES
        value: '12'
      - name: TYPE_SFIXED64
        value: '16'
      - name: TYPE_DOUBLE
        value: '1'
      - name: TYPE_FLOAT
        value: '2'
      - name: TYPE_INT64
        value: '3'
      - name: TYPE_FIXED32
        value: '7'
      - name: TYPE_UINT32
        value: '13'
      - name: TYPE_SINT32
        value: '17'
      - name: TYPE_MESSAGE
        value: '11'
      - name: TYPE_UINT64
        value: '4'
      - name: TYPE_BOOL
        value: '8'
      - name: TYPE_SINT64
        value: '18'
      - name: TYPE_ENUM
        value: '14'
      item_type: enum
      name: FieldType
      pos:
        line_end: 131
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: CPPTYPE_INT32
        value: '1'
      - name: CPPTYPE_INT64
        value: '2'
      - name: CPPTYPE_UINT32
        value: '3'
      - name: CPPTYPE_UINT64
        value: '4'
      - name: CPPTYPE_DOUBLE
        value: '5'
      - name: CPPTYPE_FLOAT
        value: '6'
      - name: CPPTYPE_BOOL
        value: '7'
      - name: CPPTYPE_ENUM
        value: '8'
      - name: CPPTYPE_STRING
        value: '9'
      - name: CPPTYPE_MESSAGE
        value: '10'
      - name: MAX_CPPTYPE
        value: '10'
      item_type: enum
      name: CppType
      pos:
        line_end: 146
        line_start: 134
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: PARSE
        value: '0'
      - name: SERIALIZE
        value: '1'
      item_type: enum
      name: Operation
      pos:
        line_end: 325
        line_start: 322
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: WIRETYPE_VARINT
        value: '0'
      - name: WIRETYPE_FIXED64
        value: '1'
      - name: WIRETYPE_LENGTH_DELIMITED
        value: '2'
      - name: WIRETYPE_START_GROUP
        value: '3'
      - name: WIRETYPE_END_GROUP
        value: '4'
      - name: WIRETYPE_FIXED32
        value: '5'
      item_type: enum
      name: WireType
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: TYPE_INT32
        value: '5'
      - name: TYPE_STRING
        value: '9'
      - name: MAX_FIELD_TYPE
        value: '18'
      - name: TYPE_SFIXED32
        value: '15'
      - name: TYPE_FIXED64
        value: '6'
      - name: TYPE_GROUP
        value: '10'
      - name: TYPE_BYTES
        value: '12'
      - name: TYPE_SFIXED64
        value: '16'
      - name: TYPE_DOUBLE
        value: '1'
      - name: TYPE_FLOAT
        value: '2'
      - name: TYPE_INT64
        value: '3'
      - name: TYPE_FIXED32
        value: '7'
      - name: TYPE_UINT32
        value: '13'
      - name: TYPE_SINT32
        value: '17'
      - name: TYPE_MESSAGE
        value: '11'
      - name: TYPE_UINT64
        value: '4'
      - name: TYPE_BOOL
        value: '8'
      - name: TYPE_SINT64
        value: '18'
      - name: TYPE_ENUM
        value: '14'
      item_type: enum
      name: FieldType
      pos:
        line_end: 131
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: CPPTYPE_INT32
        value: '1'
      - name: CPPTYPE_INT64
        value: '2'
      - name: CPPTYPE_UINT32
        value: '3'
      - name: CPPTYPE_UINT64
        value: '4'
      - name: CPPTYPE_DOUBLE
        value: '5'
      - name: CPPTYPE_FLOAT
        value: '6'
      - name: CPPTYPE_BOOL
        value: '7'
      - name: CPPTYPE_ENUM
        value: '8'
      - name: CPPTYPE_STRING
        value: '9'
      - name: CPPTYPE_MESSAGE
        value: '10'
      - name: MAX_CPPTYPE
        value: '10'
      item_type: enum
      name: CppType
      pos:
        line_end: 146
        line_start: 134
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: PARSE
        value: '0'
      - name: SERIALIZE
        value: '1'
      item_type: enum
      name: Operation
      pos:
        line_end: 325
        line_start: 322
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: WIRETYPE_VARINT
        value: '0'
      - name: WIRETYPE_FIXED64
        value: '1'
      - name: WIRETYPE_LENGTH_DELIMITED
        value: '2'
      - name: WIRETYPE_START_GROUP
        value: '3'
      - name: WIRETYPE_END_GROUP
        value: '4'
      - name: WIRETYPE_FIXED32
        value: '5'
      item_type: enum
      name: WireType
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: TYPE_INT32
        value: '5'
      - name: TYPE_STRING
        value: '9'
      - name: MAX_FIELD_TYPE
        value: '18'
      - name: TYPE_SFIXED32
        value: '15'
      - name: TYPE_FIXED64
        value: '6'
      - name: TYPE_GROUP
        value: '10'
      - name: TYPE_BYTES
        value: '12'
      - name: TYPE_SFIXED64
        value: '16'
      - name: TYPE_DOUBLE
        value: '1'
      - name: TYPE_FLOAT
        value: '2'
      - name: TYPE_INT64
        value: '3'
      - name: TYPE_FIXED32
        value: '7'
      - name: TYPE_UINT32
        value: '13'
      - name: TYPE_SINT32
        value: '17'
      - name: TYPE_MESSAGE
        value: '11'
      - name: TYPE_UINT64
        value: '4'
      - name: TYPE_BOOL
        value: '8'
      - name: TYPE_SINT64
        value: '18'
      - name: TYPE_ENUM
        value: '14'
      item_type: enum
      name: FieldType
      pos:
        line_end: 131
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: CPPTYPE_INT32
        value: '1'
      - name: CPPTYPE_INT64
        value: '2'
      - name: CPPTYPE_UINT32
        value: '3'
      - name: CPPTYPE_UINT64
        value: '4'
      - name: CPPTYPE_DOUBLE
        value: '5'
      - name: CPPTYPE_FLOAT
        value: '6'
      - name: CPPTYPE_BOOL
        value: '7'
      - name: CPPTYPE_ENUM
        value: '8'
      - name: CPPTYPE_STRING
        value: '9'
      - name: CPPTYPE_MESSAGE
        value: '10'
      - name: MAX_CPPTYPE
        value: '10'
      item_type: enum
      name: CppType
      pos:
        line_end: 146
        line_start: 134
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: PARSE
        value: '0'
      - name: SERIALIZE
        value: '1'
      item_type: enum
      name: Operation
      pos:
        line_end: 325
        line_start: 322
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: WIRETYPE_VARINT
        value: '0'
      - name: WIRETYPE_FIXED64
        value: '1'
      - name: WIRETYPE_LENGTH_DELIMITED
        value: '2'
      - name: WIRETYPE_START_GROUP
        value: '3'
      - name: WIRETYPE_END_GROUP
        value: '4'
      - name: WIRETYPE_FIXED32
        value: '5'
      item_type: enum
      name: WireType
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: TYPE_INT32
        value: '5'
      - name: TYPE_STRING
        value: '9'
      - name: MAX_FIELD_TYPE
        value: '18'
      - name: TYPE_SFIXED32
        value: '15'
      - name: TYPE_FIXED64
        value: '6'
      - name: TYPE_GROUP
        value: '10'
      - name: TYPE_BYTES
        value: '12'
      - name: TYPE_SFIXED64
        value: '16'
      - name: TYPE_DOUBLE
        value: '1'
      - name: TYPE_FLOAT
        value: '2'
      - name: TYPE_INT64
        value: '3'
      - name: TYPE_FIXED32
        value: '7'
      - name: TYPE_UINT32
        value: '13'
      - name: TYPE_SINT32
        value: '17'
      - name: TYPE_MESSAGE
        value: '11'
      - name: TYPE_UINT64
        value: '4'
      - name: TYPE_BOOL
        value: '8'
      - name: TYPE_SINT64
        value: '18'
      - name: TYPE_ENUM
        value: '14'
      item_type: enum
      name: FieldType
      pos:
        line_end: 131
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: CPPTYPE_INT32
        value: '1'
      - name: CPPTYPE_INT64
        value: '2'
      - name: CPPTYPE_UINT32
        value: '3'
      - name: CPPTYPE_UINT64
        value: '4'
      - name: CPPTYPE_DOUBLE
        value: '5'
      - name: CPPTYPE_FLOAT
        value: '6'
      - name: CPPTYPE_BOOL
        value: '7'
      - name: CPPTYPE_ENUM
        value: '8'
      - name: CPPTYPE_STRING
        value: '9'
      - name: CPPTYPE_MESSAGE
        value: '10'
      - name: MAX_CPPTYPE
        value: '10'
      item_type: enum
      name: CppType
      pos:
        line_end: 146
        line_start: 134
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: PARSE
        value: '0'
      - name: SERIALIZE
        value: '1'
      item_type: enum
      name: Operation
      pos:
        line_end: 325
        line_start: 322
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: WIRETYPE_VARINT
        value: '0'
      - name: WIRETYPE_FIXED64
        value: '1'
      - name: WIRETYPE_LENGTH_DELIMITED
        value: '2'
      - name: WIRETYPE_START_GROUP
        value: '3'
      - name: WIRETYPE_END_GROUP
        value: '4'
      - name: WIRETYPE_FIXED32
        value: '5'
      item_type: enum
      name: WireType
      pos:
        line_end: 108
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: TYPE_INT32
        value: '5'
      - name: TYPE_STRING
        value: '9'
      - name: MAX_FIELD_TYPE
        value: '18'
      - name: TYPE_SFIXED32
        value: '15'
      - name: TYPE_FIXED64
        value: '6'
      - name: TYPE_GROUP
        value: '10'
      - name: TYPE_BYTES
        value: '12'
      - name: TYPE_SFIXED64
        value: '16'
      - name: TYPE_DOUBLE
        value: '1'
      - name: TYPE_FLOAT
        value: '2'
      - name: TYPE_INT64
        value: '3'
      - name: TYPE_FIXED32
        value: '7'
      - name: TYPE_UINT32
        value: '13'
      - name: TYPE_SINT32
        value: '17'
      - name: TYPE_MESSAGE
        value: '11'
      - name: TYPE_UINT64
        value: '4'
      - name: TYPE_BOOL
        value: '8'
      - name: TYPE_SINT64
        value: '18'
      - name: TYPE_ENUM
        value: '14'
      item_type: enum
      name: FieldType
      pos:
        line_end: 131
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: CPPTYPE_INT32
        value: '1'
      - name: CPPTYPE_INT64
        value: '2'
      - name: CPPTYPE_UINT32
        value: '3'
      - name: CPPTYPE_UINT64
        value: '4'
      - name: CPPTYPE_DOUBLE
        value: '5'
      - name: CPPTYPE_FLOAT
        value: '6'
      - name: CPPTYPE_BOOL
        value: '7'
      - name: CPPTYPE_ENUM
        value: '8'
      - name: CPPTYPE_STRING
        value: '9'
      - name: CPPTYPE_MESSAGE
        value: '10'
      - name: MAX_CPPTYPE
        value: '10'
      item_type: enum
      name: CppType
      pos:
        line_end: 146
        line_start: 134
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    - enumerators:
      - name: PARSE
        value: '0'
      - name: SERIALIZE
        value: '1'
      item_type: enum
      name: Operation
      pos:
        line_end: 325
        line_start: 322
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/wire_format_lite.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::AlignUpTo8
  - google::protobuf::internal::ArenaMetricsCollector
  - google::protobuf::internal::SerialArena
  - google::protobuf::internal::special
  - google::protobuf::internal::user_owned
  - google::protobuf::internal::next
  - google::protobuf::internal::clear_next
  - google::protobuf::internal::pos
  - google::protobuf::internal::size
  - google::protobuf::internal::set_pos
  - google::protobuf::internal::AlignUpTo8
  - google::protobuf::internal::ArenaMetricsCollector
  - google::protobuf::internal::SerialArena
  - google::protobuf::internal::special
  - google::protobuf::internal::user_owned
  - google::protobuf::internal::next
  - google::protobuf::internal::clear_next
  - google::protobuf::internal::pos
  - google::protobuf::internal::size
  - google::protobuf::internal::set_pos
  - google::protobuf::HasSpace
  - google::protobuf::AllocateAligned
  - google::protobuf::MaybeAllocateAligned
  - google::protobuf::AddCleanup
  - google::protobuf::AllocateAlignedAndAddCleanup
  - google::protobuf::head
  - google::protobuf::owner
  - google::protobuf::next
  - google::protobuf::set_next
  - google::protobuf::SizeOf
  - google::protobuf::internal::AlignUpTo8
  - google::protobuf::internal::ArenaMetricsCollector
  - google::protobuf::internal::SerialArena
  - google::protobuf::internal::special
  - google::protobuf::internal::user_owned
  - google::protobuf::internal::next
  - google::protobuf::internal::clear_next
  - google::protobuf::internal::pos
  - google::protobuf::internal::size
  - google::protobuf::internal::set_pos
  - google::protobuf::internal::AlignUpTo8
  - google::protobuf::internal::ArenaMetricsCollector
  - google::protobuf::internal::SerialArena
  - google::protobuf::internal::special
  - google::protobuf::internal::user_owned
  - google::protobuf::internal::next
  - google::protobuf::internal::clear_next
  - google::protobuf::internal::pos
  - google::protobuf::internal::size
  - google::protobuf::internal::set_pos
  - google::protobuf::HasSpace
  - google::protobuf::AllocateAligned
  - google::protobuf::MaybeAllocateAligned
  - google::protobuf::AddCleanup
  - google::protobuf::AllocateAlignedAndAddCleanup
  - google::protobuf::head
  - google::protobuf::owner
  - google::protobuf::next
  - google::protobuf::set_next
  - google::protobuf::SizeOf
  - google::ArenaImpl
  - google::ArenaImpl
  - google::ArenaImpl
  - google::AllocateAligned
  - google::MaybeAllocateAligned
  - google::RecordAlloc
  - google::record_allocs
  - google::PerBlock
  - google::CacheSerialArena
  - google::GetSerialArenaFast
  - google::GetSerialArenaFromThreadCache
  - google::ThreadCache
  - google::thread_cache
  - google::ArenaImpl
  - google::protobuf::internal::AlignUpTo8
  - google::protobuf::internal::ArenaMetricsCollector
  - google::protobuf::internal::SerialArena
  - google::protobuf::internal::special
  - google::protobuf::internal::user_owned
  - google::protobuf::internal::next
  - google::protobuf::internal::clear_next
  - google::protobuf::internal::pos
  - google::protobuf::internal::size
  - google::protobuf::internal::set_pos
  - google::protobuf::internal::AlignUpTo8
  - google::protobuf::internal::ArenaMetricsCollector
  - google::protobuf::internal::SerialArena
  - google::protobuf::internal::special
  - google::protobuf::internal::user_owned
  - google::protobuf::internal::next
  - google::protobuf::internal::clear_next
  - google::protobuf::internal::pos
  - google::protobuf::internal::size
  - google::protobuf::internal::set_pos
  - google::protobuf::HasSpace
  - google::protobuf::AllocateAligned
  - google::protobuf::MaybeAllocateAligned
  - google::protobuf::AddCleanup
  - google::protobuf::AllocateAlignedAndAddCleanup
  - google::protobuf::head
  - google::protobuf::owner
  - google::protobuf::next
  - google::protobuf::set_next
  - google::protobuf::SizeOf
  - google::protobuf::internal::AlignUpTo8
  - google::protobuf::internal::ArenaMetricsCollector
  - google::protobuf::internal::SerialArena
  - google::protobuf::internal::special
  - google::protobuf::internal::user_owned
  - google::protobuf::internal::next
  - google::protobuf::internal::clear_next
  - google::protobuf::internal::pos
  - google::protobuf::internal::size
  - google::protobuf::internal::set_pos
  - google::protobuf::internal::AlignUpTo8
  - google::protobuf::internal::ArenaMetricsCollector
  - google::protobuf::internal::SerialArena
  - google::protobuf::internal::special
  - google::protobuf::internal::user_owned
  - google::protobuf::internal::next
  - google::protobuf::internal::clear_next
  - google::protobuf::internal::pos
  - google::protobuf::internal::size
  - google::protobuf::internal::set_pos
  - google::protobuf::HasSpace
  - google::protobuf::AllocateAligned
  - google::protobuf::MaybeAllocateAligned
  - google::protobuf::AddCleanup
  - google::protobuf::AllocateAlignedAndAddCleanup
  - google::protobuf::head
  - google::protobuf::owner
  - google::protobuf::next
  - google::protobuf::set_next
  - google::protobuf::SizeOf
  - google::ArenaImpl
  - google::ArenaImpl
  - google::ArenaImpl
  - google::AllocateAligned
  - google::MaybeAllocateAligned
  - google::RecordAlloc
  - google::record_allocs
  - google::PerBlock
  - google::CacheSerialArena
  - google::GetSerialArenaFast
  - google::GetSerialArenaFromThreadCache
  - google::ThreadCache
  - google::thread_cache
  - google::ArenaImpl
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* elem'
        type: void
      - name: (*cleanup)(void*)
        type: void
      item_type: struct
      name: CleanupNode
      pos:
        line_end: 213
        line_start: 210
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    - fields:
      - name: size
        type: size_t
      - name: '* next'
        type: CleanupChunk
      - name: nodes[1]
        type: CleanupNode
      item_type: struct
      name: CleanupChunk
      pos:
        line_end: 223
        line_start: 216
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    - fields:
      - name: '* elem'
        type: void
      - name: (*cleanup)(void*)
        type: void
      item_type: struct
      name: CleanupNode
      pos:
        line_end: 213
        line_start: 210
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    - fields:
      - name: size
        type: size_t
      - name: '* next'
        type: CleanupChunk
      - name: nodes[1]
        type: CleanupNode
      item_type: struct
      name: CleanupChunk
      pos:
        line_end: 223
        line_start: 216
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    - fields:
      - name: start_block_size
        type: size_t
      - name: max_block_size
        type: size_t
      - name: '* (*block_alloc)(size_t)'
        type: void
      - name: (*block_dealloc)(void*, size_t)
        type: void
      - name: '* metrics_collector'
        type: ArenaMetricsCollector
      item_type: struct
      name: Options
      pos:
        line_end: 338
        line_start: 332
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    - fields:
      - name: kPerThreadIds
        type: size_t
      - name: next_lifecycle_id
        type: uint64
      - name: last_lifecycle_id_seen
        type: uint64
      - name: '* last_serial_arena'
        type: SerialArena
      item_type: struct
      name: ThreadCache
      pos:
        line_end: 438
        line_start: 415
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    - fields:
      - name: id
        type: std::atomic<LifecycleIdAtomic>
      item_type: struct
      name: CacheAlignedLifecycleIdGenerator
      pos:
        line_end: 448
        line_start: 446
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    - fields:
      - name: '* elem'
        type: void
      - name: (*cleanup)(void*)
        type: void
      item_type: struct
      name: CleanupNode
      pos:
        line_end: 213
        line_start: 210
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    - fields:
      - name: size
        type: size_t
      - name: '* next'
        type: CleanupChunk
      - name: nodes[1]
        type: CleanupNode
      item_type: struct
      name: CleanupChunk
      pos:
        line_end: 223
        line_start: 216
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    - fields:
      - name: '* elem'
        type: void
      - name: (*cleanup)(void*)
        type: void
      item_type: struct
      name: CleanupNode
      pos:
        line_end: 213
        line_start: 210
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    - fields:
      - name: size
        type: size_t
      - name: '* next'
        type: CleanupChunk
      - name: nodes[1]
        type: CleanupNode
      item_type: struct
      name: CleanupChunk
      pos:
        line_end: 223
        line_start: 216
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    - fields:
      - name: start_block_size
        type: size_t
      - name: max_block_size
        type: size_t
      - name: '* (*block_alloc)(size_t)'
        type: void
      - name: (*block_dealloc)(void*, size_t)
        type: void
      - name: '* metrics_collector'
        type: ArenaMetricsCollector
      item_type: struct
      name: Options
      pos:
        line_end: 338
        line_start: 332
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    - fields:
      - name: kPerThreadIds
        type: size_t
      - name: next_lifecycle_id
        type: uint64
      - name: last_lifecycle_id_seen
        type: uint64
      - name: '* last_serial_arena'
        type: SerialArena
      item_type: struct
      name: ThreadCache
      pos:
        line_end: 438
        line_start: 415
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    - fields:
      - name: id
        type: std::atomic<LifecycleIdAtomic>
      item_type: struct
      name: CacheAlignedLifecycleIdGenerator
      pos:
        line_end: 448
        line_start: 446
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena_impl.h
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::ParseNamedEnum
  - google::protobuf::internal::ParseNamedEnum
  - google::protobuf::internal::ParseNamedEnum
  - google::protobuf::internal::ParseNamedEnum
  - google::protobuf::internal::ParseNamedEnum
  - google::protobuf::internal::ParseNamedEnum
  - google::protobuf::internal::ParseNamedEnum
  - google::protobuf::internal::ParseNamedEnum
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_reflection.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::GetTypeName
  - google::protobuf::internal::New
  - google::protobuf::internal::New
  - google::protobuf::internal::Clear
  - google::protobuf::internal::IsInitialized
  - google::protobuf::internal::CheckTypeAndMergeFrom
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::_InternalSerialize
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
  - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
  - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::GetTypeName
  - google::protobuf::internal::New
  - google::protobuf::internal::New
  - google::protobuf::internal::Clear
  - google::protobuf::internal::IsInitialized
  - google::protobuf::internal::CheckTypeAndMergeFrom
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::_InternalSerialize
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
  - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
  - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
  - google::protobuf::WeakRepeatedPtrField
  - google::protobuf::WeakRepeatedPtrField
  - ~WeakRepeatedPtrField()
  - google::protobuf::begin
  - google::protobuf::begin
  - google::protobuf::cbegin
  - google::protobuf::end
  - google::protobuf::end
  - google::protobuf::cend
  - google::protobuf::pointer_begin
  - google::protobuf::pointer_begin
  - google::protobuf::pointer_end
  - google::protobuf::pointer_end
  - google::protobuf::AddWeak
  - google::protobuf::Add
  - google::protobuf::Clear
  - google::protobuf::MergeFrom
  - google::protobuf::InternalSwap
  - '& base() const'
  - '& base()'
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::GetTypeName
  - google::protobuf::internal::New
  - google::protobuf::internal::New
  - google::protobuf::internal::Clear
  - google::protobuf::internal::IsInitialized
  - google::protobuf::internal::CheckTypeAndMergeFrom
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::_InternalSerialize
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
  - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
  - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::GetTypeName
  - google::protobuf::internal::New
  - google::protobuf::internal::New
  - google::protobuf::internal::Clear
  - google::protobuf::internal::IsInitialized
  - google::protobuf::internal::CheckTypeAndMergeFrom
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::_InternalSerialize
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
  - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
  - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
  - google::protobuf::WeakRepeatedPtrField
  - google::protobuf::WeakRepeatedPtrField
  - ~WeakRepeatedPtrField()
  - google::protobuf::begin
  - google::protobuf::begin
  - google::protobuf::cbegin
  - google::protobuf::end
  - google::protobuf::end
  - google::protobuf::cend
  - google::protobuf::pointer_begin
  - google::protobuf::pointer_begin
  - google::protobuf::pointer_end
  - google::protobuf::pointer_end
  - google::protobuf::AddWeak
  - google::protobuf::Add
  - google::protobuf::Clear
  - google::protobuf::MergeFrom
  - google::protobuf::InternalSwap
  - '& base() const'
  - '& base()'
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::GetTypeName
  - google::protobuf::internal::New
  - google::protobuf::internal::New
  - google::protobuf::internal::Clear
  - google::protobuf::internal::IsInitialized
  - google::protobuf::internal::CheckTypeAndMergeFrom
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::_InternalSerialize
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
  - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
  - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::GetTypeName
  - google::protobuf::internal::New
  - google::protobuf::internal::New
  - google::protobuf::internal::Clear
  - google::protobuf::internal::IsInitialized
  - google::protobuf::internal::CheckTypeAndMergeFrom
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::_InternalSerialize
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
  - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
  - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
  - google::protobuf::WeakRepeatedPtrField
  - google::protobuf::WeakRepeatedPtrField
  - ~WeakRepeatedPtrField()
  - google::protobuf::begin
  - google::protobuf::begin
  - google::protobuf::cbegin
  - google::protobuf::end
  - google::protobuf::end
  - google::protobuf::cend
  - google::protobuf::pointer_begin
  - google::protobuf::pointer_begin
  - google::protobuf::pointer_end
  - google::protobuf::pointer_end
  - google::protobuf::AddWeak
  - google::protobuf::Add
  - google::protobuf::Clear
  - google::protobuf::MergeFrom
  - google::protobuf::InternalSwap
  - '& base() const'
  - '& base()'
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::GetTypeName
  - google::protobuf::internal::New
  - google::protobuf::internal::New
  - google::protobuf::internal::Clear
  - google::protobuf::internal::IsInitialized
  - google::protobuf::internal::CheckTypeAndMergeFrom
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::_InternalSerialize
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
  - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
  - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::ImplicitWeakMessage
  - google::protobuf::internal::GetTypeName
  - google::protobuf::internal::New
  - google::protobuf::internal::New
  - google::protobuf::internal::Clear
  - google::protobuf::internal::IsInitialized
  - google::protobuf::internal::CheckTypeAndMergeFrom
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::_InternalSerialize
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::ImplicitWeakTypeHandler::NewFromPrototype
  - google::protobuf::internal::ImplicitWeakTypeHandler::Delete
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetArena
  - google::protobuf::internal::ImplicitWeakTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::ImplicitWeakTypeHandler::Clear
  - google::protobuf::internal::ImplicitWeakTypeHandler::Merge
  - google::protobuf::WeakRepeatedPtrField
  - google::protobuf::WeakRepeatedPtrField
  - ~WeakRepeatedPtrField()
  - google::protobuf::begin
  - google::protobuf::begin
  - google::protobuf::cbegin
  - google::protobuf::end
  - google::protobuf::end
  - google::protobuf::cend
  - google::protobuf::pointer_begin
  - google::protobuf::pointer_begin
  - google::protobuf::pointer_end
  - google::protobuf::pointer_end
  - google::protobuf::AddWeak
  - google::protobuf::Add
  - google::protobuf::Clear
  - google::protobuf::MergeFrom
  - google::protobuf::InternalSwap
  - '& base() const'
  - '& base()'
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: WeakRepeatedPtrField
      pos:
        line_end: 182
        line_start: 129
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    - fields: []
      item_type: struct
      name: WeakRepeatedPtrField
      pos:
        line_end: 182
        line_start: 129
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    - fields: []
      item_type: struct
      name: WeakRepeatedPtrField
      pos:
        line_end: 182
        line_start: 129
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    - fields: []
      item_type: struct
      name: WeakRepeatedPtrField
      pos:
        line_end: 182
        line_start: 129
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
    typedefs:
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: void
    - item_type: typedef
      name: Type
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: MessageLite
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: void
    - item_type: typedef
      name: Type
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: MessageLite
    - item_type: typedef
      name: iterator
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: RepeatedPtrIterator<MessageLite>
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: RepeatedPtrIterator<const MessageLite>
    - item_type: typedef
      name: pointer_iterator
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: RepeatedPtrOverPtrsIterator<MessageLite*, void*>
    - item_type: typedef
      name: const_pointer_iterator
      pos:
        line_end: 141
        line_start: 139
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: "RepeatedPtrOverPtrsIterator<const MessageLite* const,\n                                                const
        void* const>"
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: void
    - item_type: typedef
      name: Type
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: MessageLite
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: void
    - item_type: typedef
      name: Type
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: MessageLite
    - item_type: typedef
      name: iterator
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: RepeatedPtrIterator<MessageLite>
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: RepeatedPtrIterator<const MessageLite>
    - item_type: typedef
      name: pointer_iterator
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: RepeatedPtrOverPtrsIterator<MessageLite*, void*>
    - item_type: typedef
      name: const_pointer_iterator
      pos:
        line_end: 141
        line_start: 139
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: "RepeatedPtrOverPtrsIterator<const MessageLite* const,\n                                                const
        void* const>"
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: void
    - item_type: typedef
      name: Type
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: MessageLite
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: void
    - item_type: typedef
      name: Type
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: MessageLite
    - item_type: typedef
      name: iterator
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: RepeatedPtrIterator<MessageLite>
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: RepeatedPtrIterator<const MessageLite>
    - item_type: typedef
      name: pointer_iterator
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: RepeatedPtrOverPtrsIterator<MessageLite*, void*>
    - item_type: typedef
      name: const_pointer_iterator
      pos:
        line_end: 141
        line_start: 139
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: "RepeatedPtrOverPtrsIterator<const MessageLite* const,\n                                                const
        void* const>"
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: void
    - item_type: typedef
      name: Type
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: MessageLite
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: void
    - item_type: typedef
      name: Type
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: MessageLite
    - item_type: typedef
      name: iterator
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: RepeatedPtrIterator<MessageLite>
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: RepeatedPtrIterator<const MessageLite>
    - item_type: typedef
      name: pointer_iterator
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: RepeatedPtrOverPtrsIterator<MessageLite*, void*>
    - item_type: typedef
      name: const_pointer_iterator
      pos:
        line_end: 141
        line_start: 139
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/implicit_weak_message.h
      type: "RepeatedPtrOverPtrsIterator<const MessageLite* const,\n                                                const
        void* const>"
    union: []
- function_names:
  - google::protobuf::internal::FieldMetadata
  - google::protobuf::internal::default_message
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::default_instance
  - google::protobuf::internal::ParseMap
  - google::protobuf::internal::TableSerialize
  - google::protobuf::internal::TableSerializeToArray
  - operator()(const T& a, const T& b) const
  - operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - "operator()(const MapEntryHelper<T>& a,\n                  const MapEntryHelper<T>&
    b) const"
  - google::protobuf::internal::Compare
  - google::protobuf::internal::MapFieldSerializer
  - google::protobuf::internal::FieldMetadata
  - google::protobuf::internal::default_message
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::default_instance
  - google::protobuf::internal::ParseMap
  - google::protobuf::internal::TableSerialize
  - google::protobuf::internal::TableSerializeToArray
  - operator()(const T& a, const T& b) const
  - operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - "operator()(const MapEntryHelper<T>& a,\n                  const MapEntryHelper<T>&
    b) const"
  - google::protobuf::internal::Compare
  - google::protobuf::internal::MapFieldSerializer
  - google::protobuf::internal::FieldMetadata
  - google::protobuf::internal::default_message
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::default_instance
  - google::protobuf::internal::ParseMap
  - google::protobuf::internal::TableSerialize
  - google::protobuf::internal::TableSerializeToArray
  - operator()(const T& a, const T& b) const
  - operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - "operator()(const MapEntryHelper<T>& a,\n                  const MapEntryHelper<T>&
    b) const"
  - google::protobuf::internal::Compare
  - google::protobuf::internal::MapFieldSerializer
  - google::protobuf::internal::FieldMetadata
  - google::protobuf::internal::default_message
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::default_instance
  - google::protobuf::internal::ParseMap
  - google::protobuf::internal::TableSerialize
  - google::protobuf::internal::TableSerializeToArray
  - operator()(const T& a, const T& b) const
  - operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - "operator()(const MapEntryHelper<T>& a,\n                  const MapEntryHelper<T>&
    b) const"
  - google::protobuf::internal::Compare
  - google::protobuf::internal::MapFieldSerializer
  - google::protobuf::internal::FieldMetadata
  - google::protobuf::internal::default_message
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::default_instance
  - google::protobuf::internal::ParseMap
  - google::protobuf::internal::TableSerialize
  - google::protobuf::internal::TableSerializeToArray
  - operator()(const T& a, const T& b) const
  - operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - "operator()(const MapEntryHelper<T>& a,\n                  const MapEntryHelper<T>&
    b) const"
  - google::protobuf::internal::Compare
  - google::protobuf::internal::MapFieldSerializer
  - google::protobuf::internal::FieldMetadata
  - google::protobuf::internal::default_message
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::default_instance
  - google::protobuf::internal::ParseMap
  - google::protobuf::internal::TableSerialize
  - google::protobuf::internal::TableSerializeToArray
  - operator()(const T& a, const T& b) const
  - operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - "operator()(const MapEntryHelper<T>& a,\n                  const MapEntryHelper<T>&
    b) const"
  - google::protobuf::internal::Compare
  - google::protobuf::internal::MapFieldSerializer
  - google::protobuf::internal::FieldMetadata
  - google::protobuf::internal::default_message
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::default_instance
  - google::protobuf::internal::ParseMap
  - google::protobuf::internal::TableSerialize
  - google::protobuf::internal::TableSerializeToArray
  - operator()(const T& a, const T& b) const
  - operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - "operator()(const MapEntryHelper<T>& a,\n                  const MapEntryHelper<T>&
    b) const"
  - google::protobuf::internal::Compare
  - google::protobuf::internal::MapFieldSerializer
  - google::protobuf::internal::FieldMetadata
  - google::protobuf::internal::default_message
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::AuxiliaryParseTableField
  - google::protobuf::internal::default_instance
  - google::protobuf::internal::ParseMap
  - google::protobuf::internal::TableSerialize
  - google::protobuf::internal::TableSerializeToArray
  - operator()(const T& a, const T& b) const
  - operator()(const ArenaStringPtr& a, const ArenaStringPtr& b) const
  - "operator()(const MapEntryHelper<T>& a,\n                  const MapEntryHelper<T>&
    b) const"
  - google::protobuf::internal::Compare
  - google::protobuf::internal::MapFieldSerializer
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
  types:
    enum:
    - enumerators:
      - name: TYPE_STRING_CORD
        value: '19'
      - name: TYPE_BYTES_STRING_PIECE
        value: '22'
      - name: TYPE_BYTES_CORD
        value: '21'
      - name: TYPE_STRING_STRING_PIECE
        value: '20'
      - name: TYPE_MAP
        value: '23'
      item_type: enum
      name: ProcessingTypes
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: kPresence
      - name: kOneOf
      - name: kPacked
      - name: kRepeated
      - name: kNoPresence
      - name: kNumTypeClasses
      item_type: enum
      name: FieldTypeClass
      pos:
        line_end: 100
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: TYPE_STRING_CORD
        value: '19'
      - name: TYPE_BYTES_STRING_PIECE
        value: '22'
      - name: TYPE_BYTES_CORD
        value: '21'
      - name: TYPE_STRING_STRING_PIECE
        value: '20'
      - name: TYPE_MAP
        value: '23'
      item_type: enum
      name: ProcessingTypes
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: kPresence
      - name: kOneOf
      - name: kPacked
      - name: kRepeated
      - name: kNoPresence
      - name: kNumTypeClasses
      item_type: enum
      name: FieldTypeClass
      pos:
        line_end: 100
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: TYPE_STRING_CORD
        value: '19'
      - name: TYPE_BYTES_STRING_PIECE
        value: '22'
      - name: TYPE_BYTES_CORD
        value: '21'
      - name: TYPE_STRING_STRING_PIECE
        value: '20'
      - name: TYPE_MAP
        value: '23'
      item_type: enum
      name: ProcessingTypes
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: kPresence
      - name: kOneOf
      - name: kPacked
      - name: kRepeated
      - name: kNoPresence
      - name: kNumTypeClasses
      item_type: enum
      name: FieldTypeClass
      pos:
        line_end: 100
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: TYPE_STRING_CORD
        value: '19'
      - name: TYPE_BYTES_STRING_PIECE
        value: '22'
      - name: TYPE_BYTES_CORD
        value: '21'
      - name: TYPE_STRING_STRING_PIECE
        value: '20'
      - name: TYPE_MAP
        value: '23'
      item_type: enum
      name: ProcessingTypes
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: kPresence
      - name: kOneOf
      - name: kPacked
      - name: kRepeated
      - name: kNoPresence
      - name: kNumTypeClasses
      item_type: enum
      name: FieldTypeClass
      pos:
        line_end: 100
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: TYPE_STRING_CORD
        value: '19'
      - name: TYPE_BYTES_STRING_PIECE
        value: '22'
      - name: TYPE_BYTES_CORD
        value: '21'
      - name: TYPE_STRING_STRING_PIECE
        value: '20'
      - name: TYPE_MAP
        value: '23'
      item_type: enum
      name: ProcessingTypes
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: kPresence
      - name: kOneOf
      - name: kPacked
      - name: kRepeated
      - name: kNoPresence
      - name: kNumTypeClasses
      item_type: enum
      name: FieldTypeClass
      pos:
        line_end: 100
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: TYPE_STRING_CORD
        value: '19'
      - name: TYPE_BYTES_STRING_PIECE
        value: '22'
      - name: TYPE_BYTES_CORD
        value: '21'
      - name: TYPE_STRING_STRING_PIECE
        value: '20'
      - name: TYPE_MAP
        value: '23'
      item_type: enum
      name: ProcessingTypes
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: kPresence
      - name: kOneOf
      - name: kPacked
      - name: kRepeated
      - name: kNoPresence
      - name: kNumTypeClasses
      item_type: enum
      name: FieldTypeClass
      pos:
        line_end: 100
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: TYPE_STRING_CORD
        value: '19'
      - name: TYPE_BYTES_STRING_PIECE
        value: '22'
      - name: TYPE_BYTES_CORD
        value: '21'
      - name: TYPE_STRING_STRING_PIECE
        value: '20'
      - name: TYPE_MAP
        value: '23'
      item_type: enum
      name: ProcessingTypes
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: kPresence
      - name: kOneOf
      - name: kPacked
      - name: kRepeated
      - name: kNoPresence
      - name: kNumTypeClasses
      item_type: enum
      name: FieldTypeClass
      pos:
        line_end: 100
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: TYPE_STRING_CORD
        value: '19'
      - name: TYPE_BYTES_STRING_PIECE
        value: '22'
      - name: TYPE_BYTES_CORD
        value: '21'
      - name: TYPE_STRING_STRING_PIECE
        value: '20'
      - name: TYPE_MAP
        value: '23'
      item_type: enum
      name: ProcessingTypes
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - enumerators:
      - name: kPresence
      - name: kOneOf
      - name: kPacked
      - name: kRepeated
      - name: kNoPresence
      - name: kNumTypeClasses
      item_type: enum
      name: FieldTypeClass
      pos:
        line_end: 100
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    preproc_defs:
    - item_type: preproc_def
      name: PROTOBUF_CONSTEXPR_VAR
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type_or_value: constexpr
    structs:
    - fields:
      - name: offset
        type: uint32
      - name: presence_index
        type: uint32
      - name: normal_wiretype
        type: unsigned char
      - name: packed_wiretype
        type: unsigned char
      - name: processing_type
        type: unsigned char
      - name: tag_size
        type: unsigned char
      item_type: struct
      name: ParseTableField
      pos:
        line_end: 133
        line_start: 120
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: validator
        type: EnumValidator
      item_type: struct
      name: enum_aux
      pos:
        line_end: 143
        line_start: 141
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_message_void'
        type: void
      item_type: struct
      name: message_aux
      pos:
        line_end: 154
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_ptr'
        type: void
      - name: '* field_name'
        type: char
      item_type: struct
      name: string_aux
      pos:
        line_end: 160
        line_start: 157
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: (*parse_map)(io::CodedInputStream*, void*)
        type: bool
      item_type: struct
      name: map_aux
      pos:
        line_end: 165
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* fields'
        type: ParseTableField
      - name: '* aux'
        type: AuxiliaryParseTableField
      - name: max_field_number
        type: int
      - name: has_bits_offset
        type: int64
      - name: oneof_case_offset
        type: int64
      - name: extension_offset
        type: int64
      - name: arena_offset
        type: int64
      - name: '* default_instance_void'
        type: void
      - name: unknown_field_set
        type: bool
      item_type: struct
      name: ParseTable
      pos:
        line_end: 200
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: num_fields
        type: int
      - name: '* field_table'
        type: FieldMetadata
      item_type: struct
      name: SerializationTable
      pos:
        line_end: 233
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper
      pos:
        line_end: 272
        line_start: 270
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper<ArenaStringPtr>
      pos:
        line_end: 279
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareMapKey
      pos:
        line_end: 291
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: offset
        type: uint32
      - name: presence_index
        type: uint32
      - name: normal_wiretype
        type: unsigned char
      - name: packed_wiretype
        type: unsigned char
      - name: processing_type
        type: unsigned char
      - name: tag_size
        type: unsigned char
      item_type: struct
      name: ParseTableField
      pos:
        line_end: 133
        line_start: 120
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: validator
        type: EnumValidator
      item_type: struct
      name: enum_aux
      pos:
        line_end: 143
        line_start: 141
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_message_void'
        type: void
      item_type: struct
      name: message_aux
      pos:
        line_end: 154
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_ptr'
        type: void
      - name: '* field_name'
        type: char
      item_type: struct
      name: string_aux
      pos:
        line_end: 160
        line_start: 157
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: (*parse_map)(io::CodedInputStream*, void*)
        type: bool
      item_type: struct
      name: map_aux
      pos:
        line_end: 165
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* fields'
        type: ParseTableField
      - name: '* aux'
        type: AuxiliaryParseTableField
      - name: max_field_number
        type: int
      - name: has_bits_offset
        type: int64
      - name: oneof_case_offset
        type: int64
      - name: extension_offset
        type: int64
      - name: arena_offset
        type: int64
      - name: '* default_instance_void'
        type: void
      - name: unknown_field_set
        type: bool
      item_type: struct
      name: ParseTable
      pos:
        line_end: 200
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: num_fields
        type: int
      - name: '* field_table'
        type: FieldMetadata
      item_type: struct
      name: SerializationTable
      pos:
        line_end: 233
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper
      pos:
        line_end: 272
        line_start: 270
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper<ArenaStringPtr>
      pos:
        line_end: 279
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareMapKey
      pos:
        line_end: 291
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: offset
        type: uint32
      - name: presence_index
        type: uint32
      - name: normal_wiretype
        type: unsigned char
      - name: packed_wiretype
        type: unsigned char
      - name: processing_type
        type: unsigned char
      - name: tag_size
        type: unsigned char
      item_type: struct
      name: ParseTableField
      pos:
        line_end: 133
        line_start: 120
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: validator
        type: EnumValidator
      item_type: struct
      name: enum_aux
      pos:
        line_end: 143
        line_start: 141
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_message_void'
        type: void
      item_type: struct
      name: message_aux
      pos:
        line_end: 154
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_ptr'
        type: void
      - name: '* field_name'
        type: char
      item_type: struct
      name: string_aux
      pos:
        line_end: 160
        line_start: 157
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: (*parse_map)(io::CodedInputStream*, void*)
        type: bool
      item_type: struct
      name: map_aux
      pos:
        line_end: 165
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* fields'
        type: ParseTableField
      - name: '* aux'
        type: AuxiliaryParseTableField
      - name: max_field_number
        type: int
      - name: has_bits_offset
        type: int64
      - name: oneof_case_offset
        type: int64
      - name: extension_offset
        type: int64
      - name: arena_offset
        type: int64
      - name: '* default_instance_void'
        type: void
      - name: unknown_field_set
        type: bool
      item_type: struct
      name: ParseTable
      pos:
        line_end: 200
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: num_fields
        type: int
      - name: '* field_table'
        type: FieldMetadata
      item_type: struct
      name: SerializationTable
      pos:
        line_end: 233
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper
      pos:
        line_end: 272
        line_start: 270
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper<ArenaStringPtr>
      pos:
        line_end: 279
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareMapKey
      pos:
        line_end: 291
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: offset
        type: uint32
      - name: presence_index
        type: uint32
      - name: normal_wiretype
        type: unsigned char
      - name: packed_wiretype
        type: unsigned char
      - name: processing_type
        type: unsigned char
      - name: tag_size
        type: unsigned char
      item_type: struct
      name: ParseTableField
      pos:
        line_end: 133
        line_start: 120
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: validator
        type: EnumValidator
      item_type: struct
      name: enum_aux
      pos:
        line_end: 143
        line_start: 141
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_message_void'
        type: void
      item_type: struct
      name: message_aux
      pos:
        line_end: 154
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_ptr'
        type: void
      - name: '* field_name'
        type: char
      item_type: struct
      name: string_aux
      pos:
        line_end: 160
        line_start: 157
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: (*parse_map)(io::CodedInputStream*, void*)
        type: bool
      item_type: struct
      name: map_aux
      pos:
        line_end: 165
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* fields'
        type: ParseTableField
      - name: '* aux'
        type: AuxiliaryParseTableField
      - name: max_field_number
        type: int
      - name: has_bits_offset
        type: int64
      - name: oneof_case_offset
        type: int64
      - name: extension_offset
        type: int64
      - name: arena_offset
        type: int64
      - name: '* default_instance_void'
        type: void
      - name: unknown_field_set
        type: bool
      item_type: struct
      name: ParseTable
      pos:
        line_end: 200
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: num_fields
        type: int
      - name: '* field_table'
        type: FieldMetadata
      item_type: struct
      name: SerializationTable
      pos:
        line_end: 233
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper
      pos:
        line_end: 272
        line_start: 270
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper<ArenaStringPtr>
      pos:
        line_end: 279
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareMapKey
      pos:
        line_end: 291
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: offset
        type: uint32
      - name: presence_index
        type: uint32
      - name: normal_wiretype
        type: unsigned char
      - name: packed_wiretype
        type: unsigned char
      - name: processing_type
        type: unsigned char
      - name: tag_size
        type: unsigned char
      item_type: struct
      name: ParseTableField
      pos:
        line_end: 133
        line_start: 120
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: validator
        type: EnumValidator
      item_type: struct
      name: enum_aux
      pos:
        line_end: 143
        line_start: 141
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_message_void'
        type: void
      item_type: struct
      name: message_aux
      pos:
        line_end: 154
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_ptr'
        type: void
      - name: '* field_name'
        type: char
      item_type: struct
      name: string_aux
      pos:
        line_end: 160
        line_start: 157
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: (*parse_map)(io::CodedInputStream*, void*)
        type: bool
      item_type: struct
      name: map_aux
      pos:
        line_end: 165
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* fields'
        type: ParseTableField
      - name: '* aux'
        type: AuxiliaryParseTableField
      - name: max_field_number
        type: int
      - name: has_bits_offset
        type: int64
      - name: oneof_case_offset
        type: int64
      - name: extension_offset
        type: int64
      - name: arena_offset
        type: int64
      - name: '* default_instance_void'
        type: void
      - name: unknown_field_set
        type: bool
      item_type: struct
      name: ParseTable
      pos:
        line_end: 200
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: num_fields
        type: int
      - name: '* field_table'
        type: FieldMetadata
      item_type: struct
      name: SerializationTable
      pos:
        line_end: 233
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper
      pos:
        line_end: 272
        line_start: 270
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper<ArenaStringPtr>
      pos:
        line_end: 279
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareMapKey
      pos:
        line_end: 291
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: offset
        type: uint32
      - name: presence_index
        type: uint32
      - name: normal_wiretype
        type: unsigned char
      - name: packed_wiretype
        type: unsigned char
      - name: processing_type
        type: unsigned char
      - name: tag_size
        type: unsigned char
      item_type: struct
      name: ParseTableField
      pos:
        line_end: 133
        line_start: 120
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: validator
        type: EnumValidator
      item_type: struct
      name: enum_aux
      pos:
        line_end: 143
        line_start: 141
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_message_void'
        type: void
      item_type: struct
      name: message_aux
      pos:
        line_end: 154
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_ptr'
        type: void
      - name: '* field_name'
        type: char
      item_type: struct
      name: string_aux
      pos:
        line_end: 160
        line_start: 157
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: (*parse_map)(io::CodedInputStream*, void*)
        type: bool
      item_type: struct
      name: map_aux
      pos:
        line_end: 165
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* fields'
        type: ParseTableField
      - name: '* aux'
        type: AuxiliaryParseTableField
      - name: max_field_number
        type: int
      - name: has_bits_offset
        type: int64
      - name: oneof_case_offset
        type: int64
      - name: extension_offset
        type: int64
      - name: arena_offset
        type: int64
      - name: '* default_instance_void'
        type: void
      - name: unknown_field_set
        type: bool
      item_type: struct
      name: ParseTable
      pos:
        line_end: 200
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: num_fields
        type: int
      - name: '* field_table'
        type: FieldMetadata
      item_type: struct
      name: SerializationTable
      pos:
        line_end: 233
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper
      pos:
        line_end: 272
        line_start: 270
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper<ArenaStringPtr>
      pos:
        line_end: 279
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareMapKey
      pos:
        line_end: 291
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: offset
        type: uint32
      - name: presence_index
        type: uint32
      - name: normal_wiretype
        type: unsigned char
      - name: packed_wiretype
        type: unsigned char
      - name: processing_type
        type: unsigned char
      - name: tag_size
        type: unsigned char
      item_type: struct
      name: ParseTableField
      pos:
        line_end: 133
        line_start: 120
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: validator
        type: EnumValidator
      item_type: struct
      name: enum_aux
      pos:
        line_end: 143
        line_start: 141
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_message_void'
        type: void
      item_type: struct
      name: message_aux
      pos:
        line_end: 154
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_ptr'
        type: void
      - name: '* field_name'
        type: char
      item_type: struct
      name: string_aux
      pos:
        line_end: 160
        line_start: 157
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: (*parse_map)(io::CodedInputStream*, void*)
        type: bool
      item_type: struct
      name: map_aux
      pos:
        line_end: 165
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* fields'
        type: ParseTableField
      - name: '* aux'
        type: AuxiliaryParseTableField
      - name: max_field_number
        type: int
      - name: has_bits_offset
        type: int64
      - name: oneof_case_offset
        type: int64
      - name: extension_offset
        type: int64
      - name: arena_offset
        type: int64
      - name: '* default_instance_void'
        type: void
      - name: unknown_field_set
        type: bool
      item_type: struct
      name: ParseTable
      pos:
        line_end: 200
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: num_fields
        type: int
      - name: '* field_table'
        type: FieldMetadata
      item_type: struct
      name: SerializationTable
      pos:
        line_end: 233
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper
      pos:
        line_end: 272
        line_start: 270
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper<ArenaStringPtr>
      pos:
        line_end: 279
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareMapKey
      pos:
        line_end: 291
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: offset
        type: uint32
      - name: presence_index
        type: uint32
      - name: normal_wiretype
        type: unsigned char
      - name: packed_wiretype
        type: unsigned char
      - name: processing_type
        type: unsigned char
      - name: tag_size
        type: unsigned char
      item_type: struct
      name: ParseTableField
      pos:
        line_end: 133
        line_start: 120
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: validator
        type: EnumValidator
      item_type: struct
      name: enum_aux
      pos:
        line_end: 143
        line_start: 141
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_message_void'
        type: void
      item_type: struct
      name: message_aux
      pos:
        line_end: 154
        line_start: 146
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* default_ptr'
        type: void
      - name: '* field_name'
        type: char
      item_type: struct
      name: string_aux
      pos:
        line_end: 160
        line_start: 157
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: (*parse_map)(io::CodedInputStream*, void*)
        type: bool
      item_type: struct
      name: map_aux
      pos:
        line_end: 165
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: '* fields'
        type: ParseTableField
      - name: '* aux'
        type: AuxiliaryParseTableField
      - name: max_field_number
        type: int
      - name: has_bits_offset
        type: int64
      - name: oneof_case_offset
        type: int64
      - name: extension_offset
        type: int64
      - name: arena_offset
        type: int64
      - name: '* default_instance_void'
        type: void
      - name: unknown_field_set
        type: bool
      item_type: struct
      name: ParseTable
      pos:
        line_end: 200
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: num_fields
        type: int
      - name: '* field_table'
        type: FieldMetadata
      item_type: struct
      name: SerializationTable
      pos:
        line_end: 233
        line_start: 230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper
      pos:
        line_end: 272
        line_start: 270
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareHelper<ArenaStringPtr>
      pos:
        line_end: 279
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields: []
      item_type: struct
      name: CompareMapKey
      pos:
        line_end: 291
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    typedefs:
    - item_type: typedef
      name: (*EnumValidator)(int)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: bool
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapEntryToMapField<Entry>::MapFieldType
    - item_type: typedef
      name: MapType
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: Map
    - item_type: typedef
      name: ParserType
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename Entry::template Parser<MapFieldType, MapType>
    - item_type: typedef
      name: Entry
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: MapEntryHelper
    - item_type: typedef
      name: Iter
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapFieldType::MapType::const_iterator
    - item_type: typedef
      name: (*EnumValidator)(int)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: bool
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapEntryToMapField<Entry>::MapFieldType
    - item_type: typedef
      name: MapType
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: Map
    - item_type: typedef
      name: ParserType
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename Entry::template Parser<MapFieldType, MapType>
    - item_type: typedef
      name: Entry
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: MapEntryHelper
    - item_type: typedef
      name: Iter
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapFieldType::MapType::const_iterator
    - item_type: typedef
      name: (*EnumValidator)(int)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: bool
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapEntryToMapField<Entry>::MapFieldType
    - item_type: typedef
      name: MapType
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: Map
    - item_type: typedef
      name: ParserType
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename Entry::template Parser<MapFieldType, MapType>
    - item_type: typedef
      name: Entry
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: MapEntryHelper
    - item_type: typedef
      name: Iter
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapFieldType::MapType::const_iterator
    - item_type: typedef
      name: (*EnumValidator)(int)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: bool
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapEntryToMapField<Entry>::MapFieldType
    - item_type: typedef
      name: MapType
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: Map
    - item_type: typedef
      name: ParserType
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename Entry::template Parser<MapFieldType, MapType>
    - item_type: typedef
      name: Entry
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: MapEntryHelper
    - item_type: typedef
      name: Iter
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapFieldType::MapType::const_iterator
    - item_type: typedef
      name: (*EnumValidator)(int)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: bool
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapEntryToMapField<Entry>::MapFieldType
    - item_type: typedef
      name: MapType
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: Map
    - item_type: typedef
      name: ParserType
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename Entry::template Parser<MapFieldType, MapType>
    - item_type: typedef
      name: Entry
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: MapEntryHelper
    - item_type: typedef
      name: Iter
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapFieldType::MapType::const_iterator
    - item_type: typedef
      name: (*EnumValidator)(int)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: bool
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapEntryToMapField<Entry>::MapFieldType
    - item_type: typedef
      name: MapType
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: Map
    - item_type: typedef
      name: ParserType
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename Entry::template Parser<MapFieldType, MapType>
    - item_type: typedef
      name: Entry
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: MapEntryHelper
    - item_type: typedef
      name: Iter
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapFieldType::MapType::const_iterator
    - item_type: typedef
      name: (*EnumValidator)(int)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: bool
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapEntryToMapField<Entry>::MapFieldType
    - item_type: typedef
      name: MapType
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: Map
    - item_type: typedef
      name: ParserType
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename Entry::template Parser<MapFieldType, MapType>
    - item_type: typedef
      name: Entry
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: MapEntryHelper
    - item_type: typedef
      name: Iter
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapFieldType::MapType::const_iterator
    - item_type: typedef
      name: (*EnumValidator)(int)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: bool
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapEntryToMapField<Entry>::MapFieldType
    - item_type: typedef
      name: MapType
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: Map
    - item_type: typedef
      name: ParserType
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename Entry::template Parser<MapFieldType, MapType>
    - item_type: typedef
      name: Entry
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: MapEntryHelper
    - item_type: typedef
      name: Iter
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
      type: typename MapFieldType::MapType::const_iterator
    union:
    - fields:
      - name: enums
        type: enum_aux
      - name: messages
        type: message_aux
      - name: strings
        type: string_aux
      - name: maps
        type: map_aux
      item_type: union
      name: AuxiliaryParseTableField
      pos:
        line_end: 177
        line_start: 137
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: enums
        type: enum_aux
      - name: messages
        type: message_aux
      - name: strings
        type: string_aux
      - name: maps
        type: map_aux
      item_type: union
      name: AuxiliaryParseTableField
      pos:
        line_end: 177
        line_start: 137
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: enums
        type: enum_aux
      - name: messages
        type: message_aux
      - name: strings
        type: string_aux
      - name: maps
        type: map_aux
      item_type: union
      name: AuxiliaryParseTableField
      pos:
        line_end: 177
        line_start: 137
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: enums
        type: enum_aux
      - name: messages
        type: message_aux
      - name: strings
        type: string_aux
      - name: maps
        type: map_aux
      item_type: union
      name: AuxiliaryParseTableField
      pos:
        line_end: 177
        line_start: 137
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: enums
        type: enum_aux
      - name: messages
        type: message_aux
      - name: strings
        type: string_aux
      - name: maps
        type: map_aux
      item_type: union
      name: AuxiliaryParseTableField
      pos:
        line_end: 177
        line_start: 137
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: enums
        type: enum_aux
      - name: messages
        type: message_aux
      - name: strings
        type: string_aux
      - name: maps
        type: map_aux
      item_type: union
      name: AuxiliaryParseTableField
      pos:
        line_end: 177
        line_start: 137
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: enums
        type: enum_aux
      - name: messages
        type: message_aux
      - name: strings
        type: string_aux
      - name: maps
        type: map_aux
      item_type: union
      name: AuxiliaryParseTableField
      pos:
        line_end: 177
        line_start: 137
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
    - fields:
      - name: enums
        type: enum_aux
      - name: messages
        type: message_aux
      - name: strings
        type: string_aux
      - name: maps
        type: map_aux
      item_type: union
      name: AuxiliaryParseTableField
      pos:
        line_end: 177
        line_start: 137
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven.h
- function_names:
  - google::protobuf::internal::arena_destruct_object
  - google::protobuf::internal::arena_delete_object
  - google::protobuf::internal::arena_destruct_object
  - google::protobuf::internal::arena_delete_object
  - google::protobuf::ArenaOptions
  - RTTI_TYPE_ID
  - RTTI_TYPE_ID
  - google::protobuf::final
  - google::protobuf::Arena
  - google::protobuf::Arena
  - ~Arena()
  - google::protobuf::Init
  - google::protobuf::CreateMessage
  - google::protobuf::Create
  - google::protobuf::CreateArray
  - google::protobuf::SpaceAllocated
  - google::protobuf::SpaceUsed
  - google::protobuf::Reset
  - google::protobuf::Own
  - google::protobuf::OwnDestructor
  - google::protobuf::OwnCustomDestructor
  - google::protobuf::GetArena
  - google::protobuf::InternalHelper::Construct
  - google::protobuf::InternalHelper::GetArena
  - google::protobuf::CreateMessageInternal
  - google::protobuf::CreateMessageInternal
  - google::protobuf::CreateInternal
  - google::protobuf::AllocHook
  - google::protobuf::AllocateInternal
  - google::protobuf::DoCreateMaybeMessage
  - google::protobuf::DoCreateMaybeMessage
  - google::protobuf::CreateMaybeMessage
  - google::protobuf::CreateNoMessage
  - google::protobuf::CreateNoMessage
  - google::protobuf::CreateInternalRawArray
  - google::protobuf::DoCreate
  - google::protobuf::DoCreateMessage
  - google::protobuf::CreateInArenaStorage
  - google::protobuf::CreateInArenaStorageInternal
  - google::protobuf::CreateInArenaStorageInternal
  - google::protobuf::RegisterDestructorInternal
  - google::protobuf::RegisterDestructorInternal
  - google::protobuf::OwnInternal
  - google::protobuf::OwnInternal
  - google::protobuf::GetArenaInternal
  - google::protobuf::GetArenaInternal
  - google::protobuf::GetArenaInternal
  - google::protobuf::AllocateAligned
  - google::protobuf::AllocateAlignedTo
  - google::protobuf::internal::arena_destruct_object
  - google::protobuf::internal::arena_delete_object
  - google::protobuf::internal::arena_destruct_object
  - google::protobuf::internal::arena_delete_object
  - google::protobuf::ArenaOptions
  - RTTI_TYPE_ID
  - RTTI_TYPE_ID
  - google::protobuf::final
  - google::protobuf::Arena
  - google::protobuf::Arena
  - ~Arena()
  - google::protobuf::Init
  - google::protobuf::CreateMessage
  - google::protobuf::Create
  - google::protobuf::CreateArray
  - google::protobuf::SpaceAllocated
  - google::protobuf::SpaceUsed
  - google::protobuf::Reset
  - google::protobuf::Own
  - google::protobuf::OwnDestructor
  - google::protobuf::OwnCustomDestructor
  - google::protobuf::GetArena
  - google::protobuf::InternalHelper::Construct
  - google::protobuf::InternalHelper::GetArena
  - google::protobuf::CreateMessageInternal
  - google::protobuf::CreateMessageInternal
  - google::protobuf::CreateInternal
  - google::protobuf::AllocHook
  - google::protobuf::AllocateInternal
  - google::protobuf::DoCreateMaybeMessage
  - google::protobuf::DoCreateMaybeMessage
  - google::protobuf::CreateMaybeMessage
  - google::protobuf::CreateNoMessage
  - google::protobuf::CreateNoMessage
  - google::protobuf::CreateInternalRawArray
  - google::protobuf::DoCreate
  - google::protobuf::DoCreateMessage
  - google::protobuf::CreateInArenaStorage
  - google::protobuf::CreateInArenaStorageInternal
  - google::protobuf::CreateInArenaStorageInternal
  - google::protobuf::RegisterDestructorInternal
  - google::protobuf::RegisterDestructorInternal
  - google::protobuf::OwnInternal
  - google::protobuf::OwnInternal
  - google::protobuf::GetArenaInternal
  - google::protobuf::GetArenaInternal
  - google::protobuf::GetArenaInternal
  - google::protobuf::AllocateAligned
  - google::protobuf::AllocateAlignedTo
  - google::protobuf::internal::arena_destruct_object
  - google::protobuf::internal::arena_delete_object
  - google::protobuf::internal::arena_destruct_object
  - google::protobuf::internal::arena_delete_object
  - google::protobuf::ArenaOptions
  - RTTI_TYPE_ID
  - RTTI_TYPE_ID
  - google::protobuf::final
  - google::protobuf::Arena
  - google::protobuf::Arena
  - ~Arena()
  - google::protobuf::Init
  - google::protobuf::CreateMessage
  - google::protobuf::Create
  - google::protobuf::CreateArray
  - google::protobuf::SpaceAllocated
  - google::protobuf::SpaceUsed
  - google::protobuf::Reset
  - google::protobuf::Own
  - google::protobuf::OwnDestructor
  - google::protobuf::OwnCustomDestructor
  - google::protobuf::GetArena
  - google::protobuf::InternalHelper::Construct
  - google::protobuf::InternalHelper::GetArena
  - google::protobuf::CreateMessageInternal
  - google::protobuf::CreateMessageInternal
  - google::protobuf::CreateInternal
  - google::protobuf::AllocHook
  - google::protobuf::AllocateInternal
  - google::protobuf::DoCreateMaybeMessage
  - google::protobuf::DoCreateMaybeMessage
  - google::protobuf::CreateMaybeMessage
  - google::protobuf::CreateNoMessage
  - google::protobuf::CreateNoMessage
  - google::protobuf::CreateInternalRawArray
  - google::protobuf::DoCreate
  - google::protobuf::DoCreateMessage
  - google::protobuf::CreateInArenaStorage
  - google::protobuf::CreateInArenaStorageInternal
  - google::protobuf::CreateInArenaStorageInternal
  - google::protobuf::RegisterDestructorInternal
  - google::protobuf::RegisterDestructorInternal
  - google::protobuf::OwnInternal
  - google::protobuf::OwnInternal
  - google::protobuf::GetArenaInternal
  - google::protobuf::GetArenaInternal
  - google::protobuf::GetArenaInternal
  - google::protobuf::AllocateAligned
  - google::protobuf::AllocateAlignedTo
  - google::protobuf::internal::arena_destruct_object
  - google::protobuf::internal::arena_delete_object
  - google::protobuf::internal::arena_destruct_object
  - google::protobuf::internal::arena_delete_object
  - google::protobuf::ArenaOptions
  - RTTI_TYPE_ID
  - RTTI_TYPE_ID
  - google::protobuf::final
  - google::protobuf::Arena
  - google::protobuf::Arena
  - ~Arena()
  - google::protobuf::Init
  - google::protobuf::CreateMessage
  - google::protobuf::Create
  - google::protobuf::CreateArray
  - google::protobuf::SpaceAllocated
  - google::protobuf::SpaceUsed
  - google::protobuf::Reset
  - google::protobuf::Own
  - google::protobuf::OwnDestructor
  - google::protobuf::OwnCustomDestructor
  - google::protobuf::GetArena
  - google::protobuf::InternalHelper::Construct
  - google::protobuf::InternalHelper::GetArena
  - google::protobuf::CreateMessageInternal
  - google::protobuf::CreateMessageInternal
  - google::protobuf::CreateInternal
  - google::protobuf::AllocHook
  - google::protobuf::AllocateInternal
  - google::protobuf::DoCreateMaybeMessage
  - google::protobuf::DoCreateMaybeMessage
  - google::protobuf::CreateMaybeMessage
  - google::protobuf::CreateNoMessage
  - google::protobuf::CreateNoMessage
  - google::protobuf::CreateInternalRawArray
  - google::protobuf::DoCreate
  - google::protobuf::DoCreateMessage
  - google::protobuf::CreateInArenaStorage
  - google::protobuf::CreateInArenaStorageInternal
  - google::protobuf::CreateInArenaStorageInternal
  - google::protobuf::RegisterDestructorInternal
  - google::protobuf::RegisterDestructorInternal
  - google::protobuf::OwnInternal
  - google::protobuf::OwnInternal
  - google::protobuf::GetArenaInternal
  - google::protobuf::GetArenaInternal
  - google::protobuf::GetArenaInternal
  - google::protobuf::AllocateAligned
  - google::protobuf::AllocateAlignedTo
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: start_block_size
        type: size_t
      - name: max_block_size
        type: size_t
      - name: '* initial_block'
        type: char
      - name: initial_block_size
        type: size_t
      - name: '* (*block_alloc)(size_t)'
        type: void
      - name: (*block_dealloc)(void*, size_t)
        type: void
      - name: '* (*const kDefaultBlockAlloc)(size_t)'
        type: PROTOBUF_EXPORT
      - name: '* (*make_metrics_collector)()'
        type: internal::ArenaMetricsCollector
      - name: kDefaultStartBlockSize
        type: size_t
      - name: kDefaultMaxBlockSize
        type: size_t
      item_type: struct
      name: ArenaOptions
      pos:
        line_end: 168
        line_start: 108
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    - fields: []
      item_type: struct
      name: is_arena_constructable
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    - fields: []
      item_type: struct
      name: is_destructor_skippable
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    - fields:
      - name: start_block_size
        type: size_t
      - name: max_block_size
        type: size_t
      - name: '* initial_block'
        type: char
      - name: initial_block_size
        type: size_t
      - name: '* (*block_alloc)(size_t)'
        type: void
      - name: (*block_dealloc)(void*, size_t)
        type: void
      - name: '* (*const kDefaultBlockAlloc)(size_t)'
        type: PROTOBUF_EXPORT
      - name: '* (*make_metrics_collector)()'
        type: internal::ArenaMetricsCollector
      - name: kDefaultStartBlockSize
        type: size_t
      - name: kDefaultMaxBlockSize
        type: size_t
      item_type: struct
      name: ArenaOptions
      pos:
        line_end: 168
        line_start: 108
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    - fields: []
      item_type: struct
      name: is_arena_constructable
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    - fields: []
      item_type: struct
      name: is_destructor_skippable
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    - fields:
      - name: start_block_size
        type: size_t
      - name: max_block_size
        type: size_t
      - name: '* initial_block'
        type: char
      - name: initial_block_size
        type: size_t
      - name: '* (*block_alloc)(size_t)'
        type: void
      - name: (*block_dealloc)(void*, size_t)
        type: void
      - name: '* (*const kDefaultBlockAlloc)(size_t)'
        type: PROTOBUF_EXPORT
      - name: '* (*make_metrics_collector)()'
        type: internal::ArenaMetricsCollector
      - name: kDefaultStartBlockSize
        type: size_t
      - name: kDefaultMaxBlockSize
        type: size_t
      item_type: struct
      name: ArenaOptions
      pos:
        line_end: 168
        line_start: 108
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    - fields: []
      item_type: struct
      name: is_arena_constructable
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    - fields: []
      item_type: struct
      name: is_destructor_skippable
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    - fields:
      - name: start_block_size
        type: size_t
      - name: max_block_size
        type: size_t
      - name: '* initial_block'
        type: char
      - name: initial_block_size
        type: size_t
      - name: '* (*block_alloc)(size_t)'
        type: void
      - name: (*block_dealloc)(void*, size_t)
        type: void
      - name: '* (*const kDefaultBlockAlloc)(size_t)'
        type: PROTOBUF_EXPORT
      - name: '* (*make_metrics_collector)()'
        type: internal::ArenaMetricsCollector
      - name: kDefaultStartBlockSize
        type: size_t
      - name: kDefaultMaxBlockSize
        type: size_t
      item_type: struct
      name: ArenaOptions
      pos:
        line_end: 168
        line_start: 108
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    - fields: []
      item_type: struct
      name: is_arena_constructable
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    - fields: []
      item_type: struct
      name: is_destructor_skippable
      pos:
        line_end: 435
        line_start: 434
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
    typedefs:
    - item_type: typedef
      name: is_destructor_skippable
      pos:
        line_end: 383
        line_start: 379
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
      type: "integral_constant<\n        bool, sizeof(DestructorSkippable<T>(static_cast<const
        T*>(0))) ==\n                      sizeof(char) ||\n                  std::is_trivially_destructible<T>::value>"
    - item_type: typedef
      name: is_arena_constructable
      pos:
        line_end: 394
        line_start: 391
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
      type: "integral_constant<bool, sizeof(ArenaConstructable<T>(\n                                             static_cast<const
        T*>(0))) ==\n                                             sizeof(char)>"
    - item_type: typedef
      name: has_get_arena
      pos:
        line_end: 407
        line_start: 405
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
      type: "integral_constant<bool, sizeof(HasGetArena<T>(nullptr)) ==\n                                             sizeof(char)>"
    - item_type: typedef
      name: is_destructor_skippable
      pos:
        line_end: 383
        line_start: 379
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
      type: "integral_constant<\n        bool, sizeof(DestructorSkippable<T>(static_cast<const
        T*>(0))) ==\n                      sizeof(char) ||\n                  std::is_trivially_destructible<T>::value>"
    - item_type: typedef
      name: is_arena_constructable
      pos:
        line_end: 394
        line_start: 391
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
      type: "integral_constant<bool, sizeof(ArenaConstructable<T>(\n                                             static_cast<const
        T*>(0))) ==\n                                             sizeof(char)>"
    - item_type: typedef
      name: has_get_arena
      pos:
        line_end: 407
        line_start: 405
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
      type: "integral_constant<bool, sizeof(HasGetArena<T>(nullptr)) ==\n                                             sizeof(char)>"
    - item_type: typedef
      name: is_destructor_skippable
      pos:
        line_end: 383
        line_start: 379
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
      type: "integral_constant<\n        bool, sizeof(DestructorSkippable<T>(static_cast<const
        T*>(0))) ==\n                      sizeof(char) ||\n                  std::is_trivially_destructible<T>::value>"
    - item_type: typedef
      name: is_arena_constructable
      pos:
        line_end: 394
        line_start: 391
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
      type: "integral_constant<bool, sizeof(ArenaConstructable<T>(\n                                             static_cast<const
        T*>(0))) ==\n                                             sizeof(char)>"
    - item_type: typedef
      name: has_get_arena
      pos:
        line_end: 407
        line_start: 405
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
      type: "integral_constant<bool, sizeof(HasGetArena<T>(nullptr)) ==\n                                             sizeof(char)>"
    - item_type: typedef
      name: is_destructor_skippable
      pos:
        line_end: 383
        line_start: 379
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
      type: "integral_constant<\n        bool, sizeof(DestructorSkippable<T>(static_cast<const
        T*>(0))) ==\n                      sizeof(char) ||\n                  std::is_trivially_destructible<T>::value>"
    - item_type: typedef
      name: is_arena_constructable
      pos:
        line_end: 394
        line_start: 391
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
      type: "integral_constant<bool, sizeof(ArenaConstructable<T>(\n                                             static_cast<const
        T*>(0))) ==\n                                             sizeof(char)>"
    - item_type: typedef
      name: has_get_arena
      pos:
        line_end: 407
        line_start: 405
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arena.h
      type: "integral_constant<bool, sizeof(HasGetArena<T>(nullptr)) ==\n                                             sizeof(char)>"
    union: []
- function_names:
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::BackUp
  - google::protobuf::internal::PushLimit
  - google::protobuf::internal::PopLimit
  - google::protobuf::internal::Skip
  - google::protobuf::internal::ReadString
  - google::protobuf::internal::AppendString
  - google::protobuf::internal::LastTag
  - google::protobuf::internal::ConsumeEndGroup
  - google::protobuf::internal::EndedAtLimit
  - google::protobuf::internal::EndedAtEndOfStream
  - google::protobuf::internal::SetLastTag
  - google::protobuf::internal::SetEndOfStream
  - google::protobuf::internal::IsExceedingLimit
  - google::protobuf::internal::BytesUntilLimit
  - google::protobuf::internal::DataAvailable
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::StreamNext
  - google::protobuf::internal::StreamBackUp
  - google::protobuf::internal::AppendSize
  - google::protobuf::internal::AppendUntilEnd
  - google::protobuf::internal::AppendString
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::BackUp
  - google::protobuf::internal::PushLimit
  - google::protobuf::internal::PopLimit
  - google::protobuf::internal::Skip
  - google::protobuf::internal::ReadString
  - google::protobuf::internal::AppendString
  - google::protobuf::internal::LastTag
  - google::protobuf::internal::ConsumeEndGroup
  - google::protobuf::internal::EndedAtLimit
  - google::protobuf::internal::EndedAtEndOfStream
  - google::protobuf::internal::SetLastTag
  - google::protobuf::internal::SetEndOfStream
  - google::protobuf::internal::IsExceedingLimit
  - google::protobuf::internal::BytesUntilLimit
  - google::protobuf::internal::DataAvailable
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::StreamNext
  - google::protobuf::internal::StreamBackUp
  - google::protobuf::internal::AppendSize
  - google::protobuf::internal::AppendUntilEnd
  - google::protobuf::internal::AppendString
  - google::protobuf::EpsCopyInputStream
  - google::protobuf::ParseContext
  - google::protobuf::TrackCorrectEnding
  - google::protobuf::Done
  - google::protobuf::depth
  - google::protobuf::data
  - google::protobuf::data
  - google::protobuf::ParseGroup
  - google::protobuf::ExpectTag
  - google::protobuf::Load
  - google::protobuf::Load
  - google::protobuf::Load
  - google::protobuf::Load
  - google::protobuf::UnalignedLoad
  - google::protobuf::VarintParseSlow
  - google::protobuf::VarintParseSlow
  - google::protobuf::VarintParse
  - google::protobuf::ReadTag
  - google::protobuf::DecodeTwoBytes
  - google::protobuf::ParseBigVarint
  - google::protobuf::ReadSize
  - google::protobuf::ReadVarint64
  - google::protobuf::ReadVarint32
  - google::protobuf::ReadVarintZigZag64
  - google::protobuf::ReadVarintZigZag32
  - google::protobuf::ParseContext::ParseMessage
  - google::protobuf::ReadPackedVarintArray
  - google::protobuf::EpsCopyInputStream::ReadPackedVarint
  - google::protobuf::VerifyUTF8
  - GOOGLE_PROTOBUF_ASSERT_RETURN
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::BackUp
  - google::protobuf::internal::PushLimit
  - google::protobuf::internal::PopLimit
  - google::protobuf::internal::Skip
  - google::protobuf::internal::ReadString
  - google::protobuf::internal::AppendString
  - google::protobuf::internal::LastTag
  - google::protobuf::internal::ConsumeEndGroup
  - google::protobuf::internal::EndedAtLimit
  - google::protobuf::internal::EndedAtEndOfStream
  - google::protobuf::internal::SetLastTag
  - google::protobuf::internal::SetEndOfStream
  - google::protobuf::internal::IsExceedingLimit
  - google::protobuf::internal::BytesUntilLimit
  - google::protobuf::internal::DataAvailable
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::StreamNext
  - google::protobuf::internal::StreamBackUp
  - google::protobuf::internal::AppendSize
  - google::protobuf::internal::AppendUntilEnd
  - google::protobuf::internal::AppendString
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::BackUp
  - google::protobuf::internal::PushLimit
  - google::protobuf::internal::PopLimit
  - google::protobuf::internal::Skip
  - google::protobuf::internal::ReadString
  - google::protobuf::internal::AppendString
  - google::protobuf::internal::LastTag
  - google::protobuf::internal::ConsumeEndGroup
  - google::protobuf::internal::EndedAtLimit
  - google::protobuf::internal::EndedAtEndOfStream
  - google::protobuf::internal::SetLastTag
  - google::protobuf::internal::SetEndOfStream
  - google::protobuf::internal::IsExceedingLimit
  - google::protobuf::internal::BytesUntilLimit
  - google::protobuf::internal::DataAvailable
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::StreamNext
  - google::protobuf::internal::StreamBackUp
  - google::protobuf::internal::AppendSize
  - google::protobuf::internal::AppendUntilEnd
  - google::protobuf::internal::AppendString
  - google::protobuf::EpsCopyInputStream
  - google::protobuf::ParseContext
  - google::protobuf::TrackCorrectEnding
  - google::protobuf::Done
  - google::protobuf::depth
  - google::protobuf::data
  - google::protobuf::data
  - google::protobuf::ParseGroup
  - google::protobuf::ExpectTag
  - google::protobuf::Load
  - google::protobuf::Load
  - google::protobuf::Load
  - google::protobuf::Load
  - google::protobuf::UnalignedLoad
  - google::protobuf::VarintParseSlow
  - google::protobuf::VarintParseSlow
  - google::protobuf::VarintParse
  - google::protobuf::ReadTag
  - google::protobuf::DecodeTwoBytes
  - google::protobuf::ParseBigVarint
  - google::protobuf::ReadSize
  - google::protobuf::ReadVarint64
  - google::protobuf::ReadVarint32
  - google::protobuf::ReadVarintZigZag64
  - google::protobuf::ReadVarintZigZag32
  - google::protobuf::ParseContext::ParseMessage
  - google::protobuf::ReadPackedVarintArray
  - google::protobuf::EpsCopyInputStream::ReadPackedVarint
  - google::protobuf::VerifyUTF8
  - GOOGLE_PROTOBUF_ASSERT_RETURN
  - GOOGLE_PROTOBUF_PARSER_ASSERT
  - google::FieldParser
  - google::WireFormatParser
  - google::PackedEnumParser
  - google::PackedEnumParserArg
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::BackUp
  - google::protobuf::internal::PushLimit
  - google::protobuf::internal::PopLimit
  - google::protobuf::internal::Skip
  - google::protobuf::internal::ReadString
  - google::protobuf::internal::AppendString
  - google::protobuf::internal::LastTag
  - google::protobuf::internal::ConsumeEndGroup
  - google::protobuf::internal::EndedAtLimit
  - google::protobuf::internal::EndedAtEndOfStream
  - google::protobuf::internal::SetLastTag
  - google::protobuf::internal::SetEndOfStream
  - google::protobuf::internal::IsExceedingLimit
  - google::protobuf::internal::BytesUntilLimit
  - google::protobuf::internal::DataAvailable
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::StreamNext
  - google::protobuf::internal::StreamBackUp
  - google::protobuf::internal::AppendSize
  - google::protobuf::internal::AppendUntilEnd
  - google::protobuf::internal::AppendString
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::BackUp
  - google::protobuf::internal::PushLimit
  - google::protobuf::internal::PopLimit
  - google::protobuf::internal::Skip
  - google::protobuf::internal::ReadString
  - google::protobuf::internal::AppendString
  - google::protobuf::internal::LastTag
  - google::protobuf::internal::ConsumeEndGroup
  - google::protobuf::internal::EndedAtLimit
  - google::protobuf::internal::EndedAtEndOfStream
  - google::protobuf::internal::SetLastTag
  - google::protobuf::internal::SetEndOfStream
  - google::protobuf::internal::IsExceedingLimit
  - google::protobuf::internal::BytesUntilLimit
  - google::protobuf::internal::DataAvailable
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::StreamNext
  - google::protobuf::internal::StreamBackUp
  - google::protobuf::internal::AppendSize
  - google::protobuf::internal::AppendUntilEnd
  - google::protobuf::internal::AppendString
  - google::protobuf::EpsCopyInputStream
  - google::protobuf::ParseContext
  - google::protobuf::TrackCorrectEnding
  - google::protobuf::Done
  - google::protobuf::depth
  - google::protobuf::data
  - google::protobuf::data
  - google::protobuf::ParseGroup
  - google::protobuf::ExpectTag
  - google::protobuf::Load
  - google::protobuf::Load
  - google::protobuf::Load
  - google::protobuf::Load
  - google::protobuf::UnalignedLoad
  - google::protobuf::VarintParseSlow
  - google::protobuf::VarintParseSlow
  - google::protobuf::VarintParse
  - google::protobuf::ReadTag
  - google::protobuf::DecodeTwoBytes
  - google::protobuf::ParseBigVarint
  - google::protobuf::ReadSize
  - google::protobuf::ReadVarint64
  - google::protobuf::ReadVarint32
  - google::protobuf::ReadVarintZigZag64
  - google::protobuf::ReadVarintZigZag32
  - google::protobuf::ParseContext::ParseMessage
  - google::protobuf::ReadPackedVarintArray
  - google::protobuf::EpsCopyInputStream::ReadPackedVarint
  - google::protobuf::VerifyUTF8
  - GOOGLE_PROTOBUF_ASSERT_RETURN
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::BackUp
  - google::protobuf::internal::PushLimit
  - google::protobuf::internal::PopLimit
  - google::protobuf::internal::Skip
  - google::protobuf::internal::ReadString
  - google::protobuf::internal::AppendString
  - google::protobuf::internal::LastTag
  - google::protobuf::internal::ConsumeEndGroup
  - google::protobuf::internal::EndedAtLimit
  - google::protobuf::internal::EndedAtEndOfStream
  - google::protobuf::internal::SetLastTag
  - google::protobuf::internal::SetEndOfStream
  - google::protobuf::internal::IsExceedingLimit
  - google::protobuf::internal::BytesUntilLimit
  - google::protobuf::internal::DataAvailable
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::StreamNext
  - google::protobuf::internal::StreamBackUp
  - google::protobuf::internal::AppendSize
  - google::protobuf::internal::AppendUntilEnd
  - google::protobuf::internal::AppendString
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::EpsCopyInputStream
  - google::protobuf::internal::BackUp
  - google::protobuf::internal::PushLimit
  - google::protobuf::internal::PopLimit
  - google::protobuf::internal::Skip
  - google::protobuf::internal::ReadString
  - google::protobuf::internal::AppendString
  - google::protobuf::internal::LastTag
  - google::protobuf::internal::ConsumeEndGroup
  - google::protobuf::internal::EndedAtLimit
  - google::protobuf::internal::EndedAtEndOfStream
  - google::protobuf::internal::SetLastTag
  - google::protobuf::internal::SetEndOfStream
  - google::protobuf::internal::IsExceedingLimit
  - google::protobuf::internal::BytesUntilLimit
  - google::protobuf::internal::DataAvailable
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::InitFrom
  - google::protobuf::internal::StreamNext
  - google::protobuf::internal::StreamBackUp
  - google::protobuf::internal::AppendSize
  - google::protobuf::internal::AppendUntilEnd
  - google::protobuf::internal::AppendString
  - google::protobuf::EpsCopyInputStream
  - google::protobuf::ParseContext
  - google::protobuf::TrackCorrectEnding
  - google::protobuf::Done
  - google::protobuf::depth
  - google::protobuf::data
  - google::protobuf::data
  - google::protobuf::ParseGroup
  - google::protobuf::ExpectTag
  - google::protobuf::Load
  - google::protobuf::Load
  - google::protobuf::Load
  - google::protobuf::Load
  - google::protobuf::UnalignedLoad
  - google::protobuf::VarintParseSlow
  - google::protobuf::VarintParseSlow
  - google::protobuf::VarintParse
  - google::protobuf::ReadTag
  - google::protobuf::DecodeTwoBytes
  - google::protobuf::ParseBigVarint
  - google::protobuf::ReadSize
  - google::protobuf::ReadVarint64
  - google::protobuf::ReadVarint32
  - google::protobuf::ReadVarintZigZag64
  - google::protobuf::ReadVarintZigZag32
  - google::protobuf::ParseContext::ParseMessage
  - google::protobuf::ReadPackedVarintArray
  - google::protobuf::EpsCopyInputStream::ReadPackedVarint
  - google::protobuf::VerifyUTF8
  - GOOGLE_PROTOBUF_ASSERT_RETURN
  - GOOGLE_PROTOBUF_PARSER_ASSERT
  - google::FieldParser
  - google::WireFormatParser
  - google::PackedEnumParser
  - google::PackedEnumParserArg
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* pool'
        type: DescriptorPool
      - name: '* factory'
        type: MessageFactory
      item_type: struct
      name: Data
      pos:
        line_end: 379
        line_start: 376
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<1>
      pos:
        line_end: 444
        line_start: 442
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<2>
      pos:
        line_end: 456
        line_start: 447
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<4>
      pos:
        line_end: 468
        line_start: 459
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<8>
      pos:
        line_end: 480
        line_start: 471
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields:
      - name: '* pool'
        type: DescriptorPool
      - name: '* factory'
        type: MessageFactory
      item_type: struct
      name: Data
      pos:
        line_end: 379
        line_start: 376
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<1>
      pos:
        line_end: 444
        line_start: 442
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<2>
      pos:
        line_end: 456
        line_start: 447
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<4>
      pos:
        line_end: 468
        line_start: 459
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<8>
      pos:
        line_end: 480
        line_start: 471
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields:
      - name: '* pool'
        type: DescriptorPool
      - name: '* factory'
        type: MessageFactory
      item_type: struct
      name: Data
      pos:
        line_end: 379
        line_start: 376
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<1>
      pos:
        line_end: 444
        line_start: 442
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<2>
      pos:
        line_end: 456
        line_start: 447
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<4>
      pos:
        line_end: 468
        line_start: 459
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<8>
      pos:
        line_end: 480
        line_start: 471
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields:
      - name: '* pool'
        type: DescriptorPool
      - name: '* factory'
        type: MessageFactory
      item_type: struct
      name: Data
      pos:
        line_end: 379
        line_start: 376
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<1>
      pos:
        line_end: 444
        line_start: 442
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<2>
      pos:
        line_end: 456
        line_start: 447
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<4>
      pos:
        line_end: 468
        line_start: 459
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    - fields: []
      item_type: struct
      name: EndianHelper<8>
      pos:
        line_end: 480
        line_start: 471
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/parse_context.h
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::Delete
  - google::protobuf::internal::InternalMetadata::arena
  - google::protobuf::internal::InternalMetadata::have_unknown_fields
  - google::protobuf::internal::InternalMetadata::raw_arena_ptr
  - google::protobuf::internal::InternalMetadata::unknown_fields
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
  - google::protobuf::internal::InternalMetadata::Swap
  - google::protobuf::internal::InternalMetadata::MergeFrom
  - google::protobuf::internal::InternalMetadata::Clear
  - google::protobuf::internal::InternalMetadata::PtrTag
  - google::protobuf::internal::InternalMetadata::PtrValue
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
  - google::protobuf::internal::InternalMetadata::DoClear
  - google::protobuf::internal::InternalMetadata::DoMergeFrom
  - google::protobuf::internal::InternalMetadata::DoSwap
  - InternalMetadata::DoClear<std::string>()
  - "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string& other)"
  - InternalMetadata::DoSwap<std::string>(std::string* other)
  - google::protobuf::internal::LiteUnknownFieldSetter
  - google::protobuf::internal::buffer
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::Delete
  - google::protobuf::internal::InternalMetadata::arena
  - google::protobuf::internal::InternalMetadata::have_unknown_fields
  - google::protobuf::internal::InternalMetadata::raw_arena_ptr
  - google::protobuf::internal::InternalMetadata::unknown_fields
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
  - google::protobuf::internal::InternalMetadata::Swap
  - google::protobuf::internal::InternalMetadata::MergeFrom
  - google::protobuf::internal::InternalMetadata::Clear
  - google::protobuf::internal::InternalMetadata::PtrTag
  - google::protobuf::internal::InternalMetadata::PtrValue
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
  - google::protobuf::internal::InternalMetadata::DoClear
  - google::protobuf::internal::InternalMetadata::DoMergeFrom
  - google::protobuf::internal::InternalMetadata::DoSwap
  - InternalMetadata::DoClear<std::string>()
  - "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string& other)"
  - InternalMetadata::DoSwap<std::string>(std::string* other)
  - google::protobuf::internal::LiteUnknownFieldSetter
  - google::protobuf::internal::buffer
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::Delete
  - google::protobuf::internal::InternalMetadata::arena
  - google::protobuf::internal::InternalMetadata::have_unknown_fields
  - google::protobuf::internal::InternalMetadata::raw_arena_ptr
  - google::protobuf::internal::InternalMetadata::unknown_fields
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
  - google::protobuf::internal::InternalMetadata::Swap
  - google::protobuf::internal::InternalMetadata::MergeFrom
  - google::protobuf::internal::InternalMetadata::Clear
  - google::protobuf::internal::InternalMetadata::PtrTag
  - google::protobuf::internal::InternalMetadata::PtrValue
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
  - google::protobuf::internal::InternalMetadata::DoClear
  - google::protobuf::internal::InternalMetadata::DoMergeFrom
  - google::protobuf::internal::InternalMetadata::DoSwap
  - InternalMetadata::DoClear<std::string>()
  - "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string& other)"
  - InternalMetadata::DoSwap<std::string>(std::string* other)
  - google::protobuf::internal::LiteUnknownFieldSetter
  - google::protobuf::internal::buffer
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::Delete
  - google::protobuf::internal::InternalMetadata::arena
  - google::protobuf::internal::InternalMetadata::have_unknown_fields
  - google::protobuf::internal::InternalMetadata::raw_arena_ptr
  - google::protobuf::internal::InternalMetadata::unknown_fields
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
  - google::protobuf::internal::InternalMetadata::Swap
  - google::protobuf::internal::InternalMetadata::MergeFrom
  - google::protobuf::internal::InternalMetadata::Clear
  - google::protobuf::internal::InternalMetadata::PtrTag
  - google::protobuf::internal::InternalMetadata::PtrValue
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
  - google::protobuf::internal::InternalMetadata::DoClear
  - google::protobuf::internal::InternalMetadata::DoMergeFrom
  - google::protobuf::internal::InternalMetadata::DoSwap
  - InternalMetadata::DoClear<std::string>()
  - "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string& other)"
  - InternalMetadata::DoSwap<std::string>(std::string* other)
  - google::protobuf::internal::LiteUnknownFieldSetter
  - google::protobuf::internal::buffer
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::Delete
  - google::protobuf::internal::InternalMetadata::arena
  - google::protobuf::internal::InternalMetadata::have_unknown_fields
  - google::protobuf::internal::InternalMetadata::raw_arena_ptr
  - google::protobuf::internal::InternalMetadata::unknown_fields
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
  - google::protobuf::internal::InternalMetadata::Swap
  - google::protobuf::internal::InternalMetadata::MergeFrom
  - google::protobuf::internal::InternalMetadata::Clear
  - google::protobuf::internal::InternalMetadata::PtrTag
  - google::protobuf::internal::InternalMetadata::PtrValue
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
  - google::protobuf::internal::InternalMetadata::DoClear
  - google::protobuf::internal::InternalMetadata::DoMergeFrom
  - google::protobuf::internal::InternalMetadata::DoSwap
  - InternalMetadata::DoClear<std::string>()
  - "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string& other)"
  - InternalMetadata::DoSwap<std::string>(std::string* other)
  - google::protobuf::internal::LiteUnknownFieldSetter
  - google::protobuf::internal::buffer
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::Delete
  - google::protobuf::internal::InternalMetadata::arena
  - google::protobuf::internal::InternalMetadata::have_unknown_fields
  - google::protobuf::internal::InternalMetadata::raw_arena_ptr
  - google::protobuf::internal::InternalMetadata::unknown_fields
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
  - google::protobuf::internal::InternalMetadata::Swap
  - google::protobuf::internal::InternalMetadata::MergeFrom
  - google::protobuf::internal::InternalMetadata::Clear
  - google::protobuf::internal::InternalMetadata::PtrTag
  - google::protobuf::internal::InternalMetadata::PtrValue
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
  - google::protobuf::internal::InternalMetadata::DoClear
  - google::protobuf::internal::InternalMetadata::DoMergeFrom
  - google::protobuf::internal::InternalMetadata::DoSwap
  - InternalMetadata::DoClear<std::string>()
  - "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string& other)"
  - InternalMetadata::DoSwap<std::string>(std::string* other)
  - google::protobuf::internal::LiteUnknownFieldSetter
  - google::protobuf::internal::buffer
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::Delete
  - google::protobuf::internal::InternalMetadata::arena
  - google::protobuf::internal::InternalMetadata::have_unknown_fields
  - google::protobuf::internal::InternalMetadata::raw_arena_ptr
  - google::protobuf::internal::InternalMetadata::unknown_fields
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
  - google::protobuf::internal::InternalMetadata::Swap
  - google::protobuf::internal::InternalMetadata::MergeFrom
  - google::protobuf::internal::InternalMetadata::Clear
  - google::protobuf::internal::InternalMetadata::PtrTag
  - google::protobuf::internal::InternalMetadata::PtrValue
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
  - google::protobuf::internal::InternalMetadata::DoClear
  - google::protobuf::internal::InternalMetadata::DoMergeFrom
  - google::protobuf::internal::InternalMetadata::DoSwap
  - InternalMetadata::DoClear<std::string>()
  - "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string& other)"
  - InternalMetadata::DoSwap<std::string>(std::string* other)
  - google::protobuf::internal::LiteUnknownFieldSetter
  - google::protobuf::internal::buffer
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::InternalMetadata
  - google::protobuf::internal::InternalMetadata::Delete
  - google::protobuf::internal::InternalMetadata::arena
  - google::protobuf::internal::InternalMetadata::have_unknown_fields
  - google::protobuf::internal::InternalMetadata::raw_arena_ptr
  - google::protobuf::internal::InternalMetadata::unknown_fields
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields
  - google::protobuf::internal::InternalMetadata::Swap
  - google::protobuf::internal::InternalMetadata::MergeFrom
  - google::protobuf::internal::InternalMetadata::Clear
  - google::protobuf::internal::InternalMetadata::PtrTag
  - google::protobuf::internal::InternalMetadata::PtrValue
  - google::protobuf::internal::InternalMetadata::mutable_unknown_fields_slow
  - google::protobuf::internal::InternalMetadata::DoClear
  - google::protobuf::internal::InternalMetadata::DoMergeFrom
  - google::protobuf::internal::InternalMetadata::DoSwap
  - InternalMetadata::DoClear<std::string>()
  - "InternalMetadata::DoMergeFrom<std::string>(\n    const std::string& other)"
  - InternalMetadata::DoSwap<std::string>(std::string* other)
  - google::protobuf::internal::LiteUnknownFieldSetter
  - google::protobuf::internal::buffer
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* arena'
        type: Arena
      item_type: struct
      name: ContainerBase
      pos:
        line_end: 158
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: unknown_fields
        type: T
      item_type: struct
      name: Container
      pos:
        line_end: 163
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: '* arena'
        type: Arena
      item_type: struct
      name: ContainerBase
      pos:
        line_end: 158
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: unknown_fields
        type: T
      item_type: struct
      name: Container
      pos:
        line_end: 163
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: '* arena'
        type: Arena
      item_type: struct
      name: ContainerBase
      pos:
        line_end: 158
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: unknown_fields
        type: T
      item_type: struct
      name: Container
      pos:
        line_end: 163
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: '* arena'
        type: Arena
      item_type: struct
      name: ContainerBase
      pos:
        line_end: 158
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: unknown_fields
        type: T
      item_type: struct
      name: Container
      pos:
        line_end: 163
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: '* arena'
        type: Arena
      item_type: struct
      name: ContainerBase
      pos:
        line_end: 158
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: unknown_fields
        type: T
      item_type: struct
      name: Container
      pos:
        line_end: 163
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: '* arena'
        type: Arena
      item_type: struct
      name: ContainerBase
      pos:
        line_end: 158
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: unknown_fields
        type: T
      item_type: struct
      name: Container
      pos:
        line_end: 163
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: '* arena'
        type: Arena
      item_type: struct
      name: ContainerBase
      pos:
        line_end: 158
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: unknown_fields
        type: T
      item_type: struct
      name: Container
      pos:
        line_end: 163
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: '* arena'
        type: Arena
      item_type: struct
      name: ContainerBase
      pos:
        line_end: 158
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    - fields:
      - name: unknown_fields
        type: T
      item_type: struct
      name: Container
      pos:
        line_end: 163
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/metadata_lite.h
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::allocate
  - google::protobuf::internal::MapAllocator::deallocate
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - operator==(const MapAllocator<X>& other) const
  - operator!=(const MapAllocator<X>& other) const
  - google::protobuf::internal::MapAllocator::max_size
  - google::protobuf::internal::MapAllocator::arena
  - google::protobuf::internal::Equals
  - google::protobuf::internal::ImplicitConvert
  - google::protobuf::internal::ImplicitConvert
  - operator()(const T& str) const
  - '& base() const'
  - operator()(const T& t, const U& u) const
  - google::protobuf::internal::Equals
  - google::protobuf::internal::TableEntryIsEmpty
  - google::protobuf::internal::TableEntryIsNonEmptyList
  - google::protobuf::internal::TableEntryIsTree
  - google::protobuf::internal::TableEntryIsList
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::SpaceUsedInTable
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::allocate
  - google::protobuf::internal::MapAllocator::deallocate
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - operator==(const MapAllocator<X>& other) const
  - operator!=(const MapAllocator<X>& other) const
  - google::protobuf::internal::MapAllocator::max_size
  - google::protobuf::internal::MapAllocator::arena
  - google::protobuf::internal::Equals
  - google::protobuf::internal::ImplicitConvert
  - google::protobuf::internal::ImplicitConvert
  - operator()(const T& str) const
  - '& base() const'
  - operator()(const T& t, const U& u) const
  - google::protobuf::internal::Equals
  - google::protobuf::internal::TableEntryIsEmpty
  - google::protobuf::internal::TableEntryIsNonEmptyList
  - google::protobuf::internal::TableEntryIsTree
  - google::protobuf::internal::TableEntryIsList
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::SpaceUsedInTable
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::MapPair
  - google::protobuf::MapPair
  - google::protobuf::MapPair
  - google::protobuf::MapPair
  - ~MapPair()
  - operator std::pair<T1, T2>() const
  - google::protobuf::Map::Map
  - google::protobuf::Map::Map
  - google::protobuf::Map::Map
  - google::protobuf::Map::Map
  - '& operator=(Map&& other) noexcept'
  - google::protobuf::Map::Map
  - ~Map()
  - google::protobuf::Map::InnerMap::InnerMap
  - ~InnerMap()
  - google::protobuf::Map::InnerMap::NodeFromTreeIterator
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::SearchFrom
  - operator*() const
  - operator->() const
  - operator==(const iterator_base& a, const iterator_base& b)
  - operator!=(const iterator_base& a, const iterator_base& b)
  - '& operator++()'
  - operator++(int /* unused */)
  - google::protobuf::Map::InnerMap::iterator_base::revalidate_if_necessary
  - google::protobuf::Map::InnerMap::arena
  - google::protobuf::Map::InnerMap::Swap
  - google::protobuf::Map::InnerMap::begin
  - google::protobuf::Map::InnerMap::end
  - google::protobuf::Map::InnerMap::begin
  - google::protobuf::Map::InnerMap::end
  - google::protobuf::Map::InnerMap::clear
  - '& hash_function() const'
  - google::protobuf::Map::InnerMap::max_size
  - google::protobuf::Map::InnerMap::size
  - google::protobuf::Map::InnerMap::empty
  - google::protobuf::Map::InnerMap::find
  - google::protobuf::Map::InnerMap::find
  - google::protobuf::Map::InnerMap::insert
  - '& operator[](K&& k)'
  - google::protobuf::Map::InnerMap::erase
  - google::protobuf::Map::InnerMap::SpaceUsedInternal
  - google::protobuf::Map::InnerMap::find
  - google::protobuf::Map::InnerMap::FindHelper
  - google::protobuf::Map::InnerMap::FindHelper
  - google::protobuf::Map::InnerMap::InsertUnique
  - google::protobuf::Map::InnerMap::ShouldInsertAfterHead
  - google::protobuf::Map::InnerMap::InsertUniqueInList
  - google::protobuf::Map::InnerMap::InsertUniqueInTree
  - google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
  - google::protobuf::Map::InnerMap::Resize
  - google::protobuf::Map::InnerMap::TransferList
  - google::protobuf::Map::InnerMap::TransferTree
  - google::protobuf::Map::InnerMap::EraseFromLinkedList
  - google::protobuf::Map::InnerMap::TableEntryIsEmpty
  - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
  - google::protobuf::Map::InnerMap::TableEntryIsTree
  - google::protobuf::Map::InnerMap::TableEntryIsList
  - google::protobuf::Map::InnerMap::TreeConvert
  - google::protobuf::Map::InnerMap::CopyListToTree
  - google::protobuf::Map::InnerMap::TableEntryIsTooLong
  - google::protobuf::Map::InnerMap::BucketNumber
  - google::protobuf::Map::InnerMap::TableSize
  - google::protobuf::Map::InnerMap::Alloc
  - google::protobuf::Map::InnerMap::Dealloc
  - google::protobuf::Map::InnerMap::DestroyNode
  - google::protobuf::Map::InnerMap::DestroyTree
  - google::protobuf::Map::InnerMap::CreateEmptyTable
  - google::protobuf::Map::InnerMap::Seed
  - google::protobuf::Map::const_iterator::const_iterator
  - google::protobuf::Map::const_iterator::const_iterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - operator==(const const_iterator& a, const const_iterator& b)
  - operator!=(const const_iterator& a, const const_iterator& b)
  - google::protobuf::Map::iterator::iterator
  - google::protobuf::Map::iterator::iterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - operator const_iterator() const
  - operator==(const iterator& a, const iterator& b)
  - operator!=(const iterator& a, const iterator& b)
  - google::protobuf::Map::begin
  - google::protobuf::Map::end
  - google::protobuf::Map::begin
  - google::protobuf::Map::end
  - google::protobuf::Map::cbegin
  - google::protobuf::Map::cend
  - google::protobuf::Map::size
  - google::protobuf::Map::empty
  - '& operator[](const key_arg<K>& key)'
  - '& operator[](key_arg<K>&& key)'
  - google::protobuf::Map::at
  - google::protobuf::Map::at
  - google::protobuf::Map::count
  - google::protobuf::Map::find
  - google::protobuf::Map::find
  - google::protobuf::Map::contains
  - google::protobuf::Map::equal_range
  - google::protobuf::Map::equal_range
  - google::protobuf::Map::insert
  - google::protobuf::Map::insert
  - google::protobuf::Map::insert
  - google::protobuf::Map::erase
  - google::protobuf::Map::erase
  - google::protobuf::Map::erase
  - google::protobuf::Map::clear
  - '& operator=(const Map& other)'
  - google::protobuf::Map::swap
  - google::protobuf::Map::hash_function
  - google::protobuf::Map::SpaceUsedExcludingSelfLong
  - google::protobuf::Map::arena
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::allocate
  - google::protobuf::internal::MapAllocator::deallocate
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - operator==(const MapAllocator<X>& other) const
  - operator!=(const MapAllocator<X>& other) const
  - google::protobuf::internal::MapAllocator::max_size
  - google::protobuf::internal::MapAllocator::arena
  - google::protobuf::internal::Equals
  - google::protobuf::internal::ImplicitConvert
  - google::protobuf::internal::ImplicitConvert
  - operator()(const T& str) const
  - '& base() const'
  - operator()(const T& t, const U& u) const
  - google::protobuf::internal::Equals
  - google::protobuf::internal::TableEntryIsEmpty
  - google::protobuf::internal::TableEntryIsNonEmptyList
  - google::protobuf::internal::TableEntryIsTree
  - google::protobuf::internal::TableEntryIsList
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::SpaceUsedInTable
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::allocate
  - google::protobuf::internal::MapAllocator::deallocate
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - operator==(const MapAllocator<X>& other) const
  - operator!=(const MapAllocator<X>& other) const
  - google::protobuf::internal::MapAllocator::max_size
  - google::protobuf::internal::MapAllocator::arena
  - google::protobuf::internal::Equals
  - google::protobuf::internal::ImplicitConvert
  - google::protobuf::internal::ImplicitConvert
  - operator()(const T& str) const
  - '& base() const'
  - operator()(const T& t, const U& u) const
  - google::protobuf::internal::Equals
  - google::protobuf::internal::TableEntryIsEmpty
  - google::protobuf::internal::TableEntryIsNonEmptyList
  - google::protobuf::internal::TableEntryIsTree
  - google::protobuf::internal::TableEntryIsList
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::SpaceUsedInTable
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::MapPair
  - google::protobuf::MapPair
  - google::protobuf::MapPair
  - google::protobuf::MapPair
  - ~MapPair()
  - operator std::pair<T1, T2>() const
  - google::protobuf::Map::Map
  - google::protobuf::Map::Map
  - google::protobuf::Map::Map
  - google::protobuf::Map::Map
  - '& operator=(Map&& other) noexcept'
  - google::protobuf::Map::Map
  - ~Map()
  - google::protobuf::Map::InnerMap::InnerMap
  - ~InnerMap()
  - google::protobuf::Map::InnerMap::NodeFromTreeIterator
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::SearchFrom
  - operator*() const
  - operator->() const
  - operator==(const iterator_base& a, const iterator_base& b)
  - operator!=(const iterator_base& a, const iterator_base& b)
  - '& operator++()'
  - operator++(int /* unused */)
  - google::protobuf::Map::InnerMap::iterator_base::revalidate_if_necessary
  - google::protobuf::Map::InnerMap::arena
  - google::protobuf::Map::InnerMap::Swap
  - google::protobuf::Map::InnerMap::begin
  - google::protobuf::Map::InnerMap::end
  - google::protobuf::Map::InnerMap::begin
  - google::protobuf::Map::InnerMap::end
  - google::protobuf::Map::InnerMap::clear
  - '& hash_function() const'
  - google::protobuf::Map::InnerMap::max_size
  - google::protobuf::Map::InnerMap::size
  - google::protobuf::Map::InnerMap::empty
  - google::protobuf::Map::InnerMap::find
  - google::protobuf::Map::InnerMap::find
  - google::protobuf::Map::InnerMap::insert
  - '& operator[](K&& k)'
  - google::protobuf::Map::InnerMap::erase
  - google::protobuf::Map::InnerMap::SpaceUsedInternal
  - google::protobuf::Map::InnerMap::find
  - google::protobuf::Map::InnerMap::FindHelper
  - google::protobuf::Map::InnerMap::FindHelper
  - google::protobuf::Map::InnerMap::InsertUnique
  - google::protobuf::Map::InnerMap::ShouldInsertAfterHead
  - google::protobuf::Map::InnerMap::InsertUniqueInList
  - google::protobuf::Map::InnerMap::InsertUniqueInTree
  - google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
  - google::protobuf::Map::InnerMap::Resize
  - google::protobuf::Map::InnerMap::TransferList
  - google::protobuf::Map::InnerMap::TransferTree
  - google::protobuf::Map::InnerMap::EraseFromLinkedList
  - google::protobuf::Map::InnerMap::TableEntryIsEmpty
  - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
  - google::protobuf::Map::InnerMap::TableEntryIsTree
  - google::protobuf::Map::InnerMap::TableEntryIsList
  - google::protobuf::Map::InnerMap::TreeConvert
  - google::protobuf::Map::InnerMap::CopyListToTree
  - google::protobuf::Map::InnerMap::TableEntryIsTooLong
  - google::protobuf::Map::InnerMap::BucketNumber
  - google::protobuf::Map::InnerMap::TableSize
  - google::protobuf::Map::InnerMap::Alloc
  - google::protobuf::Map::InnerMap::Dealloc
  - google::protobuf::Map::InnerMap::DestroyNode
  - google::protobuf::Map::InnerMap::DestroyTree
  - google::protobuf::Map::InnerMap::CreateEmptyTable
  - google::protobuf::Map::InnerMap::Seed
  - google::protobuf::Map::const_iterator::const_iterator
  - google::protobuf::Map::const_iterator::const_iterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - operator==(const const_iterator& a, const const_iterator& b)
  - operator!=(const const_iterator& a, const const_iterator& b)
  - google::protobuf::Map::iterator::iterator
  - google::protobuf::Map::iterator::iterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - operator const_iterator() const
  - operator==(const iterator& a, const iterator& b)
  - operator!=(const iterator& a, const iterator& b)
  - google::protobuf::Map::begin
  - google::protobuf::Map::end
  - google::protobuf::Map::begin
  - google::protobuf::Map::end
  - google::protobuf::Map::cbegin
  - google::protobuf::Map::cend
  - google::protobuf::Map::size
  - google::protobuf::Map::empty
  - '& operator[](const key_arg<K>& key)'
  - '& operator[](key_arg<K>&& key)'
  - google::protobuf::Map::at
  - google::protobuf::Map::at
  - google::protobuf::Map::count
  - google::protobuf::Map::find
  - google::protobuf::Map::find
  - google::protobuf::Map::contains
  - google::protobuf::Map::equal_range
  - google::protobuf::Map::equal_range
  - google::protobuf::Map::insert
  - google::protobuf::Map::insert
  - google::protobuf::Map::insert
  - google::protobuf::Map::erase
  - google::protobuf::Map::erase
  - google::protobuf::Map::erase
  - google::protobuf::Map::clear
  - '& operator=(const Map& other)'
  - google::protobuf::Map::swap
  - google::protobuf::Map::hash_function
  - google::protobuf::Map::SpaceUsedExcludingSelfLong
  - google::protobuf::Map::arena
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::allocate
  - google::protobuf::internal::MapAllocator::deallocate
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - operator==(const MapAllocator<X>& other) const
  - operator!=(const MapAllocator<X>& other) const
  - google::protobuf::internal::MapAllocator::max_size
  - google::protobuf::internal::MapAllocator::arena
  - google::protobuf::internal::Equals
  - google::protobuf::internal::ImplicitConvert
  - google::protobuf::internal::ImplicitConvert
  - operator()(const T& str) const
  - '& base() const'
  - operator()(const T& t, const U& u) const
  - google::protobuf::internal::Equals
  - google::protobuf::internal::TableEntryIsEmpty
  - google::protobuf::internal::TableEntryIsNonEmptyList
  - google::protobuf::internal::TableEntryIsTree
  - google::protobuf::internal::TableEntryIsList
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::SpaceUsedInTable
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::allocate
  - google::protobuf::internal::MapAllocator::deallocate
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - operator==(const MapAllocator<X>& other) const
  - operator!=(const MapAllocator<X>& other) const
  - google::protobuf::internal::MapAllocator::max_size
  - google::protobuf::internal::MapAllocator::arena
  - google::protobuf::internal::Equals
  - google::protobuf::internal::ImplicitConvert
  - google::protobuf::internal::ImplicitConvert
  - operator()(const T& str) const
  - '& base() const'
  - operator()(const T& t, const U& u) const
  - google::protobuf::internal::Equals
  - google::protobuf::internal::TableEntryIsEmpty
  - google::protobuf::internal::TableEntryIsNonEmptyList
  - google::protobuf::internal::TableEntryIsTree
  - google::protobuf::internal::TableEntryIsList
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::SpaceUsedInTable
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::MapPair
  - google::protobuf::MapPair
  - google::protobuf::MapPair
  - google::protobuf::MapPair
  - ~MapPair()
  - operator std::pair<T1, T2>() const
  - google::protobuf::Map::Map
  - google::protobuf::Map::Map
  - google::protobuf::Map::Map
  - google::protobuf::Map::Map
  - '& operator=(Map&& other) noexcept'
  - google::protobuf::Map::Map
  - ~Map()
  - google::protobuf::Map::InnerMap::InnerMap
  - ~InnerMap()
  - google::protobuf::Map::InnerMap::NodeFromTreeIterator
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::SearchFrom
  - operator*() const
  - operator->() const
  - operator==(const iterator_base& a, const iterator_base& b)
  - operator!=(const iterator_base& a, const iterator_base& b)
  - '& operator++()'
  - operator++(int /* unused */)
  - google::protobuf::Map::InnerMap::iterator_base::revalidate_if_necessary
  - google::protobuf::Map::InnerMap::arena
  - google::protobuf::Map::InnerMap::Swap
  - google::protobuf::Map::InnerMap::begin
  - google::protobuf::Map::InnerMap::end
  - google::protobuf::Map::InnerMap::begin
  - google::protobuf::Map::InnerMap::end
  - google::protobuf::Map::InnerMap::clear
  - '& hash_function() const'
  - google::protobuf::Map::InnerMap::max_size
  - google::protobuf::Map::InnerMap::size
  - google::protobuf::Map::InnerMap::empty
  - google::protobuf::Map::InnerMap::find
  - google::protobuf::Map::InnerMap::find
  - google::protobuf::Map::InnerMap::insert
  - '& operator[](K&& k)'
  - google::protobuf::Map::InnerMap::erase
  - google::protobuf::Map::InnerMap::SpaceUsedInternal
  - google::protobuf::Map::InnerMap::find
  - google::protobuf::Map::InnerMap::FindHelper
  - google::protobuf::Map::InnerMap::FindHelper
  - google::protobuf::Map::InnerMap::InsertUnique
  - google::protobuf::Map::InnerMap::ShouldInsertAfterHead
  - google::protobuf::Map::InnerMap::InsertUniqueInList
  - google::protobuf::Map::InnerMap::InsertUniqueInTree
  - google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
  - google::protobuf::Map::InnerMap::Resize
  - google::protobuf::Map::InnerMap::TransferList
  - google::protobuf::Map::InnerMap::TransferTree
  - google::protobuf::Map::InnerMap::EraseFromLinkedList
  - google::protobuf::Map::InnerMap::TableEntryIsEmpty
  - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
  - google::protobuf::Map::InnerMap::TableEntryIsTree
  - google::protobuf::Map::InnerMap::TableEntryIsList
  - google::protobuf::Map::InnerMap::TreeConvert
  - google::protobuf::Map::InnerMap::CopyListToTree
  - google::protobuf::Map::InnerMap::TableEntryIsTooLong
  - google::protobuf::Map::InnerMap::BucketNumber
  - google::protobuf::Map::InnerMap::TableSize
  - google::protobuf::Map::InnerMap::Alloc
  - google::protobuf::Map::InnerMap::Dealloc
  - google::protobuf::Map::InnerMap::DestroyNode
  - google::protobuf::Map::InnerMap::DestroyTree
  - google::protobuf::Map::InnerMap::CreateEmptyTable
  - google::protobuf::Map::InnerMap::Seed
  - google::protobuf::Map::const_iterator::const_iterator
  - google::protobuf::Map::const_iterator::const_iterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - operator==(const const_iterator& a, const const_iterator& b)
  - operator!=(const const_iterator& a, const const_iterator& b)
  - google::protobuf::Map::iterator::iterator
  - google::protobuf::Map::iterator::iterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - operator const_iterator() const
  - operator==(const iterator& a, const iterator& b)
  - operator!=(const iterator& a, const iterator& b)
  - google::protobuf::Map::begin
  - google::protobuf::Map::end
  - google::protobuf::Map::begin
  - google::protobuf::Map::end
  - google::protobuf::Map::cbegin
  - google::protobuf::Map::cend
  - google::protobuf::Map::size
  - google::protobuf::Map::empty
  - '& operator[](const key_arg<K>& key)'
  - '& operator[](key_arg<K>&& key)'
  - google::protobuf::Map::at
  - google::protobuf::Map::at
  - google::protobuf::Map::count
  - google::protobuf::Map::find
  - google::protobuf::Map::find
  - google::protobuf::Map::contains
  - google::protobuf::Map::equal_range
  - google::protobuf::Map::equal_range
  - google::protobuf::Map::insert
  - google::protobuf::Map::insert
  - google::protobuf::Map::insert
  - google::protobuf::Map::erase
  - google::protobuf::Map::erase
  - google::protobuf::Map::erase
  - google::protobuf::Map::clear
  - '& operator=(const Map& other)'
  - google::protobuf::Map::swap
  - google::protobuf::Map::hash_function
  - google::protobuf::Map::SpaceUsedExcludingSelfLong
  - google::protobuf::Map::arena
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::allocate
  - google::protobuf::internal::MapAllocator::deallocate
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - operator==(const MapAllocator<X>& other) const
  - operator!=(const MapAllocator<X>& other) const
  - google::protobuf::internal::MapAllocator::max_size
  - google::protobuf::internal::MapAllocator::arena
  - google::protobuf::internal::Equals
  - google::protobuf::internal::ImplicitConvert
  - google::protobuf::internal::ImplicitConvert
  - operator()(const T& str) const
  - '& base() const'
  - operator()(const T& t, const U& u) const
  - google::protobuf::internal::Equals
  - google::protobuf::internal::TableEntryIsEmpty
  - google::protobuf::internal::TableEntryIsNonEmptyList
  - google::protobuf::internal::TableEntryIsTree
  - google::protobuf::internal::TableEntryIsList
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::SpaceUsedInTable
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::MapAllocator
  - google::protobuf::internal::MapAllocator::allocate
  - google::protobuf::internal::MapAllocator::deallocate
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - google::protobuf::internal::MapAllocator::construct
  - google::protobuf::internal::MapAllocator::destroy
  - operator==(const MapAllocator<X>& other) const
  - operator!=(const MapAllocator<X>& other) const
  - google::protobuf::internal::MapAllocator::max_size
  - google::protobuf::internal::MapAllocator::arena
  - google::protobuf::internal::Equals
  - google::protobuf::internal::ImplicitConvert
  - google::protobuf::internal::ImplicitConvert
  - operator()(const T& str) const
  - '& base() const'
  - operator()(const T& t, const U& u) const
  - google::protobuf::internal::Equals
  - google::protobuf::internal::TableEntryIsEmpty
  - google::protobuf::internal::TableEntryIsNonEmptyList
  - google::protobuf::internal::TableEntryIsTree
  - google::protobuf::internal::TableEntryIsList
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::MapValueSpaceUsedExcludingSelfLong
  - google::protobuf::internal::SpaceUsedInTable
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::internal::SpaceUsedInValues
  - google::protobuf::MapPair
  - google::protobuf::MapPair
  - google::protobuf::MapPair
  - google::protobuf::MapPair
  - ~MapPair()
  - operator std::pair<T1, T2>() const
  - google::protobuf::Map::Map
  - google::protobuf::Map::Map
  - google::protobuf::Map::Map
  - google::protobuf::Map::Map
  - '& operator=(Map&& other) noexcept'
  - google::protobuf::Map::Map
  - ~Map()
  - google::protobuf::Map::InnerMap::InnerMap
  - ~InnerMap()
  - google::protobuf::Map::InnerMap::NodeFromTreeIterator
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::iterator_base
  - google::protobuf::Map::InnerMap::iterator_base::SearchFrom
  - operator*() const
  - operator->() const
  - operator==(const iterator_base& a, const iterator_base& b)
  - operator!=(const iterator_base& a, const iterator_base& b)
  - '& operator++()'
  - operator++(int /* unused */)
  - google::protobuf::Map::InnerMap::iterator_base::revalidate_if_necessary
  - google::protobuf::Map::InnerMap::arena
  - google::protobuf::Map::InnerMap::Swap
  - google::protobuf::Map::InnerMap::begin
  - google::protobuf::Map::InnerMap::end
  - google::protobuf::Map::InnerMap::begin
  - google::protobuf::Map::InnerMap::end
  - google::protobuf::Map::InnerMap::clear
  - '& hash_function() const'
  - google::protobuf::Map::InnerMap::max_size
  - google::protobuf::Map::InnerMap::size
  - google::protobuf::Map::InnerMap::empty
  - google::protobuf::Map::InnerMap::find
  - google::protobuf::Map::InnerMap::find
  - google::protobuf::Map::InnerMap::insert
  - '& operator[](K&& k)'
  - google::protobuf::Map::InnerMap::erase
  - google::protobuf::Map::InnerMap::SpaceUsedInternal
  - google::protobuf::Map::InnerMap::find
  - google::protobuf::Map::InnerMap::FindHelper
  - google::protobuf::Map::InnerMap::FindHelper
  - google::protobuf::Map::InnerMap::InsertUnique
  - google::protobuf::Map::InnerMap::ShouldInsertAfterHead
  - google::protobuf::Map::InnerMap::InsertUniqueInList
  - google::protobuf::Map::InnerMap::InsertUniqueInTree
  - google::protobuf::Map::InnerMap::ResizeIfLoadIsOutOfRange
  - google::protobuf::Map::InnerMap::Resize
  - google::protobuf::Map::InnerMap::TransferList
  - google::protobuf::Map::InnerMap::TransferTree
  - google::protobuf::Map::InnerMap::EraseFromLinkedList
  - google::protobuf::Map::InnerMap::TableEntryIsEmpty
  - google::protobuf::Map::InnerMap::TableEntryIsNonEmptyList
  - google::protobuf::Map::InnerMap::TableEntryIsTree
  - google::protobuf::Map::InnerMap::TableEntryIsList
  - google::protobuf::Map::InnerMap::TreeConvert
  - google::protobuf::Map::InnerMap::CopyListToTree
  - google::protobuf::Map::InnerMap::TableEntryIsTooLong
  - google::protobuf::Map::InnerMap::BucketNumber
  - google::protobuf::Map::InnerMap::TableSize
  - google::protobuf::Map::InnerMap::Alloc
  - google::protobuf::Map::InnerMap::Dealloc
  - google::protobuf::Map::InnerMap::DestroyNode
  - google::protobuf::Map::InnerMap::DestroyTree
  - google::protobuf::Map::InnerMap::CreateEmptyTable
  - google::protobuf::Map::InnerMap::Seed
  - google::protobuf::Map::const_iterator::const_iterator
  - google::protobuf::Map::const_iterator::const_iterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - operator==(const const_iterator& a, const const_iterator& b)
  - operator!=(const const_iterator& a, const const_iterator& b)
  - google::protobuf::Map::iterator::iterator
  - google::protobuf::Map::iterator::iterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - operator const_iterator() const
  - operator==(const iterator& a, const iterator& b)
  - operator!=(const iterator& a, const iterator& b)
  - google::protobuf::Map::begin
  - google::protobuf::Map::end
  - google::protobuf::Map::begin
  - google::protobuf::Map::end
  - google::protobuf::Map::cbegin
  - google::protobuf::Map::cend
  - google::protobuf::Map::size
  - google::protobuf::Map::empty
  - '& operator[](const key_arg<K>& key)'
  - '& operator[](key_arg<K>&& key)'
  - google::protobuf::Map::at
  - google::protobuf::Map::at
  - google::protobuf::Map::count
  - google::protobuf::Map::find
  - google::protobuf::Map::find
  - google::protobuf::Map::contains
  - google::protobuf::Map::equal_range
  - google::protobuf::Map::equal_range
  - google::protobuf::Map::insert
  - google::protobuf::Map::insert
  - google::protobuf::Map::insert
  - google::protobuf::Map::erase
  - google::protobuf::Map::erase
  - google::protobuf::Map::erase
  - google::protobuf::Map::clear
  - '& operator=(const Map& other)'
  - google::protobuf::Map::swap
  - google::protobuf::Map::hash_function
  - google::protobuf::Map::SpaceUsedExcludingSelfLong
  - google::protobuf::Map::arena
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: rebind
      pos:
        line_end: 160
        line_start: 158
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport
      pos:
        line_end: 204
        line_start: 196
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport<std::string>
      pos:
        line_end: 250
        line_start: 212
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: hash
      pos:
        line_end: 233
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: less
      pos:
        line_end: 241
        line_start: 234
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: rebind
      pos:
        line_end: 160
        line_start: 158
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport
      pos:
        line_end: 204
        line_start: 196
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport<std::string>
      pos:
        line_end: 250
        line_start: 212
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: hash
      pos:
        line_end: 233
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: less
      pos:
        line_end: 241
        line_start: 234
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields:
      - name: first
        type: Key
      - name: second
        type: T
      item_type: struct
      name: MapPair
      pos:
        line_end: 357
        line_start: 332
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields:
      - name: kv
        type: value_type
      - name: '* next'
        type: Node
      item_type: struct
      name: Node
      pos:
        line_end: 476
        line_start: 473
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: rebind
      pos:
        line_end: 160
        line_start: 158
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport
      pos:
        line_end: 204
        line_start: 196
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport<std::string>
      pos:
        line_end: 250
        line_start: 212
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: hash
      pos:
        line_end: 233
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: less
      pos:
        line_end: 241
        line_start: 234
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: rebind
      pos:
        line_end: 160
        line_start: 158
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport
      pos:
        line_end: 204
        line_start: 196
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport<std::string>
      pos:
        line_end: 250
        line_start: 212
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: hash
      pos:
        line_end: 233
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: less
      pos:
        line_end: 241
        line_start: 234
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields:
      - name: first
        type: Key
      - name: second
        type: T
      item_type: struct
      name: MapPair
      pos:
        line_end: 357
        line_start: 332
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields:
      - name: kv
        type: value_type
      - name: '* next'
        type: Node
      item_type: struct
      name: Node
      pos:
        line_end: 476
        line_start: 473
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: rebind
      pos:
        line_end: 160
        line_start: 158
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport
      pos:
        line_end: 204
        line_start: 196
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport<std::string>
      pos:
        line_end: 250
        line_start: 212
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: hash
      pos:
        line_end: 233
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: less
      pos:
        line_end: 241
        line_start: 234
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: rebind
      pos:
        line_end: 160
        line_start: 158
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport
      pos:
        line_end: 204
        line_start: 196
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport<std::string>
      pos:
        line_end: 250
        line_start: 212
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: hash
      pos:
        line_end: 233
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: less
      pos:
        line_end: 241
        line_start: 234
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields:
      - name: first
        type: Key
      - name: second
        type: T
      item_type: struct
      name: MapPair
      pos:
        line_end: 357
        line_start: 332
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields:
      - name: kv
        type: value_type
      - name: '* next'
        type: Node
      item_type: struct
      name: Node
      pos:
        line_end: 476
        line_start: 473
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: rebind
      pos:
        line_end: 160
        line_start: 158
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport
      pos:
        line_end: 204
        line_start: 196
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport<std::string>
      pos:
        line_end: 250
        line_start: 212
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: hash
      pos:
        line_end: 233
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: less
      pos:
        line_end: 241
        line_start: 234
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: rebind
      pos:
        line_end: 160
        line_start: 158
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport
      pos:
        line_end: 204
        line_start: 196
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: TransparentSupport<std::string>
      pos:
        line_end: 250
        line_start: 212
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: hash
      pos:
        line_end: 233
        line_start: 223
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields: []
      item_type: struct
      name: less
      pos:
        line_end: 241
        line_start: 234
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields:
      - name: first
        type: Key
      - name: second
        type: T
      item_type: struct
      name: MapPair
      pos:
        line_end: 357
        line_start: 332
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    - fields:
      - name: kv
        type: value_type
      - name: '* next'
        type: Node
      item_type: struct
      name: Node
      pos:
        line_end: 476
        line_start: 473
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map.h
    typedefs: []
    union: []
- function_names:
  - google::protobuf::UnknownFieldSet
  - google::protobuf::SpaceUsedExcludingSelf
  - google::protobuf::SpaceUsed
  - google::protobuf::ParseFromString
  - google::protobuf::InternalMergeFromMessage
  - google::protobuf::InternalMergeFromMessage
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::UnknownField
  - google::protobuf::SerializeLengthDelimitedNoTag
  - google::protobuf::UnknownFieldSet::UnknownFieldSet
  - UnknownFieldSet::~UnknownFieldSet()
  - google::protobuf::UnknownFieldSet::ClearAndFreeMemory
  - google::protobuf::UnknownFieldSet::Clear
  - google::protobuf::UnknownFieldSet::empty
  - google::protobuf::UnknownFieldSet::Swap
  - google::protobuf::UnknownFieldSet::field_count
  - '& UnknownFieldSet::field(int index) const'
  - google::protobuf::UnknownFieldSet::mutable_field
  - google::protobuf::UnknownFieldSet::AddLengthDelimited
  - google::protobuf::UnknownField::number
  - google::protobuf::UnknownField::type
  - google::protobuf::UnknownField::varint
  - google::protobuf::UnknownField::fixed32
  - google::protobuf::UnknownField::fixed64
  - '& UnknownField::length_delimited() const'
  - '& UnknownField::group() const'
  - google::protobuf::UnknownField::set_varint
  - google::protobuf::UnknownField::set_fixed32
  - google::protobuf::UnknownField::set_fixed64
  - google::protobuf::UnknownField::set_length_delimited
  - google::protobuf::UnknownField::mutable_length_delimited
  - google::protobuf::UnknownField::mutable_group
  - google::protobuf::UnknownFieldSet::MergeFromMessage
  - google::protobuf::UnknownField::GetLengthDelimitedSize
  - google::protobuf::UnknownField::SetType
  - google::protobuf::UnknownFieldSet
  - google::protobuf::SpaceUsedExcludingSelf
  - google::protobuf::SpaceUsed
  - google::protobuf::ParseFromString
  - google::protobuf::InternalMergeFromMessage
  - google::protobuf::InternalMergeFromMessage
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::UnknownField
  - google::protobuf::SerializeLengthDelimitedNoTag
  - google::protobuf::UnknownFieldSet::UnknownFieldSet
  - UnknownFieldSet::~UnknownFieldSet()
  - google::protobuf::UnknownFieldSet::ClearAndFreeMemory
  - google::protobuf::UnknownFieldSet::Clear
  - google::protobuf::UnknownFieldSet::empty
  - google::protobuf::UnknownFieldSet::Swap
  - google::protobuf::UnknownFieldSet::field_count
  - '& UnknownFieldSet::field(int index) const'
  - google::protobuf::UnknownFieldSet::mutable_field
  - google::protobuf::UnknownFieldSet::AddLengthDelimited
  - google::protobuf::UnknownField::number
  - google::protobuf::UnknownField::type
  - google::protobuf::UnknownField::varint
  - google::protobuf::UnknownField::fixed32
  - google::protobuf::UnknownField::fixed64
  - '& UnknownField::length_delimited() const'
  - '& UnknownField::group() const'
  - google::protobuf::UnknownField::set_varint
  - google::protobuf::UnknownField::set_fixed32
  - google::protobuf::UnknownField::set_fixed64
  - google::protobuf::UnknownField::set_length_delimited
  - google::protobuf::UnknownField::mutable_length_delimited
  - google::protobuf::UnknownField::mutable_group
  - google::protobuf::UnknownFieldSet::MergeFromMessage
  - google::protobuf::UnknownField::GetLengthDelimitedSize
  - google::protobuf::UnknownField::SetType
  - google::protobuf::UnknownFieldSet
  - google::protobuf::SpaceUsedExcludingSelf
  - google::protobuf::SpaceUsed
  - google::protobuf::ParseFromString
  - google::protobuf::InternalMergeFromMessage
  - google::protobuf::InternalMergeFromMessage
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::UnknownField
  - google::protobuf::SerializeLengthDelimitedNoTag
  - google::protobuf::UnknownFieldSet::UnknownFieldSet
  - UnknownFieldSet::~UnknownFieldSet()
  - google::protobuf::UnknownFieldSet::ClearAndFreeMemory
  - google::protobuf::UnknownFieldSet::Clear
  - google::protobuf::UnknownFieldSet::empty
  - google::protobuf::UnknownFieldSet::Swap
  - google::protobuf::UnknownFieldSet::field_count
  - '& UnknownFieldSet::field(int index) const'
  - google::protobuf::UnknownFieldSet::mutable_field
  - google::protobuf::UnknownFieldSet::AddLengthDelimited
  - google::protobuf::UnknownField::number
  - google::protobuf::UnknownField::type
  - google::protobuf::UnknownField::varint
  - google::protobuf::UnknownField::fixed32
  - google::protobuf::UnknownField::fixed64
  - '& UnknownField::length_delimited() const'
  - '& UnknownField::group() const'
  - google::protobuf::UnknownField::set_varint
  - google::protobuf::UnknownField::set_fixed32
  - google::protobuf::UnknownField::set_fixed64
  - google::protobuf::UnknownField::set_length_delimited
  - google::protobuf::UnknownField::mutable_length_delimited
  - google::protobuf::UnknownField::mutable_group
  - google::protobuf::UnknownFieldSet::MergeFromMessage
  - google::protobuf::UnknownField::GetLengthDelimitedSize
  - google::protobuf::UnknownField::SetType
  - google::protobuf::UnknownFieldSet
  - google::protobuf::SpaceUsedExcludingSelf
  - google::protobuf::SpaceUsed
  - google::protobuf::ParseFromString
  - google::protobuf::InternalMergeFromMessage
  - google::protobuf::InternalMergeFromMessage
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::internal::WriteVarint
  - google::protobuf::internal::WriteLengthDelimited
  - google::protobuf::UnknownField
  - google::protobuf::SerializeLengthDelimitedNoTag
  - google::protobuf::UnknownFieldSet::UnknownFieldSet
  - UnknownFieldSet::~UnknownFieldSet()
  - google::protobuf::UnknownFieldSet::ClearAndFreeMemory
  - google::protobuf::UnknownFieldSet::Clear
  - google::protobuf::UnknownFieldSet::empty
  - google::protobuf::UnknownFieldSet::Swap
  - google::protobuf::UnknownFieldSet::field_count
  - '& UnknownFieldSet::field(int index) const'
  - google::protobuf::UnknownFieldSet::mutable_field
  - google::protobuf::UnknownFieldSet::AddLengthDelimited
  - google::protobuf::UnknownField::number
  - google::protobuf::UnknownField::type
  - google::protobuf::UnknownField::varint
  - google::protobuf::UnknownField::fixed32
  - google::protobuf::UnknownField::fixed64
  - '& UnknownField::length_delimited() const'
  - '& UnknownField::group() const'
  - google::protobuf::UnknownField::set_varint
  - google::protobuf::UnknownField::set_fixed32
  - google::protobuf::UnknownField::set_fixed64
  - google::protobuf::UnknownField::set_length_delimited
  - google::protobuf::UnknownField::mutable_length_delimited
  - google::protobuf::UnknownField::mutable_group
  - google::protobuf::UnknownFieldSet::MergeFromMessage
  - google::protobuf::UnknownField::GetLengthDelimitedSize
  - google::protobuf::UnknownField::SetType
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
  types:
    enum:
    - enumerators:
      - name: TYPE_VARINT
      - name: TYPE_FIXED64
      - name: TYPE_GROUP
      - name: TYPE_FIXED32
      - name: TYPE_LENGTH_DELIMITED
      item_type: enum
      name: Type
      pos:
        line_end: 237
        line_start: 231
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    - enumerators:
      - name: TYPE_VARINT
      - name: TYPE_FIXED64
      - name: TYPE_GROUP
      - name: TYPE_FIXED32
      - name: TYPE_LENGTH_DELIMITED
      item_type: enum
      name: Type
      pos:
        line_end: 237
        line_start: 231
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    - enumerators:
      - name: TYPE_VARINT
      - name: TYPE_FIXED64
      - name: TYPE_GROUP
      - name: TYPE_FIXED32
      - name: TYPE_LENGTH_DELIMITED
      item_type: enum
      name: Type
      pos:
        line_end: 237
        line_start: 231
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    - enumerators:
      - name: TYPE_VARINT
      - name: TYPE_FIXED64
      - name: TYPE_GROUP
      - name: TYPE_FIXED32
      - name: TYPE_LENGTH_DELIMITED
      item_type: enum
      name: Type
      pos:
        line_end: 237
        line_start: 231
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '* string_value'
        type: std::string
      item_type: union
      name: LengthDelimited
      pos:
        line_end: 287
        line_start: 285
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    - fields:
      - name: varint_
        type: uint64
      - name: fixed32_
        type: uint32
      - name: fixed64_
        type: uint64
      - name: length_delimited_
        type: union LengthDelimited
      - name: '* group_'
        type: UnknownFieldSet
      item_type: union
      name: data_
      pos:
        line_end: 297
        line_start: 291
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    - fields:
      - name: '* string_value'
        type: std::string
      item_type: union
      name: LengthDelimited
      pos:
        line_end: 287
        line_start: 285
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    - fields:
      - name: varint_
        type: uint64
      - name: fixed32_
        type: uint32
      - name: fixed64_
        type: uint64
      - name: length_delimited_
        type: union LengthDelimited
      - name: '* group_'
        type: UnknownFieldSet
      item_type: union
      name: data_
      pos:
        line_end: 297
        line_start: 291
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    - fields:
      - name: '* string_value'
        type: std::string
      item_type: union
      name: LengthDelimited
      pos:
        line_end: 287
        line_start: 285
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    - fields:
      - name: varint_
        type: uint64
      - name: fixed32_
        type: uint32
      - name: fixed64_
        type: uint64
      - name: length_delimited_
        type: union LengthDelimited
      - name: '* group_'
        type: UnknownFieldSet
      item_type: union
      name: data_
      pos:
        line_end: 297
        line_start: 291
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    - fields:
      - name: '* string_value'
        type: std::string
      item_type: union
      name: LengthDelimited
      pos:
        line_end: 287
        line_start: 285
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
    - fields:
      - name: varint_
        type: uint64
      - name: fixed32_
        type: uint32
      - name: fixed64_
        type: uint64
      - name: length_delimited_
        type: union LengthDelimited
      - name: '* group_'
        type: UnknownFieldSet
      item_type: union
      name: data_
      pos:
        line_end: 297
        line_start: 291
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/unknown_field_set.h
- function_names:
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - '& GetMap() const'
  - google::protobuf::internal::MapFieldLite::MutableMap
  - google::protobuf::internal::MapFieldLite::size
  - google::protobuf::internal::MapFieldLite::Clear
  - google::protobuf::internal::MapFieldLite::MergeFrom
  - google::protobuf::internal::MapFieldLite::Swap
  - google::protobuf::internal::MapFieldLite::NewEntry
  - google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
  - google::protobuf::internal::MapFieldLite::NewEntryWrapper
  - google::protobuf::internal::MapFieldLite::_InternalParse
  - google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::InitEnumParseWrapper
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - '& GetMap() const'
  - google::protobuf::internal::MapFieldLite::MutableMap
  - google::protobuf::internal::MapFieldLite::size
  - google::protobuf::internal::MapFieldLite::Clear
  - google::protobuf::internal::MapFieldLite::MergeFrom
  - google::protobuf::internal::MapFieldLite::Swap
  - google::protobuf::internal::MapFieldLite::NewEntry
  - google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
  - google::protobuf::internal::MapFieldLite::NewEntryWrapper
  - google::protobuf::internal::MapFieldLite::_InternalParse
  - google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::InitEnumParseWrapper
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - '& GetMap() const'
  - google::protobuf::internal::MapFieldLite::MutableMap
  - google::protobuf::internal::MapFieldLite::size
  - google::protobuf::internal::MapFieldLite::Clear
  - google::protobuf::internal::MapFieldLite::MergeFrom
  - google::protobuf::internal::MapFieldLite::Swap
  - google::protobuf::internal::MapFieldLite::NewEntry
  - google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
  - google::protobuf::internal::MapFieldLite::NewEntryWrapper
  - google::protobuf::internal::MapFieldLite::_InternalParse
  - google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::InitEnumParseWrapper
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - '& GetMap() const'
  - google::protobuf::internal::MapFieldLite::MutableMap
  - google::protobuf::internal::MapFieldLite::size
  - google::protobuf::internal::MapFieldLite::Clear
  - google::protobuf::internal::MapFieldLite::MergeFrom
  - google::protobuf::internal::MapFieldLite::Swap
  - google::protobuf::internal::MapFieldLite::NewEntry
  - google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
  - google::protobuf::internal::MapFieldLite::NewEntryWrapper
  - google::protobuf::internal::MapFieldLite::_InternalParse
  - google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::InitEnumParseWrapper
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - '& GetMap() const'
  - google::protobuf::internal::MapFieldLite::MutableMap
  - google::protobuf::internal::MapFieldLite::size
  - google::protobuf::internal::MapFieldLite::Clear
  - google::protobuf::internal::MapFieldLite::MergeFrom
  - google::protobuf::internal::MapFieldLite::Swap
  - google::protobuf::internal::MapFieldLite::NewEntry
  - google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
  - google::protobuf::internal::MapFieldLite::NewEntryWrapper
  - google::protobuf::internal::MapFieldLite::_InternalParse
  - google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::InitEnumParseWrapper
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - '& GetMap() const'
  - google::protobuf::internal::MapFieldLite::MutableMap
  - google::protobuf::internal::MapFieldLite::size
  - google::protobuf::internal::MapFieldLite::Clear
  - google::protobuf::internal::MapFieldLite::MergeFrom
  - google::protobuf::internal::MapFieldLite::Swap
  - google::protobuf::internal::MapFieldLite::NewEntry
  - google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
  - google::protobuf::internal::MapFieldLite::NewEntryWrapper
  - google::protobuf::internal::MapFieldLite::_InternalParse
  - google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::InitEnumParseWrapper
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - '& GetMap() const'
  - google::protobuf::internal::MapFieldLite::MutableMap
  - google::protobuf::internal::MapFieldLite::size
  - google::protobuf::internal::MapFieldLite::Clear
  - google::protobuf::internal::MapFieldLite::MergeFrom
  - google::protobuf::internal::MapFieldLite::Swap
  - google::protobuf::internal::MapFieldLite::NewEntry
  - google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
  - google::protobuf::internal::MapFieldLite::NewEntryWrapper
  - google::protobuf::internal::MapFieldLite::_InternalParse
  - google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::InitEnumParseWrapper
  - google::protobuf::internal::AllAreInitialized
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - google::protobuf::internal::MapFieldLite::MapFieldLite
  - '& GetMap() const'
  - google::protobuf::internal::MapFieldLite::MutableMap
  - google::protobuf::internal::MapFieldLite::size
  - google::protobuf::internal::MapFieldLite::Clear
  - google::protobuf::internal::MapFieldLite::MergeFrom
  - google::protobuf::internal::MapFieldLite::Swap
  - google::protobuf::internal::MapFieldLite::NewEntry
  - google::protobuf::internal::MapFieldLite::NewEnumEntryWrapper
  - google::protobuf::internal::MapFieldLite::NewEntryWrapper
  - google::protobuf::internal::MapFieldLite::_InternalParse
  - google::protobuf::internal::MapFieldLite::ParseWithEnumValidation
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::InitEnumParseWrapper
  - google::protobuf::internal::AllAreInitialized
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* map_field'
        type: T
      - name: (*is_valid)(int)
        type: bool
      - name: field_num
        type: uint32
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: EnumParseWrapper
      pos:
        line_end: 132
        line_start: 123
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: MapEntryToMapField
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: "MapEntryToMapField<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>>"
      pos:
        line_end: 174
        line_start: 168
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields:
      - name: '* map_field'
        type: T
      - name: (*is_valid)(int)
        type: bool
      - name: field_num
        type: uint32
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: EnumParseWrapper
      pos:
        line_end: 132
        line_start: 123
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: MapEntryToMapField
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: "MapEntryToMapField<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>>"
      pos:
        line_end: 174
        line_start: 168
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields:
      - name: '* map_field'
        type: T
      - name: (*is_valid)(int)
        type: bool
      - name: field_num
        type: uint32
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: EnumParseWrapper
      pos:
        line_end: 132
        line_start: 123
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: MapEntryToMapField
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: "MapEntryToMapField<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>>"
      pos:
        line_end: 174
        line_start: 168
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields:
      - name: '* map_field'
        type: T
      - name: (*is_valid)(int)
        type: bool
      - name: field_num
        type: uint32
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: EnumParseWrapper
      pos:
        line_end: 132
        line_start: 123
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: MapEntryToMapField
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: "MapEntryToMapField<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>>"
      pos:
        line_end: 174
        line_start: 168
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields:
      - name: '* map_field'
        type: T
      - name: (*is_valid)(int)
        type: bool
      - name: field_num
        type: uint32
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: EnumParseWrapper
      pos:
        line_end: 132
        line_start: 123
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: MapEntryToMapField
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: "MapEntryToMapField<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>>"
      pos:
        line_end: 174
        line_start: 168
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields:
      - name: '* map_field'
        type: T
      - name: (*is_valid)(int)
        type: bool
      - name: field_num
        type: uint32
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: EnumParseWrapper
      pos:
        line_end: 132
        line_start: 123
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: MapEntryToMapField
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: "MapEntryToMapField<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>>"
      pos:
        line_end: 174
        line_start: 168
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields:
      - name: '* map_field'
        type: T
      - name: (*is_valid)(int)
        type: bool
      - name: field_num
        type: uint32
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: EnumParseWrapper
      pos:
        line_end: 132
        line_start: 123
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: MapEntryToMapField
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: "MapEntryToMapField<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>>"
      pos:
        line_end: 174
        line_start: 168
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields:
      - name: '* map_field'
        type: T
      - name: (*is_valid)(int)
        type: bool
      - name: field_num
        type: uint32
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: EnumParseWrapper
      pos:
        line_end: 132
        line_start: 123
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: MapEntryToMapField
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    - fields: []
      item_type: struct
      name: "MapEntryToMapField<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>>"
      pos:
        line_end: 174
        line_start: 168
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
    typedefs:
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Derived
    - item_type: typedef
      name: MapType
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Map
    - item_type: typedef
      name: EntryTypeTrait
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: EntryType
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: void
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 173
        line_start: 170
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: MapFieldLite
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Derived
    - item_type: typedef
      name: MapType
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Map
    - item_type: typedef
      name: EntryTypeTrait
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: EntryType
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: void
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 173
        line_start: 170
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: MapFieldLite
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Derived
    - item_type: typedef
      name: MapType
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Map
    - item_type: typedef
      name: EntryTypeTrait
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: EntryType
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: void
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 173
        line_start: 170
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: MapFieldLite
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Derived
    - item_type: typedef
      name: MapType
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Map
    - item_type: typedef
      name: EntryTypeTrait
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: EntryType
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: void
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 173
        line_start: 170
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: MapFieldLite
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Derived
    - item_type: typedef
      name: MapType
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Map
    - item_type: typedef
      name: EntryTypeTrait
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: EntryType
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: void
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 173
        line_start: 170
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: MapFieldLite
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Derived
    - item_type: typedef
      name: MapType
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Map
    - item_type: typedef
      name: EntryTypeTrait
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: EntryType
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: void
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 173
        line_start: 170
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: MapFieldLite
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Derived
    - item_type: typedef
      name: MapType
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Map
    - item_type: typedef
      name: EntryTypeTrait
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: EntryType
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: void
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 173
        line_start: 170
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: MapFieldLite
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Derived
    - item_type: typedef
      name: MapType
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: Map
    - item_type: typedef
      name: EntryTypeTrait
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: EntryType
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: void
    - item_type: typedef
      name: MapFieldType
      pos:
        line_end: 173
        line_start: 170
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_field_lite.h
      type: MapFieldLite
    union: []
- function_names:
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::SwapBlock
  - google::protobuf::internal::memswap
  - PROTO_MEMSWAP_DEF_SIZE
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::SwapBlock
  - google::protobuf::internal::memswap
  - PROTO_MEMSWAP_DEF_SIZE
  - '& operator[](int index) const'
  - '& operator[](int index)'
  - google::protobuf::RepeatedField::rbegin
  - google::protobuf::RepeatedField::rbegin
  - google::protobuf::RepeatedField::rend
  - google::protobuf::RepeatedField::rend
  - google::protobuf::RepeatedField::SpaceUsedExcludingSelf
  - google::protobuf::RepeatedField::GetArena
  - google::protobuf::RepeatedField::elements
  - google::protobuf::RepeatedField::unsafe_elements
  - google::protobuf::RepeatedField::rep
  - google::protobuf::RepeatedField::InternalDeallocate
  - google::protobuf::RepeatedField::FastAdderImpl::FastAdderImpl
  - ~FastAdderImpl()
  - google::protobuf::RepeatedField::FastAdderImpl::Add
  - google::protobuf::RepeatedField::FastAdderImpl<I, false>::FastAdderImpl
  - google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
  - google::protobuf::internal::RepeatedPtrFieldBase
  - ~RepeatedPtrFieldBase()
  - google::protobuf::internal::AddAllocated
  - google::protobuf::internal::ReleaseLast
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::cast
  - google::protobuf::internal::cast
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::Delete
  - google::protobuf::internal::GenericTypeHandler::GetArena
  - google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler::Clear
  - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
  - google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler<std::string>::Clear
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::NewFromPrototype
  - google::protobuf::internal::StringTypeHandler::GetArena
  - google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::StringTypeHandler::Delete
  - google::protobuf::internal::StringTypeHandler::Clear
  - google::protobuf::internal::StringTypeHandler::Merge
  - google::protobuf::internal::StringTypeHandler::SpaceUsedLong
  - google::protobuf::internal::RepeatedPtrFieldBase
  - ~RepeatedPtrFieldBase()
  - google::protobuf::internal::AddAllocated
  - google::protobuf::internal::ReleaseLast
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::cast
  - google::protobuf::internal::cast
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::Delete
  - google::protobuf::internal::GenericTypeHandler::GetArena
  - google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler::Clear
  - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
  - google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler<std::string>::Clear
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::NewFromPrototype
  - google::protobuf::internal::StringTypeHandler::GetArena
  - google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::StringTypeHandler::Delete
  - google::protobuf::internal::StringTypeHandler::Clear
  - google::protobuf::internal::StringTypeHandler::Merge
  - google::protobuf::internal::StringTypeHandler::SpaceUsedLong
  - '& operator[](int index) const'
  - '& operator[](int index)'
  - google::protobuf::RepeatedPtrField::rbegin
  - google::protobuf::RepeatedPtrField::rbegin
  - google::protobuf::RepeatedPtrField::rend
  - google::protobuf::RepeatedPtrField::rend
  - google::protobuf::RepeatedPtrField::SpaceUsedExcludingSelf
  - google::protobuf::RepeatedPtrField::InternalSwap
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - RepeatedField<Element>::~RepeatedField()
  - "& RepeatedField<Element>::operator=(\n    const RepeatedField& other)"
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - "& RepeatedField<Element>::operator=(\n    RepeatedField&& other) noexcept"
  - google::protobuf::RepeatedField<Element>::empty
  - google::protobuf::RepeatedField<Element>::size
  - google::protobuf::RepeatedField<Element>::Capacity
  - google::protobuf::RepeatedField<Element>::AddAlreadyReserved
  - google::protobuf::RepeatedField<Element>::AddAlreadyReserved
  - google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
  - google::protobuf::RepeatedField<Element>::Resize
  - '& RepeatedField<Element>::Get(int index) const'
  - '& RepeatedField<Element>::at(int index) const'
  - '& RepeatedField<Element>::at(int index)'
  - google::protobuf::RepeatedField<Element>::Mutable
  - google::protobuf::RepeatedField<Element>::Set
  - google::protobuf::RepeatedField<Element>::Add
  - google::protobuf::RepeatedField<Element>::Add
  - google::protobuf::RepeatedField<Element>::Add
  - google::protobuf::RepeatedField<Element>::RemoveLast
  - google::protobuf::RepeatedField<Element>::ExtractSubrange
  - google::protobuf::RepeatedField<Element>::Clear
  - google::protobuf::RepeatedField<Element>::MergeFrom
  - google::protobuf::RepeatedField<Element>::CopyFrom
  - google::protobuf::RepeatedField<Element>::erase
  - google::protobuf::RepeatedField<Element>::erase
  - google::protobuf::RepeatedField<Element>::mutable_data
  - google::protobuf::RepeatedField<Element>::data
  - google::protobuf::RepeatedField<Element>::InternalSwap
  - google::protobuf::RepeatedField<Element>::Swap
  - google::protobuf::RepeatedField<Element>::UnsafeArenaSwap
  - google::protobuf::RepeatedField<Element>::SwapElements
  - google::protobuf::RepeatedField<Element>::begin
  - google::protobuf::RepeatedField<Element>::begin
  - google::protobuf::RepeatedField<Element>::cbegin
  - google::protobuf::RepeatedField<Element>::end
  - google::protobuf::RepeatedField<Element>::end
  - google::protobuf::RepeatedField<Element>::cend
  - google::protobuf::RepeatedField<Element>::SpaceUsedExcludingSelfLong
  - google::protobuf::internal::CalculateReserveSize
  - google::protobuf::internal::CalculateReserveSize
  - google::protobuf::RepeatedField<Element>::Reserve
  - google::protobuf::RepeatedField<Element>::Truncate
  - google::protobuf::RepeatedField<Element>::MoveArray
  - google::protobuf::RepeatedField<Element>::CopyArray
  - "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n                                                        const
    Element* from,\n                                                        int array_size)"
  - operator()(Element* to, const Element* from, int array_size)
  - "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n                                                        const
    Element* from,\n                                                        int array_size)"
  - operator()(Element* to, const Element* from, int array_size)
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::Destroy
  - google::protobuf::internal::RepeatedPtrFieldBase::Swap
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
  - google::protobuf::internal::RepeatedPtrFieldBase::empty
  - google::protobuf::internal::RepeatedPtrFieldBase::size
  - "& RepeatedPtrFieldBase::Get(\n    int index) const"
  - "& RepeatedPtrFieldBase::at(\n    int index) const"
  - '& RepeatedPtrFieldBase::at(int index)'
  - google::protobuf::internal::RepeatedPtrFieldBase::Mutable
  - google::protobuf::internal::RepeatedPtrFieldBase::Delete
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
  - google::protobuf::internal::RepeatedPtrFieldBase::Clear
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
  - google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::Capacity
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::data
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
  - google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
  - google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
  - google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
  - google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::Destroy
  - google::protobuf::internal::RepeatedPtrFieldBase::Swap
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
  - google::protobuf::internal::RepeatedPtrFieldBase::empty
  - google::protobuf::internal::RepeatedPtrFieldBase::size
  - "& RepeatedPtrFieldBase::Get(\n    int index) const"
  - "& RepeatedPtrFieldBase::at(\n    int index) const"
  - '& RepeatedPtrFieldBase::at(int index)'
  - google::protobuf::internal::RepeatedPtrFieldBase::Mutable
  - google::protobuf::internal::RepeatedPtrFieldBase::Delete
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
  - google::protobuf::internal::RepeatedPtrFieldBase::Clear
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
  - google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::Capacity
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::data
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
  - google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
  - google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
  - google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
  - google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - RepeatedPtrField<Element>::~RepeatedPtrField()
  - "& RepeatedPtrField<Element>::operator=(\n    const RepeatedPtrField& other)"
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - "& RepeatedPtrField<Element>::operator=(\n    RepeatedPtrField&& other) noexcept"
  - google::protobuf::RepeatedPtrField<Element>::empty
  - google::protobuf::RepeatedPtrField<Element>::size
  - '& RepeatedPtrField<Element>::Get(int index) const'
  - '& RepeatedPtrField<Element>::at(int index) const'
  - '& RepeatedPtrField<Element>::at(int index)'
  - google::protobuf::RepeatedPtrField<Element>::Mutable
  - google::protobuf::RepeatedPtrField<Element>::Add
  - google::protobuf::RepeatedPtrField<Element>::Add
  - google::protobuf::RepeatedPtrField<Element>::RemoveLast
  - google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
  - google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
  - google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
  - google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
  - google::protobuf::RepeatedPtrField<Element>::Clear
  - google::protobuf::RepeatedPtrField<Element>::MergeFrom
  - google::protobuf::RepeatedPtrField<Element>::CopyFrom
  - google::protobuf::RepeatedPtrField<Element>::erase
  - google::protobuf::RepeatedPtrField<Element>::erase
  - google::protobuf::RepeatedPtrField<Element>::mutable_data
  - google::protobuf::RepeatedPtrField<Element>::data
  - google::protobuf::RepeatedPtrField<Element>::Swap
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaSwap
  - google::protobuf::RepeatedPtrField<Element>::SwapElements
  - google::protobuf::RepeatedPtrField<Element>::GetArena
  - google::protobuf::RepeatedPtrField<Element>::SpaceUsedExcludingSelfLong
  - google::protobuf::RepeatedPtrField<Element>::AddAllocated
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaAddAllocated
  - google::protobuf::RepeatedPtrField<Element>::ReleaseLast
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaReleaseLast
  - google::protobuf::RepeatedPtrField<Element>::ClearedCount
  - google::protobuf::RepeatedPtrField<Element>::AddCleared
  - google::protobuf::RepeatedPtrField<Element>::ReleaseCleared
  - google::protobuf::RepeatedPtrField<Element>::Reserve
  - google::protobuf::RepeatedPtrField<Element>::Capacity
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, const difference_type d)
  - operator+(const difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, difference_type d)
  - operator+(difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, const difference_type d)
  - operator+(const difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, difference_type d)
  - operator+(difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
  - google::protobuf::RepeatedPtrField<Element>::begin
  - google::protobuf::RepeatedPtrField<Element>::begin
  - google::protobuf::RepeatedPtrField<Element>::cbegin
  - google::protobuf::RepeatedPtrField<Element>::end
  - google::protobuf::RepeatedPtrField<Element>::end
  - google::protobuf::RepeatedPtrField<Element>::cend
  - google::protobuf::RepeatedPtrField<Element>::pointer_begin
  - google::protobuf::RepeatedPtrField<Element>::pointer_begin
  - google::protobuf::RepeatedPtrField<Element>::pointer_end
  - google::protobuf::RepeatedPtrField<Element>::pointer_end
  - google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
  - '& operator=(const T& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
  - '& operator=(const T& value)'
  - "& operator=(\n      const T* const ptr_to_value)"
  - '& operator=(T&& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T const* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - "& operator++(\n      int /* unused */)"
  - google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
  - '& operator=(const T& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
  - '& operator=(const T& value)'
  - "& operator=(\n      const T* const ptr_to_value)"
  - '& operator=(T&& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T const* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - "& operator++(\n      int /* unused */)"
  - google::protobuf::RepeatedFieldBackInserter
  - google::protobuf::RepeatedPtrFieldBackInserter
  - google::protobuf::RepeatedFieldBackInserter
  - google::protobuf::AllocatedRepeatedPtrFieldBackInserter
  - google::protobuf::UnsafeArenaAllocatedRepeatedPtrFieldBackInserter
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::SwapBlock
  - google::protobuf::internal::memswap
  - PROTO_MEMSWAP_DEF_SIZE
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::SwapBlock
  - google::protobuf::internal::memswap
  - PROTO_MEMSWAP_DEF_SIZE
  - '& operator[](int index) const'
  - '& operator[](int index)'
  - google::protobuf::RepeatedField::rbegin
  - google::protobuf::RepeatedField::rbegin
  - google::protobuf::RepeatedField::rend
  - google::protobuf::RepeatedField::rend
  - google::protobuf::RepeatedField::SpaceUsedExcludingSelf
  - google::protobuf::RepeatedField::GetArena
  - google::protobuf::RepeatedField::elements
  - google::protobuf::RepeatedField::unsafe_elements
  - google::protobuf::RepeatedField::rep
  - google::protobuf::RepeatedField::InternalDeallocate
  - google::protobuf::RepeatedField::FastAdderImpl::FastAdderImpl
  - ~FastAdderImpl()
  - google::protobuf::RepeatedField::FastAdderImpl::Add
  - google::protobuf::RepeatedField::FastAdderImpl<I, false>::FastAdderImpl
  - google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
  - google::protobuf::internal::RepeatedPtrFieldBase
  - ~RepeatedPtrFieldBase()
  - google::protobuf::internal::AddAllocated
  - google::protobuf::internal::ReleaseLast
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::cast
  - google::protobuf::internal::cast
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::Delete
  - google::protobuf::internal::GenericTypeHandler::GetArena
  - google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler::Clear
  - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
  - google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler<std::string>::Clear
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::NewFromPrototype
  - google::protobuf::internal::StringTypeHandler::GetArena
  - google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::StringTypeHandler::Delete
  - google::protobuf::internal::StringTypeHandler::Clear
  - google::protobuf::internal::StringTypeHandler::Merge
  - google::protobuf::internal::StringTypeHandler::SpaceUsedLong
  - google::protobuf::internal::RepeatedPtrFieldBase
  - ~RepeatedPtrFieldBase()
  - google::protobuf::internal::AddAllocated
  - google::protobuf::internal::ReleaseLast
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::cast
  - google::protobuf::internal::cast
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::Delete
  - google::protobuf::internal::GenericTypeHandler::GetArena
  - google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler::Clear
  - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
  - google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler<std::string>::Clear
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::NewFromPrototype
  - google::protobuf::internal::StringTypeHandler::GetArena
  - google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::StringTypeHandler::Delete
  - google::protobuf::internal::StringTypeHandler::Clear
  - google::protobuf::internal::StringTypeHandler::Merge
  - google::protobuf::internal::StringTypeHandler::SpaceUsedLong
  - '& operator[](int index) const'
  - '& operator[](int index)'
  - google::protobuf::RepeatedPtrField::rbegin
  - google::protobuf::RepeatedPtrField::rbegin
  - google::protobuf::RepeatedPtrField::rend
  - google::protobuf::RepeatedPtrField::rend
  - google::protobuf::RepeatedPtrField::SpaceUsedExcludingSelf
  - google::protobuf::RepeatedPtrField::InternalSwap
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - RepeatedField<Element>::~RepeatedField()
  - "& RepeatedField<Element>::operator=(\n    const RepeatedField& other)"
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - "& RepeatedField<Element>::operator=(\n    RepeatedField&& other) noexcept"
  - google::protobuf::RepeatedField<Element>::empty
  - google::protobuf::RepeatedField<Element>::size
  - google::protobuf::RepeatedField<Element>::Capacity
  - google::protobuf::RepeatedField<Element>::AddAlreadyReserved
  - google::protobuf::RepeatedField<Element>::AddAlreadyReserved
  - google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
  - google::protobuf::RepeatedField<Element>::Resize
  - '& RepeatedField<Element>::Get(int index) const'
  - '& RepeatedField<Element>::at(int index) const'
  - '& RepeatedField<Element>::at(int index)'
  - google::protobuf::RepeatedField<Element>::Mutable
  - google::protobuf::RepeatedField<Element>::Set
  - google::protobuf::RepeatedField<Element>::Add
  - google::protobuf::RepeatedField<Element>::Add
  - google::protobuf::RepeatedField<Element>::Add
  - google::protobuf::RepeatedField<Element>::RemoveLast
  - google::protobuf::RepeatedField<Element>::ExtractSubrange
  - google::protobuf::RepeatedField<Element>::Clear
  - google::protobuf::RepeatedField<Element>::MergeFrom
  - google::protobuf::RepeatedField<Element>::CopyFrom
  - google::protobuf::RepeatedField<Element>::erase
  - google::protobuf::RepeatedField<Element>::erase
  - google::protobuf::RepeatedField<Element>::mutable_data
  - google::protobuf::RepeatedField<Element>::data
  - google::protobuf::RepeatedField<Element>::InternalSwap
  - google::protobuf::RepeatedField<Element>::Swap
  - google::protobuf::RepeatedField<Element>::UnsafeArenaSwap
  - google::protobuf::RepeatedField<Element>::SwapElements
  - google::protobuf::RepeatedField<Element>::begin
  - google::protobuf::RepeatedField<Element>::begin
  - google::protobuf::RepeatedField<Element>::cbegin
  - google::protobuf::RepeatedField<Element>::end
  - google::protobuf::RepeatedField<Element>::end
  - google::protobuf::RepeatedField<Element>::cend
  - google::protobuf::RepeatedField<Element>::SpaceUsedExcludingSelfLong
  - google::protobuf::internal::CalculateReserveSize
  - google::protobuf::internal::CalculateReserveSize
  - google::protobuf::RepeatedField<Element>::Reserve
  - google::protobuf::RepeatedField<Element>::Truncate
  - google::protobuf::RepeatedField<Element>::MoveArray
  - google::protobuf::RepeatedField<Element>::CopyArray
  - "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n                                                        const
    Element* from,\n                                                        int array_size)"
  - operator()(Element* to, const Element* from, int array_size)
  - "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n                                                        const
    Element* from,\n                                                        int array_size)"
  - operator()(Element* to, const Element* from, int array_size)
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::Destroy
  - google::protobuf::internal::RepeatedPtrFieldBase::Swap
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
  - google::protobuf::internal::RepeatedPtrFieldBase::empty
  - google::protobuf::internal::RepeatedPtrFieldBase::size
  - "& RepeatedPtrFieldBase::Get(\n    int index) const"
  - "& RepeatedPtrFieldBase::at(\n    int index) const"
  - '& RepeatedPtrFieldBase::at(int index)'
  - google::protobuf::internal::RepeatedPtrFieldBase::Mutable
  - google::protobuf::internal::RepeatedPtrFieldBase::Delete
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
  - google::protobuf::internal::RepeatedPtrFieldBase::Clear
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
  - google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::Capacity
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::data
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
  - google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
  - google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
  - google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
  - google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::Destroy
  - google::protobuf::internal::RepeatedPtrFieldBase::Swap
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
  - google::protobuf::internal::RepeatedPtrFieldBase::empty
  - google::protobuf::internal::RepeatedPtrFieldBase::size
  - "& RepeatedPtrFieldBase::Get(\n    int index) const"
  - "& RepeatedPtrFieldBase::at(\n    int index) const"
  - '& RepeatedPtrFieldBase::at(int index)'
  - google::protobuf::internal::RepeatedPtrFieldBase::Mutable
  - google::protobuf::internal::RepeatedPtrFieldBase::Delete
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
  - google::protobuf::internal::RepeatedPtrFieldBase::Clear
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
  - google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::Capacity
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::data
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
  - google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
  - google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
  - google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
  - google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - RepeatedPtrField<Element>::~RepeatedPtrField()
  - "& RepeatedPtrField<Element>::operator=(\n    const RepeatedPtrField& other)"
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - "& RepeatedPtrField<Element>::operator=(\n    RepeatedPtrField&& other) noexcept"
  - google::protobuf::RepeatedPtrField<Element>::empty
  - google::protobuf::RepeatedPtrField<Element>::size
  - '& RepeatedPtrField<Element>::Get(int index) const'
  - '& RepeatedPtrField<Element>::at(int index) const'
  - '& RepeatedPtrField<Element>::at(int index)'
  - google::protobuf::RepeatedPtrField<Element>::Mutable
  - google::protobuf::RepeatedPtrField<Element>::Add
  - google::protobuf::RepeatedPtrField<Element>::Add
  - google::protobuf::RepeatedPtrField<Element>::RemoveLast
  - google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
  - google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
  - google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
  - google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
  - google::protobuf::RepeatedPtrField<Element>::Clear
  - google::protobuf::RepeatedPtrField<Element>::MergeFrom
  - google::protobuf::RepeatedPtrField<Element>::CopyFrom
  - google::protobuf::RepeatedPtrField<Element>::erase
  - google::protobuf::RepeatedPtrField<Element>::erase
  - google::protobuf::RepeatedPtrField<Element>::mutable_data
  - google::protobuf::RepeatedPtrField<Element>::data
  - google::protobuf::RepeatedPtrField<Element>::Swap
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaSwap
  - google::protobuf::RepeatedPtrField<Element>::SwapElements
  - google::protobuf::RepeatedPtrField<Element>::GetArena
  - google::protobuf::RepeatedPtrField<Element>::SpaceUsedExcludingSelfLong
  - google::protobuf::RepeatedPtrField<Element>::AddAllocated
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaAddAllocated
  - google::protobuf::RepeatedPtrField<Element>::ReleaseLast
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaReleaseLast
  - google::protobuf::RepeatedPtrField<Element>::ClearedCount
  - google::protobuf::RepeatedPtrField<Element>::AddCleared
  - google::protobuf::RepeatedPtrField<Element>::ReleaseCleared
  - google::protobuf::RepeatedPtrField<Element>::Reserve
  - google::protobuf::RepeatedPtrField<Element>::Capacity
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, const difference_type d)
  - operator+(const difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, difference_type d)
  - operator+(difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, const difference_type d)
  - operator+(const difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, difference_type d)
  - operator+(difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
  - google::protobuf::RepeatedPtrField<Element>::begin
  - google::protobuf::RepeatedPtrField<Element>::begin
  - google::protobuf::RepeatedPtrField<Element>::cbegin
  - google::protobuf::RepeatedPtrField<Element>::end
  - google::protobuf::RepeatedPtrField<Element>::end
  - google::protobuf::RepeatedPtrField<Element>::cend
  - google::protobuf::RepeatedPtrField<Element>::pointer_begin
  - google::protobuf::RepeatedPtrField<Element>::pointer_begin
  - google::protobuf::RepeatedPtrField<Element>::pointer_end
  - google::protobuf::RepeatedPtrField<Element>::pointer_end
  - google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
  - '& operator=(const T& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
  - '& operator=(const T& value)'
  - "& operator=(\n      const T* const ptr_to_value)"
  - '& operator=(T&& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T const* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - "& operator++(\n      int /* unused */)"
  - google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
  - '& operator=(const T& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
  - '& operator=(const T& value)'
  - "& operator=(\n      const T* const ptr_to_value)"
  - '& operator=(T&& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T const* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - "& operator++(\n      int /* unused */)"
  - google::protobuf::RepeatedFieldBackInserter
  - google::protobuf::RepeatedPtrFieldBackInserter
  - google::protobuf::RepeatedFieldBackInserter
  - google::protobuf::AllocatedRepeatedPtrFieldBackInserter
  - google::protobuf::UnsafeArenaAllocatedRepeatedPtrFieldBackInserter
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::SwapBlock
  - google::protobuf::internal::memswap
  - PROTO_MEMSWAP_DEF_SIZE
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::SwapBlock
  - google::protobuf::internal::memswap
  - PROTO_MEMSWAP_DEF_SIZE
  - '& operator[](int index) const'
  - '& operator[](int index)'
  - google::protobuf::RepeatedField::rbegin
  - google::protobuf::RepeatedField::rbegin
  - google::protobuf::RepeatedField::rend
  - google::protobuf::RepeatedField::rend
  - google::protobuf::RepeatedField::SpaceUsedExcludingSelf
  - google::protobuf::RepeatedField::GetArena
  - google::protobuf::RepeatedField::elements
  - google::protobuf::RepeatedField::unsafe_elements
  - google::protobuf::RepeatedField::rep
  - google::protobuf::RepeatedField::InternalDeallocate
  - google::protobuf::RepeatedField::FastAdderImpl::FastAdderImpl
  - ~FastAdderImpl()
  - google::protobuf::RepeatedField::FastAdderImpl::Add
  - google::protobuf::RepeatedField::FastAdderImpl<I, false>::FastAdderImpl
  - google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
  - google::protobuf::internal::RepeatedPtrFieldBase
  - ~RepeatedPtrFieldBase()
  - google::protobuf::internal::AddAllocated
  - google::protobuf::internal::ReleaseLast
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::cast
  - google::protobuf::internal::cast
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::Delete
  - google::protobuf::internal::GenericTypeHandler::GetArena
  - google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler::Clear
  - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
  - google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler<std::string>::Clear
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::NewFromPrototype
  - google::protobuf::internal::StringTypeHandler::GetArena
  - google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::StringTypeHandler::Delete
  - google::protobuf::internal::StringTypeHandler::Clear
  - google::protobuf::internal::StringTypeHandler::Merge
  - google::protobuf::internal::StringTypeHandler::SpaceUsedLong
  - google::protobuf::internal::RepeatedPtrFieldBase
  - ~RepeatedPtrFieldBase()
  - google::protobuf::internal::AddAllocated
  - google::protobuf::internal::ReleaseLast
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::cast
  - google::protobuf::internal::cast
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::Delete
  - google::protobuf::internal::GenericTypeHandler::GetArena
  - google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler::Clear
  - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
  - google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler<std::string>::Clear
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::NewFromPrototype
  - google::protobuf::internal::StringTypeHandler::GetArena
  - google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::StringTypeHandler::Delete
  - google::protobuf::internal::StringTypeHandler::Clear
  - google::protobuf::internal::StringTypeHandler::Merge
  - google::protobuf::internal::StringTypeHandler::SpaceUsedLong
  - '& operator[](int index) const'
  - '& operator[](int index)'
  - google::protobuf::RepeatedPtrField::rbegin
  - google::protobuf::RepeatedPtrField::rbegin
  - google::protobuf::RepeatedPtrField::rend
  - google::protobuf::RepeatedPtrField::rend
  - google::protobuf::RepeatedPtrField::SpaceUsedExcludingSelf
  - google::protobuf::RepeatedPtrField::InternalSwap
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - RepeatedField<Element>::~RepeatedField()
  - "& RepeatedField<Element>::operator=(\n    const RepeatedField& other)"
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - "& RepeatedField<Element>::operator=(\n    RepeatedField&& other) noexcept"
  - google::protobuf::RepeatedField<Element>::empty
  - google::protobuf::RepeatedField<Element>::size
  - google::protobuf::RepeatedField<Element>::Capacity
  - google::protobuf::RepeatedField<Element>::AddAlreadyReserved
  - google::protobuf::RepeatedField<Element>::AddAlreadyReserved
  - google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
  - google::protobuf::RepeatedField<Element>::Resize
  - '& RepeatedField<Element>::Get(int index) const'
  - '& RepeatedField<Element>::at(int index) const'
  - '& RepeatedField<Element>::at(int index)'
  - google::protobuf::RepeatedField<Element>::Mutable
  - google::protobuf::RepeatedField<Element>::Set
  - google::protobuf::RepeatedField<Element>::Add
  - google::protobuf::RepeatedField<Element>::Add
  - google::protobuf::RepeatedField<Element>::Add
  - google::protobuf::RepeatedField<Element>::RemoveLast
  - google::protobuf::RepeatedField<Element>::ExtractSubrange
  - google::protobuf::RepeatedField<Element>::Clear
  - google::protobuf::RepeatedField<Element>::MergeFrom
  - google::protobuf::RepeatedField<Element>::CopyFrom
  - google::protobuf::RepeatedField<Element>::erase
  - google::protobuf::RepeatedField<Element>::erase
  - google::protobuf::RepeatedField<Element>::mutable_data
  - google::protobuf::RepeatedField<Element>::data
  - google::protobuf::RepeatedField<Element>::InternalSwap
  - google::protobuf::RepeatedField<Element>::Swap
  - google::protobuf::RepeatedField<Element>::UnsafeArenaSwap
  - google::protobuf::RepeatedField<Element>::SwapElements
  - google::protobuf::RepeatedField<Element>::begin
  - google::protobuf::RepeatedField<Element>::begin
  - google::protobuf::RepeatedField<Element>::cbegin
  - google::protobuf::RepeatedField<Element>::end
  - google::protobuf::RepeatedField<Element>::end
  - google::protobuf::RepeatedField<Element>::cend
  - google::protobuf::RepeatedField<Element>::SpaceUsedExcludingSelfLong
  - google::protobuf::internal::CalculateReserveSize
  - google::protobuf::internal::CalculateReserveSize
  - google::protobuf::RepeatedField<Element>::Reserve
  - google::protobuf::RepeatedField<Element>::Truncate
  - google::protobuf::RepeatedField<Element>::MoveArray
  - google::protobuf::RepeatedField<Element>::CopyArray
  - "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n                                                        const
    Element* from,\n                                                        int array_size)"
  - operator()(Element* to, const Element* from, int array_size)
  - "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n                                                        const
    Element* from,\n                                                        int array_size)"
  - operator()(Element* to, const Element* from, int array_size)
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::Destroy
  - google::protobuf::internal::RepeatedPtrFieldBase::Swap
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
  - google::protobuf::internal::RepeatedPtrFieldBase::empty
  - google::protobuf::internal::RepeatedPtrFieldBase::size
  - "& RepeatedPtrFieldBase::Get(\n    int index) const"
  - "& RepeatedPtrFieldBase::at(\n    int index) const"
  - '& RepeatedPtrFieldBase::at(int index)'
  - google::protobuf::internal::RepeatedPtrFieldBase::Mutable
  - google::protobuf::internal::RepeatedPtrFieldBase::Delete
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
  - google::protobuf::internal::RepeatedPtrFieldBase::Clear
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
  - google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::Capacity
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::data
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
  - google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
  - google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
  - google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
  - google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::Destroy
  - google::protobuf::internal::RepeatedPtrFieldBase::Swap
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
  - google::protobuf::internal::RepeatedPtrFieldBase::empty
  - google::protobuf::internal::RepeatedPtrFieldBase::size
  - "& RepeatedPtrFieldBase::Get(\n    int index) const"
  - "& RepeatedPtrFieldBase::at(\n    int index) const"
  - '& RepeatedPtrFieldBase::at(int index)'
  - google::protobuf::internal::RepeatedPtrFieldBase::Mutable
  - google::protobuf::internal::RepeatedPtrFieldBase::Delete
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
  - google::protobuf::internal::RepeatedPtrFieldBase::Clear
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
  - google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::Capacity
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::data
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
  - google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
  - google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
  - google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
  - google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - RepeatedPtrField<Element>::~RepeatedPtrField()
  - "& RepeatedPtrField<Element>::operator=(\n    const RepeatedPtrField& other)"
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - "& RepeatedPtrField<Element>::operator=(\n    RepeatedPtrField&& other) noexcept"
  - google::protobuf::RepeatedPtrField<Element>::empty
  - google::protobuf::RepeatedPtrField<Element>::size
  - '& RepeatedPtrField<Element>::Get(int index) const'
  - '& RepeatedPtrField<Element>::at(int index) const'
  - '& RepeatedPtrField<Element>::at(int index)'
  - google::protobuf::RepeatedPtrField<Element>::Mutable
  - google::protobuf::RepeatedPtrField<Element>::Add
  - google::protobuf::RepeatedPtrField<Element>::Add
  - google::protobuf::RepeatedPtrField<Element>::RemoveLast
  - google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
  - google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
  - google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
  - google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
  - google::protobuf::RepeatedPtrField<Element>::Clear
  - google::protobuf::RepeatedPtrField<Element>::MergeFrom
  - google::protobuf::RepeatedPtrField<Element>::CopyFrom
  - google::protobuf::RepeatedPtrField<Element>::erase
  - google::protobuf::RepeatedPtrField<Element>::erase
  - google::protobuf::RepeatedPtrField<Element>::mutable_data
  - google::protobuf::RepeatedPtrField<Element>::data
  - google::protobuf::RepeatedPtrField<Element>::Swap
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaSwap
  - google::protobuf::RepeatedPtrField<Element>::SwapElements
  - google::protobuf::RepeatedPtrField<Element>::GetArena
  - google::protobuf::RepeatedPtrField<Element>::SpaceUsedExcludingSelfLong
  - google::protobuf::RepeatedPtrField<Element>::AddAllocated
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaAddAllocated
  - google::protobuf::RepeatedPtrField<Element>::ReleaseLast
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaReleaseLast
  - google::protobuf::RepeatedPtrField<Element>::ClearedCount
  - google::protobuf::RepeatedPtrField<Element>::AddCleared
  - google::protobuf::RepeatedPtrField<Element>::ReleaseCleared
  - google::protobuf::RepeatedPtrField<Element>::Reserve
  - google::protobuf::RepeatedPtrField<Element>::Capacity
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, const difference_type d)
  - operator+(const difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, difference_type d)
  - operator+(difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, const difference_type d)
  - operator+(const difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, difference_type d)
  - operator+(difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
  - google::protobuf::RepeatedPtrField<Element>::begin
  - google::protobuf::RepeatedPtrField<Element>::begin
  - google::protobuf::RepeatedPtrField<Element>::cbegin
  - google::protobuf::RepeatedPtrField<Element>::end
  - google::protobuf::RepeatedPtrField<Element>::end
  - google::protobuf::RepeatedPtrField<Element>::cend
  - google::protobuf::RepeatedPtrField<Element>::pointer_begin
  - google::protobuf::RepeatedPtrField<Element>::pointer_begin
  - google::protobuf::RepeatedPtrField<Element>::pointer_end
  - google::protobuf::RepeatedPtrField<Element>::pointer_end
  - google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
  - '& operator=(const T& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
  - '& operator=(const T& value)'
  - "& operator=(\n      const T* const ptr_to_value)"
  - '& operator=(T&& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T const* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - "& operator++(\n      int /* unused */)"
  - google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
  - '& operator=(const T& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
  - '& operator=(const T& value)'
  - "& operator=(\n      const T* const ptr_to_value)"
  - '& operator=(T&& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T const* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - "& operator++(\n      int /* unused */)"
  - google::protobuf::RepeatedFieldBackInserter
  - google::protobuf::RepeatedPtrFieldBackInserter
  - google::protobuf::RepeatedFieldBackInserter
  - google::protobuf::AllocatedRepeatedPtrFieldBackInserter
  - google::protobuf::UnsafeArenaAllocatedRepeatedPtrFieldBackInserter
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::SwapBlock
  - google::protobuf::internal::memswap
  - PROTO_MEMSWAP_DEF_SIZE
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::CalculateReserve
  - google::protobuf::internal::SwapBlock
  - google::protobuf::internal::memswap
  - PROTO_MEMSWAP_DEF_SIZE
  - '& operator[](int index) const'
  - '& operator[](int index)'
  - google::protobuf::RepeatedField::rbegin
  - google::protobuf::RepeatedField::rbegin
  - google::protobuf::RepeatedField::rend
  - google::protobuf::RepeatedField::rend
  - google::protobuf::RepeatedField::SpaceUsedExcludingSelf
  - google::protobuf::RepeatedField::GetArena
  - google::protobuf::RepeatedField::elements
  - google::protobuf::RepeatedField::unsafe_elements
  - google::protobuf::RepeatedField::rep
  - google::protobuf::RepeatedField::InternalDeallocate
  - google::protobuf::RepeatedField::FastAdderImpl::FastAdderImpl
  - ~FastAdderImpl()
  - google::protobuf::RepeatedField::FastAdderImpl::Add
  - google::protobuf::RepeatedField::FastAdderImpl<I, false>::FastAdderImpl
  - google::protobuf::RepeatedField::FastAdderImpl<I, false>::Add
  - google::protobuf::internal::RepeatedPtrFieldBase
  - ~RepeatedPtrFieldBase()
  - google::protobuf::internal::AddAllocated
  - google::protobuf::internal::ReleaseLast
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::cast
  - google::protobuf::internal::cast
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::Delete
  - google::protobuf::internal::GenericTypeHandler::GetArena
  - google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler::Clear
  - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
  - google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler<std::string>::Clear
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::NewFromPrototype
  - google::protobuf::internal::StringTypeHandler::GetArena
  - google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::StringTypeHandler::Delete
  - google::protobuf::internal::StringTypeHandler::Clear
  - google::protobuf::internal::StringTypeHandler::Merge
  - google::protobuf::internal::StringTypeHandler::SpaceUsedLong
  - google::protobuf::internal::RepeatedPtrFieldBase
  - ~RepeatedPtrFieldBase()
  - google::protobuf::internal::AddAllocated
  - google::protobuf::internal::ReleaseLast
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::cast
  - google::protobuf::internal::cast
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::New
  - google::protobuf::internal::GenericTypeHandler::Delete
  - google::protobuf::internal::GenericTypeHandler::GetArena
  - google::protobuf::internal::GenericTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler::Clear
  - google::protobuf::internal::GenericTypeHandler::SpaceUsedLong
  - google::protobuf::internal::GenericTypeHandler<GenericType>::NewFromPrototype
  - google::protobuf::internal::GenericTypeHandler<GenericType>::Merge
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetArena
  - google::protobuf::internal::GenericTypeHandler<MessageLite>::GetMaybeArenaPointer
  - google::protobuf::internal::GenericTypeHandler<std::string>::Clear
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::New
  - google::protobuf::internal::StringTypeHandler::NewFromPrototype
  - google::protobuf::internal::StringTypeHandler::GetArena
  - google::protobuf::internal::StringTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::StringTypeHandler::Delete
  - google::protobuf::internal::StringTypeHandler::Clear
  - google::protobuf::internal::StringTypeHandler::Merge
  - google::protobuf::internal::StringTypeHandler::SpaceUsedLong
  - '& operator[](int index) const'
  - '& operator[](int index)'
  - google::protobuf::RepeatedPtrField::rbegin
  - google::protobuf::RepeatedPtrField::rbegin
  - google::protobuf::RepeatedPtrField::rend
  - google::protobuf::RepeatedPtrField::rend
  - google::protobuf::RepeatedPtrField::SpaceUsedExcludingSelf
  - google::protobuf::RepeatedPtrField::InternalSwap
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - RepeatedField<Element>::~RepeatedField()
  - "& RepeatedField<Element>::operator=(\n    const RepeatedField& other)"
  - google::protobuf::RepeatedField<Element>::RepeatedField
  - "& RepeatedField<Element>::operator=(\n    RepeatedField&& other) noexcept"
  - google::protobuf::RepeatedField<Element>::empty
  - google::protobuf::RepeatedField<Element>::size
  - google::protobuf::RepeatedField<Element>::Capacity
  - google::protobuf::RepeatedField<Element>::AddAlreadyReserved
  - google::protobuf::RepeatedField<Element>::AddAlreadyReserved
  - google::protobuf::RepeatedField<Element>::AddNAlreadyReserved
  - google::protobuf::RepeatedField<Element>::Resize
  - '& RepeatedField<Element>::Get(int index) const'
  - '& RepeatedField<Element>::at(int index) const'
  - '& RepeatedField<Element>::at(int index)'
  - google::protobuf::RepeatedField<Element>::Mutable
  - google::protobuf::RepeatedField<Element>::Set
  - google::protobuf::RepeatedField<Element>::Add
  - google::protobuf::RepeatedField<Element>::Add
  - google::protobuf::RepeatedField<Element>::Add
  - google::protobuf::RepeatedField<Element>::RemoveLast
  - google::protobuf::RepeatedField<Element>::ExtractSubrange
  - google::protobuf::RepeatedField<Element>::Clear
  - google::protobuf::RepeatedField<Element>::MergeFrom
  - google::protobuf::RepeatedField<Element>::CopyFrom
  - google::protobuf::RepeatedField<Element>::erase
  - google::protobuf::RepeatedField<Element>::erase
  - google::protobuf::RepeatedField<Element>::mutable_data
  - google::protobuf::RepeatedField<Element>::data
  - google::protobuf::RepeatedField<Element>::InternalSwap
  - google::protobuf::RepeatedField<Element>::Swap
  - google::protobuf::RepeatedField<Element>::UnsafeArenaSwap
  - google::protobuf::RepeatedField<Element>::SwapElements
  - google::protobuf::RepeatedField<Element>::begin
  - google::protobuf::RepeatedField<Element>::begin
  - google::protobuf::RepeatedField<Element>::cbegin
  - google::protobuf::RepeatedField<Element>::end
  - google::protobuf::RepeatedField<Element>::end
  - google::protobuf::RepeatedField<Element>::cend
  - google::protobuf::RepeatedField<Element>::SpaceUsedExcludingSelfLong
  - google::protobuf::internal::CalculateReserveSize
  - google::protobuf::internal::CalculateReserveSize
  - google::protobuf::RepeatedField<Element>::Reserve
  - google::protobuf::RepeatedField<Element>::Truncate
  - google::protobuf::RepeatedField<Element>::MoveArray
  - google::protobuf::RepeatedField<Element>::CopyArray
  - "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n                                                        const
    Element* from,\n                                                        int array_size)"
  - operator()(Element* to, const Element* from, int array_size)
  - "ElementCopier<Element, HasTrivialCopy>::operator()(Element* to,\n                                                        const
    Element* from,\n                                                        int array_size)"
  - operator()(Element* to, const Element* from, int array_size)
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::Destroy
  - google::protobuf::internal::RepeatedPtrFieldBase::Swap
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
  - google::protobuf::internal::RepeatedPtrFieldBase::empty
  - google::protobuf::internal::RepeatedPtrFieldBase::size
  - "& RepeatedPtrFieldBase::Get(\n    int index) const"
  - "& RepeatedPtrFieldBase::at(\n    int index) const"
  - '& RepeatedPtrFieldBase::at(int index)'
  - google::protobuf::internal::RepeatedPtrFieldBase::Mutable
  - google::protobuf::internal::RepeatedPtrFieldBase::Delete
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
  - google::protobuf::internal::RepeatedPtrFieldBase::Clear
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
  - google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::Capacity
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::data
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
  - google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
  - google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
  - google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
  - google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::RepeatedPtrFieldBase
  - google::protobuf::internal::RepeatedPtrFieldBase::Destroy
  - google::protobuf::internal::RepeatedPtrFieldBase::Swap
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback
  - google::protobuf::internal::RepeatedPtrFieldBase::empty
  - google::protobuf::internal::RepeatedPtrFieldBase::size
  - "& RepeatedPtrFieldBase::Get(\n    int index) const"
  - "& RepeatedPtrFieldBase::at(\n    int index) const"
  - '& RepeatedPtrFieldBase::at(int index)'
  - google::protobuf::internal::RepeatedPtrFieldBase::Mutable
  - google::protobuf::internal::RepeatedPtrFieldBase::Delete
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::Add
  - google::protobuf::internal::RepeatedPtrFieldBase::RemoveLast
  - google::protobuf::internal::RepeatedPtrFieldBase::Clear
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop
  - google::protobuf::internal::RepeatedPtrFieldBase::CopyFrom
  - google::protobuf::internal::RepeatedPtrFieldBase::Capacity
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_data
  - google::protobuf::internal::RepeatedPtrFieldBase::raw_mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::mutable_data
  - google::protobuf::internal::RepeatedPtrFieldBase::data
  - google::protobuf::internal::RepeatedPtrFieldBase::SwapElements
  - google::protobuf::internal::RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong
  - google::protobuf::internal::RepeatedPtrFieldBase::AddFromCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy
  - google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseLastInternal
  - google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaReleaseLast
  - google::protobuf::internal::RepeatedPtrFieldBase::ClearedCount
  - google::protobuf::internal::RepeatedPtrFieldBase::AddCleared
  - google::protobuf::internal::RepeatedPtrFieldBase::ReleaseCleared
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - RepeatedPtrField<Element>::~RepeatedPtrField()
  - "& RepeatedPtrField<Element>::operator=(\n    const RepeatedPtrField& other)"
  - google::protobuf::RepeatedPtrField<Element>::RepeatedPtrField
  - "& RepeatedPtrField<Element>::operator=(\n    RepeatedPtrField&& other) noexcept"
  - google::protobuf::RepeatedPtrField<Element>::empty
  - google::protobuf::RepeatedPtrField<Element>::size
  - '& RepeatedPtrField<Element>::Get(int index) const'
  - '& RepeatedPtrField<Element>::at(int index) const'
  - '& RepeatedPtrField<Element>::at(int index)'
  - google::protobuf::RepeatedPtrField<Element>::Mutable
  - google::protobuf::RepeatedPtrField<Element>::Add
  - google::protobuf::RepeatedPtrField<Element>::Add
  - google::protobuf::RepeatedPtrField<Element>::RemoveLast
  - google::protobuf::RepeatedPtrField<Element>::DeleteSubrange
  - google::protobuf::RepeatedPtrField<Element>::ExtractSubrange
  - google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
  - google::protobuf::RepeatedPtrField<Element>::ExtractSubrangeInternal
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaExtractSubrange
  - google::protobuf::RepeatedPtrField<Element>::Clear
  - google::protobuf::RepeatedPtrField<Element>::MergeFrom
  - google::protobuf::RepeatedPtrField<Element>::CopyFrom
  - google::protobuf::RepeatedPtrField<Element>::erase
  - google::protobuf::RepeatedPtrField<Element>::erase
  - google::protobuf::RepeatedPtrField<Element>::mutable_data
  - google::protobuf::RepeatedPtrField<Element>::data
  - google::protobuf::RepeatedPtrField<Element>::Swap
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaSwap
  - google::protobuf::RepeatedPtrField<Element>::SwapElements
  - google::protobuf::RepeatedPtrField<Element>::GetArena
  - google::protobuf::RepeatedPtrField<Element>::SpaceUsedExcludingSelfLong
  - google::protobuf::RepeatedPtrField<Element>::AddAllocated
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaAddAllocated
  - google::protobuf::RepeatedPtrField<Element>::ReleaseLast
  - google::protobuf::RepeatedPtrField<Element>::UnsafeArenaReleaseLast
  - google::protobuf::RepeatedPtrField<Element>::ClearedCount
  - google::protobuf::RepeatedPtrField<Element>::AddCleared
  - google::protobuf::RepeatedPtrField<Element>::ReleaseCleared
  - google::protobuf::RepeatedPtrField<Element>::Reserve
  - google::protobuf::RepeatedPtrField<Element>::Capacity
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, const difference_type d)
  - operator+(const difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, difference_type d)
  - operator+(difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - google::protobuf::internal::RepeatedPtrIterator::RepeatedPtrIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, const difference_type d)
  - operator+(const difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - google::protobuf::internal::RepeatedPtrOverPtrsIterator::RepeatedPtrOverPtrsIterator
  - operator*() const
  - operator->() const
  - '& operator++()'
  - operator++(int)
  - '& operator--()'
  - operator--(int)
  - operator==(const iterator& x) const
  - operator!=(const iterator& x) const
  - operator<(const iterator& x) const
  - operator<=(const iterator& x) const
  - operator>(const iterator& x) const
  - operator>=(const iterator& x) const
  - '& operator+=(difference_type d)'
  - operator+(iterator it, difference_type d)
  - operator+(difference_type d, iterator it)
  - '& operator-=(difference_type d)'
  - operator-(iterator it, difference_type d)
  - operator[](difference_type d) const
  - operator-(const iterator& x) const
  - google::protobuf::internal::RepeatedPtrFieldBase::InternalSwap
  - google::protobuf::RepeatedPtrField<Element>::begin
  - google::protobuf::RepeatedPtrField<Element>::begin
  - google::protobuf::RepeatedPtrField<Element>::cbegin
  - google::protobuf::RepeatedPtrField<Element>::end
  - google::protobuf::RepeatedPtrField<Element>::end
  - google::protobuf::RepeatedPtrField<Element>::cend
  - google::protobuf::RepeatedPtrField<Element>::pointer_begin
  - google::protobuf::RepeatedPtrField<Element>::pointer_begin
  - google::protobuf::RepeatedPtrField<Element>::pointer_end
  - google::protobuf::RepeatedPtrField<Element>::pointer_end
  - google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
  - '& operator=(const T& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
  - '& operator=(const T& value)'
  - "& operator=(\n      const T* const ptr_to_value)"
  - '& operator=(T&& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T const* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - "& operator++(\n      int /* unused */)"
  - google::protobuf::internal::RepeatedFieldBackInsertIterator::RepeatedFieldBackInsertIterator
  - '& operator=(const T& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::RepeatedPtrFieldBackInsertIterator::RepeatedPtrFieldBackInsertIterator
  - '& operator=(const T& value)'
  - "& operator=(\n      const T* const ptr_to_value)"
  - '& operator=(T&& value)'
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::AllocatedRepeatedPtrFieldBackInsertIterator::AllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - '& operator++(int /* unused */)'
  - google::protobuf::internal::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator::UnsafeArenaAllocatedRepeatedPtrFieldBackInsertIterator
  - "& operator=(\n      T const* const ptr_to_value)"
  - '& operator*()'
  - '& operator++()'
  - "& operator++(\n      int /* unused */)"
  - google::protobuf::RepeatedFieldBackInserter
  - google::protobuf::RepeatedPtrFieldBackInserter
  - google::protobuf::RepeatedFieldBackInserter
  - google::protobuf::AllocatedRepeatedPtrFieldBackInserter
  - google::protobuf::UnsafeArenaAllocatedRepeatedPtrFieldBackInserter
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* arena'
        type: Arena
      - name: "elements[(std::numeric_limits<int>::max() - 2 * sizeof(Arena*)) /\n
          \                    sizeof(Element)]"
        type: Element
      item_type: struct
      name: Rep
      pos:
        line_end: 340
        line_start: 334
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: operator()(Element* to, const Element* from, int array_size)
        type: void
      item_type: struct
      name: ElementCopier
      pos:
        line_end: 506
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: operator()(Element* to, const Element* from, int array_size)
        type: void
      item_type: struct
      name: ElementCopier
      pos:
        line_end: 506
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehaviorProbeForMergeFrom
      pos:
        line_end: 542
        line_start: 518
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior<std::string>
      pos:
        line_end: 552
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: IsMovable
      pos:
        line_end: 557
        line_start: 555
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: allocated_size
        type: int
      - name: "* elements[(std::numeric_limits<int>::max() - 2 * sizeof(int)) /\n
          \                  sizeof(void*)]"
        type: void
      item_type: struct
      name: Rep
      pos:
        line_end: 742
        line_start: 736
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehaviorProbeForMergeFrom
      pos:
        line_end: 542
        line_start: 518
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior<std::string>
      pos:
        line_end: 552
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: IsMovable
      pos:
        line_end: 557
        line_start: 555
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: allocated_size
        type: int
      - name: "* elements[(std::numeric_limits<int>::max() - 2 * sizeof(int)) /\n
          \                  sizeof(void*)]"
        type: void
      item_type: struct
      name: Rep
      pos:
        line_end: 742
        line_start: 736
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: ElementCopier<Element, true>
      pos:
        line_end: 1640
        line_start: 1636
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: ElementCopier<Element, true>
      pos:
        line_end: 1640
        line_start: 1636
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: '* arena'
        type: Arena
      - name: "elements[(std::numeric_limits<int>::max() - 2 * sizeof(Arena*)) /\n
          \                    sizeof(Element)]"
        type: Element
      item_type: struct
      name: Rep
      pos:
        line_end: 340
        line_start: 334
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: operator()(Element* to, const Element* from, int array_size)
        type: void
      item_type: struct
      name: ElementCopier
      pos:
        line_end: 506
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: operator()(Element* to, const Element* from, int array_size)
        type: void
      item_type: struct
      name: ElementCopier
      pos:
        line_end: 506
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehaviorProbeForMergeFrom
      pos:
        line_end: 542
        line_start: 518
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior<std::string>
      pos:
        line_end: 552
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: IsMovable
      pos:
        line_end: 557
        line_start: 555
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: allocated_size
        type: int
      - name: "* elements[(std::numeric_limits<int>::max() - 2 * sizeof(int)) /\n
          \                  sizeof(void*)]"
        type: void
      item_type: struct
      name: Rep
      pos:
        line_end: 742
        line_start: 736
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehaviorProbeForMergeFrom
      pos:
        line_end: 542
        line_start: 518
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior<std::string>
      pos:
        line_end: 552
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: IsMovable
      pos:
        line_end: 557
        line_start: 555
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: allocated_size
        type: int
      - name: "* elements[(std::numeric_limits<int>::max() - 2 * sizeof(int)) /\n
          \                  sizeof(void*)]"
        type: void
      item_type: struct
      name: Rep
      pos:
        line_end: 742
        line_start: 736
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: ElementCopier<Element, true>
      pos:
        line_end: 1640
        line_start: 1636
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: ElementCopier<Element, true>
      pos:
        line_end: 1640
        line_start: 1636
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: '* arena'
        type: Arena
      - name: "elements[(std::numeric_limits<int>::max() - 2 * sizeof(Arena*)) /\n
          \                    sizeof(Element)]"
        type: Element
      item_type: struct
      name: Rep
      pos:
        line_end: 340
        line_start: 334
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: operator()(Element* to, const Element* from, int array_size)
        type: void
      item_type: struct
      name: ElementCopier
      pos:
        line_end: 506
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: operator()(Element* to, const Element* from, int array_size)
        type: void
      item_type: struct
      name: ElementCopier
      pos:
        line_end: 506
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehaviorProbeForMergeFrom
      pos:
        line_end: 542
        line_start: 518
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior<std::string>
      pos:
        line_end: 552
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: IsMovable
      pos:
        line_end: 557
        line_start: 555
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: allocated_size
        type: int
      - name: "* elements[(std::numeric_limits<int>::max() - 2 * sizeof(int)) /\n
          \                  sizeof(void*)]"
        type: void
      item_type: struct
      name: Rep
      pos:
        line_end: 742
        line_start: 736
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehaviorProbeForMergeFrom
      pos:
        line_end: 542
        line_start: 518
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior<std::string>
      pos:
        line_end: 552
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: IsMovable
      pos:
        line_end: 557
        line_start: 555
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: allocated_size
        type: int
      - name: "* elements[(std::numeric_limits<int>::max() - 2 * sizeof(int)) /\n
          \                  sizeof(void*)]"
        type: void
      item_type: struct
      name: Rep
      pos:
        line_end: 742
        line_start: 736
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: ElementCopier<Element, true>
      pos:
        line_end: 1640
        line_start: 1636
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: ElementCopier<Element, true>
      pos:
        line_end: 1640
        line_start: 1636
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: '* arena'
        type: Arena
      - name: "elements[(std::numeric_limits<int>::max() - 2 * sizeof(Arena*)) /\n
          \                    sizeof(Element)]"
        type: Element
      item_type: struct
      name: Rep
      pos:
        line_end: 340
        line_start: 334
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: operator()(Element* to, const Element* from, int array_size)
        type: void
      item_type: struct
      name: ElementCopier
      pos:
        line_end: 506
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: operator()(Element* to, const Element* from, int array_size)
        type: void
      item_type: struct
      name: ElementCopier
      pos:
        line_end: 506
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehaviorProbeForMergeFrom
      pos:
        line_end: 542
        line_start: 518
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior<std::string>
      pos:
        line_end: 552
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: IsMovable
      pos:
        line_end: 557
        line_start: 555
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: allocated_size
        type: int
      - name: "* elements[(std::numeric_limits<int>::max() - 2 * sizeof(int)) /\n
          \                  sizeof(void*)]"
        type: void
      item_type: struct
      name: Rep
      pos:
        line_end: 742
        line_start: 736
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehaviorProbeForMergeFrom
      pos:
        line_end: 542
        line_start: 518
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior
      pos:
        line_end: 546
        line_start: 545
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: TypeImplementsMergeBehavior<std::string>
      pos:
        line_end: 552
        line_start: 550
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: IsMovable
      pos:
        line_end: 557
        line_start: 555
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields:
      - name: allocated_size
        type: int
      - name: "* elements[(std::numeric_limits<int>::max() - 2 * sizeof(int)) /\n
          \                  sizeof(void*)]"
        type: void
      item_type: struct
      name: Rep
      pos:
        line_end: 742
        line_start: 736
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: ElementCopier<Element, true>
      pos:
        line_end: 1640
        line_start: 1636
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    - fields: []
      item_type: struct
      name: ElementCopier<Element, true>
      pos:
        line_end: 1640
        line_start: 1636
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
    typedefs:
    - item_type: typedef
      name: Category
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: typename std::iterator_traits<Iter>::iterator_category
    - item_type: typedef
      name: Category
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: typename std::iterator_traits<Iter>::iterator_category
    - item_type: typedef
      name: '* iterator'
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: '* const_iterator'
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: value_type
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: '& reference'
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '& const_reference'
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* pointer'
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* const_pointer'
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: size_type
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: int
    - item_type: typedef
      name: difference_type
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: ptrdiff_t
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<const_iterator>
    - item_type: typedef
      name: reverse_iterator
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<iterator>
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: void
    - item_type: typedef
      name: HasMerge
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: char
    - item_type: typedef
      name: HasNoMerge
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: long
    - item_type: typedef
      name: type
      pos:
        line_end: 541
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: "integral_constant<bool,\n                                 (sizeof(Check<T>(0))
        == sizeof(HasMerge))>"
    - item_type: typedef
      name: type
      pos:
        line_end: 551
        line_start: 551
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: true_type
    - item_type: typedef
      name: Type
      pos:
        line_end: 802
        line_start: 802
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: GenericType
    - item_type: typedef
      name: Type
      pos:
        line_end: 884
        line_start: 884
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: string
    - item_type: typedef
      name: HasMerge
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: char
    - item_type: typedef
      name: HasNoMerge
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: long
    - item_type: typedef
      name: type
      pos:
        line_end: 541
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: "integral_constant<bool,\n                                 (sizeof(Check<T>(0))
        == sizeof(HasMerge))>"
    - item_type: typedef
      name: type
      pos:
        line_end: 551
        line_start: 551
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: true_type
    - item_type: typedef
      name: Type
      pos:
        line_end: 802
        line_start: 802
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: GenericType
    - item_type: typedef
      name: Type
      pos:
        line_end: 884
        line_start: 884
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: string
    - item_type: typedef
      name: iterator
      pos:
        line_end: 988
        line_start: 988
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: RepeatedPtrIterator<Element>
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 989
        line_start: 989
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: RepeatedPtrIterator<const Element>
    - item_type: typedef
      name: value_type
      pos:
        line_end: 990
        line_start: 990
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: '& reference'
      pos:
        line_end: 991
        line_start: 991
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '& const_reference'
      pos:
        line_end: 992
        line_start: 992
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* pointer'
      pos:
        line_end: 993
        line_start: 993
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* const_pointer'
      pos:
        line_end: 994
        line_start: 994
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: size_type
      pos:
        line_end: 995
        line_start: 995
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: int
    - item_type: typedef
      name: difference_type
      pos:
        line_end: 996
        line_start: 996
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: ptrdiff_t
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 1006
        line_start: 1006
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<const_iterator>
    - item_type: typedef
      name: reverse_iterator
      pos:
        line_end: 1007
        line_start: 1007
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<iterator>
    - item_type: typedef
      name: pointer_iterator
      pos:
        line_end: 1020
        line_start: 1019
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: RepeatedPtrOverPtrsIterator<Element*, void*>
    - item_type: typedef
      name: const_pointer_iterator
      pos:
        line_end: 1023
        line_start: 1021
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: "RepeatedPtrOverPtrsIterator<const Element* const,\n                                                const
        void* const>"
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 1175
        line_start: 1175
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: void
    - item_type: typedef
      name: Category
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: typename std::iterator_traits<Iter>::iterator_category
    - item_type: typedef
      name: Category
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: typename std::iterator_traits<Iter>::iterator_category
    - item_type: typedef
      name: '* iterator'
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: '* const_iterator'
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: value_type
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: '& reference'
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '& const_reference'
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* pointer'
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* const_pointer'
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: size_type
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: int
    - item_type: typedef
      name: difference_type
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: ptrdiff_t
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<const_iterator>
    - item_type: typedef
      name: reverse_iterator
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<iterator>
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: void
    - item_type: typedef
      name: HasMerge
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: char
    - item_type: typedef
      name: HasNoMerge
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: long
    - item_type: typedef
      name: type
      pos:
        line_end: 541
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: "integral_constant<bool,\n                                 (sizeof(Check<T>(0))
        == sizeof(HasMerge))>"
    - item_type: typedef
      name: type
      pos:
        line_end: 551
        line_start: 551
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: true_type
    - item_type: typedef
      name: Type
      pos:
        line_end: 802
        line_start: 802
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: GenericType
    - item_type: typedef
      name: Type
      pos:
        line_end: 884
        line_start: 884
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: string
    - item_type: typedef
      name: HasMerge
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: char
    - item_type: typedef
      name: HasNoMerge
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: long
    - item_type: typedef
      name: type
      pos:
        line_end: 541
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: "integral_constant<bool,\n                                 (sizeof(Check<T>(0))
        == sizeof(HasMerge))>"
    - item_type: typedef
      name: type
      pos:
        line_end: 551
        line_start: 551
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: true_type
    - item_type: typedef
      name: Type
      pos:
        line_end: 802
        line_start: 802
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: GenericType
    - item_type: typedef
      name: Type
      pos:
        line_end: 884
        line_start: 884
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: string
    - item_type: typedef
      name: iterator
      pos:
        line_end: 988
        line_start: 988
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: RepeatedPtrIterator<Element>
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 989
        line_start: 989
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: RepeatedPtrIterator<const Element>
    - item_type: typedef
      name: value_type
      pos:
        line_end: 990
        line_start: 990
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: '& reference'
      pos:
        line_end: 991
        line_start: 991
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '& const_reference'
      pos:
        line_end: 992
        line_start: 992
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* pointer'
      pos:
        line_end: 993
        line_start: 993
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* const_pointer'
      pos:
        line_end: 994
        line_start: 994
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: size_type
      pos:
        line_end: 995
        line_start: 995
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: int
    - item_type: typedef
      name: difference_type
      pos:
        line_end: 996
        line_start: 996
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: ptrdiff_t
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 1006
        line_start: 1006
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<const_iterator>
    - item_type: typedef
      name: reverse_iterator
      pos:
        line_end: 1007
        line_start: 1007
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<iterator>
    - item_type: typedef
      name: pointer_iterator
      pos:
        line_end: 1020
        line_start: 1019
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: RepeatedPtrOverPtrsIterator<Element*, void*>
    - item_type: typedef
      name: const_pointer_iterator
      pos:
        line_end: 1023
        line_start: 1021
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: "RepeatedPtrOverPtrsIterator<const Element* const,\n                                                const
        void* const>"
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 1175
        line_start: 1175
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: void
    - item_type: typedef
      name: Category
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: typename std::iterator_traits<Iter>::iterator_category
    - item_type: typedef
      name: Category
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: typename std::iterator_traits<Iter>::iterator_category
    - item_type: typedef
      name: '* iterator'
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: '* const_iterator'
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: value_type
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: '& reference'
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '& const_reference'
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* pointer'
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* const_pointer'
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: size_type
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: int
    - item_type: typedef
      name: difference_type
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: ptrdiff_t
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<const_iterator>
    - item_type: typedef
      name: reverse_iterator
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<iterator>
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: void
    - item_type: typedef
      name: HasMerge
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: char
    - item_type: typedef
      name: HasNoMerge
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: long
    - item_type: typedef
      name: type
      pos:
        line_end: 541
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: "integral_constant<bool,\n                                 (sizeof(Check<T>(0))
        == sizeof(HasMerge))>"
    - item_type: typedef
      name: type
      pos:
        line_end: 551
        line_start: 551
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: true_type
    - item_type: typedef
      name: Type
      pos:
        line_end: 802
        line_start: 802
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: GenericType
    - item_type: typedef
      name: Type
      pos:
        line_end: 884
        line_start: 884
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: string
    - item_type: typedef
      name: HasMerge
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: char
    - item_type: typedef
      name: HasNoMerge
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: long
    - item_type: typedef
      name: type
      pos:
        line_end: 541
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: "integral_constant<bool,\n                                 (sizeof(Check<T>(0))
        == sizeof(HasMerge))>"
    - item_type: typedef
      name: type
      pos:
        line_end: 551
        line_start: 551
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: true_type
    - item_type: typedef
      name: Type
      pos:
        line_end: 802
        line_start: 802
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: GenericType
    - item_type: typedef
      name: Type
      pos:
        line_end: 884
        line_start: 884
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: string
    - item_type: typedef
      name: iterator
      pos:
        line_end: 988
        line_start: 988
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: RepeatedPtrIterator<Element>
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 989
        line_start: 989
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: RepeatedPtrIterator<const Element>
    - item_type: typedef
      name: value_type
      pos:
        line_end: 990
        line_start: 990
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: '& reference'
      pos:
        line_end: 991
        line_start: 991
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '& const_reference'
      pos:
        line_end: 992
        line_start: 992
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* pointer'
      pos:
        line_end: 993
        line_start: 993
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* const_pointer'
      pos:
        line_end: 994
        line_start: 994
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: size_type
      pos:
        line_end: 995
        line_start: 995
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: int
    - item_type: typedef
      name: difference_type
      pos:
        line_end: 996
        line_start: 996
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: ptrdiff_t
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 1006
        line_start: 1006
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<const_iterator>
    - item_type: typedef
      name: reverse_iterator
      pos:
        line_end: 1007
        line_start: 1007
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<iterator>
    - item_type: typedef
      name: pointer_iterator
      pos:
        line_end: 1020
        line_start: 1019
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: RepeatedPtrOverPtrsIterator<Element*, void*>
    - item_type: typedef
      name: const_pointer_iterator
      pos:
        line_end: 1023
        line_start: 1021
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: "RepeatedPtrOverPtrsIterator<const Element* const,\n                                                const
        void* const>"
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 1175
        line_start: 1175
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: void
    - item_type: typedef
      name: Category
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: typename std::iterator_traits<Iter>::iterator_category
    - item_type: typedef
      name: Category
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: typename std::iterator_traits<Iter>::iterator_category
    - item_type: typedef
      name: '* iterator'
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: '* const_iterator'
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: value_type
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: '& reference'
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '& const_reference'
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* pointer'
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* const_pointer'
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: size_type
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: int
    - item_type: typedef
      name: difference_type
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: ptrdiff_t
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<const_iterator>
    - item_type: typedef
      name: reverse_iterator
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<iterator>
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: void
    - item_type: typedef
      name: HasMerge
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: char
    - item_type: typedef
      name: HasNoMerge
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: long
    - item_type: typedef
      name: type
      pos:
        line_end: 541
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: "integral_constant<bool,\n                                 (sizeof(Check<T>(0))
        == sizeof(HasMerge))>"
    - item_type: typedef
      name: type
      pos:
        line_end: 551
        line_start: 551
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: true_type
    - item_type: typedef
      name: Type
      pos:
        line_end: 802
        line_start: 802
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: GenericType
    - item_type: typedef
      name: Type
      pos:
        line_end: 884
        line_start: 884
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: string
    - item_type: typedef
      name: HasMerge
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: char
    - item_type: typedef
      name: HasNoMerge
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: long
    - item_type: typedef
      name: type
      pos:
        line_end: 541
        line_start: 539
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: "integral_constant<bool,\n                                 (sizeof(Check<T>(0))
        == sizeof(HasMerge))>"
    - item_type: typedef
      name: type
      pos:
        line_end: 551
        line_start: 551
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: true_type
    - item_type: typedef
      name: Type
      pos:
        line_end: 802
        line_start: 802
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: GenericType
    - item_type: typedef
      name: Type
      pos:
        line_end: 884
        line_start: 884
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: string
    - item_type: typedef
      name: iterator
      pos:
        line_end: 988
        line_start: 988
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: RepeatedPtrIterator<Element>
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 989
        line_start: 989
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: RepeatedPtrIterator<const Element>
    - item_type: typedef
      name: value_type
      pos:
        line_end: 990
        line_start: 990
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: Element
    - item_type: typedef
      name: '& reference'
      pos:
        line_end: 991
        line_start: 991
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '& const_reference'
      pos:
        line_end: 992
        line_start: 992
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* pointer'
      pos:
        line_end: 993
        line_start: 993
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: '* const_pointer'
      pos:
        line_end: 994
        line_start: 994
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: value_type
    - item_type: typedef
      name: size_type
      pos:
        line_end: 995
        line_start: 995
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: int
    - item_type: typedef
      name: difference_type
      pos:
        line_end: 996
        line_start: 996
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: ptrdiff_t
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 1006
        line_start: 1006
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<const_iterator>
    - item_type: typedef
      name: reverse_iterator
      pos:
        line_end: 1007
        line_start: 1007
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: reverse_iterator<iterator>
    - item_type: typedef
      name: pointer_iterator
      pos:
        line_end: 1020
        line_start: 1019
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: RepeatedPtrOverPtrsIterator<Element*, void*>
    - item_type: typedef
      name: const_pointer_iterator
      pos:
        line_end: 1023
        line_start: 1021
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: "RepeatedPtrOverPtrsIterator<const Element* const,\n                                                const
        void* const>"
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 1175
        line_start: 1175
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/repeated_field.h
      type: void
    union: []
- function_names:
  - google::protobuf::internal::AnyMetadata
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::UnpackTo
  - google::protobuf::internal::Is
  - google::protobuf::internal::AnyMetadata
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::UnpackTo
  - google::protobuf::internal::Is
  - google::protobuf::internal::AnyMetadata
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::UnpackTo
  - google::protobuf::internal::Is
  - google::protobuf::internal::AnyMetadata
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::UnpackTo
  - google::protobuf::internal::Is
  - google::protobuf::internal::AnyMetadata
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::UnpackTo
  - google::protobuf::internal::Is
  - google::protobuf::internal::AnyMetadata
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::UnpackTo
  - google::protobuf::internal::Is
  - google::protobuf::internal::AnyMetadata
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::UnpackTo
  - google::protobuf::internal::Is
  - google::protobuf::internal::AnyMetadata
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::PackFrom
  - google::protobuf::internal::UnpackTo
  - google::protobuf::internal::Is
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: UrlType
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: ValueType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: UrlType
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: ValueType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: UrlType
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: ValueType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: UrlType
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: ValueType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: UrlType
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: ValueType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: UrlType
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: ValueType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: UrlType
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: ValueType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: UrlType
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    - item_type: typedef
      name: ValueType
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/any.h
      type: ArenaStringPtr
    union: []
- function_names:
  - google::protobuf::internal::Raw
  - google::protobuf::internal::Raw
  - google::protobuf::internal::GetExtensionSet
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::SetBit
  - google::protobuf::internal::MutableField
  - google::protobuf::internal::SetField
  - google::protobuf::internal::SetOneofField
  - google::protobuf::internal::ClearOneofField
  - google::protobuf::internal::ResetOneofField
  - google::protobuf::internal::HandleString
  - google::protobuf::internal::HandleEnum
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
  - google::protobuf::internal::RepeatedMessageTypeHandler::Delete
  - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
  - google::protobuf::internal::MergePartialFromCodedStreamInlined
  - HANDLE_TYPE
  - HANDLE_PACKED_TYPE
  - google::protobuf::internal::MergePartialFromCodedStreamImpl
  - google::protobuf::internal::Raw
  - google::protobuf::internal::Raw
  - google::protobuf::internal::GetExtensionSet
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::SetBit
  - google::protobuf::internal::MutableField
  - google::protobuf::internal::SetField
  - google::protobuf::internal::SetOneofField
  - google::protobuf::internal::ClearOneofField
  - google::protobuf::internal::ResetOneofField
  - google::protobuf::internal::HandleString
  - google::protobuf::internal::HandleEnum
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
  - google::protobuf::internal::RepeatedMessageTypeHandler::Delete
  - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
  - google::protobuf::internal::MergePartialFromCodedStreamInlined
  - HANDLE_TYPE
  - HANDLE_PACKED_TYPE
  - google::protobuf::internal::MergePartialFromCodedStreamImpl
  - google::protobuf::internal::Raw
  - google::protobuf::internal::Raw
  - google::protobuf::internal::GetExtensionSet
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::SetBit
  - google::protobuf::internal::MutableField
  - google::protobuf::internal::SetField
  - google::protobuf::internal::SetOneofField
  - google::protobuf::internal::ClearOneofField
  - google::protobuf::internal::ResetOneofField
  - google::protobuf::internal::HandleString
  - google::protobuf::internal::HandleEnum
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
  - google::protobuf::internal::RepeatedMessageTypeHandler::Delete
  - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
  - google::protobuf::internal::MergePartialFromCodedStreamInlined
  - HANDLE_TYPE
  - HANDLE_PACKED_TYPE
  - google::protobuf::internal::MergePartialFromCodedStreamImpl
  - google::protobuf::internal::Raw
  - google::protobuf::internal::Raw
  - google::protobuf::internal::GetExtensionSet
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::SetBit
  - google::protobuf::internal::MutableField
  - google::protobuf::internal::SetField
  - google::protobuf::internal::SetOneofField
  - google::protobuf::internal::ClearOneofField
  - google::protobuf::internal::ResetOneofField
  - google::protobuf::internal::HandleString
  - google::protobuf::internal::HandleEnum
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
  - google::protobuf::internal::RepeatedMessageTypeHandler::Delete
  - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
  - google::protobuf::internal::MergePartialFromCodedStreamInlined
  - HANDLE_TYPE
  - HANDLE_PACKED_TYPE
  - google::protobuf::internal::MergePartialFromCodedStreamImpl
  - google::protobuf::internal::Raw
  - google::protobuf::internal::Raw
  - google::protobuf::internal::GetExtensionSet
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::SetBit
  - google::protobuf::internal::MutableField
  - google::protobuf::internal::SetField
  - google::protobuf::internal::SetOneofField
  - google::protobuf::internal::ClearOneofField
  - google::protobuf::internal::ResetOneofField
  - google::protobuf::internal::HandleString
  - google::protobuf::internal::HandleEnum
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
  - google::protobuf::internal::RepeatedMessageTypeHandler::Delete
  - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
  - google::protobuf::internal::MergePartialFromCodedStreamInlined
  - HANDLE_TYPE
  - HANDLE_PACKED_TYPE
  - google::protobuf::internal::MergePartialFromCodedStreamImpl
  - google::protobuf::internal::Raw
  - google::protobuf::internal::Raw
  - google::protobuf::internal::GetExtensionSet
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::SetBit
  - google::protobuf::internal::MutableField
  - google::protobuf::internal::SetField
  - google::protobuf::internal::SetOneofField
  - google::protobuf::internal::ClearOneofField
  - google::protobuf::internal::ResetOneofField
  - google::protobuf::internal::HandleString
  - google::protobuf::internal::HandleEnum
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
  - google::protobuf::internal::RepeatedMessageTypeHandler::Delete
  - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
  - google::protobuf::internal::MergePartialFromCodedStreamInlined
  - HANDLE_TYPE
  - HANDLE_PACKED_TYPE
  - google::protobuf::internal::MergePartialFromCodedStreamImpl
  - google::protobuf::internal::Raw
  - google::protobuf::internal::Raw
  - google::protobuf::internal::GetExtensionSet
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::SetBit
  - google::protobuf::internal::MutableField
  - google::protobuf::internal::SetField
  - google::protobuf::internal::SetOneofField
  - google::protobuf::internal::ClearOneofField
  - google::protobuf::internal::ResetOneofField
  - google::protobuf::internal::HandleString
  - google::protobuf::internal::HandleEnum
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
  - google::protobuf::internal::RepeatedMessageTypeHandler::Delete
  - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
  - google::protobuf::internal::MergePartialFromCodedStreamInlined
  - HANDLE_TYPE
  - HANDLE_PACKED_TYPE
  - google::protobuf::internal::MergePartialFromCodedStreamImpl
  - google::protobuf::internal::Raw
  - google::protobuf::internal::Raw
  - google::protobuf::internal::GetExtensionSet
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::AddField
  - google::protobuf::internal::SetBit
  - google::protobuf::internal::MutableField
  - google::protobuf::internal::SetField
  - google::protobuf::internal::SetOneofField
  - google::protobuf::internal::ClearOneofField
  - google::protobuf::internal::ResetOneofField
  - google::protobuf::internal::HandleString
  - google::protobuf::internal::HandleEnum
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetArena
  - google::protobuf::internal::RepeatedMessageTypeHandler::GetMaybeArenaPointer
  - google::protobuf::internal::RepeatedMessageTypeHandler::NewFromPrototype
  - google::protobuf::internal::RepeatedMessageTypeHandler::Delete
  - google::protobuf::internal::MergePartialFromCodedStreamHelper::Add
  - google::protobuf::internal::MergePartialFromCodedStreamInlined
  - HANDLE_TYPE
  - HANDLE_PACKED_TYPE
  - google::protobuf::internal::MergePartialFromCodedStreamImpl
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
  types:
    enum:
    - enumerators:
      - name: StringType_STRING
        value: '0'
      item_type: enum
      name: StringType
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: ProcessingType_STRING
        value: '0'
      - name: ProcessingType_MESSAGE
        value: '3'
      - name: ProcessingType_STRING_PIECE
        value: '2'
      - name: ProcessingType_CORD
        value: '1'
      item_type: enum
      name: ProcessingType
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: Cardinality_SINGULAR
        value: '0'
      - name: Cardinality_REPEATED
        value: '1'
      - name: Cardinality_ONEOF
        value: '3'
      item_type: enum
      name: Cardinality
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: StringType_STRING
        value: '0'
      item_type: enum
      name: StringType
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: ProcessingType_STRING
        value: '0'
      - name: ProcessingType_MESSAGE
        value: '3'
      - name: ProcessingType_STRING_PIECE
        value: '2'
      - name: ProcessingType_CORD
        value: '1'
      item_type: enum
      name: ProcessingType
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: Cardinality_SINGULAR
        value: '0'
      - name: Cardinality_REPEATED
        value: '1'
      - name: Cardinality_ONEOF
        value: '3'
      item_type: enum
      name: Cardinality
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: StringType_STRING
        value: '0'
      item_type: enum
      name: StringType
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: ProcessingType_STRING
        value: '0'
      - name: ProcessingType_MESSAGE
        value: '3'
      - name: ProcessingType_STRING_PIECE
        value: '2'
      - name: ProcessingType_CORD
        value: '1'
      item_type: enum
      name: ProcessingType
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: Cardinality_SINGULAR
        value: '0'
      - name: Cardinality_REPEATED
        value: '1'
      - name: Cardinality_ONEOF
        value: '3'
      item_type: enum
      name: Cardinality
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: StringType_STRING
        value: '0'
      item_type: enum
      name: StringType
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: ProcessingType_STRING
        value: '0'
      - name: ProcessingType_MESSAGE
        value: '3'
      - name: ProcessingType_STRING_PIECE
        value: '2'
      - name: ProcessingType_CORD
        value: '1'
      item_type: enum
      name: ProcessingType
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: Cardinality_SINGULAR
        value: '0'
      - name: Cardinality_REPEATED
        value: '1'
      - name: Cardinality_ONEOF
        value: '3'
      item_type: enum
      name: Cardinality
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: StringType_STRING
        value: '0'
      item_type: enum
      name: StringType
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: ProcessingType_STRING
        value: '0'
      - name: ProcessingType_MESSAGE
        value: '3'
      - name: ProcessingType_STRING_PIECE
        value: '2'
      - name: ProcessingType_CORD
        value: '1'
      item_type: enum
      name: ProcessingType
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: Cardinality_SINGULAR
        value: '0'
      - name: Cardinality_REPEATED
        value: '1'
      - name: Cardinality_ONEOF
        value: '3'
      item_type: enum
      name: Cardinality
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: StringType_STRING
        value: '0'
      item_type: enum
      name: StringType
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: ProcessingType_STRING
        value: '0'
      - name: ProcessingType_MESSAGE
        value: '3'
      - name: ProcessingType_STRING_PIECE
        value: '2'
      - name: ProcessingType_CORD
        value: '1'
      item_type: enum
      name: ProcessingType
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: Cardinality_SINGULAR
        value: '0'
      - name: Cardinality_REPEATED
        value: '1'
      - name: Cardinality_ONEOF
        value: '3'
      item_type: enum
      name: Cardinality
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: StringType_STRING
        value: '0'
      item_type: enum
      name: StringType
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: ProcessingType_STRING
        value: '0'
      - name: ProcessingType_MESSAGE
        value: '3'
      - name: ProcessingType_STRING_PIECE
        value: '2'
      - name: ProcessingType_CORD
        value: '1'
      item_type: enum
      name: ProcessingType
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: Cardinality_SINGULAR
        value: '0'
      - name: Cardinality_REPEATED
        value: '1'
      - name: Cardinality_ONEOF
        value: '3'
      item_type: enum
      name: Cardinality
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: StringType_STRING
        value: '0'
      item_type: enum
      name: StringType
      pos:
        line_end: 51
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: ProcessingType_STRING
        value: '0'
      - name: ProcessingType_MESSAGE
        value: '3'
      - name: ProcessingType_STRING_PIECE
        value: '2'
      - name: ProcessingType_CORD
        value: '1'
      item_type: enum
      name: ProcessingType
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    - enumerators:
      - name: Cardinality_SINGULAR
        value: '0'
      - name: Cardinality_REPEATED
        value: '1'
      - name: Cardinality_ONEOF
        value: '3'
      item_type: enum
      name: Cardinality
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: Type
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: WeakType
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: Type
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: WeakType
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: Type
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: WeakType
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: Type
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: WeakType
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: Type
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: WeakType
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: Type
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: WeakType
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: Type
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: WeakType
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: Type
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    - item_type: typedef
      name: WeakType
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_message_table_driven_lite.h
      type: MessageLite
    union: []
- function_names:
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::InternalSerialize
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - ~MapEntryImpl()
  - '& key() const'
  - '& value() const'
  - google::protobuf::internal::MapEntryImpl::mutable_key
  - google::protobuf::internal::MapEntryImpl::mutable_value
  - google::protobuf::internal::MapEntryImpl::GetTypeName
  - google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
  - google::protobuf::internal::MapEntryImpl::_InternalParse
  - google::protobuf::internal::MapEntryImpl::ByteSizeLong
  - google::protobuf::internal::MapEntryImpl::_InternalSerialize
  - google::protobuf::internal::MapEntryImpl::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::IsInitialized
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::MergeFromInternal
  - google::protobuf::internal::MapEntryImpl::Clear
  - google::protobuf::internal::MapEntryImpl::Parser::Parser
  - ~Parser()
  - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
  - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
  - google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
  - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
  - '& key() const'
  - '& value() const'
  - '& entry_key() const'
  - '& entry_value() const'
  - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
  - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
  - google::protobuf::internal::MapEntryImpl::set_has_key
  - google::protobuf::internal::MapEntryImpl::has_key
  - google::protobuf::internal::MapEntryImpl::clear_has_key
  - google::protobuf::internal::MapEntryImpl::set_has_value
  - google::protobuf::internal::MapEntryImpl::has_value
  - google::protobuf::internal::MapEntryImpl::clear_has_value
  - google::protobuf::internal::MapEntryImpl::GetArena
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - ~MapEntryLite()
  - google::protobuf::internal::MapEntryLite::MergeFrom
  - google::protobuf::internal::SortItem
  - google::protobuf::internal::SortItem
  - operator()(const T& a, const T& b) const
  - operator()(const T& a, const T& b) const
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::MapEntryHelper
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::InternalSerialize
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - ~MapEntryImpl()
  - '& key() const'
  - '& value() const'
  - google::protobuf::internal::MapEntryImpl::mutable_key
  - google::protobuf::internal::MapEntryImpl::mutable_value
  - google::protobuf::internal::MapEntryImpl::GetTypeName
  - google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
  - google::protobuf::internal::MapEntryImpl::_InternalParse
  - google::protobuf::internal::MapEntryImpl::ByteSizeLong
  - google::protobuf::internal::MapEntryImpl::_InternalSerialize
  - google::protobuf::internal::MapEntryImpl::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::IsInitialized
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::MergeFromInternal
  - google::protobuf::internal::MapEntryImpl::Clear
  - google::protobuf::internal::MapEntryImpl::Parser::Parser
  - ~Parser()
  - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
  - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
  - google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
  - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
  - '& key() const'
  - '& value() const'
  - '& entry_key() const'
  - '& entry_value() const'
  - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
  - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
  - google::protobuf::internal::MapEntryImpl::set_has_key
  - google::protobuf::internal::MapEntryImpl::has_key
  - google::protobuf::internal::MapEntryImpl::clear_has_key
  - google::protobuf::internal::MapEntryImpl::set_has_value
  - google::protobuf::internal::MapEntryImpl::has_value
  - google::protobuf::internal::MapEntryImpl::clear_has_value
  - google::protobuf::internal::MapEntryImpl::GetArena
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - ~MapEntryLite()
  - google::protobuf::internal::MapEntryLite::MergeFrom
  - google::protobuf::internal::SortItem
  - google::protobuf::internal::SortItem
  - operator()(const T& a, const T& b) const
  - operator()(const T& a, const T& b) const
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::MapEntryHelper
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::InternalSerialize
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - ~MapEntryImpl()
  - '& key() const'
  - '& value() const'
  - google::protobuf::internal::MapEntryImpl::mutable_key
  - google::protobuf::internal::MapEntryImpl::mutable_value
  - google::protobuf::internal::MapEntryImpl::GetTypeName
  - google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
  - google::protobuf::internal::MapEntryImpl::_InternalParse
  - google::protobuf::internal::MapEntryImpl::ByteSizeLong
  - google::protobuf::internal::MapEntryImpl::_InternalSerialize
  - google::protobuf::internal::MapEntryImpl::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::IsInitialized
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::MergeFromInternal
  - google::protobuf::internal::MapEntryImpl::Clear
  - google::protobuf::internal::MapEntryImpl::Parser::Parser
  - ~Parser()
  - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
  - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
  - google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
  - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
  - '& key() const'
  - '& value() const'
  - '& entry_key() const'
  - '& entry_value() const'
  - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
  - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
  - google::protobuf::internal::MapEntryImpl::set_has_key
  - google::protobuf::internal::MapEntryImpl::has_key
  - google::protobuf::internal::MapEntryImpl::clear_has_key
  - google::protobuf::internal::MapEntryImpl::set_has_value
  - google::protobuf::internal::MapEntryImpl::has_value
  - google::protobuf::internal::MapEntryImpl::clear_has_value
  - google::protobuf::internal::MapEntryImpl::GetArena
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - ~MapEntryLite()
  - google::protobuf::internal::MapEntryLite::MergeFrom
  - google::protobuf::internal::SortItem
  - google::protobuf::internal::SortItem
  - operator()(const T& a, const T& b) const
  - operator()(const T& a, const T& b) const
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::MapEntryHelper
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::InternalSerialize
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - ~MapEntryImpl()
  - '& key() const'
  - '& value() const'
  - google::protobuf::internal::MapEntryImpl::mutable_key
  - google::protobuf::internal::MapEntryImpl::mutable_value
  - google::protobuf::internal::MapEntryImpl::GetTypeName
  - google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
  - google::protobuf::internal::MapEntryImpl::_InternalParse
  - google::protobuf::internal::MapEntryImpl::ByteSizeLong
  - google::protobuf::internal::MapEntryImpl::_InternalSerialize
  - google::protobuf::internal::MapEntryImpl::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::IsInitialized
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::MergeFromInternal
  - google::protobuf::internal::MapEntryImpl::Clear
  - google::protobuf::internal::MapEntryImpl::Parser::Parser
  - ~Parser()
  - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
  - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
  - google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
  - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
  - '& key() const'
  - '& value() const'
  - '& entry_key() const'
  - '& entry_value() const'
  - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
  - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
  - google::protobuf::internal::MapEntryImpl::set_has_key
  - google::protobuf::internal::MapEntryImpl::has_key
  - google::protobuf::internal::MapEntryImpl::clear_has_key
  - google::protobuf::internal::MapEntryImpl::set_has_value
  - google::protobuf::internal::MapEntryImpl::has_value
  - google::protobuf::internal::MapEntryImpl::clear_has_value
  - google::protobuf::internal::MapEntryImpl::GetArena
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - ~MapEntryLite()
  - google::protobuf::internal::MapEntryLite::MergeFrom
  - google::protobuf::internal::SortItem
  - google::protobuf::internal::SortItem
  - operator()(const T& a, const T& b) const
  - operator()(const T& a, const T& b) const
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::MapEntryHelper
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::InternalSerialize
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - ~MapEntryImpl()
  - '& key() const'
  - '& value() const'
  - google::protobuf::internal::MapEntryImpl::mutable_key
  - google::protobuf::internal::MapEntryImpl::mutable_value
  - google::protobuf::internal::MapEntryImpl::GetTypeName
  - google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
  - google::protobuf::internal::MapEntryImpl::_InternalParse
  - google::protobuf::internal::MapEntryImpl::ByteSizeLong
  - google::protobuf::internal::MapEntryImpl::_InternalSerialize
  - google::protobuf::internal::MapEntryImpl::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::IsInitialized
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::MergeFromInternal
  - google::protobuf::internal::MapEntryImpl::Clear
  - google::protobuf::internal::MapEntryImpl::Parser::Parser
  - ~Parser()
  - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
  - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
  - google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
  - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
  - '& key() const'
  - '& value() const'
  - '& entry_key() const'
  - '& entry_value() const'
  - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
  - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
  - google::protobuf::internal::MapEntryImpl::set_has_key
  - google::protobuf::internal::MapEntryImpl::has_key
  - google::protobuf::internal::MapEntryImpl::clear_has_key
  - google::protobuf::internal::MapEntryImpl::set_has_value
  - google::protobuf::internal::MapEntryImpl::has_value
  - google::protobuf::internal::MapEntryImpl::clear_has_value
  - google::protobuf::internal::MapEntryImpl::GetArena
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - ~MapEntryLite()
  - google::protobuf::internal::MapEntryLite::MergeFrom
  - google::protobuf::internal::SortItem
  - google::protobuf::internal::SortItem
  - operator()(const T& a, const T& b) const
  - operator()(const T& a, const T& b) const
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::MapEntryHelper
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::InternalSerialize
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - ~MapEntryImpl()
  - '& key() const'
  - '& value() const'
  - google::protobuf::internal::MapEntryImpl::mutable_key
  - google::protobuf::internal::MapEntryImpl::mutable_value
  - google::protobuf::internal::MapEntryImpl::GetTypeName
  - google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
  - google::protobuf::internal::MapEntryImpl::_InternalParse
  - google::protobuf::internal::MapEntryImpl::ByteSizeLong
  - google::protobuf::internal::MapEntryImpl::_InternalSerialize
  - google::protobuf::internal::MapEntryImpl::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::IsInitialized
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::MergeFromInternal
  - google::protobuf::internal::MapEntryImpl::Clear
  - google::protobuf::internal::MapEntryImpl::Parser::Parser
  - ~Parser()
  - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
  - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
  - google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
  - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
  - '& key() const'
  - '& value() const'
  - '& entry_key() const'
  - '& entry_value() const'
  - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
  - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
  - google::protobuf::internal::MapEntryImpl::set_has_key
  - google::protobuf::internal::MapEntryImpl::has_key
  - google::protobuf::internal::MapEntryImpl::clear_has_key
  - google::protobuf::internal::MapEntryImpl::set_has_value
  - google::protobuf::internal::MapEntryImpl::has_value
  - google::protobuf::internal::MapEntryImpl::clear_has_value
  - google::protobuf::internal::MapEntryImpl::GetArena
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - ~MapEntryLite()
  - google::protobuf::internal::MapEntryLite::MergeFrom
  - google::protobuf::internal::SortItem
  - google::protobuf::internal::SortItem
  - operator()(const T& a, const T& b) const
  - operator()(const T& a, const T& b) const
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::MapEntryHelper
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::InternalSerialize
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - ~MapEntryImpl()
  - '& key() const'
  - '& value() const'
  - google::protobuf::internal::MapEntryImpl::mutable_key
  - google::protobuf::internal::MapEntryImpl::mutable_value
  - google::protobuf::internal::MapEntryImpl::GetTypeName
  - google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
  - google::protobuf::internal::MapEntryImpl::_InternalParse
  - google::protobuf::internal::MapEntryImpl::ByteSizeLong
  - google::protobuf::internal::MapEntryImpl::_InternalSerialize
  - google::protobuf::internal::MapEntryImpl::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::IsInitialized
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::MergeFromInternal
  - google::protobuf::internal::MapEntryImpl::Clear
  - google::protobuf::internal::MapEntryImpl::Parser::Parser
  - ~Parser()
  - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
  - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
  - google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
  - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
  - '& key() const'
  - '& value() const'
  - '& entry_key() const'
  - '& entry_value() const'
  - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
  - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
  - google::protobuf::internal::MapEntryImpl::set_has_key
  - google::protobuf::internal::MapEntryImpl::has_key
  - google::protobuf::internal::MapEntryImpl::clear_has_key
  - google::protobuf::internal::MapEntryImpl::set_has_value
  - google::protobuf::internal::MapEntryImpl::has_value
  - google::protobuf::internal::MapEntryImpl::clear_has_value
  - google::protobuf::internal::MapEntryImpl::GetArena
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - ~MapEntryLite()
  - google::protobuf::internal::MapEntryLite::MergeFrom
  - google::protobuf::internal::SortItem
  - google::protobuf::internal::SortItem
  - operator()(const T& a, const T& b) const
  - operator()(const T& a, const T& b) const
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::MapEntryHelper
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::Move
  - google::protobuf::internal::InternalSerialize
  - google::protobuf::internal::ByteSizeLong
  - google::protobuf::internal::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - google::protobuf::internal::MapEntryImpl::MapEntryImpl
  - ~MapEntryImpl()
  - '& key() const'
  - '& value() const'
  - google::protobuf::internal::MapEntryImpl::mutable_key
  - google::protobuf::internal::MapEntryImpl::mutable_value
  - google::protobuf::internal::MapEntryImpl::GetTypeName
  - google::protobuf::internal::MapEntryImpl::CheckTypeAndMergeFrom
  - google::protobuf::internal::MapEntryImpl::_InternalParse
  - google::protobuf::internal::MapEntryImpl::ByteSizeLong
  - google::protobuf::internal::MapEntryImpl::_InternalSerialize
  - google::protobuf::internal::MapEntryImpl::GetCachedSize
  - google::protobuf::internal::MapEntryImpl::IsInitialized
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::New
  - google::protobuf::internal::MapEntryImpl::MergeFromInternal
  - google::protobuf::internal::MapEntryImpl::Clear
  - google::protobuf::internal::MapEntryImpl::Parser::Parser
  - ~Parser()
  - google::protobuf::internal::MapEntryImpl::Parser::MergePartialFromCodedStream
  - google::protobuf::internal::MapEntryImpl::Parser::_InternalParse
  - google::protobuf::internal::MapEntryImpl::Parser::ParseWithEnumValidation
  - google::protobuf::internal::MapEntryImpl::Parser::NewEntry
  - '& key() const'
  - '& value() const'
  - '& entry_key() const'
  - '& entry_value() const'
  - google::protobuf::internal::MapEntryImpl::Parser::UseKeyAndValueFromEntry
  - google::protobuf::internal::MapEntryImpl::Parser::ReadBeyondKeyValuePair
  - google::protobuf::internal::MapEntryImpl::set_has_key
  - google::protobuf::internal::MapEntryImpl::has_key
  - google::protobuf::internal::MapEntryImpl::clear_has_key
  - google::protobuf::internal::MapEntryImpl::set_has_value
  - google::protobuf::internal::MapEntryImpl::has_value
  - google::protobuf::internal::MapEntryImpl::clear_has_value
  - google::protobuf::internal::MapEntryImpl::GetArena
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - google::protobuf::internal::MapEntryLite::MapEntryLite
  - ~MapEntryLite()
  - google::protobuf::internal::MapEntryLite::MergeFrom
  - google::protobuf::internal::SortItem
  - google::protobuf::internal::SortItem
  - operator()(const T& a, const T& b) const
  - operator()(const T& a, const T& b) const
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::From
  - google::protobuf::internal::MapEntryHelper
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: MoveHelper
      pos:
        line_end: 77
        line_start: 75
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<true, is_message, is_stringlike, T>
      pos:
        line_end: 85
        line_start: 80
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, true, is_stringlike, T>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, false, true, T>
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldNumber
        type: int
      - name: kValueFieldNumber
        type: int
      item_type: struct
      name: MapEntryFuncs
      pos:
        line_end: 135
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldType
        type: WireFormatLite::FieldType
      - name: kValueFieldType
        type: WireFormatLite::FieldType
      item_type: struct
      name: DeconstructMapEntry<MapEntryLite<T, K, V, key, value> >
      pos:
        line_end: 545
        line_start: 540
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: first
        type: Key
      - name: second
        type: PtrToKeyValuePair
      item_type: struct
      name: SortItem
      pos:
        line_end: 560
        line_start: 554
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByFirstField
      pos:
        line_end: 565
        line_start: 563
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByDerefFirst
      pos:
        line_end: 570
        line_start: 568
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper
      pos:
        line_end: 580
        line_start: 575
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 591
        line_start: 583
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 601
        line_start: 593
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 608
        line_start: 603
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: _has_bits_
        type: uint32
      - name: _cached_size_
        type: uint32
      - name: key_
        type: KeyOnMemory
      - name: value_
        type: ValueOnMemory
      item_type: struct
      name: "MapEntryHelper<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>
        >"
      pos:
        line_end: 644
        line_start: 616
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper
      pos:
        line_end: 77
        line_start: 75
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<true, is_message, is_stringlike, T>
      pos:
        line_end: 85
        line_start: 80
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, true, is_stringlike, T>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, false, true, T>
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldNumber
        type: int
      - name: kValueFieldNumber
        type: int
      item_type: struct
      name: MapEntryFuncs
      pos:
        line_end: 135
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldType
        type: WireFormatLite::FieldType
      - name: kValueFieldType
        type: WireFormatLite::FieldType
      item_type: struct
      name: DeconstructMapEntry<MapEntryLite<T, K, V, key, value> >
      pos:
        line_end: 545
        line_start: 540
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: first
        type: Key
      - name: second
        type: PtrToKeyValuePair
      item_type: struct
      name: SortItem
      pos:
        line_end: 560
        line_start: 554
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByFirstField
      pos:
        line_end: 565
        line_start: 563
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByDerefFirst
      pos:
        line_end: 570
        line_start: 568
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper
      pos:
        line_end: 580
        line_start: 575
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 591
        line_start: 583
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 601
        line_start: 593
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 608
        line_start: 603
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: _has_bits_
        type: uint32
      - name: _cached_size_
        type: uint32
      - name: key_
        type: KeyOnMemory
      - name: value_
        type: ValueOnMemory
      item_type: struct
      name: "MapEntryHelper<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>
        >"
      pos:
        line_end: 644
        line_start: 616
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper
      pos:
        line_end: 77
        line_start: 75
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<true, is_message, is_stringlike, T>
      pos:
        line_end: 85
        line_start: 80
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, true, is_stringlike, T>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, false, true, T>
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldNumber
        type: int
      - name: kValueFieldNumber
        type: int
      item_type: struct
      name: MapEntryFuncs
      pos:
        line_end: 135
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldType
        type: WireFormatLite::FieldType
      - name: kValueFieldType
        type: WireFormatLite::FieldType
      item_type: struct
      name: DeconstructMapEntry<MapEntryLite<T, K, V, key, value> >
      pos:
        line_end: 545
        line_start: 540
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: first
        type: Key
      - name: second
        type: PtrToKeyValuePair
      item_type: struct
      name: SortItem
      pos:
        line_end: 560
        line_start: 554
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByFirstField
      pos:
        line_end: 565
        line_start: 563
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByDerefFirst
      pos:
        line_end: 570
        line_start: 568
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper
      pos:
        line_end: 580
        line_start: 575
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 591
        line_start: 583
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 601
        line_start: 593
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 608
        line_start: 603
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: _has_bits_
        type: uint32
      - name: _cached_size_
        type: uint32
      - name: key_
        type: KeyOnMemory
      - name: value_
        type: ValueOnMemory
      item_type: struct
      name: "MapEntryHelper<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>
        >"
      pos:
        line_end: 644
        line_start: 616
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper
      pos:
        line_end: 77
        line_start: 75
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<true, is_message, is_stringlike, T>
      pos:
        line_end: 85
        line_start: 80
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, true, is_stringlike, T>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, false, true, T>
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldNumber
        type: int
      - name: kValueFieldNumber
        type: int
      item_type: struct
      name: MapEntryFuncs
      pos:
        line_end: 135
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldType
        type: WireFormatLite::FieldType
      - name: kValueFieldType
        type: WireFormatLite::FieldType
      item_type: struct
      name: DeconstructMapEntry<MapEntryLite<T, K, V, key, value> >
      pos:
        line_end: 545
        line_start: 540
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: first
        type: Key
      - name: second
        type: PtrToKeyValuePair
      item_type: struct
      name: SortItem
      pos:
        line_end: 560
        line_start: 554
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByFirstField
      pos:
        line_end: 565
        line_start: 563
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByDerefFirst
      pos:
        line_end: 570
        line_start: 568
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper
      pos:
        line_end: 580
        line_start: 575
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 591
        line_start: 583
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 601
        line_start: 593
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 608
        line_start: 603
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: _has_bits_
        type: uint32
      - name: _cached_size_
        type: uint32
      - name: key_
        type: KeyOnMemory
      - name: value_
        type: ValueOnMemory
      item_type: struct
      name: "MapEntryHelper<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>
        >"
      pos:
        line_end: 644
        line_start: 616
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper
      pos:
        line_end: 77
        line_start: 75
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<true, is_message, is_stringlike, T>
      pos:
        line_end: 85
        line_start: 80
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, true, is_stringlike, T>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, false, true, T>
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldNumber
        type: int
      - name: kValueFieldNumber
        type: int
      item_type: struct
      name: MapEntryFuncs
      pos:
        line_end: 135
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldType
        type: WireFormatLite::FieldType
      - name: kValueFieldType
        type: WireFormatLite::FieldType
      item_type: struct
      name: DeconstructMapEntry<MapEntryLite<T, K, V, key, value> >
      pos:
        line_end: 545
        line_start: 540
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: first
        type: Key
      - name: second
        type: PtrToKeyValuePair
      item_type: struct
      name: SortItem
      pos:
        line_end: 560
        line_start: 554
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByFirstField
      pos:
        line_end: 565
        line_start: 563
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByDerefFirst
      pos:
        line_end: 570
        line_start: 568
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper
      pos:
        line_end: 580
        line_start: 575
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 591
        line_start: 583
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 601
        line_start: 593
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 608
        line_start: 603
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: _has_bits_
        type: uint32
      - name: _cached_size_
        type: uint32
      - name: key_
        type: KeyOnMemory
      - name: value_
        type: ValueOnMemory
      item_type: struct
      name: "MapEntryHelper<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>
        >"
      pos:
        line_end: 644
        line_start: 616
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper
      pos:
        line_end: 77
        line_start: 75
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<true, is_message, is_stringlike, T>
      pos:
        line_end: 85
        line_start: 80
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, true, is_stringlike, T>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, false, true, T>
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldNumber
        type: int
      - name: kValueFieldNumber
        type: int
      item_type: struct
      name: MapEntryFuncs
      pos:
        line_end: 135
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldType
        type: WireFormatLite::FieldType
      - name: kValueFieldType
        type: WireFormatLite::FieldType
      item_type: struct
      name: DeconstructMapEntry<MapEntryLite<T, K, V, key, value> >
      pos:
        line_end: 545
        line_start: 540
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: first
        type: Key
      - name: second
        type: PtrToKeyValuePair
      item_type: struct
      name: SortItem
      pos:
        line_end: 560
        line_start: 554
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByFirstField
      pos:
        line_end: 565
        line_start: 563
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByDerefFirst
      pos:
        line_end: 570
        line_start: 568
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper
      pos:
        line_end: 580
        line_start: 575
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 591
        line_start: 583
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 601
        line_start: 593
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 608
        line_start: 603
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: _has_bits_
        type: uint32
      - name: _cached_size_
        type: uint32
      - name: key_
        type: KeyOnMemory
      - name: value_
        type: ValueOnMemory
      item_type: struct
      name: "MapEntryHelper<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>
        >"
      pos:
        line_end: 644
        line_start: 616
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper
      pos:
        line_end: 77
        line_start: 75
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<true, is_message, is_stringlike, T>
      pos:
        line_end: 85
        line_start: 80
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, true, is_stringlike, T>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, false, true, T>
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldNumber
        type: int
      - name: kValueFieldNumber
        type: int
      item_type: struct
      name: MapEntryFuncs
      pos:
        line_end: 135
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldType
        type: WireFormatLite::FieldType
      - name: kValueFieldType
        type: WireFormatLite::FieldType
      item_type: struct
      name: DeconstructMapEntry<MapEntryLite<T, K, V, key, value> >
      pos:
        line_end: 545
        line_start: 540
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: first
        type: Key
      - name: second
        type: PtrToKeyValuePair
      item_type: struct
      name: SortItem
      pos:
        line_end: 560
        line_start: 554
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByFirstField
      pos:
        line_end: 565
        line_start: 563
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByDerefFirst
      pos:
        line_end: 570
        line_start: 568
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper
      pos:
        line_end: 580
        line_start: 575
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 591
        line_start: 583
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 601
        line_start: 593
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 608
        line_start: 603
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: _has_bits_
        type: uint32
      - name: _cached_size_
        type: uint32
      - name: key_
        type: KeyOnMemory
      - name: value_
        type: ValueOnMemory
      item_type: struct
      name: "MapEntryHelper<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>
        >"
      pos:
        line_end: 644
        line_start: 616
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper
      pos:
        line_end: 77
        line_start: 75
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<true, is_message, is_stringlike, T>
      pos:
        line_end: 85
        line_start: 80
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, true, is_stringlike, T>
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: MoveHelper<false, false, true, T>
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldNumber
        type: int
      - name: kValueFieldNumber
        type: int
      item_type: struct
      name: MapEntryFuncs
      pos:
        line_end: 135
        line_start: 103
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: kKeyFieldType
        type: WireFormatLite::FieldType
      - name: kValueFieldType
        type: WireFormatLite::FieldType
      item_type: struct
      name: DeconstructMapEntry<MapEntryLite<T, K, V, key, value> >
      pos:
        line_end: 545
        line_start: 540
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: first
        type: Key
      - name: second
        type: PtrToKeyValuePair
      item_type: struct
      name: SortItem
      pos:
        line_end: 560
        line_start: 554
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByFirstField
      pos:
        line_end: 565
        line_start: 563
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: CompareByDerefFirst
      pos:
        line_end: 570
        line_start: 568
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper
      pos:
        line_end: 580
        line_start: 575
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_STRING>
      pos:
        line_end: 591
        line_start: 583
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_BYTES>
      pos:
        line_end: 601
        line_start: 593
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields: []
      item_type: struct
      name: FromHelper<WireFormatLite::TYPE_MESSAGE>
      pos:
        line_end: 608
        line_start: 603
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    - fields:
      - name: _has_bits_
        type: uint32
      - name: _cached_size_
        type: uint32
      - name: key_
        type: KeyOnMemory
      - name: value_
        type: ValueOnMemory
      item_type: struct
      name: "MapEntryHelper<\n    MapEntryLite<T, Key, Value, kKeyFieldType, kValueFieldType>
        >"
      pos:
        line_end: 644
        line_start: 616
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
    typedefs:
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: Funcs
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryFuncs
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyMapEntryAccessorType
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: ValueMapEntryAccessorType
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: MapEntryHasMergeTypeTrait
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Derived
    - item_type: typedef
      name: EntryKeyType
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Key
    - item_type: typedef
      name: EntryValueType
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Value
    - item_type: typedef
      name: T
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename MapIf<ValueTypeHandler::kIsEnum, int*, Value*>::type
    - item_type: typedef
      name: KeyMover
      pos:
        line_end: 471
        line_start: 467
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: ValueMover
      pos:
        line_end: 476
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: SuperType
      pos:
        line_end: 523
        line_start: 521
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryImpl
    - item_type: typedef
      name: Key
      pos:
        line_end: 541
        line_start: 541
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: K
    - item_type: typedef
      name: Value
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: V
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 620
        line_start: 620
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 621
        line_start: 621
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 625
        line_start: 625
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 626
        line_start: 626
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: Funcs
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryFuncs
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyMapEntryAccessorType
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: ValueMapEntryAccessorType
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: MapEntryHasMergeTypeTrait
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Derived
    - item_type: typedef
      name: EntryKeyType
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Key
    - item_type: typedef
      name: EntryValueType
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Value
    - item_type: typedef
      name: T
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename MapIf<ValueTypeHandler::kIsEnum, int*, Value*>::type
    - item_type: typedef
      name: KeyMover
      pos:
        line_end: 471
        line_start: 467
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: ValueMover
      pos:
        line_end: 476
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: SuperType
      pos:
        line_end: 523
        line_start: 521
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryImpl
    - item_type: typedef
      name: Key
      pos:
        line_end: 541
        line_start: 541
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: K
    - item_type: typedef
      name: Value
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: V
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 620
        line_start: 620
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 621
        line_start: 621
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 625
        line_start: 625
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 626
        line_start: 626
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: Funcs
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryFuncs
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyMapEntryAccessorType
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: ValueMapEntryAccessorType
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: MapEntryHasMergeTypeTrait
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Derived
    - item_type: typedef
      name: EntryKeyType
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Key
    - item_type: typedef
      name: EntryValueType
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Value
    - item_type: typedef
      name: T
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename MapIf<ValueTypeHandler::kIsEnum, int*, Value*>::type
    - item_type: typedef
      name: KeyMover
      pos:
        line_end: 471
        line_start: 467
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: ValueMover
      pos:
        line_end: 476
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: SuperType
      pos:
        line_end: 523
        line_start: 521
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryImpl
    - item_type: typedef
      name: Key
      pos:
        line_end: 541
        line_start: 541
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: K
    - item_type: typedef
      name: Value
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: V
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 620
        line_start: 620
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 621
        line_start: 621
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 625
        line_start: 625
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 626
        line_start: 626
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: Funcs
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryFuncs
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyMapEntryAccessorType
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: ValueMapEntryAccessorType
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: MapEntryHasMergeTypeTrait
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Derived
    - item_type: typedef
      name: EntryKeyType
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Key
    - item_type: typedef
      name: EntryValueType
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Value
    - item_type: typedef
      name: T
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename MapIf<ValueTypeHandler::kIsEnum, int*, Value*>::type
    - item_type: typedef
      name: KeyMover
      pos:
        line_end: 471
        line_start: 467
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: ValueMover
      pos:
        line_end: 476
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: SuperType
      pos:
        line_end: 523
        line_start: 521
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryImpl
    - item_type: typedef
      name: Key
      pos:
        line_end: 541
        line_start: 541
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: K
    - item_type: typedef
      name: Value
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: V
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 620
        line_start: 620
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 621
        line_start: 621
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 625
        line_start: 625
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 626
        line_start: 626
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: Funcs
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryFuncs
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyMapEntryAccessorType
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: ValueMapEntryAccessorType
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: MapEntryHasMergeTypeTrait
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Derived
    - item_type: typedef
      name: EntryKeyType
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Key
    - item_type: typedef
      name: EntryValueType
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Value
    - item_type: typedef
      name: T
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename MapIf<ValueTypeHandler::kIsEnum, int*, Value*>::type
    - item_type: typedef
      name: KeyMover
      pos:
        line_end: 471
        line_start: 467
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: ValueMover
      pos:
        line_end: 476
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: SuperType
      pos:
        line_end: 523
        line_start: 521
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryImpl
    - item_type: typedef
      name: Key
      pos:
        line_end: 541
        line_start: 541
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: K
    - item_type: typedef
      name: Value
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: V
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 620
        line_start: 620
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 621
        line_start: 621
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 625
        line_start: 625
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 626
        line_start: 626
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: Funcs
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryFuncs
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyMapEntryAccessorType
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: ValueMapEntryAccessorType
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: MapEntryHasMergeTypeTrait
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Derived
    - item_type: typedef
      name: EntryKeyType
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Key
    - item_type: typedef
      name: EntryValueType
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Value
    - item_type: typedef
      name: T
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename MapIf<ValueTypeHandler::kIsEnum, int*, Value*>::type
    - item_type: typedef
      name: KeyMover
      pos:
        line_end: 471
        line_start: 467
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: ValueMover
      pos:
        line_end: 476
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: SuperType
      pos:
        line_end: 523
        line_start: 521
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryImpl
    - item_type: typedef
      name: Key
      pos:
        line_end: 541
        line_start: 541
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: K
    - item_type: typedef
      name: Value
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: V
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 620
        line_start: 620
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 621
        line_start: 621
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 625
        line_start: 625
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 626
        line_start: 626
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: Funcs
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryFuncs
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyMapEntryAccessorType
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: ValueMapEntryAccessorType
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: MapEntryHasMergeTypeTrait
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Derived
    - item_type: typedef
      name: EntryKeyType
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Key
    - item_type: typedef
      name: EntryValueType
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Value
    - item_type: typedef
      name: T
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename MapIf<ValueTypeHandler::kIsEnum, int*, Value*>::type
    - item_type: typedef
      name: KeyMover
      pos:
        line_end: 471
        line_start: 467
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: ValueMover
      pos:
        line_end: 476
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: SuperType
      pos:
        line_end: 523
        line_start: 521
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryImpl
    - item_type: typedef
      name: Key
      pos:
        line_end: 541
        line_start: 541
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: K
    - item_type: typedef
      name: Value
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: V
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 620
        line_start: 620
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 621
        line_start: 621
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 625
        line_start: 625
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 626
        line_start: 626
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: Funcs
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryFuncs
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    - item_type: typedef
      name: KeyMapEntryAccessorType
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: ValueMapEntryAccessorType
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::MapEntryAccessorType
    - item_type: typedef
      name: MapEntryHasMergeTypeTrait
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: EntryType
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Derived
    - item_type: typedef
      name: EntryKeyType
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Key
    - item_type: typedef
      name: EntryValueType
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: Value
    - item_type: typedef
      name: T
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename MapIf<ValueTypeHandler::kIsEnum, int*, Value*>::type
    - item_type: typedef
      name: KeyMover
      pos:
        line_end: 471
        line_start: 467
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: ValueMover
      pos:
        line_end: 476
        line_start: 472
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MoveHelper
    - item_type: typedef
      name: InternalArenaConstructable_
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: DestructorSkippable_
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: void
    - item_type: typedef
      name: SuperType
      pos:
        line_end: 523
        line_start: 521
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapEntryImpl
    - item_type: typedef
      name: Key
      pos:
        line_end: 541
        line_start: 541
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: K
    - item_type: typedef
      name: Value
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: V
    - item_type: typedef
      name: KeyTypeHandler
      pos:
        line_end: 620
        line_start: 620
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: ValueTypeHandler
      pos:
        line_end: 621
        line_start: 621
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: MapTypeHandler
    - item_type: typedef
      name: KeyOnMemory
      pos:
        line_end: 625
        line_start: 625
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename KeyTypeHandler::TypeOnMemory
    - item_type: typedef
      name: ValueOnMemory
      pos:
        line_end: 626
        line_start: 626
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/map_entry_lite.h
      type: typename ValueTypeHandler::TypeOnMemory
    union: []
- function_names:
  - google::protobuf::internal::HasBits::HasBits
  - google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
  - '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
  - '& operator[](int index) const'
  - operator==(const HasBits<doublewords>& rhs) const
  - operator!=(const HasBits<doublewords>& rhs) const
  - google::protobuf::internal::HasBits::Or
  - google::protobuf::internal::HasBits<1>::empty
  - google::protobuf::internal::HasBits<2>::empty
  - google::protobuf::internal::HasBits<3>::empty
  - google::protobuf::internal::HasBits<4>::empty
  - google::protobuf::internal::HasBits<doublewords>::empty
  - google::protobuf::internal::HasBits::HasBits
  - google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
  - '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
  - '& operator[](int index) const'
  - operator==(const HasBits<doublewords>& rhs) const
  - operator!=(const HasBits<doublewords>& rhs) const
  - google::protobuf::internal::HasBits::Or
  - google::protobuf::internal::HasBits<1>::empty
  - google::protobuf::internal::HasBits<2>::empty
  - google::protobuf::internal::HasBits<3>::empty
  - google::protobuf::internal::HasBits<4>::empty
  - google::protobuf::internal::HasBits<doublewords>::empty
  - google::protobuf::internal::HasBits::HasBits
  - google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
  - '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
  - '& operator[](int index) const'
  - operator==(const HasBits<doublewords>& rhs) const
  - operator!=(const HasBits<doublewords>& rhs) const
  - google::protobuf::internal::HasBits::Or
  - google::protobuf::internal::HasBits<1>::empty
  - google::protobuf::internal::HasBits<2>::empty
  - google::protobuf::internal::HasBits<3>::empty
  - google::protobuf::internal::HasBits<4>::empty
  - google::protobuf::internal::HasBits<doublewords>::empty
  - google::protobuf::internal::HasBits::HasBits
  - google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
  - '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
  - '& operator[](int index) const'
  - operator==(const HasBits<doublewords>& rhs) const
  - operator!=(const HasBits<doublewords>& rhs) const
  - google::protobuf::internal::HasBits::Or
  - google::protobuf::internal::HasBits<1>::empty
  - google::protobuf::internal::HasBits<2>::empty
  - google::protobuf::internal::HasBits<3>::empty
  - google::protobuf::internal::HasBits<4>::empty
  - google::protobuf::internal::HasBits<doublewords>::empty
  - google::protobuf::internal::HasBits::HasBits
  - google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
  - '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
  - '& operator[](int index) const'
  - operator==(const HasBits<doublewords>& rhs) const
  - operator!=(const HasBits<doublewords>& rhs) const
  - google::protobuf::internal::HasBits::Or
  - google::protobuf::internal::HasBits<1>::empty
  - google::protobuf::internal::HasBits<2>::empty
  - google::protobuf::internal::HasBits<3>::empty
  - google::protobuf::internal::HasBits<4>::empty
  - google::protobuf::internal::HasBits<doublewords>::empty
  - google::protobuf::internal::HasBits::HasBits
  - google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
  - '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
  - '& operator[](int index) const'
  - operator==(const HasBits<doublewords>& rhs) const
  - operator!=(const HasBits<doublewords>& rhs) const
  - google::protobuf::internal::HasBits::Or
  - google::protobuf::internal::HasBits<1>::empty
  - google::protobuf::internal::HasBits<2>::empty
  - google::protobuf::internal::HasBits<3>::empty
  - google::protobuf::internal::HasBits<4>::empty
  - google::protobuf::internal::HasBits<doublewords>::empty
  - google::protobuf::internal::HasBits::HasBits
  - google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
  - '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
  - '& operator[](int index) const'
  - operator==(const HasBits<doublewords>& rhs) const
  - operator!=(const HasBits<doublewords>& rhs) const
  - google::protobuf::internal::HasBits::Or
  - google::protobuf::internal::HasBits<1>::empty
  - google::protobuf::internal::HasBits<2>::empty
  - google::protobuf::internal::HasBits<3>::empty
  - google::protobuf::internal::HasBits<4>::empty
  - google::protobuf::internal::HasBits<doublewords>::empty
  - google::protobuf::internal::HasBits::HasBits
  - google::protobuf::internal::HasBits::PROTOBUF_ALWAYS_INLINE
  - '& operator[](int index) PROTOBUF_ALWAYS_INLINE'
  - '& operator[](int index) const'
  - operator==(const HasBits<doublewords>& rhs) const
  - operator!=(const HasBits<doublewords>& rhs) const
  - google::protobuf::internal::HasBits::Or
  - google::protobuf::internal::HasBits<1>::empty
  - google::protobuf::internal::HasBits<2>::empty
  - google::protobuf::internal::HasBits<3>::empty
  - google::protobuf::internal::HasBits<4>::empty
  - google::protobuf::internal::HasBits<doublewords>::empty
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/has_bits.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionFinder
  - google::protobuf::internal::GeneratedExtensionFinder
  - ~GeneratedExtensionFinder() override
  - google::protobuf::internal::ExtensionSet
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::ParseMessageSet
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::SerializeWithCachedSizes
  - google::protobuf::internal::SerializeMessageSetWithCachedSizes
  - ~LazyMessageExtension()
  - google::protobuf::internal::ByteSize
  - operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - operator()(const KeyValue& lhs, int key) const
  - operator()(int key, const KeyValue& rhs) const
  - google::protobuf::internal::is_large
  - google::protobuf::internal::Size
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::FindExtension
  - google::protobuf::internal::ParseFieldMaybeLazily
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_end
  - google::protobuf::internal::flat_end
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionFinder
  - google::protobuf::internal::GeneratedExtensionFinder
  - ~GeneratedExtensionFinder() override
  - google::protobuf::internal::ExtensionSet
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::ParseMessageSet
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::SerializeWithCachedSizes
  - google::protobuf::internal::SerializeMessageSetWithCachedSizes
  - ~LazyMessageExtension()
  - google::protobuf::internal::ByteSize
  - operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - operator()(const KeyValue& lhs, int key) const
  - operator()(int key, const KeyValue& rhs) const
  - google::protobuf::internal::is_large
  - google::protobuf::internal::Size
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::FindExtension
  - google::protobuf::internal::ParseFieldMaybeLazily
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_end
  - google::protobuf::internal::flat_end
  - google::protobuf::ExtensionSet::ExtensionSet
  - google::protobuf::ExtensionSet::SetString
  - google::protobuf::ExtensionSet::SetRepeatedString
  - google::protobuf::ExtensionSet::AddString
  - google::protobuf::PrimitiveTypeTraits::Register
  - google::protobuf::RepeatedPrimitiveTypeTraits::Register
  - google::protobuf::RepeatedPrimitiveDefaults
  - PROTOBUF_DEFINE_PRIMITIVE_TYPE
  - google::protobuf::StringTypeTraits
  - google::protobuf::Get
  - google::protobuf::Set
  - google::protobuf::Mutable
  - google::protobuf::Register
  - google::protobuf::RepeatedStringTypeTraits
  - google::protobuf::Get
  - google::protobuf::Set
  - google::protobuf::Mutable
  - google::protobuf::Add
  - google::protobuf::Add
  - google::protobuf::GetRepeated
  - google::protobuf::MutableRepeated
  - google::protobuf::Register
  - google::protobuf::EnumTypeTraits::Get
  - google::protobuf::EnumTypeTraits::Set
  - google::protobuf::EnumTypeTraits::Register
  - google::protobuf::RepeatedEnumTypeTraits::Get
  - google::protobuf::RepeatedEnumTypeTraits::Set
  - google::protobuf::RepeatedEnumTypeTraits::Add
  - "& GetRepeated(\n      int number, const ExtensionSet& set)"
  - google::protobuf::RepeatedEnumTypeTraits::MutableRepeated
  - google::protobuf::RepeatedEnumTypeTraits::GetDefaultRepeatedField
  - google::protobuf::RepeatedEnumTypeTraits::Register
  - google::protobuf::MessageTypeTraits::Get
  - google::protobuf::MessageTypeTraits::Mutable
  - google::protobuf::MessageTypeTraits::SetAllocated
  - google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
  - google::protobuf::MessageTypeTraits::Release
  - google::protobuf::MessageTypeTraits::UnsafeArenaRelease
  - google::protobuf::MessageTypeTraits::Register
  - google::protobuf::RepeatedMessageTypeTraits::Get
  - google::protobuf::RepeatedMessageTypeTraits::Mutable
  - google::protobuf::RepeatedMessageTypeTraits::Add
  - "& GetRepeated(\n      int number, const ExtensionSet& set)"
  - google::protobuf::RepeatedMessageTypeTraits::MutableRepeated
  - google::protobuf::RepeatedMessageTypeTraits::Register
  - google::protobuf::RepeatedMessageTypeTraits<Type>::GetDefaultRepeatedField
  - google::protobuf::ExtensionIdentifier::ExtensionIdentifier
  - google::protobuf::ExtensionIdentifier::number
  - google::protobuf::ExtensionIdentifier::default_value
  - google::protobuf::ExtensionIdentifier::Register
  - GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
  - google::protobuf::GetExtension
  - google::protobuf::MutableExtension
  - google::protobuf::SetExtension
  - google::protobuf::SetAllocatedExtension
  - google::protobuf::UnsafeArenaSetAllocatedExtension
  - google::protobuf::ReleaseExtension
  - google::protobuf::UnsafeArenaReleaseExtension
  - google::protobuf::GetExtension
  - google::protobuf::MutableExtension
  - google::protobuf::SetExtension
  - google::protobuf::AddExtension
  - google::protobuf::AddExtension
  - google::protobuf::GetRepeatedExtension
  - google::protobuf::MutableRepeatedExtension
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionFinder
  - google::protobuf::internal::GeneratedExtensionFinder
  - ~GeneratedExtensionFinder() override
  - google::protobuf::internal::ExtensionSet
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::ParseMessageSet
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::SerializeWithCachedSizes
  - google::protobuf::internal::SerializeMessageSetWithCachedSizes
  - ~LazyMessageExtension()
  - google::protobuf::internal::ByteSize
  - operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - operator()(const KeyValue& lhs, int key) const
  - operator()(int key, const KeyValue& rhs) const
  - google::protobuf::internal::is_large
  - google::protobuf::internal::Size
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::FindExtension
  - google::protobuf::internal::ParseFieldMaybeLazily
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_end
  - google::protobuf::internal::flat_end
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionFinder
  - google::protobuf::internal::GeneratedExtensionFinder
  - ~GeneratedExtensionFinder() override
  - google::protobuf::internal::ExtensionSet
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::ParseMessageSet
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::SerializeWithCachedSizes
  - google::protobuf::internal::SerializeMessageSetWithCachedSizes
  - ~LazyMessageExtension()
  - google::protobuf::internal::ByteSize
  - operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - operator()(const KeyValue& lhs, int key) const
  - operator()(int key, const KeyValue& rhs) const
  - google::protobuf::internal::is_large
  - google::protobuf::internal::Size
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::FindExtension
  - google::protobuf::internal::ParseFieldMaybeLazily
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_end
  - google::protobuf::internal::flat_end
  - google::protobuf::ExtensionSet::ExtensionSet
  - google::protobuf::ExtensionSet::SetString
  - google::protobuf::ExtensionSet::SetRepeatedString
  - google::protobuf::ExtensionSet::AddString
  - google::protobuf::PrimitiveTypeTraits::Register
  - google::protobuf::RepeatedPrimitiveTypeTraits::Register
  - google::protobuf::RepeatedPrimitiveDefaults
  - PROTOBUF_DEFINE_PRIMITIVE_TYPE
  - google::protobuf::StringTypeTraits
  - google::protobuf::Get
  - google::protobuf::Set
  - google::protobuf::Mutable
  - google::protobuf::Register
  - google::protobuf::RepeatedStringTypeTraits
  - google::protobuf::Get
  - google::protobuf::Set
  - google::protobuf::Mutable
  - google::protobuf::Add
  - google::protobuf::Add
  - google::protobuf::GetRepeated
  - google::protobuf::MutableRepeated
  - google::protobuf::Register
  - google::protobuf::EnumTypeTraits::Get
  - google::protobuf::EnumTypeTraits::Set
  - google::protobuf::EnumTypeTraits::Register
  - google::protobuf::RepeatedEnumTypeTraits::Get
  - google::protobuf::RepeatedEnumTypeTraits::Set
  - google::protobuf::RepeatedEnumTypeTraits::Add
  - "& GetRepeated(\n      int number, const ExtensionSet& set)"
  - google::protobuf::RepeatedEnumTypeTraits::MutableRepeated
  - google::protobuf::RepeatedEnumTypeTraits::GetDefaultRepeatedField
  - google::protobuf::RepeatedEnumTypeTraits::Register
  - google::protobuf::MessageTypeTraits::Get
  - google::protobuf::MessageTypeTraits::Mutable
  - google::protobuf::MessageTypeTraits::SetAllocated
  - google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
  - google::protobuf::MessageTypeTraits::Release
  - google::protobuf::MessageTypeTraits::UnsafeArenaRelease
  - google::protobuf::MessageTypeTraits::Register
  - google::protobuf::RepeatedMessageTypeTraits::Get
  - google::protobuf::RepeatedMessageTypeTraits::Mutable
  - google::protobuf::RepeatedMessageTypeTraits::Add
  - "& GetRepeated(\n      int number, const ExtensionSet& set)"
  - google::protobuf::RepeatedMessageTypeTraits::MutableRepeated
  - google::protobuf::RepeatedMessageTypeTraits::Register
  - google::protobuf::RepeatedMessageTypeTraits<Type>::GetDefaultRepeatedField
  - google::protobuf::ExtensionIdentifier::ExtensionIdentifier
  - google::protobuf::ExtensionIdentifier::number
  - google::protobuf::ExtensionIdentifier::default_value
  - google::protobuf::ExtensionIdentifier::Register
  - GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
  - google::protobuf::GetExtension
  - google::protobuf::MutableExtension
  - google::protobuf::SetExtension
  - google::protobuf::SetAllocatedExtension
  - google::protobuf::UnsafeArenaSetAllocatedExtension
  - google::protobuf::ReleaseExtension
  - google::protobuf::UnsafeArenaReleaseExtension
  - google::protobuf::GetExtension
  - google::protobuf::MutableExtension
  - google::protobuf::SetExtension
  - google::protobuf::AddExtension
  - google::protobuf::AddExtension
  - google::protobuf::GetRepeatedExtension
  - google::protobuf::MutableRepeatedExtension
  - google::LinkExtensionReflection
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionFinder
  - google::protobuf::internal::GeneratedExtensionFinder
  - ~GeneratedExtensionFinder() override
  - google::protobuf::internal::ExtensionSet
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::ParseMessageSet
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::SerializeWithCachedSizes
  - google::protobuf::internal::SerializeMessageSetWithCachedSizes
  - ~LazyMessageExtension()
  - google::protobuf::internal::ByteSize
  - operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - operator()(const KeyValue& lhs, int key) const
  - operator()(int key, const KeyValue& rhs) const
  - google::protobuf::internal::is_large
  - google::protobuf::internal::Size
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::FindExtension
  - google::protobuf::internal::ParseFieldMaybeLazily
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_end
  - google::protobuf::internal::flat_end
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionFinder
  - google::protobuf::internal::GeneratedExtensionFinder
  - ~GeneratedExtensionFinder() override
  - google::protobuf::internal::ExtensionSet
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::ParseMessageSet
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::SerializeWithCachedSizes
  - google::protobuf::internal::SerializeMessageSetWithCachedSizes
  - ~LazyMessageExtension()
  - google::protobuf::internal::ByteSize
  - operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - operator()(const KeyValue& lhs, int key) const
  - operator()(int key, const KeyValue& rhs) const
  - google::protobuf::internal::is_large
  - google::protobuf::internal::Size
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::FindExtension
  - google::protobuf::internal::ParseFieldMaybeLazily
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_end
  - google::protobuf::internal::flat_end
  - google::protobuf::ExtensionSet::ExtensionSet
  - google::protobuf::ExtensionSet::SetString
  - google::protobuf::ExtensionSet::SetRepeatedString
  - google::protobuf::ExtensionSet::AddString
  - google::protobuf::PrimitiveTypeTraits::Register
  - google::protobuf::RepeatedPrimitiveTypeTraits::Register
  - google::protobuf::RepeatedPrimitiveDefaults
  - PROTOBUF_DEFINE_PRIMITIVE_TYPE
  - google::protobuf::StringTypeTraits
  - google::protobuf::Get
  - google::protobuf::Set
  - google::protobuf::Mutable
  - google::protobuf::Register
  - google::protobuf::RepeatedStringTypeTraits
  - google::protobuf::Get
  - google::protobuf::Set
  - google::protobuf::Mutable
  - google::protobuf::Add
  - google::protobuf::Add
  - google::protobuf::GetRepeated
  - google::protobuf::MutableRepeated
  - google::protobuf::Register
  - google::protobuf::EnumTypeTraits::Get
  - google::protobuf::EnumTypeTraits::Set
  - google::protobuf::EnumTypeTraits::Register
  - google::protobuf::RepeatedEnumTypeTraits::Get
  - google::protobuf::RepeatedEnumTypeTraits::Set
  - google::protobuf::RepeatedEnumTypeTraits::Add
  - "& GetRepeated(\n      int number, const ExtensionSet& set)"
  - google::protobuf::RepeatedEnumTypeTraits::MutableRepeated
  - google::protobuf::RepeatedEnumTypeTraits::GetDefaultRepeatedField
  - google::protobuf::RepeatedEnumTypeTraits::Register
  - google::protobuf::MessageTypeTraits::Get
  - google::protobuf::MessageTypeTraits::Mutable
  - google::protobuf::MessageTypeTraits::SetAllocated
  - google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
  - google::protobuf::MessageTypeTraits::Release
  - google::protobuf::MessageTypeTraits::UnsafeArenaRelease
  - google::protobuf::MessageTypeTraits::Register
  - google::protobuf::RepeatedMessageTypeTraits::Get
  - google::protobuf::RepeatedMessageTypeTraits::Mutable
  - google::protobuf::RepeatedMessageTypeTraits::Add
  - "& GetRepeated(\n      int number, const ExtensionSet& set)"
  - google::protobuf::RepeatedMessageTypeTraits::MutableRepeated
  - google::protobuf::RepeatedMessageTypeTraits::Register
  - google::protobuf::RepeatedMessageTypeTraits<Type>::GetDefaultRepeatedField
  - google::protobuf::ExtensionIdentifier::ExtensionIdentifier
  - google::protobuf::ExtensionIdentifier::number
  - google::protobuf::ExtensionIdentifier::default_value
  - google::protobuf::ExtensionIdentifier::Register
  - GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
  - google::protobuf::GetExtension
  - google::protobuf::MutableExtension
  - google::protobuf::SetExtension
  - google::protobuf::SetAllocatedExtension
  - google::protobuf::UnsafeArenaSetAllocatedExtension
  - google::protobuf::ReleaseExtension
  - google::protobuf::UnsafeArenaReleaseExtension
  - google::protobuf::GetExtension
  - google::protobuf::MutableExtension
  - google::protobuf::SetExtension
  - google::protobuf::AddExtension
  - google::protobuf::AddExtension
  - google::protobuf::GetRepeatedExtension
  - google::protobuf::MutableRepeatedExtension
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionFinder
  - google::protobuf::internal::GeneratedExtensionFinder
  - ~GeneratedExtensionFinder() override
  - google::protobuf::internal::ExtensionSet
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::ParseMessageSet
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::SerializeWithCachedSizes
  - google::protobuf::internal::SerializeMessageSetWithCachedSizes
  - ~LazyMessageExtension()
  - google::protobuf::internal::ByteSize
  - operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - operator()(const KeyValue& lhs, int key) const
  - operator()(int key, const KeyValue& rhs) const
  - google::protobuf::internal::is_large
  - google::protobuf::internal::Size
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::FindExtension
  - google::protobuf::internal::ParseFieldMaybeLazily
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_end
  - google::protobuf::internal::flat_end
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionInfo
  - google::protobuf::internal::ExtensionFinder
  - google::protobuf::internal::GeneratedExtensionFinder
  - ~GeneratedExtensionFinder() override
  - google::protobuf::internal::ExtensionSet
  - google::protobuf::internal::GetArena
  - google::protobuf::internal::ParseMessageSet
  - google::protobuf::internal::_InternalParse
  - google::protobuf::internal::SerializeWithCachedSizes
  - google::protobuf::internal::SerializeMessageSetWithCachedSizes
  - ~LazyMessageExtension()
  - google::protobuf::internal::ByteSize
  - operator()(const KeyValue& lhs, const KeyValue& rhs) const
  - operator()(const KeyValue& lhs, int key) const
  - operator()(int key, const KeyValue& rhs) const
  - google::protobuf::internal::is_large
  - google::protobuf::internal::Size
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::ForEach
  - google::protobuf::internal::FindExtension
  - google::protobuf::internal::ParseFieldMaybeLazily
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_begin
  - google::protobuf::internal::flat_end
  - google::protobuf::internal::flat_end
  - google::protobuf::ExtensionSet::ExtensionSet
  - google::protobuf::ExtensionSet::SetString
  - google::protobuf::ExtensionSet::SetRepeatedString
  - google::protobuf::ExtensionSet::AddString
  - google::protobuf::PrimitiveTypeTraits::Register
  - google::protobuf::RepeatedPrimitiveTypeTraits::Register
  - google::protobuf::RepeatedPrimitiveDefaults
  - PROTOBUF_DEFINE_PRIMITIVE_TYPE
  - google::protobuf::StringTypeTraits
  - google::protobuf::Get
  - google::protobuf::Set
  - google::protobuf::Mutable
  - google::protobuf::Register
  - google::protobuf::RepeatedStringTypeTraits
  - google::protobuf::Get
  - google::protobuf::Set
  - google::protobuf::Mutable
  - google::protobuf::Add
  - google::protobuf::Add
  - google::protobuf::GetRepeated
  - google::protobuf::MutableRepeated
  - google::protobuf::Register
  - google::protobuf::EnumTypeTraits::Get
  - google::protobuf::EnumTypeTraits::Set
  - google::protobuf::EnumTypeTraits::Register
  - google::protobuf::RepeatedEnumTypeTraits::Get
  - google::protobuf::RepeatedEnumTypeTraits::Set
  - google::protobuf::RepeatedEnumTypeTraits::Add
  - "& GetRepeated(\n      int number, const ExtensionSet& set)"
  - google::protobuf::RepeatedEnumTypeTraits::MutableRepeated
  - google::protobuf::RepeatedEnumTypeTraits::GetDefaultRepeatedField
  - google::protobuf::RepeatedEnumTypeTraits::Register
  - google::protobuf::MessageTypeTraits::Get
  - google::protobuf::MessageTypeTraits::Mutable
  - google::protobuf::MessageTypeTraits::SetAllocated
  - google::protobuf::MessageTypeTraits::UnsafeArenaSetAllocated
  - google::protobuf::MessageTypeTraits::Release
  - google::protobuf::MessageTypeTraits::UnsafeArenaRelease
  - google::protobuf::MessageTypeTraits::Register
  - google::protobuf::RepeatedMessageTypeTraits::Get
  - google::protobuf::RepeatedMessageTypeTraits::Mutable
  - google::protobuf::RepeatedMessageTypeTraits::Add
  - "& GetRepeated(\n      int number, const ExtensionSet& set)"
  - google::protobuf::RepeatedMessageTypeTraits::MutableRepeated
  - google::protobuf::RepeatedMessageTypeTraits::Register
  - google::protobuf::RepeatedMessageTypeTraits<Type>::GetDefaultRepeatedField
  - google::protobuf::ExtensionIdentifier::ExtensionIdentifier
  - google::protobuf::ExtensionIdentifier::number
  - google::protobuf::ExtensionIdentifier::default_value
  - google::protobuf::ExtensionIdentifier::Register
  - GOOGLE_PROTOBUF_EXTENSION_ACCESSORS
  - google::protobuf::GetExtension
  - google::protobuf::MutableExtension
  - google::protobuf::SetExtension
  - google::protobuf::SetAllocatedExtension
  - google::protobuf::UnsafeArenaSetAllocatedExtension
  - google::protobuf::ReleaseExtension
  - google::protobuf::UnsafeArenaReleaseExtension
  - google::protobuf::GetExtension
  - google::protobuf::MutableExtension
  - google::protobuf::SetExtension
  - google::protobuf::AddExtension
  - google::protobuf::AddExtension
  - google::protobuf::GetRepeatedExtension
  - google::protobuf::MutableRepeatedExtension
  - google::LinkExtensionReflection
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    - item_type: preproc_def
      name: desc
      pos:
        line_end: 337
        line_start: 336
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type_or_value: const FieldDescriptor* descriptor  // avoid line wrapping
    structs:
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_packed
        type: bool
      - name: '* descriptor'
        type: FieldDescriptor
      item_type: struct
      name: ExtensionInfo
      pos:
        line_end: 129
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* func'
        type: EnumValidityFuncWithArg
      - name: '* arg'
        type: void
      item_type: struct
      name: EnumValidityCheck
      pos:
        line_end: 114
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* prototype'
        type: MessageLite
      item_type: struct
      name: MessageInfo
      pos:
        line_end: 118
        line_start: 116
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* containing_type'
        type: Msg
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: MessageSetItem
      pos:
        line_end: 416
        line_start: 409
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_cleared
        type: bool
      - name: is_lazy
        type: bool
      - name: is_packed
        type: bool
      - name: cached_size
        type: int
      - name: '* descriptor'
        type: FieldDescriptor
      - name: "* InternalSerializeFieldWithCachedSizesToArray(\n        int number,
          uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: "* InternalSerializeMessageSetItemWithCachedSizesToArray(\n        int
          number, uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: ByteSize(int number) const
        type: size_t
      - name: MessageSetItemByteSize(int number) const
        type: size_t
      - name: Clear()
        type: void
      - name: GetSize() const
        type: int
      - name: Free()
        type: void
      - name: SpaceUsedExcludingSelfLong() const
        type: size_t
      - name: IsInitialized() const
        type: bool
      item_type: struct
      name: Extension
      pos:
        line_end: 620
        line_start: 549
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: first
        type: int
      - name: second
        type: Extension
      item_type: struct
      name: KeyValue
      pos:
        line_end: 643
        line_start: 628
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields: []
      item_type: struct
      name: FirstComparator
      pos:
        line_end: 642
        line_start: 632
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_packed
        type: bool
      - name: '* descriptor'
        type: FieldDescriptor
      item_type: struct
      name: ExtensionInfo
      pos:
        line_end: 129
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* func'
        type: EnumValidityFuncWithArg
      - name: '* arg'
        type: void
      item_type: struct
      name: EnumValidityCheck
      pos:
        line_end: 114
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* prototype'
        type: MessageLite
      item_type: struct
      name: MessageInfo
      pos:
        line_end: 118
        line_start: 116
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* containing_type'
        type: Msg
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: MessageSetItem
      pos:
        line_end: 416
        line_start: 409
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_cleared
        type: bool
      - name: is_lazy
        type: bool
      - name: is_packed
        type: bool
      - name: cached_size
        type: int
      - name: '* descriptor'
        type: FieldDescriptor
      - name: "* InternalSerializeFieldWithCachedSizesToArray(\n        int number,
          uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: "* InternalSerializeMessageSetItemWithCachedSizesToArray(\n        int
          number, uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: ByteSize(int number) const
        type: size_t
      - name: MessageSetItemByteSize(int number) const
        type: size_t
      - name: Clear()
        type: void
      - name: GetSize() const
        type: int
      - name: Free()
        type: void
      - name: SpaceUsedExcludingSelfLong() const
        type: size_t
      - name: IsInitialized() const
        type: bool
      item_type: struct
      name: Extension
      pos:
        line_end: 620
        line_start: 549
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: first
        type: int
      - name: second
        type: Extension
      item_type: struct
      name: KeyValue
      pos:
        line_end: 643
        line_start: 628
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields: []
      item_type: struct
      name: FirstComparator
      pos:
        line_end: 642
        line_start: 632
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_packed
        type: bool
      - name: '* descriptor'
        type: FieldDescriptor
      item_type: struct
      name: ExtensionInfo
      pos:
        line_end: 129
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* func'
        type: EnumValidityFuncWithArg
      - name: '* arg'
        type: void
      item_type: struct
      name: EnumValidityCheck
      pos:
        line_end: 114
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* prototype'
        type: MessageLite
      item_type: struct
      name: MessageInfo
      pos:
        line_end: 118
        line_start: 116
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* containing_type'
        type: Msg
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: MessageSetItem
      pos:
        line_end: 416
        line_start: 409
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_cleared
        type: bool
      - name: is_lazy
        type: bool
      - name: is_packed
        type: bool
      - name: cached_size
        type: int
      - name: '* descriptor'
        type: FieldDescriptor
      - name: "* InternalSerializeFieldWithCachedSizesToArray(\n        int number,
          uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: "* InternalSerializeMessageSetItemWithCachedSizesToArray(\n        int
          number, uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: ByteSize(int number) const
        type: size_t
      - name: MessageSetItemByteSize(int number) const
        type: size_t
      - name: Clear()
        type: void
      - name: GetSize() const
        type: int
      - name: Free()
        type: void
      - name: SpaceUsedExcludingSelfLong() const
        type: size_t
      - name: IsInitialized() const
        type: bool
      item_type: struct
      name: Extension
      pos:
        line_end: 620
        line_start: 549
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: first
        type: int
      - name: second
        type: Extension
      item_type: struct
      name: KeyValue
      pos:
        line_end: 643
        line_start: 628
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields: []
      item_type: struct
      name: FirstComparator
      pos:
        line_end: 642
        line_start: 632
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_packed
        type: bool
      - name: '* descriptor'
        type: FieldDescriptor
      item_type: struct
      name: ExtensionInfo
      pos:
        line_end: 129
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* func'
        type: EnumValidityFuncWithArg
      - name: '* arg'
        type: void
      item_type: struct
      name: EnumValidityCheck
      pos:
        line_end: 114
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* prototype'
        type: MessageLite
      item_type: struct
      name: MessageInfo
      pos:
        line_end: 118
        line_start: 116
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* containing_type'
        type: Msg
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: MessageSetItem
      pos:
        line_end: 416
        line_start: 409
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_cleared
        type: bool
      - name: is_lazy
        type: bool
      - name: is_packed
        type: bool
      - name: cached_size
        type: int
      - name: '* descriptor'
        type: FieldDescriptor
      - name: "* InternalSerializeFieldWithCachedSizesToArray(\n        int number,
          uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: "* InternalSerializeMessageSetItemWithCachedSizesToArray(\n        int
          number, uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: ByteSize(int number) const
        type: size_t
      - name: MessageSetItemByteSize(int number) const
        type: size_t
      - name: Clear()
        type: void
      - name: GetSize() const
        type: int
      - name: Free()
        type: void
      - name: SpaceUsedExcludingSelfLong() const
        type: size_t
      - name: IsInitialized() const
        type: bool
      item_type: struct
      name: Extension
      pos:
        line_end: 620
        line_start: 549
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: first
        type: int
      - name: second
        type: Extension
      item_type: struct
      name: KeyValue
      pos:
        line_end: 643
        line_start: 628
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields: []
      item_type: struct
      name: FirstComparator
      pos:
        line_end: 642
        line_start: 632
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_packed
        type: bool
      - name: '* descriptor'
        type: FieldDescriptor
      item_type: struct
      name: ExtensionInfo
      pos:
        line_end: 129
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* func'
        type: EnumValidityFuncWithArg
      - name: '* arg'
        type: void
      item_type: struct
      name: EnumValidityCheck
      pos:
        line_end: 114
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* prototype'
        type: MessageLite
      item_type: struct
      name: MessageInfo
      pos:
        line_end: 118
        line_start: 116
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* containing_type'
        type: Msg
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: MessageSetItem
      pos:
        line_end: 416
        line_start: 409
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_cleared
        type: bool
      - name: is_lazy
        type: bool
      - name: is_packed
        type: bool
      - name: cached_size
        type: int
      - name: '* descriptor'
        type: FieldDescriptor
      - name: "* InternalSerializeFieldWithCachedSizesToArray(\n        int number,
          uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: "* InternalSerializeMessageSetItemWithCachedSizesToArray(\n        int
          number, uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: ByteSize(int number) const
        type: size_t
      - name: MessageSetItemByteSize(int number) const
        type: size_t
      - name: Clear()
        type: void
      - name: GetSize() const
        type: int
      - name: Free()
        type: void
      - name: SpaceUsedExcludingSelfLong() const
        type: size_t
      - name: IsInitialized() const
        type: bool
      item_type: struct
      name: Extension
      pos:
        line_end: 620
        line_start: 549
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: first
        type: int
      - name: second
        type: Extension
      item_type: struct
      name: KeyValue
      pos:
        line_end: 643
        line_start: 628
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields: []
      item_type: struct
      name: FirstComparator
      pos:
        line_end: 642
        line_start: 632
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_packed
        type: bool
      - name: '* descriptor'
        type: FieldDescriptor
      item_type: struct
      name: ExtensionInfo
      pos:
        line_end: 129
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* func'
        type: EnumValidityFuncWithArg
      - name: '* arg'
        type: void
      item_type: struct
      name: EnumValidityCheck
      pos:
        line_end: 114
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* prototype'
        type: MessageLite
      item_type: struct
      name: MessageInfo
      pos:
        line_end: 118
        line_start: 116
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* containing_type'
        type: Msg
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: MessageSetItem
      pos:
        line_end: 416
        line_start: 409
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_cleared
        type: bool
      - name: is_lazy
        type: bool
      - name: is_packed
        type: bool
      - name: cached_size
        type: int
      - name: '* descriptor'
        type: FieldDescriptor
      - name: "* InternalSerializeFieldWithCachedSizesToArray(\n        int number,
          uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: "* InternalSerializeMessageSetItemWithCachedSizesToArray(\n        int
          number, uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: ByteSize(int number) const
        type: size_t
      - name: MessageSetItemByteSize(int number) const
        type: size_t
      - name: Clear()
        type: void
      - name: GetSize() const
        type: int
      - name: Free()
        type: void
      - name: SpaceUsedExcludingSelfLong() const
        type: size_t
      - name: IsInitialized() const
        type: bool
      item_type: struct
      name: Extension
      pos:
        line_end: 620
        line_start: 549
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: first
        type: int
      - name: second
        type: Extension
      item_type: struct
      name: KeyValue
      pos:
        line_end: 643
        line_start: 628
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields: []
      item_type: struct
      name: FirstComparator
      pos:
        line_end: 642
        line_start: 632
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_packed
        type: bool
      - name: '* descriptor'
        type: FieldDescriptor
      item_type: struct
      name: ExtensionInfo
      pos:
        line_end: 129
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* func'
        type: EnumValidityFuncWithArg
      - name: '* arg'
        type: void
      item_type: struct
      name: EnumValidityCheck
      pos:
        line_end: 114
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* prototype'
        type: MessageLite
      item_type: struct
      name: MessageInfo
      pos:
        line_end: 118
        line_start: 116
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* containing_type'
        type: Msg
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: MessageSetItem
      pos:
        line_end: 416
        line_start: 409
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_cleared
        type: bool
      - name: is_lazy
        type: bool
      - name: is_packed
        type: bool
      - name: cached_size
        type: int
      - name: '* descriptor'
        type: FieldDescriptor
      - name: "* InternalSerializeFieldWithCachedSizesToArray(\n        int number,
          uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: "* InternalSerializeMessageSetItemWithCachedSizesToArray(\n        int
          number, uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: ByteSize(int number) const
        type: size_t
      - name: MessageSetItemByteSize(int number) const
        type: size_t
      - name: Clear()
        type: void
      - name: GetSize() const
        type: int
      - name: Free()
        type: void
      - name: SpaceUsedExcludingSelfLong() const
        type: size_t
      - name: IsInitialized() const
        type: bool
      item_type: struct
      name: Extension
      pos:
        line_end: 620
        line_start: 549
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: first
        type: int
      - name: second
        type: Extension
      item_type: struct
      name: KeyValue
      pos:
        line_end: 643
        line_start: 628
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields: []
      item_type: struct
      name: FirstComparator
      pos:
        line_end: 642
        line_start: 632
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_packed
        type: bool
      - name: '* descriptor'
        type: FieldDescriptor
      item_type: struct
      name: ExtensionInfo
      pos:
        line_end: 129
        line_start: 99
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* func'
        type: EnumValidityFuncWithArg
      - name: '* arg'
        type: void
      item_type: struct
      name: EnumValidityCheck
      pos:
        line_end: 114
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* prototype'
        type: MessageLite
      item_type: struct
      name: MessageInfo
      pos:
        line_end: 118
        line_start: 116
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* me'
        type: ExtensionSet
      - name: '* containing_type'
        type: Msg
      - name: '* metadata'
        type: InternalMetadata
      item_type: struct
      name: MessageSetItem
      pos:
        line_end: 416
        line_start: 409
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: type
        type: FieldType
      - name: is_repeated
        type: bool
      - name: is_cleared
        type: bool
      - name: is_lazy
        type: bool
      - name: is_packed
        type: bool
      - name: cached_size
        type: int
      - name: '* descriptor'
        type: FieldDescriptor
      - name: "* InternalSerializeFieldWithCachedSizesToArray(\n        int number,
          uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: "* InternalSerializeMessageSetItemWithCachedSizesToArray(\n        int
          number, uint8* target, io::EpsCopyOutputStream* stream) const"
        type: uint8
      - name: ByteSize(int number) const
        type: size_t
      - name: MessageSetItemByteSize(int number) const
        type: size_t
      - name: Clear()
        type: void
      - name: GetSize() const
        type: int
      - name: Free()
        type: void
      - name: SpaceUsedExcludingSelfLong() const
        type: size_t
      - name: IsInitialized() const
        type: bool
      item_type: struct
      name: Extension
      pos:
        line_end: 620
        line_start: 549
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: first
        type: int
      - name: second
        type: Extension
      item_type: struct
      name: KeyValue
      pos:
        line_end: 643
        line_start: 628
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields: []
      item_type: struct
      name: FirstComparator
      pos:
        line_end: 642
        line_start: 632
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    typedefs:
    - item_type: typedef
      name: FieldType
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: uint8
    - item_type: typedef
      name: EnumValidityFunc(int number)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: EnumValidityFuncWithArg(const void* arg, int number)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: LargeMap
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: map<int, Extension>
    - item_type: typedef
      name: FieldType
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: uint8
    - item_type: typedef
      name: EnumValidityFunc(int number)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: EnumValidityFuncWithArg(const void* arg, int number)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: LargeMap
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: map<int, Extension>
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 936
        line_start: 936
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 937
        line_start: 937
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Singular
      pos:
        line_end: 938
        line_start: 938
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: PrimitiveTypeTraits
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 954
        line_start: 954
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 956
        line_start: 956
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedPrimitiveTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 958
        line_start: 958
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedField
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1060
        line_start: 1060
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: string
    - item_type: typedef
      name: Singular
      pos:
        line_end: 1061
        line_start: 1061
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: StringTypeTraits
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1085
        line_start: 1085
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: string
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 1086
        line_start: 1086
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedStringTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 1088
        line_start: 1088
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedPtrField
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 1142
        line_start: 1142
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 1143
        line_start: 1143
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Singular
      pos:
        line_end: 1144
        line_start: 1144
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: EnumTypeTraits
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 1165
        line_start: 1165
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 1166
        line_start: 1166
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 1167
        line_start: 1167
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedEnumTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 1169
        line_start: 1169
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedField
    - item_type: typedef
      name: '& ConstType'
      pos:
        line_end: 1228
        line_start: 1228
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1229
        line_start: 1229
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Singular
      pos:
        line_end: 1230
        line_start: 1230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: MessageTypeTraits
    - item_type: typedef
      name: '& ConstType'
      pos:
        line_end: 1275
        line_start: 1275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1276
        line_start: 1276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 1277
        line_start: 1277
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedMessageTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 1279
        line_start: 1279
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedPtrField
    - item_type: typedef
      name: TypeTraits
      pos:
        line_end: 1347
        line_start: 1347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: TypeTraitsType
    - item_type: typedef
      name: Extendee
      pos:
        line_end: 1348
        line_start: 1348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: ExtendeeType
    - item_type: typedef
      name: FieldType
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: uint8
    - item_type: typedef
      name: EnumValidityFunc(int number)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: EnumValidityFuncWithArg(const void* arg, int number)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: LargeMap
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: map<int, Extension>
    - item_type: typedef
      name: FieldType
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: uint8
    - item_type: typedef
      name: EnumValidityFunc(int number)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: EnumValidityFuncWithArg(const void* arg, int number)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: LargeMap
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: map<int, Extension>
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 936
        line_start: 936
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 937
        line_start: 937
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Singular
      pos:
        line_end: 938
        line_start: 938
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: PrimitiveTypeTraits
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 954
        line_start: 954
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 956
        line_start: 956
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedPrimitiveTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 958
        line_start: 958
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedField
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1060
        line_start: 1060
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: string
    - item_type: typedef
      name: Singular
      pos:
        line_end: 1061
        line_start: 1061
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: StringTypeTraits
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1085
        line_start: 1085
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: string
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 1086
        line_start: 1086
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedStringTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 1088
        line_start: 1088
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedPtrField
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 1142
        line_start: 1142
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 1143
        line_start: 1143
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Singular
      pos:
        line_end: 1144
        line_start: 1144
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: EnumTypeTraits
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 1165
        line_start: 1165
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 1166
        line_start: 1166
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 1167
        line_start: 1167
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedEnumTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 1169
        line_start: 1169
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedField
    - item_type: typedef
      name: '& ConstType'
      pos:
        line_end: 1228
        line_start: 1228
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1229
        line_start: 1229
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Singular
      pos:
        line_end: 1230
        line_start: 1230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: MessageTypeTraits
    - item_type: typedef
      name: '& ConstType'
      pos:
        line_end: 1275
        line_start: 1275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1276
        line_start: 1276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 1277
        line_start: 1277
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedMessageTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 1279
        line_start: 1279
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedPtrField
    - item_type: typedef
      name: TypeTraits
      pos:
        line_end: 1347
        line_start: 1347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: TypeTraitsType
    - item_type: typedef
      name: Extendee
      pos:
        line_end: 1348
        line_start: 1348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: ExtendeeType
    - item_type: typedef
      name: FieldType
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: uint8
    - item_type: typedef
      name: EnumValidityFunc(int number)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: EnumValidityFuncWithArg(const void* arg, int number)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: LargeMap
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: map<int, Extension>
    - item_type: typedef
      name: FieldType
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: uint8
    - item_type: typedef
      name: EnumValidityFunc(int number)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: EnumValidityFuncWithArg(const void* arg, int number)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: LargeMap
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: map<int, Extension>
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 936
        line_start: 936
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 937
        line_start: 937
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Singular
      pos:
        line_end: 938
        line_start: 938
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: PrimitiveTypeTraits
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 954
        line_start: 954
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 956
        line_start: 956
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedPrimitiveTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 958
        line_start: 958
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedField
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1060
        line_start: 1060
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: string
    - item_type: typedef
      name: Singular
      pos:
        line_end: 1061
        line_start: 1061
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: StringTypeTraits
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1085
        line_start: 1085
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: string
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 1086
        line_start: 1086
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedStringTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 1088
        line_start: 1088
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedPtrField
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 1142
        line_start: 1142
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 1143
        line_start: 1143
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Singular
      pos:
        line_end: 1144
        line_start: 1144
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: EnumTypeTraits
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 1165
        line_start: 1165
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 1166
        line_start: 1166
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 1167
        line_start: 1167
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedEnumTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 1169
        line_start: 1169
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedField
    - item_type: typedef
      name: '& ConstType'
      pos:
        line_end: 1228
        line_start: 1228
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1229
        line_start: 1229
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Singular
      pos:
        line_end: 1230
        line_start: 1230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: MessageTypeTraits
    - item_type: typedef
      name: '& ConstType'
      pos:
        line_end: 1275
        line_start: 1275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1276
        line_start: 1276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 1277
        line_start: 1277
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedMessageTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 1279
        line_start: 1279
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedPtrField
    - item_type: typedef
      name: TypeTraits
      pos:
        line_end: 1347
        line_start: 1347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: TypeTraitsType
    - item_type: typedef
      name: Extendee
      pos:
        line_end: 1348
        line_start: 1348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: ExtendeeType
    - item_type: typedef
      name: FieldType
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: uint8
    - item_type: typedef
      name: EnumValidityFunc(int number)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: EnumValidityFuncWithArg(const void* arg, int number)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: LargeMap
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: map<int, Extension>
    - item_type: typedef
      name: FieldType
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: uint8
    - item_type: typedef
      name: EnumValidityFunc(int number)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: EnumValidityFuncWithArg(const void* arg, int number)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: bool
    - item_type: typedef
      name: LargeMap
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: map<int, Extension>
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 936
        line_start: 936
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 937
        line_start: 937
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Singular
      pos:
        line_end: 938
        line_start: 938
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: PrimitiveTypeTraits
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 954
        line_start: 954
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 956
        line_start: 956
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedPrimitiveTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 958
        line_start: 958
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedField
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1060
        line_start: 1060
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: string
    - item_type: typedef
      name: Singular
      pos:
        line_end: 1061
        line_start: 1061
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: StringTypeTraits
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1085
        line_start: 1085
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: string
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 1086
        line_start: 1086
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedStringTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 1088
        line_start: 1088
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedPtrField
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 1142
        line_start: 1142
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 1143
        line_start: 1143
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Singular
      pos:
        line_end: 1144
        line_start: 1144
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: EnumTypeTraits
    - item_type: typedef
      name: ConstType
      pos:
        line_end: 1165
        line_start: 1165
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: MutableType
      pos:
        line_end: 1166
        line_start: 1166
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 1167
        line_start: 1167
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedEnumTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 1169
        line_start: 1169
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedField
    - item_type: typedef
      name: '& ConstType'
      pos:
        line_end: 1228
        line_start: 1228
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1229
        line_start: 1229
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Singular
      pos:
        line_end: 1230
        line_start: 1230
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: MessageTypeTraits
    - item_type: typedef
      name: '& ConstType'
      pos:
        line_end: 1275
        line_start: 1275
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: '* MutableType'
      pos:
        line_end: 1276
        line_start: 1276
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: Type
    - item_type: typedef
      name: Repeated
      pos:
        line_end: 1277
        line_start: 1277
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedMessageTypeTraits
    - item_type: typedef
      name: RepeatedFieldType
      pos:
        line_end: 1279
        line_start: 1279
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: RepeatedPtrField
    - item_type: typedef
      name: TypeTraits
      pos:
        line_end: 1347
        line_start: 1347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: TypeTraitsType
    - item_type: typedef
      name: Extendee
      pos:
        line_end: 1348
        line_start: 1348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
      type: ExtendeeType
    union:
    - fields:
      - name: '* flat'
        type: KeyValue
      - name: '* large'
        type: LargeMap
      item_type: union
      name: AllocatedData
      pos:
        line_end: 845
        line_start: 839
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* flat'
        type: KeyValue
      - name: '* large'
        type: LargeMap
      item_type: union
      name: AllocatedData
      pos:
        line_end: 845
        line_start: 839
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* flat'
        type: KeyValue
      - name: '* large'
        type: LargeMap
      item_type: union
      name: AllocatedData
      pos:
        line_end: 845
        line_start: 839
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* flat'
        type: KeyValue
      - name: '* large'
        type: LargeMap
      item_type: union
      name: AllocatedData
      pos:
        line_end: 845
        line_start: 839
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* flat'
        type: KeyValue
      - name: '* large'
        type: LargeMap
      item_type: union
      name: AllocatedData
      pos:
        line_end: 845
        line_start: 839
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* flat'
        type: KeyValue
      - name: '* large'
        type: LargeMap
      item_type: union
      name: AllocatedData
      pos:
        line_end: 845
        line_start: 839
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* flat'
        type: KeyValue
      - name: '* large'
        type: LargeMap
      item_type: union
      name: AllocatedData
      pos:
        line_end: 845
        line_start: 839
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
    - fields:
      - name: '* flat'
        type: KeyValue
      - name: '* large'
        type: LargeMap
      item_type: union
      name: AllocatedData
      pos:
        line_end: 845
        line_start: 839
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/extension_set.h
- function_names: []
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_util.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: is_proto_enum
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_util.h
    - fields:
      - name: name
        type: StringPiece
      - name: value
        type: int
      item_type: struct
      name: EnumEntry
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_util.h
    - fields:
      - name: name
        type: StringPiece
      - name: value
        type: int
      item_type: struct
      name: EnumEntry
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_util.h
    - fields: []
      item_type: struct
      name: is_proto_enum
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_util.h
    - fields:
      - name: name
        type: StringPiece
      - name: value
        type: int
      item_type: struct
      name: EnumEntry
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_util.h
    - fields:
      - name: name
        type: StringPiece
      - name: value
        type: int
      item_type: struct
      name: EnumEntry
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_util.h
    - fields: []
      item_type: struct
      name: is_proto_enum
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_util.h
    - fields:
      - name: name
        type: StringPiece
      - name: value
        type: int
      item_type: struct
      name: EnumEntry
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_util.h
    - fields:
      - name: name
        type: StringPiece
      - name: value
        type: int
      item_type: struct
      name: EnumEntry
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_util.h
    - fields: []
      item_type: struct
      name: is_proto_enum
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_util.h
    - fields:
      - name: name
        type: StringPiece
      - name: value
        type: int
      item_type: struct
      name: EnumEntry
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_util.h
    - fields:
      - name: name
        type: StringPiece
      - name: value
        type: int
      item_type: struct
      name: EnumEntry
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/generated_enum_util.h
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::LazyString
  - google::protobuf::internal::get
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::SetTagged
  - google::protobuf::internal::TaggedPtr::Set
  - google::protobuf::internal::TaggedPtr::Get
  - google::protobuf::internal::TaggedPtr::IsTagged
  - google::protobuf::internal::TaggedPtr::UnsafeGet
  - google::protobuf::internal::TaggedPtr::IsNull
  - google::protobuf::internal::TaggedPtr::as_int
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - '& Get() const PROTOBUF_ALWAYS_INLINE'
  - google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
  - google::protobuf::internal::UnsafeSetTaggedPointer
  - google::protobuf::internal::IsDefault
  - google::protobuf::internal::IsDonatedString
  - google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
  - google::protobuf::internal::ArenaStringPtr::Swap
  - google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
  - google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
  - google::protobuf::internal::ArenaStringPtr::DestroyNoArena
  - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
  - google::protobuf::internal::LazyString
  - google::protobuf::internal::get
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::SetTagged
  - google::protobuf::internal::TaggedPtr::Set
  - google::protobuf::internal::TaggedPtr::Get
  - google::protobuf::internal::TaggedPtr::IsTagged
  - google::protobuf::internal::TaggedPtr::UnsafeGet
  - google::protobuf::internal::TaggedPtr::IsNull
  - google::protobuf::internal::TaggedPtr::as_int
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - '& Get() const PROTOBUF_ALWAYS_INLINE'
  - google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
  - google::protobuf::internal::UnsafeSetTaggedPointer
  - google::protobuf::internal::IsDefault
  - google::protobuf::internal::IsDonatedString
  - google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
  - google::protobuf::internal::ArenaStringPtr::Swap
  - google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
  - google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
  - google::protobuf::internal::ArenaStringPtr::DestroyNoArena
  - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
  - google::protobuf::internal::LazyString
  - google::protobuf::internal::get
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::SetTagged
  - google::protobuf::internal::TaggedPtr::Set
  - google::protobuf::internal::TaggedPtr::Get
  - google::protobuf::internal::TaggedPtr::IsTagged
  - google::protobuf::internal::TaggedPtr::UnsafeGet
  - google::protobuf::internal::TaggedPtr::IsNull
  - google::protobuf::internal::TaggedPtr::as_int
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - '& Get() const PROTOBUF_ALWAYS_INLINE'
  - google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
  - google::protobuf::internal::UnsafeSetTaggedPointer
  - google::protobuf::internal::IsDefault
  - google::protobuf::internal::IsDonatedString
  - google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
  - google::protobuf::internal::ArenaStringPtr::Swap
  - google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
  - google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
  - google::protobuf::internal::ArenaStringPtr::DestroyNoArena
  - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
  - google::protobuf::internal::LazyString
  - google::protobuf::internal::get
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::SetTagged
  - google::protobuf::internal::TaggedPtr::Set
  - google::protobuf::internal::TaggedPtr::Get
  - google::protobuf::internal::TaggedPtr::IsTagged
  - google::protobuf::internal::TaggedPtr::UnsafeGet
  - google::protobuf::internal::TaggedPtr::IsNull
  - google::protobuf::internal::TaggedPtr::as_int
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - '& Get() const PROTOBUF_ALWAYS_INLINE'
  - google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
  - google::protobuf::internal::UnsafeSetTaggedPointer
  - google::protobuf::internal::IsDefault
  - google::protobuf::internal::IsDonatedString
  - google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
  - google::protobuf::internal::ArenaStringPtr::Swap
  - google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
  - google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
  - google::protobuf::internal::ArenaStringPtr::DestroyNoArena
  - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
  - google::protobuf::internal::LazyString
  - google::protobuf::internal::get
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::SetTagged
  - google::protobuf::internal::TaggedPtr::Set
  - google::protobuf::internal::TaggedPtr::Get
  - google::protobuf::internal::TaggedPtr::IsTagged
  - google::protobuf::internal::TaggedPtr::UnsafeGet
  - google::protobuf::internal::TaggedPtr::IsNull
  - google::protobuf::internal::TaggedPtr::as_int
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - '& Get() const PROTOBUF_ALWAYS_INLINE'
  - google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
  - google::protobuf::internal::UnsafeSetTaggedPointer
  - google::protobuf::internal::IsDefault
  - google::protobuf::internal::IsDonatedString
  - google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
  - google::protobuf::internal::ArenaStringPtr::Swap
  - google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
  - google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
  - google::protobuf::internal::ArenaStringPtr::DestroyNoArena
  - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
  - google::protobuf::internal::LazyString
  - google::protobuf::internal::get
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::SetTagged
  - google::protobuf::internal::TaggedPtr::Set
  - google::protobuf::internal::TaggedPtr::Get
  - google::protobuf::internal::TaggedPtr::IsTagged
  - google::protobuf::internal::TaggedPtr::UnsafeGet
  - google::protobuf::internal::TaggedPtr::IsNull
  - google::protobuf::internal::TaggedPtr::as_int
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - '& Get() const PROTOBUF_ALWAYS_INLINE'
  - google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
  - google::protobuf::internal::UnsafeSetTaggedPointer
  - google::protobuf::internal::IsDefault
  - google::protobuf::internal::IsDonatedString
  - google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
  - google::protobuf::internal::ArenaStringPtr::Swap
  - google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
  - google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
  - google::protobuf::internal::ArenaStringPtr::DestroyNoArena
  - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
  - google::protobuf::internal::LazyString
  - google::protobuf::internal::get
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::SetTagged
  - google::protobuf::internal::TaggedPtr::Set
  - google::protobuf::internal::TaggedPtr::Get
  - google::protobuf::internal::TaggedPtr::IsTagged
  - google::protobuf::internal::TaggedPtr::UnsafeGet
  - google::protobuf::internal::TaggedPtr::IsNull
  - google::protobuf::internal::TaggedPtr::as_int
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - '& Get() const PROTOBUF_ALWAYS_INLINE'
  - google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
  - google::protobuf::internal::UnsafeSetTaggedPointer
  - google::protobuf::internal::IsDefault
  - google::protobuf::internal::IsDonatedString
  - google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
  - google::protobuf::internal::ArenaStringPtr::Swap
  - google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
  - google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
  - google::protobuf::internal::ArenaStringPtr::DestroyNoArena
  - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
  - google::protobuf::internal::LazyString
  - google::protobuf::internal::get
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::TaggedPtr
  - google::protobuf::internal::TaggedPtr::SetTagged
  - google::protobuf::internal::TaggedPtr::Set
  - google::protobuf::internal::TaggedPtr::Get
  - google::protobuf::internal::TaggedPtr::IsTagged
  - google::protobuf::internal::TaggedPtr::UnsafeGet
  - google::protobuf::internal::TaggedPtr::IsNull
  - google::protobuf::internal::TaggedPtr::as_int
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - google::protobuf::internal::ArenaStringPtr
  - '& Get() const PROTOBUF_ALWAYS_INLINE'
  - google::protobuf::internal::PROTOBUF_ALWAYS_INLINE
  - google::protobuf::internal::UnsafeSetTaggedPointer
  - google::protobuf::internal::IsDefault
  - google::protobuf::internal::IsDonatedString
  - google::protobuf::internal::ArenaStringPtr::UnsafeSetDefault
  - google::protobuf::internal::ArenaStringPtr::Swap
  - google::protobuf::internal::ArenaStringPtr::ClearNonDefaultToEmpty
  - google::protobuf::internal::ArenaStringPtr::MutableNoArenaNoDefault
  - google::protobuf::internal::ArenaStringPtr::DestroyNoArena
  - google::protobuf::internal::ArenaStringPtr::UnsafeMutablePointer
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* ptr'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: InitValue
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: EmptyDefault
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: NonEmptyDefault
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields:
      - name: '* ptr'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: InitValue
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: EmptyDefault
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: NonEmptyDefault
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields:
      - name: '* ptr'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: InitValue
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: EmptyDefault
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: NonEmptyDefault
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields:
      - name: '* ptr'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: InitValue
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: EmptyDefault
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: NonEmptyDefault
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields:
      - name: '* ptr'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: InitValue
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: EmptyDefault
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: NonEmptyDefault
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields:
      - name: '* ptr'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: InitValue
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: EmptyDefault
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: NonEmptyDefault
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields:
      - name: '* ptr'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: InitValue
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: EmptyDefault
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: NonEmptyDefault
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields:
      - name: '* ptr'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: InitValue
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: EmptyDefault
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    - fields: []
      item_type: struct
      name: NonEmptyDefault
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/arenastring.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
  types:
    enum:
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    - enumerators:
      - name: kSuccess
        value: '0'
      - name: kErrorOutputPathConversion
        value: '3'
      - name: kErrorInputPathConversion
        value: '2'
      - name: kErrorNoMatchingFile
        value: '1'
      item_type: enum
      name: ExpandWildcardsResult
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
    preproc_defs:
    - item_type: preproc_def
      name: W_OK
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
      type_or_value: 02  // not defined by MSVC for whatever reason
    - item_type: preproc_def
      name: F_OK
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
      type_or_value: 00  // not defined by MSVC for whatever reason
    - item_type: preproc_def
      name: STDIN_FILENO
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
      type_or_value: '0'
    - item_type: preproc_def
      name: STDOUT_FILENO
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/io_win32.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::io::ZeroCopyInputStream
  - ~ZeroCopyInputStream()
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ZeroCopyOutputStream()
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::ZeroCopyInputStream
  - ~ZeroCopyInputStream()
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ZeroCopyOutputStream()
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::ZeroCopyInputStream
  - ~ZeroCopyInputStream()
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ZeroCopyOutputStream()
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::ZeroCopyInputStream
  - ~ZeroCopyInputStream()
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ZeroCopyOutputStream()
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::ZeroCopyInputStream
  - ~ZeroCopyInputStream()
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ZeroCopyOutputStream()
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::ZeroCopyInputStream
  - ~ZeroCopyInputStream()
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ZeroCopyOutputStream()
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::ZeroCopyInputStream
  - ~ZeroCopyInputStream()
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ZeroCopyOutputStream()
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::ZeroCopyInputStream
  - ~ZeroCopyInputStream()
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ZeroCopyOutputStream()
  - google::protobuf::io::AllowsAliasing
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::io::CodedInputStream
  - google::protobuf::io::ReadTag
  - std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
  - google::protobuf::io::SetLastTag
  - google::protobuf::io::SetConsumed
  - google::protobuf::io::SetTotalBytesLimit
  - google::protobuf::io::RecursionBudget
  - google::protobuf::io::GetDefaultRecursionLimit
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EnsureSpace
  - google::protobuf::io::WriteRaw
  - google::protobuf::io::WriteRawMaybeAliased
  - google::protobuf::io::WriteStringMaybeAliased
  - google::protobuf::io::WriteBytesMaybeAliased
  - google::protobuf::io::WriteString
  - google::protobuf::io::WriteBytes
  - google::protobuf::io::WriteInt32Packed
  - google::protobuf::io::WriteUInt32Packed
  - google::protobuf::io::WriteSInt32Packed
  - google::protobuf::io::WriteInt64Packed
  - google::protobuf::io::WriteUInt64Packed
  - google::protobuf::io::WriteSInt64Packed
  - google::protobuf::io::WriteEnumPacked
  - google::protobuf::io::WriteFixedPacked
  - google::protobuf::io::HadError
  - google::protobuf::io::SetSerializationDeterministic
  - google::protobuf::io::IsSerializationDeterministic
  - google::protobuf::io::GetSize
  - google::protobuf::io::Error
  - google::protobuf::io::TagSize
  - google::protobuf::io::WriteTag
  - google::protobuf::io::WriteLengthDelim
  - google::protobuf::io::WriteVarintPacked
  - google::protobuf::io::Encode32
  - google::protobuf::io::Encode64
  - google::protobuf::io::ZigZagEncode32
  - google::protobuf::io::ZigZagEncode64
  - google::protobuf::io::UnsafeVarint
  - google::protobuf::io::UnsafeWriteSize
  - google::protobuf::io::CodedInputStream
  - google::protobuf::io::ReadTag
  - std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
  - google::protobuf::io::SetLastTag
  - google::protobuf::io::SetConsumed
  - google::protobuf::io::SetTotalBytesLimit
  - google::protobuf::io::RecursionBudget
  - google::protobuf::io::GetDefaultRecursionLimit
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EnsureSpace
  - google::protobuf::io::WriteRaw
  - google::protobuf::io::WriteRawMaybeAliased
  - google::protobuf::io::WriteStringMaybeAliased
  - google::protobuf::io::WriteBytesMaybeAliased
  - google::protobuf::io::WriteString
  - google::protobuf::io::WriteBytes
  - google::protobuf::io::WriteInt32Packed
  - google::protobuf::io::WriteUInt32Packed
  - google::protobuf::io::WriteSInt32Packed
  - google::protobuf::io::WriteInt64Packed
  - google::protobuf::io::WriteUInt64Packed
  - google::protobuf::io::WriteSInt64Packed
  - google::protobuf::io::WriteEnumPacked
  - google::protobuf::io::WriteFixedPacked
  - google::protobuf::io::HadError
  - google::protobuf::io::SetSerializationDeterministic
  - google::protobuf::io::IsSerializationDeterministic
  - google::protobuf::io::GetSize
  - google::protobuf::io::Error
  - google::protobuf::io::TagSize
  - google::protobuf::io::WriteTag
  - google::protobuf::io::WriteLengthDelim
  - google::protobuf::io::WriteVarintPacked
  - google::protobuf::io::Encode32
  - google::protobuf::io::Encode64
  - google::protobuf::io::ZigZagEncode32
  - google::protobuf::io::ZigZagEncode64
  - google::protobuf::io::UnsafeVarint
  - google::protobuf::io::UnsafeWriteSize
  - "* EpsCopyOutputStream::WriteRawLittleEndian<1>(const void* data,\n                                                           int
    size,\n                                                           uint8* ptr)"
  - "* EpsCopyOutputStream::WriteRawLittleEndian<4>(const void* data,\n                                                           int
    size,\n                                                           uint8* ptr)"
  - "* EpsCopyOutputStream::WriteRawLittleEndian<8>(const void* data,\n                                                           int
    size,\n                                                           uint8* ptr)"
  - google::protobuf::CodedOutputStream
  - google::protobuf::HadError
  - google::protobuf::Trim
  - google::protobuf::Skip
  - google::protobuf::GetDirectBufferPointer
  - google::protobuf::GetDirectBufferForNBytesAndAdvance
  - google::protobuf::WriteRaw
  - google::protobuf::WriteLittleEndian32
  - google::protobuf::WriteLittleEndian64
  - google::protobuf::ByteCount
  - google::protobuf::EnableAliasing
  - google::protobuf::SetSerializationDeterministic
  - google::protobuf::IsSerializationDeterministic
  - google::protobuf::IsDefaultSerializationDeterministic
  - google::protobuf::Cur
  - google::protobuf::SetCur
  - google::protobuf::EpsCopy
  - google::protobuf::SetDefaultSerializationDeterministic
  - google::protobuf::CodedInputStream::ReadVarint32
  - google::protobuf::CodedInputStream::ReadVarint64
  - google::protobuf::CodedInputStream::ReadVarintSizeAsInt
  - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
  - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
  - google::protobuf::CodedInputStream::ReadLittleEndian32
  - google::protobuf::CodedInputStream::ReadLittleEndian64
  - google::protobuf::CodedInputStream::ReadTagNoLastTag
  - google::protobuf::CodedInputStream::ReadTagWithCutoffNoLastTag
  - google::protobuf::CodedInputStream::LastTagWas
  - google::protobuf::CodedInputStream::ConsumedEntireMessage
  - google::protobuf::CodedInputStream::ExpectTag
  - google::protobuf::CodedInputStream::ExpectTagFromArray
  - google::protobuf::CodedInputStream::GetDirectBufferPointerInline
  - google::protobuf::CodedInputStream::ExpectAtEnd
  - google::protobuf::CodedInputStream::CurrentPosition
  - google::protobuf::CodedInputStream::Advance
  - google::protobuf::CodedInputStream::SetRecursionLimit
  - google::protobuf::CodedInputStream::IncrementRecursionDepth
  - google::protobuf::CodedInputStream::DecrementRecursionDepth
  - google::protobuf::CodedInputStream::UnsafeDecrementRecursionDepth
  - google::protobuf::CodedInputStream::SetExtensionRegistry
  - google::protobuf::CodedInputStream::GetExtensionPool
  - google::protobuf::CodedInputStream::GetExtensionFactory
  - google::protobuf::CodedInputStream::BufferSize
  - google::protobuf::CodedInputStream::CodedInputStream
  - google::protobuf::CodedInputStream::CodedInputStream
  - google::protobuf::CodedInputStream::IsFlat
  - google::protobuf::CodedInputStream::Skip
  - google::protobuf::CodedOutputStream::WriteVarint32ToArray
  - google::protobuf::CodedOutputStream::WriteVarint64ToArray
  - google::protobuf::CodedOutputStream::WriteVarint32SignExtended
  - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
  - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
  - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
  - google::protobuf::CodedOutputStream::WriteVarint32
  - google::protobuf::CodedOutputStream::WriteVarint64
  - google::protobuf::CodedOutputStream::WriteTag
  - google::protobuf::CodedOutputStream::WriteTagToArray
  - google::protobuf::CodedOutputStream::VarintSize32
  - google::protobuf::CodedOutputStream::VarintSize64
  - google::protobuf::CodedOutputStream::VarintSize32SignExtended
  - google::protobuf::CodedOutputStream::WriteString
  - google::protobuf::CodedOutputStream::WriteRawMaybeAliased
  - google::protobuf::CodedOutputStream::WriteRawToArray
  - google::protobuf::CodedOutputStream::WriteStringToArray
  - google::protobuf::io::CodedInputStream
  - google::protobuf::io::ReadTag
  - std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
  - google::protobuf::io::SetLastTag
  - google::protobuf::io::SetConsumed
  - google::protobuf::io::SetTotalBytesLimit
  - google::protobuf::io::RecursionBudget
  - google::protobuf::io::GetDefaultRecursionLimit
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EnsureSpace
  - google::protobuf::io::WriteRaw
  - google::protobuf::io::WriteRawMaybeAliased
  - google::protobuf::io::WriteStringMaybeAliased
  - google::protobuf::io::WriteBytesMaybeAliased
  - google::protobuf::io::WriteString
  - google::protobuf::io::WriteBytes
  - google::protobuf::io::WriteInt32Packed
  - google::protobuf::io::WriteUInt32Packed
  - google::protobuf::io::WriteSInt32Packed
  - google::protobuf::io::WriteInt64Packed
  - google::protobuf::io::WriteUInt64Packed
  - google::protobuf::io::WriteSInt64Packed
  - google::protobuf::io::WriteEnumPacked
  - google::protobuf::io::WriteFixedPacked
  - google::protobuf::io::HadError
  - google::protobuf::io::SetSerializationDeterministic
  - google::protobuf::io::IsSerializationDeterministic
  - google::protobuf::io::GetSize
  - google::protobuf::io::Error
  - google::protobuf::io::TagSize
  - google::protobuf::io::WriteTag
  - google::protobuf::io::WriteLengthDelim
  - google::protobuf::io::WriteVarintPacked
  - google::protobuf::io::Encode32
  - google::protobuf::io::Encode64
  - google::protobuf::io::ZigZagEncode32
  - google::protobuf::io::ZigZagEncode64
  - google::protobuf::io::UnsafeVarint
  - google::protobuf::io::UnsafeWriteSize
  - google::protobuf::io::CodedInputStream
  - google::protobuf::io::ReadTag
  - std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
  - google::protobuf::io::SetLastTag
  - google::protobuf::io::SetConsumed
  - google::protobuf::io::SetTotalBytesLimit
  - google::protobuf::io::RecursionBudget
  - google::protobuf::io::GetDefaultRecursionLimit
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EnsureSpace
  - google::protobuf::io::WriteRaw
  - google::protobuf::io::WriteRawMaybeAliased
  - google::protobuf::io::WriteStringMaybeAliased
  - google::protobuf::io::WriteBytesMaybeAliased
  - google::protobuf::io::WriteString
  - google::protobuf::io::WriteBytes
  - google::protobuf::io::WriteInt32Packed
  - google::protobuf::io::WriteUInt32Packed
  - google::protobuf::io::WriteSInt32Packed
  - google::protobuf::io::WriteInt64Packed
  - google::protobuf::io::WriteUInt64Packed
  - google::protobuf::io::WriteSInt64Packed
  - google::protobuf::io::WriteEnumPacked
  - google::protobuf::io::WriteFixedPacked
  - google::protobuf::io::HadError
  - google::protobuf::io::SetSerializationDeterministic
  - google::protobuf::io::IsSerializationDeterministic
  - google::protobuf::io::GetSize
  - google::protobuf::io::Error
  - google::protobuf::io::TagSize
  - google::protobuf::io::WriteTag
  - google::protobuf::io::WriteLengthDelim
  - google::protobuf::io::WriteVarintPacked
  - google::protobuf::io::Encode32
  - google::protobuf::io::Encode64
  - google::protobuf::io::ZigZagEncode32
  - google::protobuf::io::ZigZagEncode64
  - google::protobuf::io::UnsafeVarint
  - google::protobuf::io::UnsafeWriteSize
  - "* EpsCopyOutputStream::WriteRawLittleEndian<1>(const void* data,\n                                                           int
    size,\n                                                           uint8* ptr)"
  - "* EpsCopyOutputStream::WriteRawLittleEndian<4>(const void* data,\n                                                           int
    size,\n                                                           uint8* ptr)"
  - "* EpsCopyOutputStream::WriteRawLittleEndian<8>(const void* data,\n                                                           int
    size,\n                                                           uint8* ptr)"
  - google::protobuf::CodedOutputStream
  - google::protobuf::HadError
  - google::protobuf::Trim
  - google::protobuf::Skip
  - google::protobuf::GetDirectBufferPointer
  - google::protobuf::GetDirectBufferForNBytesAndAdvance
  - google::protobuf::WriteRaw
  - google::protobuf::WriteLittleEndian32
  - google::protobuf::WriteLittleEndian64
  - google::protobuf::ByteCount
  - google::protobuf::EnableAliasing
  - google::protobuf::SetSerializationDeterministic
  - google::protobuf::IsSerializationDeterministic
  - google::protobuf::IsDefaultSerializationDeterministic
  - google::protobuf::Cur
  - google::protobuf::SetCur
  - google::protobuf::EpsCopy
  - google::protobuf::SetDefaultSerializationDeterministic
  - google::protobuf::CodedInputStream::ReadVarint32
  - google::protobuf::CodedInputStream::ReadVarint64
  - google::protobuf::CodedInputStream::ReadVarintSizeAsInt
  - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
  - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
  - google::protobuf::CodedInputStream::ReadLittleEndian32
  - google::protobuf::CodedInputStream::ReadLittleEndian64
  - google::protobuf::CodedInputStream::ReadTagNoLastTag
  - google::protobuf::CodedInputStream::ReadTagWithCutoffNoLastTag
  - google::protobuf::CodedInputStream::LastTagWas
  - google::protobuf::CodedInputStream::ConsumedEntireMessage
  - google::protobuf::CodedInputStream::ExpectTag
  - google::protobuf::CodedInputStream::ExpectTagFromArray
  - google::protobuf::CodedInputStream::GetDirectBufferPointerInline
  - google::protobuf::CodedInputStream::ExpectAtEnd
  - google::protobuf::CodedInputStream::CurrentPosition
  - google::protobuf::CodedInputStream::Advance
  - google::protobuf::CodedInputStream::SetRecursionLimit
  - google::protobuf::CodedInputStream::IncrementRecursionDepth
  - google::protobuf::CodedInputStream::DecrementRecursionDepth
  - google::protobuf::CodedInputStream::UnsafeDecrementRecursionDepth
  - google::protobuf::CodedInputStream::SetExtensionRegistry
  - google::protobuf::CodedInputStream::GetExtensionPool
  - google::protobuf::CodedInputStream::GetExtensionFactory
  - google::protobuf::CodedInputStream::BufferSize
  - google::protobuf::CodedInputStream::CodedInputStream
  - google::protobuf::CodedInputStream::CodedInputStream
  - google::protobuf::CodedInputStream::IsFlat
  - google::protobuf::CodedInputStream::Skip
  - google::protobuf::CodedOutputStream::WriteVarint32ToArray
  - google::protobuf::CodedOutputStream::WriteVarint64ToArray
  - google::protobuf::CodedOutputStream::WriteVarint32SignExtended
  - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
  - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
  - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
  - google::protobuf::CodedOutputStream::WriteVarint32
  - google::protobuf::CodedOutputStream::WriteVarint64
  - google::protobuf::CodedOutputStream::WriteTag
  - google::protobuf::CodedOutputStream::WriteTagToArray
  - google::protobuf::CodedOutputStream::VarintSize32
  - google::protobuf::CodedOutputStream::VarintSize64
  - google::protobuf::CodedOutputStream::VarintSize32SignExtended
  - google::protobuf::CodedOutputStream::WriteString
  - google::protobuf::CodedOutputStream::WriteRawMaybeAliased
  - google::protobuf::CodedOutputStream::WriteRawToArray
  - google::protobuf::CodedOutputStream::WriteStringToArray
  - google::protobuf::io::CodedInputStream
  - google::protobuf::io::ReadTag
  - std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
  - google::protobuf::io::SetLastTag
  - google::protobuf::io::SetConsumed
  - google::protobuf::io::SetTotalBytesLimit
  - google::protobuf::io::RecursionBudget
  - google::protobuf::io::GetDefaultRecursionLimit
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EnsureSpace
  - google::protobuf::io::WriteRaw
  - google::protobuf::io::WriteRawMaybeAliased
  - google::protobuf::io::WriteStringMaybeAliased
  - google::protobuf::io::WriteBytesMaybeAliased
  - google::protobuf::io::WriteString
  - google::protobuf::io::WriteBytes
  - google::protobuf::io::WriteInt32Packed
  - google::protobuf::io::WriteUInt32Packed
  - google::protobuf::io::WriteSInt32Packed
  - google::protobuf::io::WriteInt64Packed
  - google::protobuf::io::WriteUInt64Packed
  - google::protobuf::io::WriteSInt64Packed
  - google::protobuf::io::WriteEnumPacked
  - google::protobuf::io::WriteFixedPacked
  - google::protobuf::io::HadError
  - google::protobuf::io::SetSerializationDeterministic
  - google::protobuf::io::IsSerializationDeterministic
  - google::protobuf::io::GetSize
  - google::protobuf::io::Error
  - google::protobuf::io::TagSize
  - google::protobuf::io::WriteTag
  - google::protobuf::io::WriteLengthDelim
  - google::protobuf::io::WriteVarintPacked
  - google::protobuf::io::Encode32
  - google::protobuf::io::Encode64
  - google::protobuf::io::ZigZagEncode32
  - google::protobuf::io::ZigZagEncode64
  - google::protobuf::io::UnsafeVarint
  - google::protobuf::io::UnsafeWriteSize
  - google::protobuf::io::CodedInputStream
  - google::protobuf::io::ReadTag
  - std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
  - google::protobuf::io::SetLastTag
  - google::protobuf::io::SetConsumed
  - google::protobuf::io::SetTotalBytesLimit
  - google::protobuf::io::RecursionBudget
  - google::protobuf::io::GetDefaultRecursionLimit
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EnsureSpace
  - google::protobuf::io::WriteRaw
  - google::protobuf::io::WriteRawMaybeAliased
  - google::protobuf::io::WriteStringMaybeAliased
  - google::protobuf::io::WriteBytesMaybeAliased
  - google::protobuf::io::WriteString
  - google::protobuf::io::WriteBytes
  - google::protobuf::io::WriteInt32Packed
  - google::protobuf::io::WriteUInt32Packed
  - google::protobuf::io::WriteSInt32Packed
  - google::protobuf::io::WriteInt64Packed
  - google::protobuf::io::WriteUInt64Packed
  - google::protobuf::io::WriteSInt64Packed
  - google::protobuf::io::WriteEnumPacked
  - google::protobuf::io::WriteFixedPacked
  - google::protobuf::io::HadError
  - google::protobuf::io::SetSerializationDeterministic
  - google::protobuf::io::IsSerializationDeterministic
  - google::protobuf::io::GetSize
  - google::protobuf::io::Error
  - google::protobuf::io::TagSize
  - google::protobuf::io::WriteTag
  - google::protobuf::io::WriteLengthDelim
  - google::protobuf::io::WriteVarintPacked
  - google::protobuf::io::Encode32
  - google::protobuf::io::Encode64
  - google::protobuf::io::ZigZagEncode32
  - google::protobuf::io::ZigZagEncode64
  - google::protobuf::io::UnsafeVarint
  - google::protobuf::io::UnsafeWriteSize
  - "* EpsCopyOutputStream::WriteRawLittleEndian<1>(const void* data,\n                                                           int
    size,\n                                                           uint8* ptr)"
  - "* EpsCopyOutputStream::WriteRawLittleEndian<4>(const void* data,\n                                                           int
    size,\n                                                           uint8* ptr)"
  - "* EpsCopyOutputStream::WriteRawLittleEndian<8>(const void* data,\n                                                           int
    size,\n                                                           uint8* ptr)"
  - google::protobuf::CodedOutputStream
  - google::protobuf::HadError
  - google::protobuf::Trim
  - google::protobuf::Skip
  - google::protobuf::GetDirectBufferPointer
  - google::protobuf::GetDirectBufferForNBytesAndAdvance
  - google::protobuf::WriteRaw
  - google::protobuf::WriteLittleEndian32
  - google::protobuf::WriteLittleEndian64
  - google::protobuf::ByteCount
  - google::protobuf::EnableAliasing
  - google::protobuf::SetSerializationDeterministic
  - google::protobuf::IsSerializationDeterministic
  - google::protobuf::IsDefaultSerializationDeterministic
  - google::protobuf::Cur
  - google::protobuf::SetCur
  - google::protobuf::EpsCopy
  - google::protobuf::SetDefaultSerializationDeterministic
  - google::protobuf::CodedInputStream::ReadVarint32
  - google::protobuf::CodedInputStream::ReadVarint64
  - google::protobuf::CodedInputStream::ReadVarintSizeAsInt
  - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
  - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
  - google::protobuf::CodedInputStream::ReadLittleEndian32
  - google::protobuf::CodedInputStream::ReadLittleEndian64
  - google::protobuf::CodedInputStream::ReadTagNoLastTag
  - google::protobuf::CodedInputStream::ReadTagWithCutoffNoLastTag
  - google::protobuf::CodedInputStream::LastTagWas
  - google::protobuf::CodedInputStream::ConsumedEntireMessage
  - google::protobuf::CodedInputStream::ExpectTag
  - google::protobuf::CodedInputStream::ExpectTagFromArray
  - google::protobuf::CodedInputStream::GetDirectBufferPointerInline
  - google::protobuf::CodedInputStream::ExpectAtEnd
  - google::protobuf::CodedInputStream::CurrentPosition
  - google::protobuf::CodedInputStream::Advance
  - google::protobuf::CodedInputStream::SetRecursionLimit
  - google::protobuf::CodedInputStream::IncrementRecursionDepth
  - google::protobuf::CodedInputStream::DecrementRecursionDepth
  - google::protobuf::CodedInputStream::UnsafeDecrementRecursionDepth
  - google::protobuf::CodedInputStream::SetExtensionRegistry
  - google::protobuf::CodedInputStream::GetExtensionPool
  - google::protobuf::CodedInputStream::GetExtensionFactory
  - google::protobuf::CodedInputStream::BufferSize
  - google::protobuf::CodedInputStream::CodedInputStream
  - google::protobuf::CodedInputStream::CodedInputStream
  - google::protobuf::CodedInputStream::IsFlat
  - google::protobuf::CodedInputStream::Skip
  - google::protobuf::CodedOutputStream::WriteVarint32ToArray
  - google::protobuf::CodedOutputStream::WriteVarint64ToArray
  - google::protobuf::CodedOutputStream::WriteVarint32SignExtended
  - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
  - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
  - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
  - google::protobuf::CodedOutputStream::WriteVarint32
  - google::protobuf::CodedOutputStream::WriteVarint64
  - google::protobuf::CodedOutputStream::WriteTag
  - google::protobuf::CodedOutputStream::WriteTagToArray
  - google::protobuf::CodedOutputStream::VarintSize32
  - google::protobuf::CodedOutputStream::VarintSize64
  - google::protobuf::CodedOutputStream::VarintSize32SignExtended
  - google::protobuf::CodedOutputStream::WriteString
  - google::protobuf::CodedOutputStream::WriteRawMaybeAliased
  - google::protobuf::CodedOutputStream::WriteRawToArray
  - google::protobuf::CodedOutputStream::WriteStringToArray
  - google::protobuf::io::CodedInputStream
  - google::protobuf::io::ReadTag
  - std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
  - google::protobuf::io::SetLastTag
  - google::protobuf::io::SetConsumed
  - google::protobuf::io::SetTotalBytesLimit
  - google::protobuf::io::RecursionBudget
  - google::protobuf::io::GetDefaultRecursionLimit
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EnsureSpace
  - google::protobuf::io::WriteRaw
  - google::protobuf::io::WriteRawMaybeAliased
  - google::protobuf::io::WriteStringMaybeAliased
  - google::protobuf::io::WriteBytesMaybeAliased
  - google::protobuf::io::WriteString
  - google::protobuf::io::WriteBytes
  - google::protobuf::io::WriteInt32Packed
  - google::protobuf::io::WriteUInt32Packed
  - google::protobuf::io::WriteSInt32Packed
  - google::protobuf::io::WriteInt64Packed
  - google::protobuf::io::WriteUInt64Packed
  - google::protobuf::io::WriteSInt64Packed
  - google::protobuf::io::WriteEnumPacked
  - google::protobuf::io::WriteFixedPacked
  - google::protobuf::io::HadError
  - google::protobuf::io::SetSerializationDeterministic
  - google::protobuf::io::IsSerializationDeterministic
  - google::protobuf::io::GetSize
  - google::protobuf::io::Error
  - google::protobuf::io::TagSize
  - google::protobuf::io::WriteTag
  - google::protobuf::io::WriteLengthDelim
  - google::protobuf::io::WriteVarintPacked
  - google::protobuf::io::Encode32
  - google::protobuf::io::Encode64
  - google::protobuf::io::ZigZagEncode32
  - google::protobuf::io::ZigZagEncode64
  - google::protobuf::io::UnsafeVarint
  - google::protobuf::io::UnsafeWriteSize
  - google::protobuf::io::CodedInputStream
  - google::protobuf::io::ReadTag
  - std::pair<uint32, bool> ReadTagWithCutoff(uint32 cutoff)
  - google::protobuf::io::SetLastTag
  - google::protobuf::io::SetConsumed
  - google::protobuf::io::SetTotalBytesLimit
  - google::protobuf::io::RecursionBudget
  - google::protobuf::io::GetDefaultRecursionLimit
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EpsCopyOutputStream
  - google::protobuf::io::EnsureSpace
  - google::protobuf::io::WriteRaw
  - google::protobuf::io::WriteRawMaybeAliased
  - google::protobuf::io::WriteStringMaybeAliased
  - google::protobuf::io::WriteBytesMaybeAliased
  - google::protobuf::io::WriteString
  - google::protobuf::io::WriteBytes
  - google::protobuf::io::WriteInt32Packed
  - google::protobuf::io::WriteUInt32Packed
  - google::protobuf::io::WriteSInt32Packed
  - google::protobuf::io::WriteInt64Packed
  - google::protobuf::io::WriteUInt64Packed
  - google::protobuf::io::WriteSInt64Packed
  - google::protobuf::io::WriteEnumPacked
  - google::protobuf::io::WriteFixedPacked
  - google::protobuf::io::HadError
  - google::protobuf::io::SetSerializationDeterministic
  - google::protobuf::io::IsSerializationDeterministic
  - google::protobuf::io::GetSize
  - google::protobuf::io::Error
  - google::protobuf::io::TagSize
  - google::protobuf::io::WriteTag
  - google::protobuf::io::WriteLengthDelim
  - google::protobuf::io::WriteVarintPacked
  - google::protobuf::io::Encode32
  - google::protobuf::io::Encode64
  - google::protobuf::io::ZigZagEncode32
  - google::protobuf::io::ZigZagEncode64
  - google::protobuf::io::UnsafeVarint
  - google::protobuf::io::UnsafeWriteSize
  - "* EpsCopyOutputStream::WriteRawLittleEndian<1>(const void* data,\n                                                           int
    size,\n                                                           uint8* ptr)"
  - "* EpsCopyOutputStream::WriteRawLittleEndian<4>(const void* data,\n                                                           int
    size,\n                                                           uint8* ptr)"
  - "* EpsCopyOutputStream::WriteRawLittleEndian<8>(const void* data,\n                                                           int
    size,\n                                                           uint8* ptr)"
  - google::protobuf::CodedOutputStream
  - google::protobuf::HadError
  - google::protobuf::Trim
  - google::protobuf::Skip
  - google::protobuf::GetDirectBufferPointer
  - google::protobuf::GetDirectBufferForNBytesAndAdvance
  - google::protobuf::WriteRaw
  - google::protobuf::WriteLittleEndian32
  - google::protobuf::WriteLittleEndian64
  - google::protobuf::ByteCount
  - google::protobuf::EnableAliasing
  - google::protobuf::SetSerializationDeterministic
  - google::protobuf::IsSerializationDeterministic
  - google::protobuf::IsDefaultSerializationDeterministic
  - google::protobuf::Cur
  - google::protobuf::SetCur
  - google::protobuf::EpsCopy
  - google::protobuf::SetDefaultSerializationDeterministic
  - google::protobuf::CodedInputStream::ReadVarint32
  - google::protobuf::CodedInputStream::ReadVarint64
  - google::protobuf::CodedInputStream::ReadVarintSizeAsInt
  - google::protobuf::CodedInputStream::ReadLittleEndian32FromArray
  - google::protobuf::CodedInputStream::ReadLittleEndian64FromArray
  - google::protobuf::CodedInputStream::ReadLittleEndian32
  - google::protobuf::CodedInputStream::ReadLittleEndian64
  - google::protobuf::CodedInputStream::ReadTagNoLastTag
  - google::protobuf::CodedInputStream::ReadTagWithCutoffNoLastTag
  - google::protobuf::CodedInputStream::LastTagWas
  - google::protobuf::CodedInputStream::ConsumedEntireMessage
  - google::protobuf::CodedInputStream::ExpectTag
  - google::protobuf::CodedInputStream::ExpectTagFromArray
  - google::protobuf::CodedInputStream::GetDirectBufferPointerInline
  - google::protobuf::CodedInputStream::ExpectAtEnd
  - google::protobuf::CodedInputStream::CurrentPosition
  - google::protobuf::CodedInputStream::Advance
  - google::protobuf::CodedInputStream::SetRecursionLimit
  - google::protobuf::CodedInputStream::IncrementRecursionDepth
  - google::protobuf::CodedInputStream::DecrementRecursionDepth
  - google::protobuf::CodedInputStream::UnsafeDecrementRecursionDepth
  - google::protobuf::CodedInputStream::SetExtensionRegistry
  - google::protobuf::CodedInputStream::GetExtensionPool
  - google::protobuf::CodedInputStream::GetExtensionFactory
  - google::protobuf::CodedInputStream::BufferSize
  - google::protobuf::CodedInputStream::CodedInputStream
  - google::protobuf::CodedInputStream::CodedInputStream
  - google::protobuf::CodedInputStream::IsFlat
  - google::protobuf::CodedInputStream::Skip
  - google::protobuf::CodedOutputStream::WriteVarint32ToArray
  - google::protobuf::CodedOutputStream::WriteVarint64ToArray
  - google::protobuf::CodedOutputStream::WriteVarint32SignExtended
  - google::protobuf::CodedOutputStream::WriteVarint32SignExtendedToArray
  - google::protobuf::CodedOutputStream::WriteLittleEndian32ToArray
  - google::protobuf::CodedOutputStream::WriteLittleEndian64ToArray
  - google::protobuf::CodedOutputStream::WriteVarint32
  - google::protobuf::CodedOutputStream::WriteVarint64
  - google::protobuf::CodedOutputStream::WriteTag
  - google::protobuf::CodedOutputStream::WriteTagToArray
  - google::protobuf::CodedOutputStream::VarintSize32
  - google::protobuf::CodedOutputStream::VarintSize64
  - google::protobuf::CodedOutputStream::VarintSize32SignExtended
  - google::protobuf::CodedOutputStream::WriteString
  - google::protobuf::CodedOutputStream::WriteRawMaybeAliased
  - google::protobuf::CodedOutputStream::WriteRawToArray
  - google::protobuf::CodedOutputStream::WriteStringToArray
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROTOBUF_LITTLE_ENDIAN
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PROTOBUF_LITTLE_ENDIAN
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
      type_or_value: '1'
    structs:
    - fields:
      - name: value
        type: size_t
      item_type: struct
      name: StaticVarintSize32
      pos:
        line_end: 1185
        line_start: 1178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    - fields:
      - name: value
        type: size_t
      item_type: struct
      name: StaticVarintSize32
      pos:
        line_end: 1185
        line_start: 1178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    - fields:
      - name: value
        type: size_t
      item_type: struct
      name: StaticVarintSize32
      pos:
        line_end: 1185
        line_start: 1178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    - fields:
      - name: value
        type: size_t
      item_type: struct
      name: StaticVarintSize32
      pos:
        line_end: 1185
        line_start: 1178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
    typedefs:
    - item_type: typedef
      name: Limit
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
      type: int
    - item_type: typedef
      name: Limit
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
      type: int
    - item_type: typedef
      name: Limit
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
      type: int
    - item_type: typedef
      name: Limit
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
      type: int
    - item_type: typedef
      name: Limit
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
      type: int
    - item_type: typedef
      name: Limit
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
      type: int
    - item_type: typedef
      name: Limit
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
      type: int
    - item_type: typedef
      name: Limit
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/coded_stream.h
      type: int
    union: []
- function_names:
  - google::protobuf::io::ZeroCopyInputStream
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::io::ZeroCopyInputStream
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::CopyingOutputStreamAdaptor
  - google::protobuf::SetCloseOnDelete
  - google::protobuf::GetErrno
  - google::protobuf::SetCloseOnDelete
  - google::protobuf::GetErrno
  - google::protobuf::io::ZeroCopyInputStream
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::io::ZeroCopyInputStream
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::CopyingOutputStreamAdaptor
  - google::protobuf::SetCloseOnDelete
  - google::protobuf::GetErrno
  - google::protobuf::SetCloseOnDelete
  - google::protobuf::GetErrno
  - google::ZeroCopyInputStream
  - google::protobuf::io::ZeroCopyInputStream
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::io::ZeroCopyInputStream
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::CopyingOutputStreamAdaptor
  - google::protobuf::SetCloseOnDelete
  - google::protobuf::GetErrno
  - google::protobuf::SetCloseOnDelete
  - google::protobuf::GetErrno
  - google::protobuf::io::ZeroCopyInputStream
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::io::ZeroCopyInputStream
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::io::SetCloseOnDelete
  - google::protobuf::io::GetErrno
  - google::protobuf::CopyingOutputStreamAdaptor
  - google::protobuf::SetCloseOnDelete
  - google::protobuf::GetErrno
  - google::protobuf::SetCloseOnDelete
  - google::protobuf::GetErrno
  - google::ZeroCopyInputStream
  - ZeroCopyOutputStream
  - ConcatenatingInputStream
  - ~ConcatenatingInputStream() override
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::io::ZeroCopyInputStream
  - ~ArrayInputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ArrayOutputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~StringOutputStream() override
  - google::protobuf::io::CopyingInputStream
  - google::protobuf::io::CopyingInputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::CopyingOutputStream
  - google::protobuf::io::CopyingOutputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::LimitingInputStream
  - google::protobuf::io::mutable_string_data
  - google::protobuf::io::as_string_data
  - google::protobuf::io::ZeroCopyInputStream
  - ~ArrayInputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ArrayOutputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~StringOutputStream() override
  - google::protobuf::io::CopyingInputStream
  - google::protobuf::io::CopyingInputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::CopyingOutputStream
  - google::protobuf::io::CopyingOutputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::LimitingInputStream
  - google::protobuf::io::mutable_string_data
  - google::protobuf::io::as_string_data
  - google::protobuf::io::ZeroCopyInputStream
  - ~ArrayInputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ArrayOutputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~StringOutputStream() override
  - google::protobuf::io::CopyingInputStream
  - google::protobuf::io::CopyingInputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::CopyingOutputStream
  - google::protobuf::io::CopyingOutputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::LimitingInputStream
  - google::protobuf::io::mutable_string_data
  - google::protobuf::io::as_string_data
  - google::protobuf::io::ZeroCopyInputStream
  - ~ArrayInputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ArrayOutputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~StringOutputStream() override
  - google::protobuf::io::CopyingInputStream
  - google::protobuf::io::CopyingInputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::CopyingOutputStream
  - google::protobuf::io::CopyingOutputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::LimitingInputStream
  - google::protobuf::io::mutable_string_data
  - google::protobuf::io::as_string_data
  - google::protobuf::io::ZeroCopyInputStream
  - ~ArrayInputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ArrayOutputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~StringOutputStream() override
  - google::protobuf::io::CopyingInputStream
  - google::protobuf::io::CopyingInputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::CopyingOutputStream
  - google::protobuf::io::CopyingOutputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::LimitingInputStream
  - google::protobuf::io::mutable_string_data
  - google::protobuf::io::as_string_data
  - google::protobuf::io::ZeroCopyInputStream
  - ~ArrayInputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ArrayOutputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~StringOutputStream() override
  - google::protobuf::io::CopyingInputStream
  - google::protobuf::io::CopyingInputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::CopyingOutputStream
  - google::protobuf::io::CopyingOutputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::LimitingInputStream
  - google::protobuf::io::mutable_string_data
  - google::protobuf::io::as_string_data
  - google::protobuf::io::ZeroCopyInputStream
  - ~ArrayInputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ArrayOutputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~StringOutputStream() override
  - google::protobuf::io::CopyingInputStream
  - google::protobuf::io::CopyingInputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::CopyingOutputStream
  - google::protobuf::io::CopyingOutputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::LimitingInputStream
  - google::protobuf::io::mutable_string_data
  - google::protobuf::io::as_string_data
  - google::protobuf::io::ZeroCopyInputStream
  - ~ArrayInputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~ArrayOutputStream() override
  - google::protobuf::io::ZeroCopyOutputStream
  - ~StringOutputStream() override
  - google::protobuf::io::CopyingInputStream
  - google::protobuf::io::CopyingInputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::CopyingOutputStream
  - google::protobuf::io::CopyingOutputStreamAdaptor
  - google::protobuf::io::SetOwnsCopyingStream
  - google::protobuf::io::AllowsAliasing
  - google::protobuf::io::LimitingInputStream
  - google::protobuf::io::mutable_string_data
  - google::protobuf::io::as_string_data
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::STLStringResizeUninitialized
  - google::protobuf::string_as_array
  - google::protobuf::STLStringResizeUninitialized
  - google::protobuf::string_as_array
  - google::protobuf::STLStringResizeUninitialized
  - google::protobuf::string_as_array
  - google::protobuf::STLStringResizeUninitialized
  - google::protobuf::string_as_array
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stl_util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::LogMessage
  - google::protobuf::internal::LogFinisher
  - google::protobuf::internal::IsOk
  - google::protobuf::internal::IsOk
  - google::protobuf::internal::LogMessage
  - google::protobuf::internal::LogFinisher
  - google::protobuf::internal::IsOk
  - google::protobuf::internal::IsOk
  - GOOGLE_LOG
  - GOOGLE_LOG_IF
  - GOOGLE_CHECK
  - GOOGLE_CHECK_OK
  - GOOGLE_CHECK_EQ
  - GOOGLE_CHECK_NE
  - GOOGLE_CHECK_LT
  - GOOGLE_CHECK_LE
  - GOOGLE_CHECK_GT
  - GOOGLE_CHECK_GE
  - google::protobuf::internal::CheckNotNull
  - google::protobuf::internal::CheckNotNull
  - GOOGLE_CHECK_NOTNULL
  - GOOGLE_DLOG
  - GOOGLE_DCHECK
  - GOOGLE_DCHECK_OK
  - GOOGLE_DCHECK_EQ
  - GOOGLE_DCHECK_NE
  - GOOGLE_DCHECK_LT
  - GOOGLE_DCHECK_LE
  - GOOGLE_DCHECK_GT
  - GOOGLE_DCHECK_GE
  - google::protobuf::LogSilencer
  - google::protobuf::internal::LogMessage
  - google::protobuf::internal::LogFinisher
  - google::protobuf::internal::IsOk
  - google::protobuf::internal::IsOk
  - google::protobuf::internal::LogMessage
  - google::protobuf::internal::LogFinisher
  - google::protobuf::internal::IsOk
  - google::protobuf::internal::IsOk
  - GOOGLE_LOG
  - GOOGLE_LOG_IF
  - GOOGLE_CHECK
  - GOOGLE_CHECK_OK
  - GOOGLE_CHECK_EQ
  - GOOGLE_CHECK_NE
  - GOOGLE_CHECK_LT
  - GOOGLE_CHECK_LE
  - GOOGLE_CHECK_GT
  - GOOGLE_CHECK_GE
  - google::protobuf::internal::CheckNotNull
  - google::protobuf::internal::CheckNotNull
  - GOOGLE_CHECK_NOTNULL
  - GOOGLE_DLOG
  - GOOGLE_DCHECK
  - GOOGLE_DCHECK_OK
  - GOOGLE_DCHECK_EQ
  - GOOGLE_DCHECK_NE
  - GOOGLE_DCHECK_LT
  - GOOGLE_DCHECK_LE
  - GOOGLE_DCHECK_GT
  - GOOGLE_DCHECK_GE
  - google::protobuf::LogSilencer
  - google::protobuf::internal::LogMessage
  - google::protobuf::internal::LogFinisher
  - google::protobuf::internal::IsOk
  - google::protobuf::internal::IsOk
  - google::protobuf::internal::LogMessage
  - google::protobuf::internal::LogFinisher
  - google::protobuf::internal::IsOk
  - google::protobuf::internal::IsOk
  - GOOGLE_LOG
  - GOOGLE_LOG_IF
  - GOOGLE_CHECK
  - GOOGLE_CHECK_OK
  - GOOGLE_CHECK_EQ
  - GOOGLE_CHECK_NE
  - GOOGLE_CHECK_LT
  - GOOGLE_CHECK_LE
  - GOOGLE_CHECK_GT
  - GOOGLE_CHECK_GE
  - google::protobuf::internal::CheckNotNull
  - google::protobuf::internal::CheckNotNull
  - GOOGLE_CHECK_NOTNULL
  - GOOGLE_DLOG
  - GOOGLE_DCHECK
  - GOOGLE_DCHECK_OK
  - GOOGLE_DCHECK_EQ
  - GOOGLE_DCHECK_NE
  - GOOGLE_DCHECK_LT
  - GOOGLE_DCHECK_LE
  - GOOGLE_DCHECK_GT
  - GOOGLE_DCHECK_GE
  - google::protobuf::LogSilencer
  - google::protobuf::internal::LogMessage
  - google::protobuf::internal::LogFinisher
  - google::protobuf::internal::IsOk
  - google::protobuf::internal::IsOk
  - google::protobuf::internal::LogMessage
  - google::protobuf::internal::LogFinisher
  - google::protobuf::internal::IsOk
  - google::protobuf::internal::IsOk
  - GOOGLE_LOG
  - GOOGLE_LOG_IF
  - GOOGLE_CHECK
  - GOOGLE_CHECK_OK
  - GOOGLE_CHECK_EQ
  - GOOGLE_CHECK_NE
  - GOOGLE_CHECK_LT
  - GOOGLE_CHECK_LE
  - GOOGLE_CHECK_GT
  - GOOGLE_CHECK_GE
  - google::protobuf::internal::CheckNotNull
  - google::protobuf::internal::CheckNotNull
  - GOOGLE_CHECK_NOTNULL
  - GOOGLE_DLOG
  - GOOGLE_DCHECK
  - GOOGLE_DCHECK_OK
  - GOOGLE_DCHECK_EQ
  - GOOGLE_DCHECK_NE
  - GOOGLE_DCHECK_LT
  - GOOGLE_DCHECK_LE
  - GOOGLE_DCHECK_GT
  - GOOGLE_DCHECK_GE
  - google::protobuf::LogSilencer
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
  types:
    enum:
    - enumerators:
      - name: LOGLEVEL_INFO
      - name: LOGLEVEL_ERROR
      - name: LOGLEVEL_FATAL
      - name: LOGLEVEL_WARNING
      - name: LOGLEVEL_DFATAL
        value: LOGLEVEL_ERROR
      - name: LOGLEVEL_DFATAL
        value: LOGLEVEL_FATAL
      item_type: enum
      name: LogLevel
      pos:
        line_end: 63
        line_start: 44
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    - enumerators:
      - name: LOGLEVEL_INFO
      - name: LOGLEVEL_ERROR
      - name: LOGLEVEL_FATAL
      - name: LOGLEVEL_WARNING
      - name: LOGLEVEL_DFATAL
        value: LOGLEVEL_ERROR
      - name: LOGLEVEL_DFATAL
        value: LOGLEVEL_FATAL
      item_type: enum
      name: LogLevel
      pos:
        line_end: 63
        line_start: 44
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    - enumerators:
      - name: LOGLEVEL_INFO
      - name: LOGLEVEL_ERROR
      - name: LOGLEVEL_FATAL
      - name: LOGLEVEL_WARNING
      - name: LOGLEVEL_DFATAL
        value: LOGLEVEL_ERROR
      - name: LOGLEVEL_DFATAL
        value: LOGLEVEL_FATAL
      item_type: enum
      name: LogLevel
      pos:
        line_end: 63
        line_start: 44
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    - enumerators:
      - name: LOGLEVEL_INFO
      - name: LOGLEVEL_ERROR
      - name: LOGLEVEL_FATAL
      - name: LOGLEVEL_WARNING
      - name: LOGLEVEL_DFATAL
        value: LOGLEVEL_ERROR
      - name: LOGLEVEL_DFATAL
        value: LOGLEVEL_FATAL
      item_type: enum
      name: LogLevel
      pos:
        line_end: 63
        line_start: 44
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
    preproc_defs:
    - item_type: preproc_def
      name: GOOGLE_DLOG
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_LOG
    - item_type: preproc_def
      name: GOOGLE_DCHECK
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK
    - item_type: preproc_def
      name: GOOGLE_DCHECK_OK
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_OK
    - item_type: preproc_def
      name: GOOGLE_DCHECK_EQ
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_EQ
    - item_type: preproc_def
      name: GOOGLE_DCHECK_NE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_NE
    - item_type: preproc_def
      name: GOOGLE_DCHECK_LT
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_LT
    - item_type: preproc_def
      name: GOOGLE_DCHECK_LE
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_LE
    - item_type: preproc_def
      name: GOOGLE_DCHECK_GT
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_GT
    - item_type: preproc_def
      name: GOOGLE_DCHECK_GE
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_GE
    - item_type: preproc_def
      name: GOOGLE_DLOG
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_LOG
    - item_type: preproc_def
      name: GOOGLE_DCHECK
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK
    - item_type: preproc_def
      name: GOOGLE_DCHECK_OK
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_OK
    - item_type: preproc_def
      name: GOOGLE_DCHECK_EQ
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_EQ
    - item_type: preproc_def
      name: GOOGLE_DCHECK_NE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_NE
    - item_type: preproc_def
      name: GOOGLE_DCHECK_LT
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_LT
    - item_type: preproc_def
      name: GOOGLE_DCHECK_LE
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_LE
    - item_type: preproc_def
      name: GOOGLE_DCHECK_GT
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_GT
    - item_type: preproc_def
      name: GOOGLE_DCHECK_GE
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_GE
    - item_type: preproc_def
      name: GOOGLE_DLOG
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_LOG
    - item_type: preproc_def
      name: GOOGLE_DCHECK
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK
    - item_type: preproc_def
      name: GOOGLE_DCHECK_OK
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_OK
    - item_type: preproc_def
      name: GOOGLE_DCHECK_EQ
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_EQ
    - item_type: preproc_def
      name: GOOGLE_DCHECK_NE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_NE
    - item_type: preproc_def
      name: GOOGLE_DCHECK_LT
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_LT
    - item_type: preproc_def
      name: GOOGLE_DCHECK_LE
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_LE
    - item_type: preproc_def
      name: GOOGLE_DCHECK_GT
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_GT
    - item_type: preproc_def
      name: GOOGLE_DCHECK_GE
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_GE
    - item_type: preproc_def
      name: GOOGLE_DLOG
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_LOG
    - item_type: preproc_def
      name: GOOGLE_DCHECK
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK
    - item_type: preproc_def
      name: GOOGLE_DCHECK_OK
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_OK
    - item_type: preproc_def
      name: GOOGLE_DCHECK_EQ
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_EQ
    - item_type: preproc_def
      name: GOOGLE_DCHECK_NE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_NE
    - item_type: preproc_def
      name: GOOGLE_DCHECK_LT
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_LT
    - item_type: preproc_def
      name: GOOGLE_DCHECK_LE
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_LE
    - item_type: preproc_def
      name: GOOGLE_DCHECK_GT
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_GT
    - item_type: preproc_def
      name: GOOGLE_DCHECK_GE
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type_or_value: GOOGLE_CHECK_GE
    structs: []
    typedefs:
    - item_type: typedef
      name: "LogHandler(LogLevel level, const char* filename, int line,\n                        const
        std::string& message)"
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type: void
    - item_type: typedef
      name: "LogHandler(LogLevel level, const char* filename, int line,\n                        const
        std::string& message)"
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type: void
    - item_type: typedef
      name: "LogHandler(LogLevel level, const char* filename, int line,\n                        const
        std::string& message)"
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type: void
    - item_type: typedef
      name: "LogHandler(LogLevel level, const char* filename, int line,\n                        const
        std::string& message)"
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/logging.h
      type: void
    union: []
- function_names:
  - operator()(const Key* key) const
  - operator()(const char* str) const
  - operator()(bool x) const
  - operator()(const std::string& key) const
  - operator()(const std::string& a, const std::string& b) const
  - operator()(const std::pair<First, Second>& key) const
  - "operator()(const std::pair<First, Second>& a,\n                           const
    std::pair<First, Second>& b) const"
  - operator()(const Key* key) const
  - operator()(const char* str) const
  - operator()(bool x) const
  - operator()(const std::string& key) const
  - operator()(const std::string& a, const std::string& b) const
  - operator()(const std::pair<First, Second>& key) const
  - "operator()(const std::pair<First, Second>& a,\n                           const
    std::pair<First, Second>& b) const"
  - operator()(const Key* key) const
  - operator()(const char* str) const
  - operator()(bool x) const
  - operator()(const std::string& key) const
  - operator()(const std::string& a, const std::string& b) const
  - operator()(const std::pair<First, Second>& key) const
  - "operator()(const std::pair<First, Second>& a,\n                           const
    std::pair<First, Second>& b) const"
  - operator()(const Key* key) const
  - operator()(const char* str) const
  - operator()(bool x) const
  - operator()(const std::string& key) const
  - operator()(const std::string& a, const std::string& b) const
  - operator()(const std::pair<First, Second>& key) const
  - "operator()(const std::pair<First, Second>& a,\n                           const
    std::pair<First, Second>& b) const"
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_HASH_NAMESPACE_DECLARATION_START
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
      type_or_value: "namespace google {                                      \\\n
        \ namespace protobuf {"
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_HASH_NAMESPACE_DECLARATION_END
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
      type_or_value: '}}'
    structs:
    - fields: []
      item_type: struct
      name: hash
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash<const Key*>
      pos:
        line_end: 56
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash<const char*>
      pos:
        line_end: 69
        line_start: 61
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash<bool>
      pos:
        line_end: 76
        line_start: 72
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields:
      - name: bucket_size
        type: size_t
      - name: min_buckets
        type: size_t
      item_type: struct
      name: hash<std::string>
      pos:
        line_end: 89
        line_start: 79
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields:
      - name: bucket_size
        type: size_t
      - name: min_buckets
        type: size_t
      item_type: struct
      name: hash<std::pair<First, Second> >
      pos:
        line_end: 108
        line_start: 92
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash<const Key*>
      pos:
        line_end: 56
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash<const char*>
      pos:
        line_end: 69
        line_start: 61
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash<bool>
      pos:
        line_end: 76
        line_start: 72
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields:
      - name: bucket_size
        type: size_t
      - name: min_buckets
        type: size_t
      item_type: struct
      name: hash<std::string>
      pos:
        line_end: 89
        line_start: 79
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields:
      - name: bucket_size
        type: size_t
      - name: min_buckets
        type: size_t
      item_type: struct
      name: hash<std::pair<First, Second> >
      pos:
        line_end: 108
        line_start: 92
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash<const Key*>
      pos:
        line_end: 56
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash<const char*>
      pos:
        line_end: 69
        line_start: 61
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash<bool>
      pos:
        line_end: 76
        line_start: 72
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields:
      - name: bucket_size
        type: size_t
      - name: min_buckets
        type: size_t
      item_type: struct
      name: hash<std::string>
      pos:
        line_end: 89
        line_start: 79
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields:
      - name: bucket_size
        type: size_t
      - name: min_buckets
        type: size_t
      item_type: struct
      name: hash<std::pair<First, Second> >
      pos:
        line_end: 108
        line_start: 92
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash<const Key*>
      pos:
        line_end: 56
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash<const char*>
      pos:
        line_end: 69
        line_start: 61
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields: []
      item_type: struct
      name: hash<bool>
      pos:
        line_end: 76
        line_start: 72
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields:
      - name: bucket_size
        type: size_t
      - name: min_buckets
        type: size_t
      item_type: struct
      name: hash<std::string>
      pos:
        line_end: 89
        line_start: 79
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    - fields:
      - name: bucket_size
        type: size_t
      - name: min_buckets
        type: size_t
      item_type: struct
      name: hash<std::pair<First, Second> >
      pos:
        line_end: 108
        line_start: 92
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/hash.h
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::implicit_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::bit_cast
  - google::protobuf::internal::implicit_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::bit_cast
  - google::protobuf::internal::implicit_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::bit_cast
  - google::protobuf::internal::implicit_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::bit_cast
  - google::protobuf::internal::implicit_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::bit_cast
  - google::protobuf::internal::implicit_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::bit_cast
  - google::protobuf::internal::implicit_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::bit_cast
  - google::protobuf::internal::implicit_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::down_cast
  - google::protobuf::internal::bit_cast
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '* ToAsPointer'
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
      type: typename std::remove_reference<To>::type
    - item_type: typedef
      name: '* ToAsPointer'
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
      type: typename std::remove_reference<To>::type
    - item_type: typedef
      name: '* ToAsPointer'
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
      type: typename std::remove_reference<To>::type
    - item_type: typedef
      name: '* ToAsPointer'
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
      type: typename std::remove_reference<To>::type
    - item_type: typedef
      name: '* ToAsPointer'
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
      type: typename std::remove_reference<To>::type
    - item_type: typedef
      name: '* ToAsPointer'
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
      type: typename std::remove_reference<To>::type
    - item_type: typedef
      name: '* ToAsPointer'
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
      type: typename std::remove_reference<To>::type
    - item_type: typedef
      name: '* ToAsPointer'
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/casts.h
      type: typename std::remove_reference<To>::type
    union: []
- function_names:
  - PROTOBUF_RUNTIME_DEPRECATED
  - GOOGLE_PROTOBUF_RUNTIME_DEPRECATED
  - GOOGLE_UNALIGNED_LOAD16
  - GOOGLE_UNALIGNED_LOAD32
  - GOOGLE_UNALIGNED_LOAD64
  - GOOGLE_UNALIGNED_STORE16
  - GOOGLE_UNALIGNED_STORE32
  - GOOGLE_UNALIGNED_STORE64
  - GOOGLE_UNALIGNED_LOAD16
  - GOOGLE_UNALIGNED_LOAD32
  - GOOGLE_UNALIGNED_LOAD64
  - GOOGLE_UNALIGNED_STORE16
  - GOOGLE_UNALIGNED_STORE32
  - GOOGLE_UNALIGNED_STORE64
  - GOOGLE_UNALIGNED_LOAD16
  - GOOGLE_UNALIGNED_LOAD32
  - GOOGLE_UNALIGNED_LOAD64
  - GOOGLE_UNALIGNED_STORE16
  - GOOGLE_UNALIGNED_STORE32
  - GOOGLE_UNALIGNED_STORE64
  - bswap_16
  - bswap_32
  - bswap_64
  - bswap_16
  - bswap_32
  - bswap_64
  - bswap_16
  - bswap_16
  - bswap_32
  - bswap_32
  - bswap_64
  - bswap_64
  - Bits::Log2FloorNonZero
  - Bits::Log2FloorNonZero64
  - Bits::Log2FloorNonZero_Portable
  - Bits::Log2FloorNonZero64_Portable
  - BigEndian::FromHost16
  - BigEndian::ToHost16
  - BigEndian::FromHost32
  - BigEndian::ToHost32
  - BigEndian::FromHost64
  - BigEndian::ToHost64
  - BigEndian::IsLittleEndian
  - BigEndian::FromHost16
  - BigEndian::ToHost16
  - BigEndian::FromHost32
  - BigEndian::ToHost32
  - BigEndian::FromHost64
  - BigEndian::ToHost64
  - BigEndian::IsLittleEndian
  - BigEndian::Load16
  - BigEndian::Store16
  - BigEndian::Load32
  - BigEndian::Store32
  - BigEndian::Load64
  - BigEndian::Store64
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROTOBUF_LITTLE_ENDIAN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PROTOBUF_LITTLE_ENDIAN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LIBPROTOBUF_EXPORT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: LIBPROTOBUF_EXPORT
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: LIBPROTOC_EXPORT
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: LIBPROTOC_EXPORT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: LANG_CXX11
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: uint
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type: unsigned int
    - item_type: typedef
      name: int8
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type: int8_t
    - item_type: typedef
      name: int16
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type: int16_t
    - item_type: typedef
      name: int32
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type: int32_t
    - item_type: typedef
      name: int64
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type: int64_t
    - item_type: typedef
      name: uint8
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type: uint8_t
    - item_type: typedef
      name: uint16
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type: uint16_t
    - item_type: typedef
      name: uint32
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type: uint32_t
    - item_type: typedef
      name: uint64
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/port.h
      type: uint64_t
    union: []
- function_names:
  - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
  - GOOGLE_DISALLOW_IMPLICIT_CONSTRUCTORS
  - GOOGLE_ARRAYSIZE
  - GOOGLE_COMPILE_ASSERT
  - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
  - GOOGLE_DISALLOW_IMPLICIT_CONSTRUCTORS
  - GOOGLE_ARRAYSIZE
  - GOOGLE_COMPILE_ASSERT
  - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
  - GOOGLE_DISALLOW_IMPLICIT_CONSTRUCTORS
  - GOOGLE_ARRAYSIZE
  - GOOGLE_COMPILE_ASSERT
  - GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
  - GOOGLE_DISALLOW_IMPLICIT_CONSTRUCTORS
  - GOOGLE_ARRAYSIZE
  - GOOGLE_COMPILE_ASSERT
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: CompileAssert
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    - fields: []
      item_type: struct
      name: CompileAssert
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    - fields: []
      item_type: struct
      name: CompileAssert
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    - fields: []
      item_type: struct
      name: CompileAssert
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    - fields: []
      item_type: struct
      name: CompileAssert
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    - fields: []
      item_type: struct
      name: CompileAssert
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    - fields: []
      item_type: struct
      name: CompileAssert
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    - fields: []
      item_type: struct
      name: CompileAssert
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/macros.h
    typedefs: []
    union: []
- function_names:
  - google::protobuf::util::Status
  - ~Status()
  - google::protobuf::util::ok
  - google::protobuf::util::error_code
  - google::protobuf::util::code
  - google::protobuf::util::error_message
  - google::protobuf::util::message
  - operator!=(const Status& x) const
  - google::protobuf::util::Status
  - ~Status()
  - google::protobuf::util::ok
  - google::protobuf::util::error_code
  - google::protobuf::util::code
  - google::protobuf::util::error_message
  - google::protobuf::util::message
  - operator!=(const Status& x) const
  - google::protobuf::util::Status
  - ~Status()
  - google::protobuf::util::ok
  - google::protobuf::util::error_code
  - google::protobuf::util::code
  - google::protobuf::util::error_message
  - google::protobuf::util::message
  - operator!=(const Status& x) const
  - google::protobuf::util::Status
  - ~Status()
  - google::protobuf::util::ok
  - google::protobuf::util::error_code
  - google::protobuf::util::code
  - google::protobuf::util::error_message
  - google::protobuf::util::message
  - operator!=(const Status& x) const
  - google::protobuf::util::Status
  - ~Status()
  - google::protobuf::util::ok
  - google::protobuf::util::error_code
  - google::protobuf::util::code
  - google::protobuf::util::error_message
  - google::protobuf::util::message
  - operator!=(const Status& x) const
  - google::protobuf::util::Status
  - ~Status()
  - google::protobuf::util::ok
  - google::protobuf::util::error_code
  - google::protobuf::util::code
  - google::protobuf::util::error_message
  - google::protobuf::util::message
  - operator!=(const Status& x) const
  - google::protobuf::util::Status
  - ~Status()
  - google::protobuf::util::ok
  - google::protobuf::util::error_code
  - google::protobuf::util::code
  - google::protobuf::util::error_message
  - google::protobuf::util::message
  - operator!=(const Status& x) const
  - google::protobuf::util::Status
  - ~Status()
  - google::protobuf::util::ok
  - google::protobuf::util::error_code
  - google::protobuf::util::code
  - google::protobuf::util::error_message
  - google::protobuf::util::message
  - operator!=(const Status& x) const
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
  types:
    enum:
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    - enumerators:
      - name: OK
        value: '0'
      - name: DEADLINE_EXCEEDED
        value: '4'
      - name: CANCELLED
        value: '1'
      - name: INVALID_ARGUMENT
        value: '3'
      - name: UNKNOWN
        value: '2'
      - name: NOT_FOUND
        value: '5'
      - name: ALREADY_EXISTS
        value: '6'
      - name: PERMISSION_DENIED
        value: '7'
      - name: UNAUTHENTICATED
        value: '16'
      - name: RESOURCE_EXHAUSTED
        value: '8'
      - name: FAILED_PRECONDITION
        value: '9'
      - name: UNIMPLEMENTED
        value: '12'
      - name: OUT_OF_RANGE
        value: '11'
      - name: DATA_LOSS
        value: '15'
      - name: INTERNAL
        value: '13'
      - name: UNAVAILABLE
        value: '14'
      - name: ABORTED
        value: '10'
      item_type: enum
      name: Code
      pos:
        line_end: 63
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/status.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::Closure
  - google::protobuf::ResultCallback::ResultCallback
  - ~ResultCallback()
  - google::protobuf::ResultCallback1
  - ~ResultCallback1()
  - google::protobuf::ResultCallback2
  - ~ResultCallback2()
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::Run
  - google::protobuf::internal::MethodClosure0::MethodClosure0
  - ~MethodClosure0()
  - google::protobuf::internal::MethodClosure0::Run
  - google::protobuf::internal::FunctionClosure1::FunctionClosure1
  - ~FunctionClosure1()
  - google::protobuf::internal::FunctionClosure1::Run
  - google::protobuf::internal::MethodClosure1::MethodClosure1
  - ~MethodClosure1()
  - google::protobuf::internal::MethodClosure1::Run
  - google::protobuf::internal::FunctionClosure2::FunctionClosure2
  - ~FunctionClosure2()
  - google::protobuf::internal::FunctionClosure2::Run
  - google::protobuf::internal::MethodClosure2::MethodClosure2
  - ~MethodClosure2()
  - google::protobuf::internal::MethodClosure2::Run
  - google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
  - ~FunctionResultCallback_0_0()
  - google::protobuf::internal::FunctionResultCallback_0_0::Run
  - google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
  - ~FunctionResultCallback_1_0()
  - google::protobuf::internal::FunctionResultCallback_1_0::Run
  - google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
  - ~FunctionResultCallback_0_1()
  - google::protobuf::internal::FunctionResultCallback_0_1::Run
  - google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
  - ~FunctionResultCallback_1_1()
  - google::protobuf::internal::FunctionResultCallback_1_1::Run
  - google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
  - ~MethodResultCallback_0_0()
  - google::protobuf::internal::MethodResultCallback_0_0::Run
  - google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
  - ~MethodResultCallback_6_2()
  - google::protobuf::internal::MethodResultCallback_6_2::Run
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::Run
  - google::protobuf::internal::MethodClosure0::MethodClosure0
  - ~MethodClosure0()
  - google::protobuf::internal::MethodClosure0::Run
  - google::protobuf::internal::FunctionClosure1::FunctionClosure1
  - ~FunctionClosure1()
  - google::protobuf::internal::FunctionClosure1::Run
  - google::protobuf::internal::MethodClosure1::MethodClosure1
  - ~MethodClosure1()
  - google::protobuf::internal::MethodClosure1::Run
  - google::protobuf::internal::FunctionClosure2::FunctionClosure2
  - ~FunctionClosure2()
  - google::protobuf::internal::FunctionClosure2::Run
  - google::protobuf::internal::MethodClosure2::MethodClosure2
  - ~MethodClosure2()
  - google::protobuf::internal::MethodClosure2::Run
  - google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
  - ~FunctionResultCallback_0_0()
  - google::protobuf::internal::FunctionResultCallback_0_0::Run
  - google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
  - ~FunctionResultCallback_1_0()
  - google::protobuf::internal::FunctionResultCallback_1_0::Run
  - google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
  - ~FunctionResultCallback_0_1()
  - google::protobuf::internal::FunctionResultCallback_0_1::Run
  - google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
  - ~FunctionResultCallback_1_1()
  - google::protobuf::internal::FunctionResultCallback_1_1::Run
  - google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
  - ~MethodResultCallback_0_0()
  - google::protobuf::internal::MethodResultCallback_0_0::Run
  - google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
  - ~MethodResultCallback_6_2()
  - google::protobuf::internal::MethodResultCallback_6_2::Run
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::Closure
  - google::protobuf::ResultCallback::ResultCallback
  - ~ResultCallback()
  - google::protobuf::ResultCallback1
  - ~ResultCallback1()
  - google::protobuf::ResultCallback2
  - ~ResultCallback2()
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::Run
  - google::protobuf::internal::MethodClosure0::MethodClosure0
  - ~MethodClosure0()
  - google::protobuf::internal::MethodClosure0::Run
  - google::protobuf::internal::FunctionClosure1::FunctionClosure1
  - ~FunctionClosure1()
  - google::protobuf::internal::FunctionClosure1::Run
  - google::protobuf::internal::MethodClosure1::MethodClosure1
  - ~MethodClosure1()
  - google::protobuf::internal::MethodClosure1::Run
  - google::protobuf::internal::FunctionClosure2::FunctionClosure2
  - ~FunctionClosure2()
  - google::protobuf::internal::FunctionClosure2::Run
  - google::protobuf::internal::MethodClosure2::MethodClosure2
  - ~MethodClosure2()
  - google::protobuf::internal::MethodClosure2::Run
  - google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
  - ~FunctionResultCallback_0_0()
  - google::protobuf::internal::FunctionResultCallback_0_0::Run
  - google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
  - ~FunctionResultCallback_1_0()
  - google::protobuf::internal::FunctionResultCallback_1_0::Run
  - google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
  - ~FunctionResultCallback_0_1()
  - google::protobuf::internal::FunctionResultCallback_0_1::Run
  - google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
  - ~FunctionResultCallback_1_1()
  - google::protobuf::internal::FunctionResultCallback_1_1::Run
  - google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
  - ~MethodResultCallback_0_0()
  - google::protobuf::internal::MethodResultCallback_0_0::Run
  - google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
  - ~MethodResultCallback_6_2()
  - google::protobuf::internal::MethodResultCallback_6_2::Run
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::Run
  - google::protobuf::internal::MethodClosure0::MethodClosure0
  - ~MethodClosure0()
  - google::protobuf::internal::MethodClosure0::Run
  - google::protobuf::internal::FunctionClosure1::FunctionClosure1
  - ~FunctionClosure1()
  - google::protobuf::internal::FunctionClosure1::Run
  - google::protobuf::internal::MethodClosure1::MethodClosure1
  - ~MethodClosure1()
  - google::protobuf::internal::MethodClosure1::Run
  - google::protobuf::internal::FunctionClosure2::FunctionClosure2
  - ~FunctionClosure2()
  - google::protobuf::internal::FunctionClosure2::Run
  - google::protobuf::internal::MethodClosure2::MethodClosure2
  - ~MethodClosure2()
  - google::protobuf::internal::MethodClosure2::Run
  - google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
  - ~FunctionResultCallback_0_0()
  - google::protobuf::internal::FunctionResultCallback_0_0::Run
  - google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
  - ~FunctionResultCallback_1_0()
  - google::protobuf::internal::FunctionResultCallback_1_0::Run
  - google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
  - ~FunctionResultCallback_0_1()
  - google::protobuf::internal::FunctionResultCallback_0_1::Run
  - google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
  - ~FunctionResultCallback_1_1()
  - google::protobuf::internal::FunctionResultCallback_1_1::Run
  - google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
  - ~MethodResultCallback_0_0()
  - google::protobuf::internal::MethodResultCallback_0_0::Run
  - google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
  - ~MethodResultCallback_6_2()
  - google::protobuf::internal::MethodResultCallback_6_2::Run
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::Closure
  - google::protobuf::ResultCallback::ResultCallback
  - ~ResultCallback()
  - google::protobuf::ResultCallback1
  - ~ResultCallback1()
  - google::protobuf::ResultCallback2
  - ~ResultCallback2()
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::Run
  - google::protobuf::internal::MethodClosure0::MethodClosure0
  - ~MethodClosure0()
  - google::protobuf::internal::MethodClosure0::Run
  - google::protobuf::internal::FunctionClosure1::FunctionClosure1
  - ~FunctionClosure1()
  - google::protobuf::internal::FunctionClosure1::Run
  - google::protobuf::internal::MethodClosure1::MethodClosure1
  - ~MethodClosure1()
  - google::protobuf::internal::MethodClosure1::Run
  - google::protobuf::internal::FunctionClosure2::FunctionClosure2
  - ~FunctionClosure2()
  - google::protobuf::internal::FunctionClosure2::Run
  - google::protobuf::internal::MethodClosure2::MethodClosure2
  - ~MethodClosure2()
  - google::protobuf::internal::MethodClosure2::Run
  - google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
  - ~FunctionResultCallback_0_0()
  - google::protobuf::internal::FunctionResultCallback_0_0::Run
  - google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
  - ~FunctionResultCallback_1_0()
  - google::protobuf::internal::FunctionResultCallback_1_0::Run
  - google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
  - ~FunctionResultCallback_0_1()
  - google::protobuf::internal::FunctionResultCallback_0_1::Run
  - google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
  - ~FunctionResultCallback_1_1()
  - google::protobuf::internal::FunctionResultCallback_1_1::Run
  - google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
  - ~MethodResultCallback_0_0()
  - google::protobuf::internal::MethodResultCallback_0_0::Run
  - google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
  - ~MethodResultCallback_6_2()
  - google::protobuf::internal::MethodResultCallback_6_2::Run
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::Run
  - google::protobuf::internal::MethodClosure0::MethodClosure0
  - ~MethodClosure0()
  - google::protobuf::internal::MethodClosure0::Run
  - google::protobuf::internal::FunctionClosure1::FunctionClosure1
  - ~FunctionClosure1()
  - google::protobuf::internal::FunctionClosure1::Run
  - google::protobuf::internal::MethodClosure1::MethodClosure1
  - ~MethodClosure1()
  - google::protobuf::internal::MethodClosure1::Run
  - google::protobuf::internal::FunctionClosure2::FunctionClosure2
  - ~FunctionClosure2()
  - google::protobuf::internal::FunctionClosure2::Run
  - google::protobuf::internal::MethodClosure2::MethodClosure2
  - ~MethodClosure2()
  - google::protobuf::internal::MethodClosure2::Run
  - google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
  - ~FunctionResultCallback_0_0()
  - google::protobuf::internal::FunctionResultCallback_0_0::Run
  - google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
  - ~FunctionResultCallback_1_0()
  - google::protobuf::internal::FunctionResultCallback_1_0::Run
  - google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
  - ~FunctionResultCallback_0_1()
  - google::protobuf::internal::FunctionResultCallback_0_1::Run
  - google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
  - ~FunctionResultCallback_1_1()
  - google::protobuf::internal::FunctionResultCallback_1_1::Run
  - google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
  - ~MethodResultCallback_0_0()
  - google::protobuf::internal::MethodResultCallback_0_0::Run
  - google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
  - ~MethodResultCallback_6_2()
  - google::protobuf::internal::MethodResultCallback_6_2::Run
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::Closure
  - google::protobuf::ResultCallback::ResultCallback
  - ~ResultCallback()
  - google::protobuf::ResultCallback1
  - ~ResultCallback1()
  - google::protobuf::ResultCallback2
  - ~ResultCallback2()
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::Run
  - google::protobuf::internal::MethodClosure0::MethodClosure0
  - ~MethodClosure0()
  - google::protobuf::internal::MethodClosure0::Run
  - google::protobuf::internal::FunctionClosure1::FunctionClosure1
  - ~FunctionClosure1()
  - google::protobuf::internal::FunctionClosure1::Run
  - google::protobuf::internal::MethodClosure1::MethodClosure1
  - ~MethodClosure1()
  - google::protobuf::internal::MethodClosure1::Run
  - google::protobuf::internal::FunctionClosure2::FunctionClosure2
  - ~FunctionClosure2()
  - google::protobuf::internal::FunctionClosure2::Run
  - google::protobuf::internal::MethodClosure2::MethodClosure2
  - ~MethodClosure2()
  - google::protobuf::internal::MethodClosure2::Run
  - google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
  - ~FunctionResultCallback_0_0()
  - google::protobuf::internal::FunctionResultCallback_0_0::Run
  - google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
  - ~FunctionResultCallback_1_0()
  - google::protobuf::internal::FunctionResultCallback_1_0::Run
  - google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
  - ~FunctionResultCallback_0_1()
  - google::protobuf::internal::FunctionResultCallback_0_1::Run
  - google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
  - ~FunctionResultCallback_1_1()
  - google::protobuf::internal::FunctionResultCallback_1_1::Run
  - google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
  - ~MethodResultCallback_0_0()
  - google::protobuf::internal::MethodResultCallback_0_0::Run
  - google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
  - ~MethodResultCallback_6_2()
  - google::protobuf::internal::MethodResultCallback_6_2::Run
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::FunctionClosure0
  - google::protobuf::internal::Run
  - google::protobuf::internal::MethodClosure0::MethodClosure0
  - ~MethodClosure0()
  - google::protobuf::internal::MethodClosure0::Run
  - google::protobuf::internal::FunctionClosure1::FunctionClosure1
  - ~FunctionClosure1()
  - google::protobuf::internal::FunctionClosure1::Run
  - google::protobuf::internal::MethodClosure1::MethodClosure1
  - ~MethodClosure1()
  - google::protobuf::internal::MethodClosure1::Run
  - google::protobuf::internal::FunctionClosure2::FunctionClosure2
  - ~FunctionClosure2()
  - google::protobuf::internal::FunctionClosure2::Run
  - google::protobuf::internal::MethodClosure2::MethodClosure2
  - ~MethodClosure2()
  - google::protobuf::internal::MethodClosure2::Run
  - google::protobuf::internal::FunctionResultCallback_0_0::FunctionResultCallback_0_0
  - ~FunctionResultCallback_0_0()
  - google::protobuf::internal::FunctionResultCallback_0_0::Run
  - google::protobuf::internal::FunctionResultCallback_1_0::FunctionResultCallback_1_0
  - ~FunctionResultCallback_1_0()
  - google::protobuf::internal::FunctionResultCallback_1_0::Run
  - google::protobuf::internal::FunctionResultCallback_0_1::FunctionResultCallback_0_1
  - ~FunctionResultCallback_0_1()
  - google::protobuf::internal::FunctionResultCallback_0_1::Run
  - google::protobuf::internal::FunctionResultCallback_1_1::FunctionResultCallback_1_1
  - ~FunctionResultCallback_1_1()
  - google::protobuf::internal::FunctionResultCallback_1_1::Run
  - google::protobuf::internal::MethodResultCallback_0_0::MethodResultCallback_0_0
  - ~MethodResultCallback_0_0()
  - google::protobuf::internal::MethodResultCallback_0_0::Run
  - google::protobuf::internal::MethodResultCallback_6_2::MethodResultCallback_6_2
  - ~MethodResultCallback_6_2()
  - google::protobuf::internal::MethodResultCallback_6_2::Run
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewPermanentCallback
  - google::protobuf::NewPermanentCallback
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: InternalConstRef
      pos:
        line_end: 349
        line_start: 346
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    - fields: []
      item_type: struct
      name: InternalConstRef
      pos:
        line_end: 349
        line_start: 346
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    - fields: []
      item_type: struct
      name: InternalConstRef
      pos:
        line_end: 349
        line_start: 346
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    - fields: []
      item_type: struct
      name: InternalConstRef
      pos:
        line_end: 349
        line_start: 346
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    - fields: []
      item_type: struct
      name: InternalConstRef
      pos:
        line_end: 349
        line_start: 346
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    - fields: []
      item_type: struct
      name: InternalConstRef
      pos:
        line_end: 349
        line_start: 346
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    - fields: []
      item_type: struct
      name: InternalConstRef
      pos:
        line_end: 349
        line_start: 346
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    - fields: []
      item_type: struct
      name: InternalConstRef
      pos:
        line_end: 349
        line_start: 346
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
    typedefs:
    - item_type: typedef
      name: (Class::*MethodType)()
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)()
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1, A1)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: base_type
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: typename std::remove_reference<T>::type
    - item_type: typedef
      name: '& type'
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: base_type
    - item_type: typedef
      name: (T::*MethodType)()
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (T::*MethodType)(P1, P2, P3, P4, P5, P6, A1, A2)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (Class::*MethodType)()
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)()
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1, A1)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: base_type
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: typename std::remove_reference<T>::type
    - item_type: typedef
      name: '& type'
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: base_type
    - item_type: typedef
      name: (T::*MethodType)()
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (T::*MethodType)(P1, P2, P3, P4, P5, P6, A1, A2)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (Class::*MethodType)()
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)()
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1, A1)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: base_type
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: typename std::remove_reference<T>::type
    - item_type: typedef
      name: '& type'
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: base_type
    - item_type: typedef
      name: (T::*MethodType)()
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (T::*MethodType)(P1, P2, P3, P4, P5, P6, A1, A2)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (Class::*MethodType)()
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)()
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1, A1)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: base_type
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: typename std::remove_reference<T>::type
    - item_type: typedef
      name: '& type'
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: base_type
    - item_type: typedef
      name: (T::*MethodType)()
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (T::*MethodType)(P1, P2, P3, P4, P5, P6, A1, A2)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (Class::*MethodType)()
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)()
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1, A1)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: base_type
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: typename std::remove_reference<T>::type
    - item_type: typedef
      name: '& type'
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: base_type
    - item_type: typedef
      name: (T::*MethodType)()
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (T::*MethodType)(P1, P2, P3, P4, P5, P6, A1, A2)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (Class::*MethodType)()
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)()
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1, A1)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: base_type
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: typename std::remove_reference<T>::type
    - item_type: typedef
      name: '& type'
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: base_type
    - item_type: typedef
      name: (T::*MethodType)()
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (T::*MethodType)(P1, P2, P3, P4, P5, P6, A1, A2)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (Class::*MethodType)()
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)()
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1, A1)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: base_type
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: typename std::remove_reference<T>::type
    - item_type: typedef
      name: '& type'
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: base_type
    - item_type: typedef
      name: (T::*MethodType)()
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (T::*MethodType)(P1, P2, P3, P4, P5, P6, A1, A2)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (Class::*MethodType)()
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (Class::*MethodType)(Arg1 arg1, Arg2 arg2)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: void
    - item_type: typedef
      name: (*FunctionType)()
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(Arg1 arg1)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (*FunctionType)(P1, A1)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: base_type
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: typename std::remove_reference<T>::type
    - item_type: typedef
      name: '& type'
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: base_type
    - item_type: typedef
      name: (T::*MethodType)()
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    - item_type: typedef
      name: (T::*MethodType)(P1, P2, P3, P4, P5, P6, A1, A2)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/callback.h
      type: R
    union: []
- function_names:
  - google::protobuf::uint128
  - google::protobuf::Uint128Low64
  - google::protobuf::Uint128High64
  - operator==(const uint128& lhs, const uint128& rhs)
  - operator!=(const uint128& lhs, const uint128& rhs)
  - google::protobuf::uint128::Initialize
  - CMP128
  - operator-(const uint128& val)
  - operator!(const uint128& val)
  - operator~(const uint128& val)
  - LOGIC128
  - LOGICASSIGN128
  - operator<<(const uint128& val, int amount)
  - operator>>(const uint128& val, int amount)
  - '& uint128::operator<<=(int amount)'
  - '& uint128::operator>>=(int amount)'
  - operator+(const uint128& lhs, const uint128& rhs)
  - operator-(const uint128& lhs, const uint128& rhs)
  - operator*(const uint128& lhs, const uint128& rhs)
  - operator/(const uint128& lhs, const uint128& rhs)
  - operator%(const uint128& lhs, const uint128& rhs)
  - '& uint128::operator+=(const uint128& b)'
  - '& uint128::operator-=(const uint128& b)'
  - '& uint128::operator*=(const uint128& b)'
  - uint128::operator++(int)
  - uint128::operator--(int)
  - '& uint128::operator++()'
  - '& uint128::operator--()'
  - google::protobuf::uint128
  - google::protobuf::Uint128Low64
  - google::protobuf::Uint128High64
  - operator==(const uint128& lhs, const uint128& rhs)
  - operator!=(const uint128& lhs, const uint128& rhs)
  - google::protobuf::uint128::Initialize
  - CMP128
  - operator-(const uint128& val)
  - operator!(const uint128& val)
  - operator~(const uint128& val)
  - LOGIC128
  - LOGICASSIGN128
  - operator<<(const uint128& val, int amount)
  - operator>>(const uint128& val, int amount)
  - '& uint128::operator<<=(int amount)'
  - '& uint128::operator>>=(int amount)'
  - operator+(const uint128& lhs, const uint128& rhs)
  - operator-(const uint128& lhs, const uint128& rhs)
  - operator*(const uint128& lhs, const uint128& rhs)
  - operator/(const uint128& lhs, const uint128& rhs)
  - operator%(const uint128& lhs, const uint128& rhs)
  - '& uint128::operator+=(const uint128& b)'
  - '& uint128::operator-=(const uint128& b)'
  - '& uint128::operator*=(const uint128& b)'
  - uint128::operator++(int)
  - uint128::operator--(int)
  - '& uint128::operator++()'
  - '& uint128::operator--()'
  - google::protobuf::uint128
  - google::protobuf::Uint128Low64
  - google::protobuf::Uint128High64
  - operator==(const uint128& lhs, const uint128& rhs)
  - operator!=(const uint128& lhs, const uint128& rhs)
  - google::protobuf::uint128::Initialize
  - CMP128
  - operator-(const uint128& val)
  - operator!(const uint128& val)
  - operator~(const uint128& val)
  - LOGIC128
  - LOGICASSIGN128
  - operator<<(const uint128& val, int amount)
  - operator>>(const uint128& val, int amount)
  - '& uint128::operator<<=(int amount)'
  - '& uint128::operator>>=(int amount)'
  - operator+(const uint128& lhs, const uint128& rhs)
  - operator-(const uint128& lhs, const uint128& rhs)
  - operator*(const uint128& lhs, const uint128& rhs)
  - operator/(const uint128& lhs, const uint128& rhs)
  - operator%(const uint128& lhs, const uint128& rhs)
  - '& uint128::operator+=(const uint128& b)'
  - '& uint128::operator-=(const uint128& b)'
  - '& uint128::operator*=(const uint128& b)'
  - uint128::operator++(int)
  - uint128::operator--(int)
  - '& uint128::operator++()'
  - '& uint128::operator--()'
  - google::protobuf::uint128
  - google::protobuf::Uint128Low64
  - google::protobuf::Uint128High64
  - operator==(const uint128& lhs, const uint128& rhs)
  - operator!=(const uint128& lhs, const uint128& rhs)
  - google::protobuf::uint128::Initialize
  - CMP128
  - operator-(const uint128& val)
  - operator!(const uint128& val)
  - operator~(const uint128& val)
  - LOGIC128
  - LOGICASSIGN128
  - operator<<(const uint128& val, int amount)
  - operator>>(const uint128& val, int amount)
  - '& uint128::operator<<=(int amount)'
  - '& uint128::operator>>=(int amount)'
  - operator+(const uint128& lhs, const uint128& rhs)
  - operator-(const uint128& lhs, const uint128& rhs)
  - operator*(const uint128& lhs, const uint128& rhs)
  - operator/(const uint128& lhs, const uint128& rhs)
  - operator%(const uint128& lhs, const uint128& rhs)
  - '& uint128::operator+=(const uint128& b)'
  - '& uint128::operator-=(const uint128& b)'
  - '& uint128::operator*=(const uint128& b)'
  - uint128::operator++(int)
  - uint128::operator--(int)
  - '& uint128::operator++()'
  - '& uint128::operator--()'
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UINT128_CONSTEXPR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
      type_or_value: constexpr
    - item_type: preproc_def
      name: UINT128_CONSTEXPR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
      type_or_value: constexpr
    - item_type: preproc_def
      name: UINT128_CONSTEXPR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
      type_or_value: constexpr
    - item_type: preproc_def
      name: UINT128_CONSTEXPR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
      type_or_value: constexpr
    structs:
    - fields:
      - name: hi
        type: uint64
      - name: lo
        type: uint64
      item_type: struct
      name: uint128_pod
      pos:
        line_end: 118
        line_start: 110
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    - fields:
      - name: hi
        type: uint64
      - name: lo
        type: uint64
      item_type: struct
      name: uint128_pod
      pos:
        line_end: 118
        line_start: 110
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    - fields:
      - name: hi
        type: uint64
      - name: lo
        type: uint64
      item_type: struct
      name: uint128_pod
      pos:
        line_end: 118
        line_start: 110
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    - fields:
      - name: hi
        type: uint64
      - name: lo
        type: uint64
      item_type: struct
      name: uint128_pod
      pos:
        line_end: 118
        line_start: 110
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/int128.h
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::StrongReference
  - google::protobuf::internal::StrongReference
  - google::protobuf::FatalException::FatalException
  - google::protobuf::FatalException::filename
  - google::protobuf::FatalException::line
  - '& message() const'
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::StrongReference
  - google::protobuf::internal::StrongReference
  - google::protobuf::FatalException::FatalException
  - google::protobuf::FatalException::filename
  - google::protobuf::FatalException::line
  - '& message() const'
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::StrongReference
  - google::protobuf::internal::StrongReference
  - google::protobuf::FatalException::FatalException
  - google::protobuf::FatalException::filename
  - google::protobuf::FatalException::line
  - '& message() const'
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::IsStructurallyValidUTF8
  - google::protobuf::internal::StrongReference
  - google::protobuf::internal::StrongReference
  - google::protobuf::FatalException::FatalException
  - google::protobuf::FatalException::filename
  - google::protobuf::FatalException::line
  - '& message() const'
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROTOBUF_USE_EXCEPTIONS
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PROTOBUF_USE_EXCEPTIONS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PROTOBUF_USE_EXCEPTIONS
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '0'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION_SUFFIX
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '""'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION_SUFFIX
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '""'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERIFY_VERSION
      pos:
        line_end: 120
        line_start: 116
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: "::google::protobuf::internal::VerifyVersion(                            \\\n
        \   GOOGLE_PROTOBUF_VERSION, GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION,         \\\n
        \   __FILE__)"
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION_SUFFIX
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '""'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION_SUFFIX
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '""'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERIFY_VERSION
      pos:
        line_end: 120
        line_start: 116
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: "::google::protobuf::internal::VerifyVersion(                            \\\n
        \   GOOGLE_PROTOBUF_VERSION, GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION,         \\\n
        \   __FILE__)"
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION_SUFFIX
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '""'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION_SUFFIX
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '""'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERIFY_VERSION
      pos:
        line_end: 120
        line_start: 116
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: "::google::protobuf::internal::VerifyVersion(                            \\\n
        \   GOOGLE_PROTOBUF_VERSION, GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION,         \\\n
        \   __FILE__)"
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION_SUFFIX
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '""'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERSION_SUFFIX
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '""'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: '3014000'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_VERIFY_VERSION
      pos:
        line_end: 120
        line_start: 116
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/common.h
      type_or_value: "::google::protobuf::internal::VerifyVersion(                            \\\n
        \   GOOGLE_PROTOBUF_VERSION, GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION,         \\\n
        \   __FILE__)"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_PLATFORM_ERROR
      pos:
        line_end: 35
        line_start: 33
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '#error "Host platform was not detected as supported by protobuf"'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_X64
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_64_BIT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_IA32
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_32_BIT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_ARM_QNX
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_32_BIT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_ARM
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_32_BIT
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_ARM
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_64_BIT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_AARCH64
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_64_BIT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_MIPS64
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_64_BIT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_MIPS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_32_BIT
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_32_BIT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_SPARC
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_64_BIT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_32_BIT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_POWER
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_64_BIT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_PPC
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_32_BIT
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_64_BIT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    - item_type: preproc_def
      name: GOOGLE_PROTOBUF_ARCH_32_BIT
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/platform_macros.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::ascii_isalnum
  - google::protobuf::ascii_isdigit
  - google::protobuf::ascii_isspace
  - google::protobuf::ascii_isupper
  - google::protobuf::ascii_islower
  - google::protobuf::ascii_toupper
  - google::protobuf::ascii_tolower
  - google::protobuf::hex_digit_to_int
  - google::protobuf::HasPrefixString
  - google::protobuf::StripPrefixString
  - google::protobuf::HasSuffixString
  - google::protobuf::StripSuffixString
  - google::protobuf::LowerString
  - google::protobuf::UpperString
  - google::protobuf::ToUpper
  - google::protobuf::ToUpper
  - google::protobuf::Split
  - google::protobuf::JoinStrings
  - google::protobuf::strto32
  - google::protobuf::strtou32
  - google::protobuf::strto64
  - google::protobuf::strtou64
  - google::protobuf::safe_strto32
  - google::protobuf::safe_strto32
  - google::protobuf::safe_strtou32
  - google::protobuf::safe_strtou32
  - google::protobuf::safe_strto64
  - google::protobuf::safe_strto64
  - google::protobuf::safe_strtou64
  - google::protobuf::safe_strtou64
  - google::protobuf::safe_strtof
  - google::protobuf::safe_strtod
  - google::protobuf::safe_strtof
  - google::protobuf::safe_strtod
  - google::protobuf::FastIntToBuffer
  - google::protobuf::FastUIntToBuffer
  - google::protobuf::FastLongToBuffer
  - google::protobuf::FastULongToBuffer
  - google::protobuf::FastUInt32ToBuffer
  - google::protobuf::FastUInt64ToBuffer
  - google::protobuf::SimpleBtoa
  - google::protobuf::strings::Hex
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::size
  - google::protobuf::strings::data
  - google::protobuf::strings::Hex
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::size
  - google::protobuf::strings::data
  - google::protobuf::StrCat
  - google::protobuf::Join
  - google::protobuf::Join
  - google::protobuf::IsValidCodePoint
  - google::protobuf::strings::EndsWith
  - google::protobuf::strings::EndsWith
  - google::protobuf::ascii_isalnum
  - google::protobuf::ascii_isdigit
  - google::protobuf::ascii_isspace
  - google::protobuf::ascii_isupper
  - google::protobuf::ascii_islower
  - google::protobuf::ascii_toupper
  - google::protobuf::ascii_tolower
  - google::protobuf::hex_digit_to_int
  - google::protobuf::HasPrefixString
  - google::protobuf::StripPrefixString
  - google::protobuf::HasSuffixString
  - google::protobuf::StripSuffixString
  - google::protobuf::LowerString
  - google::protobuf::UpperString
  - google::protobuf::ToUpper
  - google::protobuf::ToUpper
  - google::protobuf::Split
  - google::protobuf::JoinStrings
  - google::protobuf::strto32
  - google::protobuf::strtou32
  - google::protobuf::strto64
  - google::protobuf::strtou64
  - google::protobuf::safe_strto32
  - google::protobuf::safe_strto32
  - google::protobuf::safe_strtou32
  - google::protobuf::safe_strtou32
  - google::protobuf::safe_strto64
  - google::protobuf::safe_strto64
  - google::protobuf::safe_strtou64
  - google::protobuf::safe_strtou64
  - google::protobuf::safe_strtof
  - google::protobuf::safe_strtod
  - google::protobuf::safe_strtof
  - google::protobuf::safe_strtod
  - google::protobuf::FastIntToBuffer
  - google::protobuf::FastUIntToBuffer
  - google::protobuf::FastLongToBuffer
  - google::protobuf::FastULongToBuffer
  - google::protobuf::FastUInt32ToBuffer
  - google::protobuf::FastUInt64ToBuffer
  - google::protobuf::SimpleBtoa
  - google::protobuf::strings::Hex
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::size
  - google::protobuf::strings::data
  - google::protobuf::strings::Hex
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::size
  - google::protobuf::strings::data
  - google::protobuf::StrCat
  - google::protobuf::Join
  - google::protobuf::Join
  - google::protobuf::IsValidCodePoint
  - google::protobuf::strings::EndsWith
  - google::protobuf::strings::EndsWith
  - google::protobuf::ascii_isalnum
  - google::protobuf::ascii_isdigit
  - google::protobuf::ascii_isspace
  - google::protobuf::ascii_isupper
  - google::protobuf::ascii_islower
  - google::protobuf::ascii_toupper
  - google::protobuf::ascii_tolower
  - google::protobuf::hex_digit_to_int
  - google::protobuf::HasPrefixString
  - google::protobuf::StripPrefixString
  - google::protobuf::HasSuffixString
  - google::protobuf::StripSuffixString
  - google::protobuf::LowerString
  - google::protobuf::UpperString
  - google::protobuf::ToUpper
  - google::protobuf::ToUpper
  - google::protobuf::Split
  - google::protobuf::JoinStrings
  - google::protobuf::strto32
  - google::protobuf::strtou32
  - google::protobuf::strto64
  - google::protobuf::strtou64
  - google::protobuf::safe_strto32
  - google::protobuf::safe_strto32
  - google::protobuf::safe_strtou32
  - google::protobuf::safe_strtou32
  - google::protobuf::safe_strto64
  - google::protobuf::safe_strto64
  - google::protobuf::safe_strtou64
  - google::protobuf::safe_strtou64
  - google::protobuf::safe_strtof
  - google::protobuf::safe_strtod
  - google::protobuf::safe_strtof
  - google::protobuf::safe_strtod
  - google::protobuf::FastIntToBuffer
  - google::protobuf::FastUIntToBuffer
  - google::protobuf::FastLongToBuffer
  - google::protobuf::FastULongToBuffer
  - google::protobuf::FastUInt32ToBuffer
  - google::protobuf::FastUInt64ToBuffer
  - google::protobuf::SimpleBtoa
  - google::protobuf::strings::Hex
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::size
  - google::protobuf::strings::data
  - google::protobuf::strings::Hex
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::size
  - google::protobuf::strings::data
  - google::protobuf::StrCat
  - google::protobuf::Join
  - google::protobuf::Join
  - google::protobuf::IsValidCodePoint
  - google::protobuf::strings::EndsWith
  - google::protobuf::strings::EndsWith
  - google::protobuf::ascii_isalnum
  - google::protobuf::ascii_isdigit
  - google::protobuf::ascii_isspace
  - google::protobuf::ascii_isupper
  - google::protobuf::ascii_islower
  - google::protobuf::ascii_toupper
  - google::protobuf::ascii_tolower
  - google::protobuf::hex_digit_to_int
  - google::protobuf::HasPrefixString
  - google::protobuf::StripPrefixString
  - google::protobuf::HasSuffixString
  - google::protobuf::StripSuffixString
  - google::protobuf::LowerString
  - google::protobuf::UpperString
  - google::protobuf::ToUpper
  - google::protobuf::ToUpper
  - google::protobuf::Split
  - google::protobuf::JoinStrings
  - google::protobuf::strto32
  - google::protobuf::strtou32
  - google::protobuf::strto64
  - google::protobuf::strtou64
  - google::protobuf::safe_strto32
  - google::protobuf::safe_strto32
  - google::protobuf::safe_strtou32
  - google::protobuf::safe_strtou32
  - google::protobuf::safe_strto64
  - google::protobuf::safe_strto64
  - google::protobuf::safe_strtou64
  - google::protobuf::safe_strtou64
  - google::protobuf::safe_strtof
  - google::protobuf::safe_strtod
  - google::protobuf::safe_strtof
  - google::protobuf::safe_strtod
  - google::protobuf::FastIntToBuffer
  - google::protobuf::FastUIntToBuffer
  - google::protobuf::FastLongToBuffer
  - google::protobuf::FastULongToBuffer
  - google::protobuf::FastUInt32ToBuffer
  - google::protobuf::FastUInt64ToBuffer
  - google::protobuf::SimpleBtoa
  - google::protobuf::strings::Hex
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::size
  - google::protobuf::strings::data
  - google::protobuf::strings::Hex
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::AlphaNum
  - google::protobuf::strings::size
  - google::protobuf::strings::data
  - google::protobuf::StrCat
  - google::protobuf::Join
  - google::protobuf::Join
  - google::protobuf::IsValidCodePoint
  - google::protobuf::strings::EndsWith
  - google::protobuf::strings::EndsWith
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
  types:
    enum:
    - enumerators:
      - name: NO_PAD
        value: '1'
      - name: ZERO_PAD_4
      - name: ZERO_PAD_3
      - name: ZERO_PAD_2
      - name: ZERO_PAD_5
      - name: ZERO_PAD_6
      - name: ZERO_PAD_7
      - name: ZERO_PAD_8
      - name: ZERO_PAD_9
      - name: ZERO_PAD_10
      - name: ZERO_PAD_12
      - name: ZERO_PAD_11
      - name: ZERO_PAD_14
      - name: ZERO_PAD_16
      - name: ZERO_PAD_15
      - name: ZERO_PAD_13
      item_type: enum
      name: PadSpec
      pos:
        line_end: 594
        line_start: 577
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    - enumerators:
      - name: NO_PAD
        value: '1'
      - name: ZERO_PAD_4
      - name: ZERO_PAD_3
      - name: ZERO_PAD_2
      - name: ZERO_PAD_5
      - name: ZERO_PAD_6
      - name: ZERO_PAD_7
      - name: ZERO_PAD_8
      - name: ZERO_PAD_9
      - name: ZERO_PAD_10
      - name: ZERO_PAD_12
      - name: ZERO_PAD_11
      - name: ZERO_PAD_14
      - name: ZERO_PAD_16
      - name: ZERO_PAD_15
      - name: ZERO_PAD_13
      item_type: enum
      name: PadSpec
      pos:
        line_end: 594
        line_start: 577
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    - enumerators:
      - name: NO_PAD
        value: '1'
      - name: ZERO_PAD_4
      - name: ZERO_PAD_3
      - name: ZERO_PAD_2
      - name: ZERO_PAD_5
      - name: ZERO_PAD_6
      - name: ZERO_PAD_7
      - name: ZERO_PAD_8
      - name: ZERO_PAD_9
      - name: ZERO_PAD_10
      - name: ZERO_PAD_12
      - name: ZERO_PAD_11
      - name: ZERO_PAD_14
      - name: ZERO_PAD_16
      - name: ZERO_PAD_15
      - name: ZERO_PAD_13
      item_type: enum
      name: PadSpec
      pos:
        line_end: 594
        line_start: 577
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    - enumerators:
      - name: NO_PAD
        value: '1'
      - name: ZERO_PAD_4
      - name: ZERO_PAD_3
      - name: ZERO_PAD_2
      - name: ZERO_PAD_5
      - name: ZERO_PAD_6
      - name: ZERO_PAD_7
      - name: ZERO_PAD_8
      - name: ZERO_PAD_9
      - name: ZERO_PAD_10
      - name: ZERO_PAD_12
      - name: ZERO_PAD_11
      - name: ZERO_PAD_14
      - name: ZERO_PAD_16
      - name: ZERO_PAD_15
      - name: ZERO_PAD_13
      item_type: enum
      name: PadSpec
      pos:
        line_end: 594
        line_start: 577
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    - enumerators:
      - name: NO_PAD
        value: '1'
      - name: ZERO_PAD_4
      - name: ZERO_PAD_3
      - name: ZERO_PAD_2
      - name: ZERO_PAD_5
      - name: ZERO_PAD_6
      - name: ZERO_PAD_7
      - name: ZERO_PAD_8
      - name: ZERO_PAD_9
      - name: ZERO_PAD_10
      - name: ZERO_PAD_12
      - name: ZERO_PAD_11
      - name: ZERO_PAD_14
      - name: ZERO_PAD_16
      - name: ZERO_PAD_15
      - name: ZERO_PAD_13
      item_type: enum
      name: PadSpec
      pos:
        line_end: 594
        line_start: 577
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    - enumerators:
      - name: NO_PAD
        value: '1'
      - name: ZERO_PAD_4
      - name: ZERO_PAD_3
      - name: ZERO_PAD_2
      - name: ZERO_PAD_5
      - name: ZERO_PAD_6
      - name: ZERO_PAD_7
      - name: ZERO_PAD_8
      - name: ZERO_PAD_9
      - name: ZERO_PAD_10
      - name: ZERO_PAD_12
      - name: ZERO_PAD_11
      - name: ZERO_PAD_14
      - name: ZERO_PAD_16
      - name: ZERO_PAD_15
      - name: ZERO_PAD_13
      item_type: enum
      name: PadSpec
      pos:
        line_end: 594
        line_start: 577
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    - enumerators:
      - name: NO_PAD
        value: '1'
      - name: ZERO_PAD_4
      - name: ZERO_PAD_3
      - name: ZERO_PAD_2
      - name: ZERO_PAD_5
      - name: ZERO_PAD_6
      - name: ZERO_PAD_7
      - name: ZERO_PAD_8
      - name: ZERO_PAD_9
      - name: ZERO_PAD_10
      - name: ZERO_PAD_12
      - name: ZERO_PAD_11
      - name: ZERO_PAD_14
      - name: ZERO_PAD_16
      - name: ZERO_PAD_15
      - name: ZERO_PAD_13
      item_type: enum
      name: PadSpec
      pos:
        line_end: 594
        line_start: 577
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    - enumerators:
      - name: NO_PAD
        value: '1'
      - name: ZERO_PAD_4
      - name: ZERO_PAD_3
      - name: ZERO_PAD_2
      - name: ZERO_PAD_5
      - name: ZERO_PAD_6
      - name: ZERO_PAD_7
      - name: ZERO_PAD_8
      - name: ZERO_PAD_9
      - name: ZERO_PAD_10
      - name: ZERO_PAD_12
      - name: ZERO_PAD_11
      - name: ZERO_PAD_14
      - name: ZERO_PAD_16
      - name: ZERO_PAD_15
      - name: ZERO_PAD_13
      item_type: enum
      name: PadSpec
      pos:
        line_end: 594
        line_start: 577
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    preproc_defs:
    - item_type: preproc_def
      name: strtoll
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: _strtoi64
    - item_type: preproc_def
      name: strtoull
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: _strtoui64
    - item_type: preproc_def
      name: strtoll
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: strtol
    - item_type: preproc_def
      name: strtoull
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: strtoul
    - item_type: preproc_def
      name: strtoll
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: _strtoi64
    - item_type: preproc_def
      name: strtoull
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: _strtoui64
    - item_type: preproc_def
      name: strtoll
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: strtol
    - item_type: preproc_def
      name: strtoull
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: strtoul
    - item_type: preproc_def
      name: strtoll
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: _strtoi64
    - item_type: preproc_def
      name: strtoull
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: _strtoui64
    - item_type: preproc_def
      name: strtoll
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: strtol
    - item_type: preproc_def
      name: strtoull
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: strtoul
    - item_type: preproc_def
      name: strtoll
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: _strtoi64
    - item_type: preproc_def
      name: strtoull
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: _strtoui64
    - item_type: preproc_def
      name: strtoll
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: strtol
    - item_type: preproc_def
      name: strtoull
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
      type_or_value: strtoul
    structs:
    - fields:
      - name: value
        type: uint64
      - name: spec
        type: enum PadSpec
      item_type: struct
      name: Hex
      pos:
        line_end: 614
        line_start: 596
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    - fields:
      - name: value
        type: uint64
      - name: spec
        type: enum PadSpec
      item_type: struct
      name: Hex
      pos:
        line_end: 614
        line_start: 596
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    - fields:
      - name: value
        type: uint64
      - name: spec
        type: enum PadSpec
      item_type: struct
      name: Hex
      pos:
        line_end: 614
        line_start: 596
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    - fields:
      - name: value
        type: uint64
      - name: spec
        type: enum PadSpec
      item_type: struct
      name: Hex
      pos:
        line_end: 614
        line_start: 596
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    - fields:
      - name: value
        type: uint64
      - name: spec
        type: enum PadSpec
      item_type: struct
      name: Hex
      pos:
        line_end: 614
        line_start: 596
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    - fields:
      - name: value
        type: uint64
      - name: spec
        type: enum PadSpec
      item_type: struct
      name: Hex
      pos:
        line_end: 614
        line_start: 596
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    - fields:
      - name: value
        type: uint64
      - name: spec
        type: enum PadSpec
      item_type: struct
      name: Hex
      pos:
        line_end: 614
        line_start: 596
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    - fields:
      - name: value
        type: uint64
      - name: spec
        type: enum PadSpec
      item_type: struct
      name: Hex
      pos:
        line_end: 614
        line_start: 596
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/strutil.h
    typedefs: []
    union: []
- function_names:
  - google::protobuf::strings::ByteSink
  - ~ByteSink()
  - google::protobuf::strings::ByteSource
  - ~ByteSource()
  - google::protobuf::strings::UncheckedArrayByteSink
  - google::protobuf::strings::CurrentDestination
  - google::protobuf::strings::CheckedArrayByteSink
  - google::protobuf::strings::NumberOfBytesWritten
  - google::protobuf::strings::Overflowed
  - google::protobuf::strings::strings::ByteSink
  - google::protobuf::strings::StringByteSink
  - google::protobuf::strings::NullByteSink
  - google::protobuf::strings::Append
  - google::protobuf::strings::ArrayByteSource
  - google::protobuf::strings::LimitByteSource
  - google::protobuf::strings::ByteSink
  - ~ByteSink()
  - google::protobuf::strings::ByteSource
  - ~ByteSource()
  - google::protobuf::strings::UncheckedArrayByteSink
  - google::protobuf::strings::CurrentDestination
  - google::protobuf::strings::CheckedArrayByteSink
  - google::protobuf::strings::NumberOfBytesWritten
  - google::protobuf::strings::Overflowed
  - google::protobuf::strings::strings::ByteSink
  - google::protobuf::strings::StringByteSink
  - google::protobuf::strings::NullByteSink
  - google::protobuf::strings::Append
  - google::protobuf::strings::ArrayByteSource
  - google::protobuf::strings::LimitByteSource
  - google::protobuf::strings::ByteSink
  - ~ByteSink()
  - google::protobuf::strings::ByteSource
  - ~ByteSource()
  - google::protobuf::strings::UncheckedArrayByteSink
  - google::protobuf::strings::CurrentDestination
  - google::protobuf::strings::CheckedArrayByteSink
  - google::protobuf::strings::NumberOfBytesWritten
  - google::protobuf::strings::Overflowed
  - google::protobuf::strings::strings::ByteSink
  - google::protobuf::strings::StringByteSink
  - google::protobuf::strings::NullByteSink
  - google::protobuf::strings::Append
  - google::protobuf::strings::ArrayByteSource
  - google::protobuf::strings::LimitByteSource
  - google::protobuf::strings::ByteSink
  - ~ByteSink()
  - google::protobuf::strings::ByteSource
  - ~ByteSource()
  - google::protobuf::strings::UncheckedArrayByteSink
  - google::protobuf::strings::CurrentDestination
  - google::protobuf::strings::CheckedArrayByteSink
  - google::protobuf::strings::NumberOfBytesWritten
  - google::protobuf::strings::Overflowed
  - google::protobuf::strings::strings::ByteSink
  - google::protobuf::strings::StringByteSink
  - google::protobuf::strings::NullByteSink
  - google::protobuf::strings::Append
  - google::protobuf::strings::ArrayByteSource
  - google::protobuf::strings::LimitByteSource
  - google::protobuf::strings::ByteSink
  - ~ByteSink()
  - google::protobuf::strings::ByteSource
  - ~ByteSource()
  - google::protobuf::strings::UncheckedArrayByteSink
  - google::protobuf::strings::CurrentDestination
  - google::protobuf::strings::CheckedArrayByteSink
  - google::protobuf::strings::NumberOfBytesWritten
  - google::protobuf::strings::Overflowed
  - google::protobuf::strings::strings::ByteSink
  - google::protobuf::strings::StringByteSink
  - google::protobuf::strings::NullByteSink
  - google::protobuf::strings::Append
  - google::protobuf::strings::ArrayByteSource
  - google::protobuf::strings::LimitByteSource
  - google::protobuf::strings::ByteSink
  - ~ByteSink()
  - google::protobuf::strings::ByteSource
  - ~ByteSource()
  - google::protobuf::strings::UncheckedArrayByteSink
  - google::protobuf::strings::CurrentDestination
  - google::protobuf::strings::CheckedArrayByteSink
  - google::protobuf::strings::NumberOfBytesWritten
  - google::protobuf::strings::Overflowed
  - google::protobuf::strings::strings::ByteSink
  - google::protobuf::strings::StringByteSink
  - google::protobuf::strings::NullByteSink
  - google::protobuf::strings::Append
  - google::protobuf::strings::ArrayByteSource
  - google::protobuf::strings::LimitByteSource
  - google::protobuf::strings::ByteSink
  - ~ByteSink()
  - google::protobuf::strings::ByteSource
  - ~ByteSource()
  - google::protobuf::strings::UncheckedArrayByteSink
  - google::protobuf::strings::CurrentDestination
  - google::protobuf::strings::CheckedArrayByteSink
  - google::protobuf::strings::NumberOfBytesWritten
  - google::protobuf::strings::Overflowed
  - google::protobuf::strings::strings::ByteSink
  - google::protobuf::strings::StringByteSink
  - google::protobuf::strings::NullByteSink
  - google::protobuf::strings::Append
  - google::protobuf::strings::ArrayByteSource
  - google::protobuf::strings::LimitByteSource
  - google::protobuf::strings::ByteSink
  - ~ByteSink()
  - google::protobuf::strings::ByteSource
  - ~ByteSource()
  - google::protobuf::strings::UncheckedArrayByteSink
  - google::protobuf::strings::CurrentDestination
  - google::protobuf::strings::CheckedArrayByteSink
  - google::protobuf::strings::NumberOfBytesWritten
  - google::protobuf::strings::Overflowed
  - google::protobuf::strings::strings::ByteSink
  - google::protobuf::strings::StringByteSink
  - google::protobuf::strings::NullByteSink
  - google::protobuf::strings::Append
  - google::protobuf::strings::ArrayByteSource
  - google::protobuf::strings::LimitByteSource
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/bytestream.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<T>& other)'
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<U>& other)'
  - '& StatusOr<T>::status() const'
  - google::protobuf::util::StatusOr<T>::ok
  - '& StatusOr<T>::ValueOrDie() const'
  - '& StatusOr<T>::value() const'
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<T>& other)'
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<U>& other)'
  - '& StatusOr<T>::status() const'
  - google::protobuf::util::StatusOr<T>::ok
  - '& StatusOr<T>::ValueOrDie() const'
  - '& StatusOr<T>::value() const'
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<T>& other)'
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<U>& other)'
  - '& StatusOr<T>::status() const'
  - google::protobuf::util::StatusOr<T>::ok
  - '& StatusOr<T>::ValueOrDie() const'
  - '& StatusOr<T>::value() const'
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<T>& other)'
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<U>& other)'
  - '& StatusOr<T>::status() const'
  - google::protobuf::util::StatusOr<T>::ok
  - '& StatusOr<T>::ValueOrDie() const'
  - '& StatusOr<T>::value() const'
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<T>& other)'
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<U>& other)'
  - '& StatusOr<T>::status() const'
  - google::protobuf::util::StatusOr<T>::ok
  - '& StatusOr<T>::ValueOrDie() const'
  - '& StatusOr<T>::value() const'
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<T>& other)'
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<U>& other)'
  - '& StatusOr<T>::status() const'
  - google::protobuf::util::StatusOr<T>::ok
  - '& StatusOr<T>::ValueOrDie() const'
  - '& StatusOr<T>::value() const'
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<T>& other)'
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<U>& other)'
  - '& StatusOr<T>::status() const'
  - google::protobuf::util::StatusOr<T>::ok
  - '& StatusOr<T>::ValueOrDie() const'
  - '& StatusOr<T>::value() const'
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::StatusOrHelper
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::internal::IsValueNull
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<T>& other)'
  - google::protobuf::util::StatusOr<T>::StatusOr
  - '& StatusOr<T>::operator=(const StatusOr<U>& other)'
  - '& StatusOr<T>::status() const'
  - google::protobuf::util::StatusOr<T>::ok
  - '& StatusOr<T>::ValueOrDie() const'
  - '& StatusOr<T>::value() const'
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize
      pos:
        line_end: 181
        line_start: 178
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    - fields: []
      item_type: struct
      name: StatusOrHelper::Specialize<T*>
      pos:
        line_end: 186
        line_start: 184
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/statusor.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringprintf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - GOOGLE_PROTOBUF_ACQUIRE
  - GOOGLE_PROTOBUF_RELEASE
  - GOOGLE_PROTOBUF_CAPABILITY
  - google::protobuf::internal::CriticalSectionLock
  - ~CriticalSectionLock()
  - google::protobuf::internal::lock
  - google::protobuf::internal::unlock
  - google::protobuf::internal::WrappedMutex
  - google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
  - google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
  - google::protobuf::internal::AssertHeld
  - google::protobuf::internal::MutexLock
  - ~MutexLock()
  - google::protobuf::internal::CriticalSectionLock
  - ~CriticalSectionLock()
  - google::protobuf::internal::lock
  - google::protobuf::internal::unlock
  - google::protobuf::internal::WrappedMutex
  - google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
  - google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
  - google::protobuf::internal::AssertHeld
  - google::protobuf::internal::MutexLock
  - ~MutexLock()
  - google::protobuf::MutexLockMaybe
  - google::protobuf::internal::CriticalSectionLock
  - ~CriticalSectionLock()
  - google::protobuf::internal::lock
  - google::protobuf::internal::unlock
  - google::protobuf::internal::WrappedMutex
  - google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
  - google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
  - google::protobuf::internal::AssertHeld
  - google::protobuf::internal::MutexLock
  - ~MutexLock()
  - google::protobuf::internal::CriticalSectionLock
  - ~CriticalSectionLock()
  - google::protobuf::internal::lock
  - google::protobuf::internal::unlock
  - google::protobuf::internal::WrappedMutex
  - google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
  - google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
  - google::protobuf::internal::AssertHeld
  - google::protobuf::internal::MutexLock
  - ~MutexLock()
  - google::protobuf::MutexLockMaybe
  - ~MutexLockMaybe()
  - google::protobuf::internal::CriticalSectionLock
  - ~CriticalSectionLock()
  - google::protobuf::internal::lock
  - google::protobuf::internal::unlock
  - google::protobuf::internal::WrappedMutex
  - google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
  - google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
  - google::protobuf::internal::AssertHeld
  - google::protobuf::internal::MutexLock
  - ~MutexLock()
  - google::protobuf::internal::CriticalSectionLock
  - ~CriticalSectionLock()
  - google::protobuf::internal::lock
  - google::protobuf::internal::unlock
  - google::protobuf::internal::WrappedMutex
  - google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
  - google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
  - google::protobuf::internal::AssertHeld
  - google::protobuf::internal::MutexLock
  - ~MutexLock()
  - google::protobuf::MutexLockMaybe
  - google::protobuf::internal::CriticalSectionLock
  - ~CriticalSectionLock()
  - google::protobuf::internal::lock
  - google::protobuf::internal::unlock
  - google::protobuf::internal::WrappedMutex
  - google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
  - google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
  - google::protobuf::internal::AssertHeld
  - google::protobuf::internal::MutexLock
  - ~MutexLock()
  - google::protobuf::internal::CriticalSectionLock
  - ~CriticalSectionLock()
  - google::protobuf::internal::lock
  - google::protobuf::internal::unlock
  - google::protobuf::internal::WrappedMutex
  - google::protobuf::internal::GOOGLE_PROTOBUF_ACQUIRE
  - google::protobuf::internal::GOOGLE_PROTOBUF_RELEASE
  - google::protobuf::internal::AssertHeld
  - google::protobuf::internal::MutexLock
  - ~MutexLock()
  - google::protobuf::MutexLockMaybe
  - ~MutexLockMaybe()
  - ThreadLocalStorage::ThreadLocalStorage
  - ~ThreadLocalStorage()
  - ThreadLocalStorage::Get
  - ThreadLocalStorage::Delete
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: ReaderMutexLock
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
      type: MutexLock
    - item_type: typedef
      name: WriterMutexLock
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
      type: MutexLock
    - item_type: typedef
      name: ReaderMutexLock
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
      type: MutexLock
    - item_type: typedef
      name: WriterMutexLock
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
      type: MutexLock
    - item_type: typedef
      name: ReaderMutexLock
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
      type: MutexLock
    - item_type: typedef
      name: WriterMutexLock
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
      type: MutexLock
    - item_type: typedef
      name: ReaderMutexLock
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
      type: MutexLock
    - item_type: typedef
      name: WriterMutexLock
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/mutex.h
      type: MutexLock
    union: []
- function_names:
  - google::protobuf::FindOrDie
  - google::protobuf::FindOrDie
  - google::protobuf::FindOrDieNoPrint
  - google::protobuf::FindOrDieNoPrint
  - google::protobuf::FindWithDefault
  - google::protobuf::FindOrNull
  - google::protobuf::FindOrNull
  - google::protobuf::FindPtrOrNull
  - google::protobuf::FindPtrOrNull
  - google::protobuf::FindLinkedPtrOrNull
  - google::protobuf::FindLinkedPtrOrDie
  - google::protobuf::FindCopy
  - google::protobuf::ContainsKey
  - google::protobuf::ContainsKeyValuePair
  - google::protobuf::InsertOrUpdate
  - google::protobuf::InsertOrUpdate
  - google::protobuf::InsertOrUpdateMany
  - google::protobuf::InsertAndDeleteExisting
  - google::protobuf::InsertIfNotPresent
  - google::protobuf::InsertIfNotPresent
  - google::protobuf::InsertOrDie
  - google::protobuf::InsertOrDieNoPrint
  - google::protobuf::InsertOrDie
  - google::protobuf::InsertOrDieNoPrint
  - google::protobuf::InsertKeyOrDie
  - google::protobuf::LookupOrInsert
  - google::protobuf::LookupOrInsert
  - google::protobuf::AddTokenCounts
  - google::protobuf::LookupOrInsertNew
  - google::protobuf::LookupOrInsertNew
  - google::protobuf::LookupOrInsertNewLinkedPtr
  - google::protobuf::LookupOrInsertNewLinkedPtr
  - google::protobuf::LookupOrInsertNewSharedPtr
  - google::protobuf::LookupOrInsertNewSharedPtr
  - google::protobuf::UpdateReturnCopy
  - google::protobuf::UpdateReturnCopy
  - google::protobuf::InsertOrReturnExisting
  - google::protobuf::InsertOrReturnExisting
  - google::protobuf::EraseKeyReturnValuePtr
  - google::protobuf::InsertKeysFromMap
  - google::protobuf::AppendKeysFromMap
  - google::protobuf::AppendKeysFromMap
  - google::protobuf::AppendValuesFromMap
  - google::protobuf::AppendValuesFromMap
  - google::protobuf::FindOrDie
  - google::protobuf::FindOrDie
  - google::protobuf::FindOrDieNoPrint
  - google::protobuf::FindOrDieNoPrint
  - google::protobuf::FindWithDefault
  - google::protobuf::FindOrNull
  - google::protobuf::FindOrNull
  - google::protobuf::FindPtrOrNull
  - google::protobuf::FindPtrOrNull
  - google::protobuf::FindLinkedPtrOrNull
  - google::protobuf::FindLinkedPtrOrDie
  - google::protobuf::FindCopy
  - google::protobuf::ContainsKey
  - google::protobuf::ContainsKeyValuePair
  - google::protobuf::InsertOrUpdate
  - google::protobuf::InsertOrUpdate
  - google::protobuf::InsertOrUpdateMany
  - google::protobuf::InsertAndDeleteExisting
  - google::protobuf::InsertIfNotPresent
  - google::protobuf::InsertIfNotPresent
  - google::protobuf::InsertOrDie
  - google::protobuf::InsertOrDieNoPrint
  - google::protobuf::InsertOrDie
  - google::protobuf::InsertOrDieNoPrint
  - google::protobuf::InsertKeyOrDie
  - google::protobuf::LookupOrInsert
  - google::protobuf::LookupOrInsert
  - google::protobuf::AddTokenCounts
  - google::protobuf::LookupOrInsertNew
  - google::protobuf::LookupOrInsertNew
  - google::protobuf::LookupOrInsertNewLinkedPtr
  - google::protobuf::LookupOrInsertNewLinkedPtr
  - google::protobuf::LookupOrInsertNewSharedPtr
  - google::protobuf::LookupOrInsertNewSharedPtr
  - google::protobuf::UpdateReturnCopy
  - google::protobuf::UpdateReturnCopy
  - google::protobuf::InsertOrReturnExisting
  - google::protobuf::InsertOrReturnExisting
  - google::protobuf::EraseKeyReturnValuePtr
  - google::protobuf::InsertKeysFromMap
  - google::protobuf::AppendKeysFromMap
  - google::protobuf::AppendKeysFromMap
  - google::protobuf::AppendValuesFromMap
  - google::protobuf::AppendValuesFromMap
  - google::protobuf::FindOrDie
  - google::protobuf::FindOrDie
  - google::protobuf::FindOrDieNoPrint
  - google::protobuf::FindOrDieNoPrint
  - google::protobuf::FindWithDefault
  - google::protobuf::FindOrNull
  - google::protobuf::FindOrNull
  - google::protobuf::FindPtrOrNull
  - google::protobuf::FindPtrOrNull
  - google::protobuf::FindLinkedPtrOrNull
  - google::protobuf::FindLinkedPtrOrDie
  - google::protobuf::FindCopy
  - google::protobuf::ContainsKey
  - google::protobuf::ContainsKeyValuePair
  - google::protobuf::InsertOrUpdate
  - google::protobuf::InsertOrUpdate
  - google::protobuf::InsertOrUpdateMany
  - google::protobuf::InsertAndDeleteExisting
  - google::protobuf::InsertIfNotPresent
  - google::protobuf::InsertIfNotPresent
  - google::protobuf::InsertOrDie
  - google::protobuf::InsertOrDieNoPrint
  - google::protobuf::InsertOrDie
  - google::protobuf::InsertOrDieNoPrint
  - google::protobuf::InsertKeyOrDie
  - google::protobuf::LookupOrInsert
  - google::protobuf::LookupOrInsert
  - google::protobuf::AddTokenCounts
  - google::protobuf::LookupOrInsertNew
  - google::protobuf::LookupOrInsertNew
  - google::protobuf::LookupOrInsertNewLinkedPtr
  - google::protobuf::LookupOrInsertNewLinkedPtr
  - google::protobuf::LookupOrInsertNewSharedPtr
  - google::protobuf::LookupOrInsertNewSharedPtr
  - google::protobuf::UpdateReturnCopy
  - google::protobuf::UpdateReturnCopy
  - google::protobuf::InsertOrReturnExisting
  - google::protobuf::InsertOrReturnExisting
  - google::protobuf::EraseKeyReturnValuePtr
  - google::protobuf::InsertKeysFromMap
  - google::protobuf::AppendKeysFromMap
  - google::protobuf::AppendKeysFromMap
  - google::protobuf::AppendValuesFromMap
  - google::protobuf::AppendValuesFromMap
  - google::protobuf::FindOrDie
  - google::protobuf::FindOrDie
  - google::protobuf::FindOrDieNoPrint
  - google::protobuf::FindOrDieNoPrint
  - google::protobuf::FindWithDefault
  - google::protobuf::FindOrNull
  - google::protobuf::FindOrNull
  - google::protobuf::FindPtrOrNull
  - google::protobuf::FindPtrOrNull
  - google::protobuf::FindLinkedPtrOrNull
  - google::protobuf::FindLinkedPtrOrDie
  - google::protobuf::FindCopy
  - google::protobuf::ContainsKey
  - google::protobuf::ContainsKeyValuePair
  - google::protobuf::InsertOrUpdate
  - google::protobuf::InsertOrUpdate
  - google::protobuf::InsertOrUpdateMany
  - google::protobuf::InsertAndDeleteExisting
  - google::protobuf::InsertIfNotPresent
  - google::protobuf::InsertIfNotPresent
  - google::protobuf::InsertOrDie
  - google::protobuf::InsertOrDieNoPrint
  - google::protobuf::InsertOrDie
  - google::protobuf::InsertOrDieNoPrint
  - google::protobuf::InsertKeyOrDie
  - google::protobuf::LookupOrInsert
  - google::protobuf::LookupOrInsert
  - google::protobuf::AddTokenCounts
  - google::protobuf::LookupOrInsertNew
  - google::protobuf::LookupOrInsertNew
  - google::protobuf::LookupOrInsertNewLinkedPtr
  - google::protobuf::LookupOrInsertNewLinkedPtr
  - google::protobuf::LookupOrInsertNewSharedPtr
  - google::protobuf::LookupOrInsertNewSharedPtr
  - google::protobuf::UpdateReturnCopy
  - google::protobuf::UpdateReturnCopy
  - google::protobuf::InsertOrReturnExisting
  - google::protobuf::InsertOrReturnExisting
  - google::protobuf::EraseKeyReturnValuePtr
  - google::protobuf::InsertKeysFromMap
  - google::protobuf::AppendKeysFromMap
  - google::protobuf::AppendKeysFromMap
  - google::protobuf::AppendValuesFromMap
  - google::protobuf::AppendValuesFromMap
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: RemoveConst
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst<const T>
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst<const T>
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst<const T>
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst<const T>
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst<const T>
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst<const T>
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst<const T>
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    - fields: []
      item_type: struct
      name: RemoveConst<const T>
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
    typedefs:
    - item_type: typedef
      name: type
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: T
    - item_type: typedef
      name: type
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: T
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::const_iterator
    - item_type: typedef
      name: value_type
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type
    - item_type: typedef
      name: Element
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: "typename std::iterator_traits<\n    typename Collection::value_type::second_type>::value_type"
    - item_type: typedef
      name: Element
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: "typename std::iterator_traits<\n    typename Collection::value_type::second_type>::value_type"
    - item_type: typedef
      name: Value
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: Value
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: SharedPtr
      pos:
        line_end: 537
        line_start: 537
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: Element
      pos:
        line_end: 538
        line_start: 538
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type::element_type
    - item_type: typedef
      name: SharedPtr
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: Element
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type::element_type
    - item_type: typedef
      name: type
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: T
    - item_type: typedef
      name: type
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: T
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::const_iterator
    - item_type: typedef
      name: value_type
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type
    - item_type: typedef
      name: Element
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: "typename std::iterator_traits<\n    typename Collection::value_type::second_type>::value_type"
    - item_type: typedef
      name: Element
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: "typename std::iterator_traits<\n    typename Collection::value_type::second_type>::value_type"
    - item_type: typedef
      name: Value
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: Value
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: SharedPtr
      pos:
        line_end: 537
        line_start: 537
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: Element
      pos:
        line_end: 538
        line_start: 538
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type::element_type
    - item_type: typedef
      name: SharedPtr
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: Element
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type::element_type
    - item_type: typedef
      name: type
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: T
    - item_type: typedef
      name: type
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: T
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::const_iterator
    - item_type: typedef
      name: value_type
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type
    - item_type: typedef
      name: Element
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: "typename std::iterator_traits<\n    typename Collection::value_type::second_type>::value_type"
    - item_type: typedef
      name: Element
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: "typename std::iterator_traits<\n    typename Collection::value_type::second_type>::value_type"
    - item_type: typedef
      name: Value
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: Value
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: SharedPtr
      pos:
        line_end: 537
        line_start: 537
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: Element
      pos:
        line_end: 538
        line_start: 538
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type::element_type
    - item_type: typedef
      name: SharedPtr
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: Element
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type::element_type
    - item_type: typedef
      name: type
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: T
    - item_type: typedef
      name: type
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: T
    - item_type: typedef
      name: const_iterator
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::const_iterator
    - item_type: typedef
      name: value_type
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type
    - item_type: typedef
      name: Element
      pos:
        line_end: 445
        line_start: 444
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: "typename std::iterator_traits<\n    typename Collection::value_type::second_type>::value_type"
    - item_type: typedef
      name: Element
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: "typename std::iterator_traits<\n    typename Collection::value_type::second_type>::value_type"
    - item_type: typedef
      name: Value
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: Value
      pos:
        line_end: 519
        line_start: 519
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: SharedPtr
      pos:
        line_end: 537
        line_start: 537
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: Element
      pos:
        line_end: 538
        line_start: 538
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type::element_type
    - item_type: typedef
      name: SharedPtr
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type
    - item_type: typedef
      name: Element
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/map_util.h
      type: typename Collection::value_type::second_type::element_type
    union: []
- function_names: []
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/time.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: year
        type: int
      - name: month
        type: int
      - name: day
        type: int
      - name: hour
        type: int
      - name: minute
        type: int
      - name: second
        type: int
      item_type: struct
      name: DateTime
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/time.h
    - fields:
      - name: year
        type: int
      - name: month
        type: int
      - name: day
        type: int
      - name: hour
        type: int
      - name: minute
        type: int
      - name: second
        type: int
      item_type: struct
      name: DateTime
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/time.h
    - fields:
      - name: year
        type: int
      - name: month
        type: int
      - name: day
        type: int
      - name: hour
        type: int
      - name: minute
        type: int
      - name: second
        type: int
      item_type: struct
      name: DateTime
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/time.h
    - fields:
      - name: year
        type: int
      - name: month
        type: int
      - name: day
        type: int
      - name: hour
        type: int
      - name: minute
        type: int
      - name: second
        type: int
      item_type: struct
      name: DateTime
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/time.h
    - fields:
      - name: year
        type: int
      - name: month
        type: int
      - name: day
        type: int
      - name: hour
        type: int
      - name: minute
        type: int
      - name: second
        type: int
      item_type: struct
      name: DateTime
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/time.h
    - fields:
      - name: year
        type: int
      - name: month
        type: int
      - name: day
        type: int
      - name: hour
        type: int
      - name: minute
        type: int
      - name: second
        type: int
      item_type: struct
      name: DateTime
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/time.h
    - fields:
      - name: year
        type: int
      - name: month
        type: int
      - name: day
        type: int
      - name: hour
        type: int
      - name: minute
        type: int
      - name: second
        type: int
      item_type: struct
      name: DateTime
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/time.h
    - fields:
      - name: year
        type: int
      - name: month
        type: int
      - name: day
        type: int
      - name: hour
        type: int
      - name: minute
        type: int
      - name: second
        type: int
      item_type: struct
      name: DateTime
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/time.h
    typedefs: []
    union: []
- function_names:
  - google::protobuf::internal::call_once
  - google::protobuf::internal::call_once
  - google::protobuf::internal::call_once
  - google::protobuf::internal::call_once
  - google::protobuf::internal::call_once
  - google::protobuf::internal::call_once
  - google::protobuf::internal::call_once
  - google::protobuf::internal::call_once
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/once.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::protobuf::StringPiece
  - google::protobuf::CheckedSsizeTFromSizeT
  - google::protobuf::StringPiece
  - google::protobuf::StringPiece
  - google::protobuf::StringPiece
  - google::protobuf::data
  - google::protobuf::size
  - google::protobuf::length
  - google::protobuf::empty
  - google::protobuf::clear
  - google::protobuf::set
  - google::protobuf::set
  - google::protobuf::set
  - operator[](stringpiece_ssize_type i) const
  - google::protobuf::remove_prefix
  - google::protobuf::remove_suffix
  - google::protobuf::compare
  - google::protobuf::as_string
  - google::protobuf::ToString
  - operator std::string() const
  - google::protobuf::starts_with
  - google::protobuf::ends_with
  - google::protobuf::begin
  - google::protobuf::end
  - google::protobuf::rbegin
  - google::protobuf::rend
  - google::protobuf::max_size
  - google::protobuf::capacity
  - google::protobuf::find_first_of
  - google::protobuf::find_last_of
  - operator==(StringPiece x, StringPiece y)
  - operator!=(StringPiece x, StringPiece y)
  - operator<(StringPiece x, StringPiece y)
  - operator>(StringPiece x, StringPiece y)
  - operator<=(StringPiece x, StringPiece y)
  - operator>=(StringPiece x, StringPiece y)
  - google::protobuf::internal::CreateFromStringPiece
  - operator StringPiece() const
  - operator==(const char* value) const
  - operator[](stringpiece_ssize_type i) const
  - google::protobuf::internal::data
  - google::protobuf::internal::size
  - google::protobuf::internal::ToString
  - operator std::string() const
  - google::protobuf::internal::CreateFromStringPiece
  - operator StringPiece() const
  - operator==(const char* value) const
  - operator[](stringpiece_ssize_type i) const
  - google::protobuf::internal::data
  - google::protobuf::internal::size
  - google::protobuf::internal::ToString
  - operator std::string() const
  - google::protobuf::StringPiece
  - google::protobuf::CheckedSsizeTFromSizeT
  - google::protobuf::StringPiece
  - google::protobuf::StringPiece
  - google::protobuf::StringPiece
  - google::protobuf::data
  - google::protobuf::size
  - google::protobuf::length
  - google::protobuf::empty
  - google::protobuf::clear
  - google::protobuf::set
  - google::protobuf::set
  - google::protobuf::set
  - operator[](stringpiece_ssize_type i) const
  - google::protobuf::remove_prefix
  - google::protobuf::remove_suffix
  - google::protobuf::compare
  - google::protobuf::as_string
  - google::protobuf::ToString
  - operator std::string() const
  - google::protobuf::starts_with
  - google::protobuf::ends_with
  - google::protobuf::begin
  - google::protobuf::end
  - google::protobuf::rbegin
  - google::protobuf::rend
  - google::protobuf::max_size
  - google::protobuf::capacity
  - google::protobuf::find_first_of
  - google::protobuf::find_last_of
  - operator==(StringPiece x, StringPiece y)
  - operator!=(StringPiece x, StringPiece y)
  - operator<(StringPiece x, StringPiece y)
  - operator>(StringPiece x, StringPiece y)
  - operator<=(StringPiece x, StringPiece y)
  - operator>=(StringPiece x, StringPiece y)
  - google::protobuf::internal::CreateFromStringPiece
  - operator StringPiece() const
  - operator==(const char* value) const
  - operator[](stringpiece_ssize_type i) const
  - google::protobuf::internal::data
  - google::protobuf::internal::size
  - google::protobuf::internal::ToString
  - operator std::string() const
  - google::protobuf::internal::CreateFromStringPiece
  - operator StringPiece() const
  - operator==(const char* value) const
  - operator[](stringpiece_ssize_type i) const
  - google::protobuf::internal::data
  - google::protobuf::internal::size
  - google::protobuf::internal::ToString
  - operator std::string() const
  - google::protobuf::StringPiece
  - google::protobuf::CheckedSsizeTFromSizeT
  - google::protobuf::StringPiece
  - google::protobuf::StringPiece
  - google::protobuf::StringPiece
  - google::protobuf::data
  - google::protobuf::size
  - google::protobuf::length
  - google::protobuf::empty
  - google::protobuf::clear
  - google::protobuf::set
  - google::protobuf::set
  - google::protobuf::set
  - operator[](stringpiece_ssize_type i) const
  - google::protobuf::remove_prefix
  - google::protobuf::remove_suffix
  - google::protobuf::compare
  - google::protobuf::as_string
  - google::protobuf::ToString
  - operator std::string() const
  - google::protobuf::starts_with
  - google::protobuf::ends_with
  - google::protobuf::begin
  - google::protobuf::end
  - google::protobuf::rbegin
  - google::protobuf::rend
  - google::protobuf::max_size
  - google::protobuf::capacity
  - google::protobuf::find_first_of
  - google::protobuf::find_last_of
  - operator==(StringPiece x, StringPiece y)
  - operator!=(StringPiece x, StringPiece y)
  - operator<(StringPiece x, StringPiece y)
  - operator>(StringPiece x, StringPiece y)
  - operator<=(StringPiece x, StringPiece y)
  - operator>=(StringPiece x, StringPiece y)
  - google::protobuf::internal::CreateFromStringPiece
  - operator StringPiece() const
  - operator==(const char* value) const
  - operator[](stringpiece_ssize_type i) const
  - google::protobuf::internal::data
  - google::protobuf::internal::size
  - google::protobuf::internal::ToString
  - operator std::string() const
  - google::protobuf::internal::CreateFromStringPiece
  - operator StringPiece() const
  - operator==(const char* value) const
  - operator[](stringpiece_ssize_type i) const
  - google::protobuf::internal::data
  - google::protobuf::internal::size
  - google::protobuf::internal::ToString
  - operator std::string() const
  - google::protobuf::StringPiece
  - google::protobuf::CheckedSsizeTFromSizeT
  - google::protobuf::StringPiece
  - google::protobuf::StringPiece
  - google::protobuf::StringPiece
  - google::protobuf::data
  - google::protobuf::size
  - google::protobuf::length
  - google::protobuf::empty
  - google::protobuf::clear
  - google::protobuf::set
  - google::protobuf::set
  - google::protobuf::set
  - operator[](stringpiece_ssize_type i) const
  - google::protobuf::remove_prefix
  - google::protobuf::remove_suffix
  - google::protobuf::compare
  - google::protobuf::as_string
  - google::protobuf::ToString
  - operator std::string() const
  - google::protobuf::starts_with
  - google::protobuf::ends_with
  - google::protobuf::begin
  - google::protobuf::end
  - google::protobuf::rbegin
  - google::protobuf::rend
  - google::protobuf::max_size
  - google::protobuf::capacity
  - google::protobuf::find_first_of
  - google::protobuf::find_last_of
  - operator==(StringPiece x, StringPiece y)
  - operator!=(StringPiece x, StringPiece y)
  - operator<(StringPiece x, StringPiece y)
  - operator>(StringPiece x, StringPiece y)
  - operator<=(StringPiece x, StringPiece y)
  - operator>=(StringPiece x, StringPiece y)
  - google::protobuf::internal::CreateFromStringPiece
  - operator StringPiece() const
  - operator==(const char* value) const
  - operator[](stringpiece_ssize_type i) const
  - google::protobuf::internal::data
  - google::protobuf::internal::size
  - google::protobuf::internal::ToString
  - operator std::string() const
  - google::protobuf::internal::CreateFromStringPiece
  - operator StringPiece() const
  - operator==(const char* value) const
  - operator[](stringpiece_ssize_type i) const
  - google::protobuf::internal::data
  - google::protobuf::internal::size
  - google::protobuf::internal::ToString
  - operator std::string() const
  - operator()(const StringPiece& s) const
  source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STRINGPIECE_CHECK_SIZE
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STRINGPIECE_CHECK_SIZE
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STRINGPIECE_CHECK_SIZE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type_or_value: '0'
    - item_type: preproc_def
      name: STRINGPIECE_CHECK_SIZE
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STRINGPIECE_CHECK_SIZE
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STRINGPIECE_CHECK_SIZE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type_or_value: '0'
    - item_type: preproc_def
      name: STRINGPIECE_CHECK_SIZE
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STRINGPIECE_CHECK_SIZE
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STRINGPIECE_CHECK_SIZE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type_or_value: '0'
    - item_type: preproc_def
      name: STRINGPIECE_CHECK_SIZE
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STRINGPIECE_CHECK_SIZE
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STRINGPIECE_CHECK_SIZE
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '* data_'
        type: char
      - name: size_
        type: stringpiece_ssize_type
      item_type: struct
      name: StringPiecePod
      pos:
        line_end: 468
        line_start: 431
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - fields:
      - name: '* data_'
        type: char
      - name: size_
        type: stringpiece_ssize_type
      item_type: struct
      name: StringPiecePod
      pos:
        line_end: 468
        line_start: 431
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - fields:
      - name: '* data_'
        type: char
      - name: size_
        type: stringpiece_ssize_type
      item_type: struct
      name: StringPiecePod
      pos:
        line_end: 468
        line_start: 431
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - fields:
      - name: '* data_'
        type: char
      - name: size_
        type: stringpiece_ssize_type
      item_type: struct
      name: StringPiecePod
      pos:
        line_end: 468
        line_start: 431
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - fields:
      - name: '* data_'
        type: char
      - name: size_
        type: stringpiece_ssize_type
      item_type: struct
      name: StringPiecePod
      pos:
        line_end: 468
        line_start: 431
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - fields:
      - name: '* data_'
        type: char
      - name: size_
        type: stringpiece_ssize_type
      item_type: struct
      name: StringPiecePod
      pos:
        line_end: 468
        line_start: 431
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - fields:
      - name: '* data_'
        type: char
      - name: size_
        type: stringpiece_ssize_type
      item_type: struct
      name: StringPiecePod
      pos:
        line_end: 468
        line_start: 431
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    - fields:
      - name: '* data_'
        type: char
      - name: size_
        type: stringpiece_ssize_type
      item_type: struct
      name: StringPiecePod
      pos:
        line_end: 468
        line_start: 431
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
    typedefs:
    - item_type: typedef
      name: stringpiece_ssize_type
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: string::difference_type
    - item_type: typedef
      name: value_type
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '* pointer'
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '& reference'
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '& const_reference'
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: size_type
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: size_t
    - item_type: typedef
      name: difference_type
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: ptrdiff_t
    - item_type: typedef
      name: '* const_iterator'
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '* iterator'
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: reverse_iterator<const_iterator>
    - item_type: typedef
      name: reverse_iterator
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: reverse_iterator<iterator>
    - item_type: typedef
      name: stringpiece_ssize_type
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: string::difference_type
    - item_type: typedef
      name: value_type
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '* pointer'
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '& reference'
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '& const_reference'
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: size_type
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: size_t
    - item_type: typedef
      name: difference_type
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: ptrdiff_t
    - item_type: typedef
      name: '* const_iterator'
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '* iterator'
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: reverse_iterator<const_iterator>
    - item_type: typedef
      name: reverse_iterator
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: reverse_iterator<iterator>
    - item_type: typedef
      name: stringpiece_ssize_type
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: string::difference_type
    - item_type: typedef
      name: value_type
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '* pointer'
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '& reference'
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '& const_reference'
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: size_type
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: size_t
    - item_type: typedef
      name: difference_type
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: ptrdiff_t
    - item_type: typedef
      name: '* const_iterator'
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '* iterator'
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: reverse_iterator<const_iterator>
    - item_type: typedef
      name: reverse_iterator
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: reverse_iterator<iterator>
    - item_type: typedef
      name: stringpiece_ssize_type
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: string::difference_type
    - item_type: typedef
      name: value_type
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '* pointer'
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '& reference'
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '& const_reference'
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: size_type
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: size_t
    - item_type: typedef
      name: difference_type
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: ptrdiff_t
    - item_type: typedef
      name: '* const_iterator'
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: '* iterator'
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: char
    - item_type: typedef
      name: const_reverse_iterator
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: reverse_iterator<const_iterator>
    - item_type: typedef
      name: reverse_iterator
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/sentencepiece/third_party/protobuf-lite/google/protobuf/stubs/stringpiece.h
      type: reverse_iterator<iterator>
    union: []
- function_names:
  - saisxx_private::getCounts
  - saisxx_private::getBuckets
  - saisxx_private::induceSA
  - saisxx_private::computeBWT
  - saisxx_private::suffixsort
  - saisxx_private::getCounts
  - saisxx_private::getBuckets
  - saisxx_private::induceSA
  - saisxx_private::computeBWT
  - saisxx_private::suffixsort
  - saisxx
  - saisxx_bwt
  source_file: /src/sentencepiece/third_party/esaxx/sais.hxx
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _SAIS_HXX
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/sentencepiece/third_party/esaxx/sais.hxx
      type_or_value: '1'
    - item_type: preproc_def
      name: maxthreads
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/sentencepiece/third_party/esaxx/sais.hxx
      type_or_value: '1'
    - item_type: preproc_def
      name: maxthreads
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/sentencepiece/third_party/esaxx/sais.hxx
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: char_type
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/sentencepiece/third_party/esaxx/sais.hxx
      type: typename std::iterator_traits<string_type>::value_type
    - item_type: typedef
      name: char_type
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/sentencepiece/third_party/esaxx/sais.hxx
      type: typename std::iterator_traits<string_type>::value_type
    - item_type: typedef
      name: char_type
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/sentencepiece/third_party/esaxx/sais.hxx
      type: typename std::iterator_traits<string_type>::value_type
    - item_type: typedef
      name: char_type
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/sentencepiece/third_party/esaxx/sais.hxx
      type: typename std::iterator_traits<string_type>::value_type
    - item_type: typedef
      name: char_type
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/sentencepiece/third_party/esaxx/sais.hxx
      type: typename std::iterator_traits<string_type>::value_type
    - item_type: typedef
      name: char_type
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/sentencepiece/third_party/esaxx/sais.hxx
      type: typename std::iterator_traits<string_type>::value_type
    - item_type: typedef
      name: char_type
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/sentencepiece/third_party/esaxx/sais.hxx
      type: typename std::iterator_traits<string_type>::value_type
    union: []
- function_names:
  - esaxx_private::suffixtree
  - esaxx_private::suffixtree
  - esaxx
  source_file: /src/sentencepiece/third_party/esaxx/esa.hxx
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
